4 ms·
So, which language(s) have you designed that exhibit good choices?
by SwellJoe 8y ago
So, which language(s) have you designed that exhibit good choices?
- carlmr 8y agoI don't think you need to design your own language to criticize another. I think Rust and F# are great language designs. I think Perl (5) and JavaScript are terrible. Python is somewhere in between (I'd like the typing system to be optional but actually checked, I think the module system is broken, the only reason I use it is because of very good libraries). TypeScript makes JavaScript usable actually enjoyable. Just by using a language you will find a lot of design choices that you either like or don't. There's no reason that you need to design a language to criticize the choices made in a a language.
- hpcjoe 8y agoIMO, Julia[1] is Python done right, without all the annoying bits of python, and (much) faster. Perl is (still) a fantastic language to use when you have complex tasks and don't want to spend more time on boilerplate and specific formalisms of the language, than the problem space. Perl is still (as in has been for many years) the goto language for a number of difficult problems. If your tooling is helping you write in the tool versus helping you solve your problem, you might be using the wrong tool. Perl is not for numerics for a number of reasons. Javascript isn't either. Python is ... well ... python. It's the MSBASIC of the 201x years. As my comment above noted, I believe that Julia will quickly replace Python, as it has a saner syntax, trivial library integration, great package/module system (though the 1.0 transition has been bumpy with mass deprecations that could have been handled better), is compiled, has an optional strong type system, works in parallel out of the box (no GIL), ... edit: included missing reference. [1] http://julialang.org http://julialang.org
- carlmr 8y agoVery good points, the instability of Julia has put me off in the past, but it sounds like they made much saner decisions in general.
- deleted 8y ago[deleted]