Ask HN: What language has the best developer experience?

11 points by xupybd ↗ HN
There are many new languages to learn and many reasons to choose one over the other. But do any stand out as having a great developer experience?

31 comments

[ 3.6 ms ] story [ 74.1 ms ] thread
Python is very good for beginners. It has lists and dictionaries as native objects, which are very versatile.

JavaScript is very good too because you have the "developer tools" in your browser and you don't need to install anything.

Don't have much experience with other languages to talk about them...

I think this is kind of like asking what car has the best experience or what hotel has the best experience. It depends so much on what you want from it that there's no clear recommendation.
I was hoping for raw opinion. It might not be my preference, but I'd love to hear what makes a language great for one person or another.
I was super impressed with elm. Great docs, amazing error messages, good examples.
C.

Nothing else has the right mix between a high level, portable programming language, and the low, system level call capabilities of C.

Seconded. It is also one of the few languages in which you can easily bundle everything into a static executable.
It's a matter of personal preference.

Explore a few languages, give them a try, see which one you like, then your question is answered.

Yeah, that's what I've been doing. So far Scala is winning. Go didn't seem to fit. Nim next.
IMHO:

   1. C# (Using Microsoft tools)

   2. Erlang (Very robust, solid language)

   3. Python (Lots of users, good tools.)
Thanks, Erlang sounds like it might be worth having a play with.
The one that solves the problem in the least amount of time with the least amount of frustration and bugs.
I programmed in a couple of languages (nodejs, python, ruby, ..) and on my work i use c#

I always believe that c# has the best developer experience within the tools of Microsoft ( Eg. Visual Studio).

Try out Visual Studio community edition and see for yourselve

Of the languages I've used, Visual Basic (pre-.NET). I never used Hypercard, but I hear it was pretty good too. Newer languages tend to be too complicated to have great development environments.
I really did not expect to see someone say pre-.NET VB on Hacker News
HN never fails to suprise. I found vb6 ok for simple stuff but a recipe for spaghetti on medium to large projects
I had to use it at one job and it was exactly that, a spaghetti nightmare. I did not like it. I don't want to say it's bad, though, I just prefer to shy away from it and don't see any point in using it again.
It certainly had its place on Windows development before .net was released
Common Lisp (Emacs, Slime) or LispWorks (which has a free personal edition). After using live image based development, going back to the edit, compile, test cycle is like going back to the stone age.

And CL has libraries. See quick lisp. [1]

My own comparison with Python, which I have been using regularly. Python is a toy Lisp with all the adult parts hidden.

[1] https://www.quicklisp.org/beta/

ditto. I've used just about every language and IDE out there. Eclipse and Java. C++ with every IDE out there. Javascript. Some niche languages. Everything.

Common Lisp and it's tooling is the best dev experience I've found. Other langs can support live coding, but it's always a poorly supported exotic option that feels like crap compared to SLIME.

Laravel (PHP) has been a great experience.

Composer Valet/Homestead (Local Development) Forge (Builds Servers/Deploys Repos) Envoyer (Zero Downtime Deployment) Spark (SaaS Application Starting Point)

It keeps getting better and better.

laravel.com

Java with IntelliJ.

Um, that is, as long as you can just do Java or Android or something. If you're having to get into EJB and Spring and the corporate heavyweight development environment, that's not a pleasant world to work in, even with IntelliJ.

Racket. It's an ecosystem of languages. If it doesn't provide the language the developer wants, the developer can just make the changes.
You should probably ask about domain-language-IDE combos.

For example (and these are going to be controversial, but they're just examples):

Datascience - Python - Spyder IDE

iOS - Swift - Xcode

For the web, you get a lot more competition because it is a little harder to develop, and there are lots of backends and front ends to pick between. Probably:

Web app- Django/Rails/Restful Node - Sublime, Dev tools in chrome

and so on...

Data science - r/rstudio
That is exactly the combination I was thinking of when I wrote it is controversial.

I agree that combination is at least as good.

> iOS - Swift - Xcode

Maybe once SourceKitService doesn't crash constantly, and the compiler doesn't segfault when type inference breaks down.

The Swift experience has the potential to be among the best, and the design is there, but the implementation is very lacking at the moment.

IMHO, Rust. Rust is very developer-friendly, great doc, user-friendly error messages, system level, cross-compilation friendly (\o/), you can experiment in the browser, etc…
I probably don't have as much experience as others, but I've dabbled around in a few languages and I think my best/most fun experience was when I were learning and creating a couple GUI desktop programs with Qt framework in C++ using their Qt Creator IDE. It's really a blast to work with and everything just feels in harmony.
Haskell. Terse language means ide is not necessary and vim with your fave plugins does the trick nicely. No need for debugger as you can compose your program beautifully and test the last ounce of shit out of every little component using properly based testing.