3 ms·
Language wars bore me. I've got pretty decent proficiency in C, C++, Java, Python and Javascript and I honestly like them all. I use C to really get what happe
by confluence 14y ago
Language wars bore me. I've got pretty decent proficiency in C, C++, Java, Python and Javascript and I honestly like them all.
I use C to really get what happens on the metal. I use C++ to leverage C and C++ libraries for perf critical applications quickly. I use Java like C++ where it makes more sense - Android, or availability of libraries etc. I use Python to prototype and quickly express complex ideas and determine their perf characteristics. I use Javascript for frontend web dev which communicates with json back-end APIs that are language/platform independent services that scale out horizontalty.
I have 2 main rules.
If the question is to learn one important thing or another - I learn both. Then when I come across a new problem I solve it with a combination of the tools at my disposal.
Hence this is why I am currently learning Emacs, lisp, clojure, Scala and Haskell to round out my languages with maybe a little Ruby thrown in. This will take me a few years.
In the end programming is just about getting things to screen quickly and correctly. Seen from that viewpoint most languages are very similar at heart.
- jackpirate 14y ago>Language wars bore me The Haskell vs. everything else language war really is important though. All the languages you mention are basically the same thing with slightly different syntax or a slightly different runtime environment. Haskell, on the other hand, revolutionizes the way you approach code. Or at least it did for me.
- confluence 14y agoYeah I'm not so sure. If Haskell is so great why isn't it dominating? Where are the Haskell phones, apps, services etc? Don't get me wrong - I enjoy it. But I've learned a few things throughout my life. First, the one true crowd is always wrong. Two, if it's so good - use it, and prove it. A lot of functional stuff is a ton of gushing talk - but no product walk. When Haskell runs on billions of devices or serves trillions of pages or produces trillions in revenue call me. Otherwise, I'll just keep shipping with my lame proven product producing languages. Functional languages have so far been all talk and no walk.
- mercurial 14y agoYou do have a few cool, real-world products out there in Haskell (eg, git-annex, darcs). But to be fair, there is a fairly steep learning curve. Once upon a time, at my old company, a guy came to an interview. He was very experienced in PHP, having used it to build websites as a freelancer for something like 10 years. Did he know object-oriented programming? He'd heard about it, it was probably good for larger teams. Because he'd just been working with the same techniques all these years. And the sad truth is, your average programmer is likely to be like this guy. In which case, you want to give him a solid language, which is aimed at preventing him from shooting off his own foot, and does not feature many complicated concepts, like Java.
- kaffiene 14y agoI find this HN concept of the Java programmer as a 'blub' programmer really offensive. I've coded C,C++ for years. I really like Lisp, Clojure, Python. I've dabbled with Haskell and OCaml. And I LIKE JAVA and NOT because I'm old, stupid or don't fucking know better.
- jackpirate 14y agoI didn't mean to imply that Haskell was some "perfect language" just that you were wrong to imply that all programming languages are essentially the same. Python, Ruby, Java, and c are all essentially the same, but Haskell, Lisp, Agda are fundamentally different and learning the former groups of languages doesn't really reduce the learning curve in learning the latter.
- confluence 14y agoYeah that's not really true either. Haskell is functional. All that means, and all that ever meant, was that the entire language worked around pushing static data into static functions and giving static returns. I can do that in C, C++, Python, Java and Javascript. The only difference is that it is really the only way I can use Haskell - whereas the other languages are highly flexible, adaptable and actually help me ship product. Most of my APIs work essentially like Haskell - static pre-determined data in, static data out - and the back-end implementation is irrelevant for consumers.
- dscrd 14y agoNah. Just like the business side is constantly trying to figure out ways to not have to use programmers anymore, Haskell is all about trying to figure out ways to make mathematicians more useful
- meaty 14y agoActually I'd rather stick with what we have. Worse is better and all that. I find Haskell to be like reading a cross between perl and the dictations of a crazy person chanting in tongues. The underlying principles however are damn good, but they are not enough to salvage it.
- exDM69 14y ago> The Haskell vs. everything else language war really is important though. What is remarkable about Haskell is that it builds upon bleeding edge programming language research. While I think that Haskell vs. everyone else is just another language war, I find it a real pity that "mainstream" languages seem to categorically ignore everything that programming language and compiler research has come up with in the last 30 years. I'm still waiting for someone to find a sweet spot between Haskell and the more mainstream languages. A language that has a dynamic feel to it but is a statically typed (with type inference, of course) safe language that compiles to fast and efficient native code.