6 ms·
Who would have thought that a brand new language wouldn't have the features, library support and optimization that the more popular languages have? Should be ob
by RyanZAG 13y ago
Who would have thought that a brand new language wouldn't have the features, library support and optimization that the more popular languages have? Should be obvious, but then you read through HN posts with people dismissing languages like C++ and Java as 'too old' or something and that you need to use some brand new untested language to be worth talking about.
Never select a language based off hearing about it on HN or blogs. Either stick with what you know or use a tool that has very specific optimizations for the problem you're going to tackle (and no, concurrency is not a good option to jump off the JVM as it has incredible concurrency support already: see https://github.com/LMAX-Exchange/disruptor https://github.com/LMAX-Exchange/disruptor for the fastest concurrent bus I've seen in any language). Of course, there is nothing wrong with testing out golang or haskell - just don't force your paying client to test it out with you or you might be one less client shortly.
- mercurial 13y agoThere is nothing wrong with testing golang, certainly. But Haskell is 24 years old. Hardly the new kid on the block.
- RyanZAG 13y agoHaskell (and Lisp) will always be 'new'. Especially going by HN posts which seem to think that Haskell is some brand new language created last week to solve the problem of 'side effects' and in a few months time everyone will be using it.
- pjmlp 13y agoI have spent part of the holidays reading about Interlisp and Mesa/Cedar systems at Xerox PARC. Quite powerful GUI desktop systems in the early 80s, using language capabilities that are yet to be fully usable in the mainstream. Lisp on one system, and a GC enabled systems programming language on the other one. Every time I discovered such systems being ignored most developers, I remember of Bret Victor's talks.
- IsTom 13y agoDon't forget Erlang. For some reason a big part of HN thinks it's an unproven technology.
- nknighthb 13y agoI don't know of anyone who thinks Erlang is unproven. Lots of us think it's weird and not worth using.
- pjmlp 13y agoYet, your mobile phone calls might be going through Erlang powered switches.
- throwaway2048 13y agoAnd my multi kilobuck bank transactions may be powered by COBOL, but you won't see very many developers lining up for that.
- nknighthb 13y agoBuilt by a company with the time, money, and motivation to train new hires on an esoteric language that happens to be specifically designed for their unique application. (Incidentally, my mobile phone calls are quite rare. Voice communication sucks. If your intent was to show that Erlang is important to me, you chose a poor example.)
- TheCoelacanth 13y agoGHC, the most popular Haskell compiler, is also very mature and very good at doing high-level optimizations.
- sigmaml 13y ago> just don't force your paying client to test it out with you or you might be one less client shortly. Author of the blog post here. I agree, in retrospect!
- _pmf_ 13y ago> see https://github.com/LMAX-Exchange/disruptor https://github.com/LMAX-Exchange/disruptor for the fastest concurrent bus I've seen in any language The genious behind LMAX is the way they bend Java's object layout features; they achieve nice performance in spite of using Java, not because of it. Some decade old message passing libraries (OpenMP et al.) will probably outperform LMAX without even trying.
- twic 13y agoActually, i doubt it. The machine code that ends up running at the heart of a disruptor is pretty minimal, and it executes precisely zero lock or atomic operations when handing an object from one side to the other. I am not aware of any other message-passing system that lightweight. I would be genuinely interested to hear about one.
- coldtea 13y ago>Who would have thought that a brand new language wouldn't have the features, library support and optimization that the more popular languages have? Because there are "brand new languages" out there that are more mature than Go, and better than it for his needs. Scala and Clojure come to mind, but even something like Nimrod would be perfectly capable. You mention it as if being "new" is some kind of excuse.