Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

What does a good programming language have?

Name: dolphin oriented quadsexual 2012-12-02 19:31

I'm thinking about making my own someday. What would you want it to do?

Name: Anonymous 2012-12-02 19:55

What does a good programming language have?
This: http://youtu.be/KMU0tzLwhbE

Name: Anonymous 2012-12-02 20:06

There would have to be a certain kind of program that was easier to write in the new language than in most of the alternatives. Most of that would have nothing to do with the language itself, but with ``implementation details'': Can I read documentation at the REPL? Can I use a standardized tool to download and install libraries I need? Can I develop on Linux and deploy on Windows/Mac (or vice versa) without managing all the infrastructure by hand?

Most of this can be faked with C. Python does some of it better. Common Lisp tries, but you have to wrap your head around the package semantics before you can get anything done, and it's useless without Emacs and SLIME. Haskell is moving in this direction, but slowly; Go is outrunning it. D isn't even close. Rust is too young for it to matter right now but someday it will live or die on these questions.

If your language tackles these problems, someone will use it even if it's shit. If you make no effort, then it's a toy.

Name: Anonymous 2012-12-02 20:12

A good way to define and use custom notation. No messing around with source files and other menial jobs.

Name: Anonymous 2012-12-03 6:07

>What does a good programming language have?

popularity

Name: Anonymous 2012-12-03 6:17

R5RS

Name: Anonymous 2012-12-03 6:32

What is actually needed:
Algebraic data types
Support for efficient and correct abstractions that looks like builtins
Several sort of polymorphism (not only OO)
Non shitty syntax
Deterministic resources management
Operator overloading
local function with static link to parent
Closures or at least C# "delegates"
Strong-typing
Static types (optional)

What every new language does:
Build an incorrect web server in 3 lines
Shitty "original" syntax
Optional semi-colons
Lacks ADT
Unfixed switch
Shitty ideas like all of Perl
Random limitations like Python GIL
Shit comprehensions
Fancy slow constructs that silently allocate memory
Half arsed Unicode

Name: Anonymous 2012-12-03 6:38

>>3
Can I read documentation at the REPL?
Documentation is not code. man pages exist for that purpose, and they do a very pretty job of it.

Can I use a standardized tool to download and install libraries I need?
The package manager.

>>7
Algebraic data types
What?

Several sort of polymorphism (not only OO)
Operator overloading
Garbage!

Half arsed Unicode
Perhaps you should use Go.

Name: Anonymous 2012-12-03 6:41

>>7
Algebraic data types
A Turing complete type system is always the wrong solution.

Name: Anonymous 2012-12-03 6:46

>>9
Yet it is much needed, since all software that matters is written with static types.

Name: Anonymous 2012-12-03 7:12

>>8
Documentation is not code. man pages exist for that purpose, and they do a very pretty job of it.
Enjoy memorizing every single function in every library you will ever use or plan to use, bowelfield

Name: Anonymous 2012-12-03 7:17

>>11
Do you even know what a man page is, ``cudder''? Did you even read the second two-thirds of my post?

Name: Anonymous 2012-12-03 8:20

>>2
ROFL XDDDDDDDDDDD

Name: Anonymous 2012-12-03 8:21

>>3
Deploy
U MENA JAVA

Name: Anonymous 2012-12-03 9:06

>>13
>LLLEEEEEEEEEEEEEEEEEEEEEEEEEEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL>LELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
>EGINWIMGOINGWIM /G/RO
>LE LEL FACE
>LEEEEEEEEEEEEEEEEEEEEEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL

Name: Anonymous 2012-12-03 9:26

just use javascript. it will be way faster and far more powerful than anything you will ever be capable of creating. hell it's already beaten every other language already

Name: Not >>15 2012-12-03 9:29

>>16
See >>15

Name: Anonymous 2012-12-03 9:37

It does not have two distinct property access operators for pointers and instances/references.  It is a trivial detail that a compiler can figure out automatically, and there are no cases where you can use both . and ->.  Fuck C++.

Name: Anonymous 2012-12-03 11:57

>>18
You're begging the question.

Name: Anonymous 2012-12-03 12:00

>>19
You're begging for a fashion tip: wash hands daily

Name: Anonymous 2012-12-03 12:00

>>20
You're being defensive.

Name: Anonymous 2012-12-03 12:24

>>8
``The REPL'' can just be the shell. What did you think I meant when I said it applied to C?

Name: Anonymous 2012-12-03 13:55

>>22
Then it's not A Thing The Language Has.

Name: Anonymous 2012-12-03 16:33

I want lisp, but with decent libraries

Name: Anonymous 2012-12-03 16:44

>>3
What? Try learning APL before you complain about Common Lisp simple package declaration, and awesome functions built just for DSL.

Haskell is just inception.

Name: Anonymous 2012-12-03 16:45

>>7
This, except you forgot "easy concurrency" in the "What is actually needed" section. CPU clock frequencies haven't increased much since about 2005, but the number of cores has and will continue to do so.

Name: Anonymous 2012-12-03 17:10

>>26
easy concurrency
Go, Limbo, Alef, Occam, SML, Newsqueak, Stackless Python, and so on.

Name: Anonymous 2012-12-03 19:34

>>27
We're discussing a hypothetical new programming language. Those are useful examples though.

Name: Anonymous 2012-12-03 19:36

>>3
Can I read documentation at the REPL?
Stopped reading right there. You obviously just want every language to be Lisp.

Name: Anonymous 2012-12-03 19:47

>>29
Please let me know how to do that. I really dislike trawling through Guile's info pages.

Name: Anonymous 2012-12-03 19:52

>>30
Using Guile was your 1th mistake!!

Name: Anonymous 2012-12-03 20:08

>>31
I'd've used Racket or a different implementation if I had a choice.

Name: Anonymous 2012-12-03 20:15

>>29
What's exactly wrong with that?

Name: Anonymous 2012-12-03 20:24

>>30
You can't do that actually in Scheme. The language doesn't support it. Common Lisp, however, will makes this easy with emacs and SLIME.

Name: Anonymous 2012-12-03 21:09

>>34
Too bad Emacs is carpal tunnel inducing shit.

Name: Anonymous 2012-12-03 21:27

>>35
Your computer is not a toy. If you operate it without appropriate safety precautions (ergonomic keyboard + foot pedals) then you are just asking for trouble.

Name: Anonymous 2012-12-03 21:39

>>36
An ergonomic keyboard isn't going to fix M-x C-x A-x E-E-E-x ``faggot''-mode.

Name: Anonymous 2012-12-03 21:47

>>37
If you can press the modifier keys using your feet, there's nothing to worry about.

Name: Anonymous 2012-12-03 22:26

>>38
But I usually type with my feet!

Name: Anonymous 2012-12-03 22:39

>>39
If you can press the modifier keys using your tongue, there's nothing to worry about.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List