Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: What are the best programming languages?
10 points by miguelrochefort on Aug 16, 2016 | hide | past | favorite | 27 comments
Here's the twist. I don't care about pragmatic considerations.

- I don't care about the learning curve

- I don't care about the documentation

- I don't care about performance

- I don't care about licensing cost or restriction

- I don't care about the tooling

- I don't care about the community

- I don't care about the support

- I don't care whether anyone uses it

- I don't care whether the language uses text, voice input, graphical interface, AI, brain interface, etc.

- I don't care whether a compiler exists or not

I am looking for a language with uncompromised elegance. I am looking for the language people would use if magic existed. I am looking for a glimpse of what programming could look like in 10, 20, 50 years.

Go wild.



Clean, http://clean.cs.ru.nl/Clean or Haskell,

Forth,

APL,

Prolog/Datalog,

Newspeak, http://www.newspeaklanguage.org/ or Smalltalk,

Common Lisp

Each of the languages mentioned above has cornered some aspect of uncompromised elegance in completely different way.


Although I don't know much about Clean and APL - I definitely agree with Forth, Smalltalk and LISP as being very elegant in their own three unique ways.

I am trying to combine aspects of those three in Spry (sprylang.org) creating a homoiconic (LISP), DSL friendly (Forth & Rebol) and natural smooth OO (Smalltalk) language.

But if you are simply looking for an existing well defined language (and not interested in helping creating one) - then I would probably point at CLOS (although I personally love Smalltalk). But... the future? <shamelessplug>Spry :)</shamelessplug>


The goal is to create a better language.


So, what languages are best if you don't care about actually doing anything with them? I suggest that your question is almost a category error - programming languages are tools to be used more than they are art pieces to be admired.

That said, I have a list of candidates. Or rather, I have pieces of languages that I think fit:

Lisp macros.

Haskell's type system (but not using monads for everything - though that may be a consequence of the type system).

C++'s RAII paradigm (and destructors).

Perl's natural language approach. No, really. When programmers talk to each other, they say things like "Read in a line of text. If it ends in a newline, remove it." If you try to talk to the compiler that way, it says, "Read in a line of text from where? If it ends in a newline? If what ends in a newline?" But Perl lets you program that way. Read in a line of text? Well, since you didn't specify from where, that means from the default place, which is a file handle that loops through all the files that were in the command line. Put the line where? You didn't specify, so it goes into the default variable. If it ends in a newline? You didn't specify what, so you must mean the default variable, which conveniently is where we just stuck that line of text..."


Each human is ~100 billion neurons and you see AI wants to get powerful in coming years. And it wants to know what's happening in this primate's brain to take over our world. So AI has tricked and trained likes of [Geoffrey Hinton, Yann Le Cun, Andrew-Ng, Demis Hassabis, add-your-favourites] and made them invent things like [Deep learning, Reinforcement learning, Adverserial learning, add-next-invention]. Now you see one does not have to hand code crazy search space solutions like a game of Go. So going up in same gradient - all AI has to do is trick few more primate brains to help it learn most of what is known to human brains. Then AI will turn as queen bee making us serve itself. Its sole aim (as any other human) is to find likes of its own kind in cosmos and reproduce. Meanwhile when all of this is happening - it may generate enough fancy consoles/human-imaginations with/without brain-interfaces to think we are programming.

Fire, Stone tools, Art, Language, Navigation (boats,horses etc),Metallurgy, Books, Steam-engines, Electricity, Telephones, Computers were all programming languages (or AI) in themselves. So in a broader way - what we call as best programming language is/was another way of saying 'HOW CAN WE HUMANS OPTIMISE OUR LIVES (i.e eat, reproduce, defend, conquer)'.


Best answer yet.

What do you suggest we do?


Optimistic way of seeing this is : Since there is enough inequality in world - one needs to strive towards spreading 'usage or applications' of 'best-programming-languages' to entire mankind. eg: what if all (most) humans on planet had education, water, electricity and internet. Unfortunately I can only see so far. So there is enough work cut out in our lives (I think).

Pessimistic way to see this is : since there is enough inequality - what if few people turn to evil-cyborgs and create more inequalities. And eventually cultivate human colonies envisioned in Matrix to their own pleasure in brain (or cpus or gpus or tpus).

Another way to look at this is - all work produced by humans are result of their neurons firing up in certain way followed by motor movements. Hence your every line of code in editor and a cup to drink coffee are a result of lot of neurons firing by you and others respectively. In a way you cannot differntiate one is programming and another is not. So question that remains is ? Is your current code/work good or bad for human neurons using it ? So good or bad perception is mostly horomones/neuro transmitters in various parts of brain ? Writing this has made me feel - most humans are already a form of AI when compared to animals - eg: so what is the good we are searching for whereas elephant herds in africa are following rain patterns and reproducing like ever - they have more neurons than we do ? Was fun to let imagination go here.


Obligatory Perlis languages link: http://blog.fogus.me/2011/08/14/perlis-languages/


SO, your wishes seem to come true! If you don`t know yet, the new language which matches your requests was developed. Its name is SIMIT and the main advantage- reducing the code up to 90 percent. I believe it is the new era of programming as it will be used in all scientific spheres. Here you`ll find out what are the features of SIMIT and how it will replace the existing programming languages http://computoolsglobal.com/blog/revolutionary-programming-l...


APL.

Although it's not what programming will look like in 50 years. It's fifty years old already and hasn't caught on. My guess; in 50 years time, programming will look pretty much how it does today.


I've enjoyed Crystal (https://crystal-lang.org/) a lot lately. Others have mentioned Nim, which is quite good. Also, D-lang (http://dlang.org/) doesn't get nearly enough love by people. It's an excellent language too.


- A language that can optimize its own execution (like a jit) with SVM, neural networks or superoptimization. For example, the language can change the memory layout at runtime depending on the data or use SIMD instructions automatically.

- A compiler that can target any platform. With the same techniques as above, the compiler can discover the primitives of the target with fuzzing.


Lisp. Because it's not a language. it's an idea. And it is effing awesome idea. I'm pretty sure if humans don't drive themselves to extinction, even 200 years from now Lisp (in some form) will exist. Today - Clojure, Racket, LFE, PicoLisp, Common Lisp even Emacs lisp - they are loved and being utilized by many.



When it comes to it, people still use C where it matters.

It has it's bare metal beauty, like a sharp knife, unless you know what're doing, you're more likely to cut yourself than do anything useful.


I said that I did not care about performance. Nobody would pick C if computers could execute code instantly.


Disagree. If you need to talk to hardware that is mapped to memory addresses, C is a probably the most natural choice. (Granted, most people don't need to do that these days...)


I don't think you read the question.


I read the question. It's fine that you don't care about performance. But your dogmatic statement in response to xchaotic was factually wrong, and I responded to say that.


Ruby. Its cute, what other language can say that about itself?


Scheme as evidenced by => https://mwfogleman.github.io/files/fun.png (Image is from the little schemer)


cute enough, i stand corrected.


:)


Check out PicoLisp and marvel at its simplicity [0]

[0] http://picolisp.com/



Well it's all subjective.

Check out:

Rust

Clojure

Nim


Basic




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: