Ask HN: What is your favourite programming language? Why?
21–30 of 60 posts
Re: Ask HN: What is your favourite programming language? Why?
#22Probably javascript. With the caveat that all of the work I've done in javascript has been of the old school "write it in a text editor and FTP it to the server" variety, and I have little real exposure to the modern ecosystem or the problems people seem to have with javascript at scale. I like the simplicity of the syntax. Arrays and objects are easy, closures are easy, and I like prototypal inheritance as a concept…
The JavaScript community has taken a horrible turn towards complexity. I’ve been planning a fork of the npm tree, to return to ES5. But it’s a big project and I want to be ready with a good modern, modular web toolkit before I do.
(The plan is not just to fork an ES5-compatible tree, but to allow people to rewind the npm tree to an arbitrary branch mask based on any linting rule they like and append from there. If you want to narrow to only typescript+react packages with named exports for tree shaking, you could. I’m gonna do good old fashioned ES5 though, no promises allowed and no assignment in global scope)
Re: Ask HN: What is your favourite programming language? Why?
#23Re: Ask HN: What is your favourite programming language? Why?
#24I love Rust as well, though I love it more as a concept than as an actual useful language. If only it weren't so freaking hard to get anything done in that language!
Re: Ask HN: What is your favourite programming language? Why?
#25Clojure, because of Datomic.
Re: Ask HN: What is your favourite programming language? Why?
#26Re: Ask HN: What is your favourite programming language? Why?
#27I find Haskell clears up your thinking a lot, but it's really not great for production work. Go on the other hand is extremely great for prod work
Re: Ask HN: What is your favourite programming language? Why?
#28It has a beautiful clean syntax, which is as concise as I can imagine that a human readable language could get to giving instructions to a computer.
Re: Ask HN: What is your favourite programming language? Why?
#29Kotlin. Less verbose than java, functional and modern features when I want them but doesn't implement every programming idea like scala. My second favorite language is python, but I like getting the type safety while writing way less code.
Its connection to Java brings a huge ecosystem of tools and libraries to the table, but if you don't need those, today Kotlin can also be used without Java or the JVM.
It has been my main language for work projects for over a year now and I still love the language.
Re: Ask HN: What is your favourite programming language? Why?
#30All begins with the primitive infinite sequences and the language's means of combination (specified with decimal digits)
---universe begin---
sequence 01: 0 1 2 3 4 5 ...
sequence 03: 1 2 3 4 5 6 ...
sequence 05: 2 3 4 5 6 7 ...
sequence 07: 3 4 5 6 7 8 ...
...
---universe end---
0105: count by two
---universe begin---
sequence 01: 0 1 2 3 4 5 ...
sequence 02: 0 2 4 6 8 10...
sequence 03: 1 2 3 4 5 6 ...
sequence 05: 2 3 4 5 6 7 ...
sequence 06: 1 3 5 7 9 11 ...
sequence 07: 3 4 5 6 7 8 ...
...
---universe end---
01030501: set up some cycles
---universe begin---
sequence 01: 0 1 2 3 4 5 ...
sequence 02: 0 2 4 6 8 10...
sequence 03: 1 2 3 4 5 6 ...
sequence 04: 0 1 2 0 1 2 ...
sequence 05: 2 3 4 5 6 7 ...
sequence 06: 1 3 5 7 9 11 ...
sequence 07: 3 4 5 6 7 8 ...
...
---universe end---
Please note that as the universe grows we always leave space for more sequences by skipping every other sequence designation.
What makes this language useful is that with very little effort any two arbitrary infinite sequences can be defined. As a consequence any mathematical relation is easily defined as a mapping from members of one sequence to the corresponding members of the other sequence.
I will briefly describe the language's means of combination. Writing a sequence designation one next to another will form new sequences by pulling out corresponding members. But all sequences are infinite so after the last designated sequence is visited the member value is used to select the possibly new member in the first designated sequence. Digits that are not able to be confused with sequence designations specify the three other primary means of combination. They are "cons", "car", "cdr". With a proper understanding of their use one can build arbitrary sequences. I will just say that "cons", "car", and "cdr" are used to combine entire sequences which is logically equivalent to combining corresponding members of those sequences.
In the code above I write "0105". The "01" is a sequence designation. The "05" is a sequence designation.