4 ms·
Programming language specialisation is completely overrated. Job listings should probably rather read "Looking for software developer" than "Looking for Rails/P
by scrrr 12y ago
Programming language specialisation is completely overrated. Job listings should probably rather read "Looking for software developer" than "Looking for Rails/Python/Clojure/whatever-developer"
A good/experienced developer will pick up any language quickly.
- astrobe_ 12y agoQuickly? Perhaps. But being productive is a whole different story. You may pick Scheme or Forth in maybe half a day; but being productive with them implies knowing their common idioms, their standard libraries by heart and their ecosystem well. That's the meaning of the "Looking for ..." job offers.
- volker48 12y agoThis is true, but certain languages are better at tackling certain problems e.g. I wouldn't recommend trying to write a multi-threaded application in PHP. I could build a house by hammering in all the nails with the back of a screw driver, but why would I want to do that?
- scrrr 12y agoyeah I just meant that good devs can use any language, not that any language is good for any problem. It obviously isn't. :)
- lostcolony 12y agoTo a point. I've noticed in functional language jobs the specific language is less meaningful. While it may be Clojure, it will often have a requirement of "experience in functional languages" rather than explicitly Clojure. I think that's a combination of fewer developers to choose from, smaller companies (so a technical person reviewing it rather than HR), and the recognition that the major difficulty to getting productive is that first paradigm shift, after which it's evolutionary rather than revolutionary.
- EliRivers 12y agoHow quickly is "quickly"? I've been coding in C++ for years and I still find new ways of doing things and new idioms to consider.
- marcosdumay 12y agoDo at least K&R not feel this way? That discussion above does not really apply to C++. But then, if you lower the bar to how much C++ is widely known (the intersection, not union), it'll apply.
- BugsBunnySan 12y agoOn the one hand, R (http://www.cs.bell-labs.com/who/dmr/index.html http://www.cs.bell-labs.com/who/dmr/index.html) is sadly gone. However, this might be interesting to your question: From http://www.lysator.liu.se/c/duffs-device.html http://www.lysator.liu.se/c/duffs-device.html: "Somewhere I have a note from dmr [the R in K&R] certifying that all the compilers that he believes in accept it." So at least at some point Duff showed Ritchie something in C that Ritchie hadn't seen or considered before, long after C had been invented.
- danieldk 12y agoA good/experienced developer will pick up any language quickly... ...within the same paradigm. Give a good/experienced developer of imperative languages Prolog or a pure functional language, and it may take a few months to get productive. Also within the same paradigm, there is a difference between learning the syntax superficially and knowing all common idioms, patterns, and libraries.
- collyw 12y agothat's maybe where the "experienced" part comes into his description. Would you rather have a ten years of Java guy or a three years of Java, 5 years or Python, and three years of JavaScript. (Ok all of those are imperative, but Python and JavaScript also have a functional element to them).