What Languages Fix
paulgraham.com
paulgraham.com
Matlab: it takes way too much Fortran code to solve Ax=b
Octave: Matlab is closed-source (and expensive)
Julia: Matlab was designed by people who knew a lot more about numerical analysis than programming language design
Python + SciPy: you don't actually need a whole new language just to solve Ax=b
TeX: it's taking too long for people to typeset my books
Markdown: XML sucks for writing things by hand
R: because Perl isn't dangerous enough
In the late 1970s, Donald Knuth was revising the second volume of his multivolume magnum opus The Art of Computer Programming, got the galleys, looked at them, and said (approximately) "blecch"! He had just received his first samples from the new typesetting system of the publisher's, and its quality was so far below that of the first edition of Volume 2 that he couldn't stand it.
TOML: Because INI files, JSON and YAML parsers are either too hard to read or write sane parsers for (It's not a language, but hey data formats are people too.)
Elixir: Because I want to be a Ruby hipster and an Erlang hipster at the same time (I'm only a lowly Ruby hipster.)
We're GNU. We don't care so much about the closed/open distinction as we care about the free/non-free distinction. The goal is that you should be able to run and share your code without anyone's permission.
I'm also planning to make Octave expensive as well. :-) Hopefully I'll manage to get this Octave startup off the ground.
https://www.gnu.org/philosophy/open-source-misses-the-point....
Go: Haskell code is too generic.
D: "(C++)++" has terrible SEO.
Java (early versions): C is so fast that nobody wants to buy our new chips.
Scala: Java doesn't have map, reduce, or lambdas.
Java 8: Oh crap, Scala's right.
Java: Lets make C++ simpler and safer for the average bear, and give them a large standard library.
Go: Lets take an OO subset from Java, duck typing from Python, CSP and glue it all together with memory-safe subset of C that is garbage collected.
Edit, previous discussion: https://news.ycombinator.com/item?id=6968775
Some suggestions:
@tensor wrote: "Clojure: lisp promotes mutability too much."
@ajuc: "The JVM needs a good lisp."
PHP now: We need every feature of every language ever invented. Twice.
Because it was superficially confortable given HTML and its popularity due to the explosion of the web.
Cosmetics are often more important than substantive structure in popularity.
Functional programming in Haskell makes it fairly easy to write fast code, though Haskell in particular is tricky to reason about space-wise (due to laziness).
Don't get me wrong, Haskell is a great language, but it's not very "mathematical". It just has terrible ambassadors that give the impression that category theory and Haskell are synonymous. They're not, Haskell has its own breed of categeory theory that I prefer to call Haskellory theory.
This is a reasonable introduction to Haskell that does away with that Haskegorical nonsense:
It isn't ambassadors doing that, it is detractors.
>This is a reasonable introduction to Haskell that does away with that Haskegorical nonsense
Note that one of the authors, Don Stewart is almost certainly the biggest haskell ambassador in the history of the language. Which reinforces my other statement quite nicely.
Really? Is that because they don't like Haskell, or because they don't like programming in general?
List is a nice collection if I'm using my built-in support for human language. I'd never call it as a monodic to my wife (or anybody else I care about).
Miranda: Lazy evaluation should be the default.
Haskell: Miranda is closed-source.
http://research.microsoft.com/en-us/um/people/simonpj/papers...
1. From that time: https://news.ycombinator.com/item?id=58444
2. Says (old article): https://news.ycombinator.com/item?id=288749
3. Says (2002): https://news.ycombinator.com/item?id=4954663
and 4. unqualified https://news.ycombinator.com/item?id=6968775
web pages are not programmable.
More like: Can functional paradigms be used in a procedural language
Beyond that, Javascript did not particularly ship with any sophisticated FP stuff, and, really, doesn't even ship with any today. It may be nice that Underscore can be written, but for any language with any functional pretensions whatsoever, it shouldn't need to be written, because it ought to just be shipped with the stock language.
Javascript: Java is scary.
Also hidden in the source: Python: Modula-3 is scary.
Curl: Lisp syntax is scary, and XML is redundant.
Arc: Scheme has no libraries, and both could be denser.
There are a lot of languages I haven't been able to figure out
how to describe this way. Suggestions would be appreciated about any
languages missing from the list. What I'm looking for is not exactly what
motivated the language designer (Smalltalk was originally intended
for children) but what niche the language first lodged in. What was
the appeal of the language to its first users?Is possible to create a monoculture on top of a badly (non)designed language with not chance in hell to escape it?
Because when I get a int, it should definitely be a bloody int.
When you say "int", you should get an integer - not an element of a (decided by the author arbitrarily) finite subset of integers.
C: Assemby language is too low-level.