4 ms·
That's exactly why it's useful to get familiar with multiple toolchains. If you are pretty comfortable with Ruby and move to Python, you'll have a pretty good i
by Arnor 13y ago
That's exactly why it's useful to get familiar with multiple toolchains. If you are pretty comfortable with Ruby and move to Python, you'll have a pretty good idea about what pitfalls you'll encounter in a dynamically typed, interpreted language. Of course there's a learning curve, but it's less intense for languages with similar building blocks.
The first homework assignment when moving to a new language/stack is to google: "<language/stack/whatever> fucking sucks" and read the first 10 pages or so, you'll get a sense of the pitfalls.
- avar 13y agoI can easily switch between dynamic languages, including Perl, Python and Ruby. What I'm talking about is the level of toolchain familiarity where e.g. you can look at a given piece of code and know exactly which opcodes it'll get compiled to, what algorithms those opcodes will employ, and by extension how everything else in the system works. Now I certainly don't pretend to know all of that with Perl, but once you have that level of intimate knowledge that extends way beyond just the differences between similar languages with similar building blocks you'll reach a level of mastery that you don't want to give up easily. If you accept a job at a new company you might have to start to understand tens of thousands of new lines of code to have a proper understanding of the system you're working with. Similarly the hairy bits of programming language toolchains are tens to hundreds of of thousands of lines of code that you have to understand to truly know how they work. My point is that assuming that you can easily transfer that knowledge on a whim just because you can read the syntax introduction of some new programming language is folly. The toolchain is more complex than most people give it credit for, and mastering it matters.
- mikegrb 13y ago> What I'm talking about is the level of toolchain familiarity where e.g. you can look at a given piece of code and know exactly which opcodes it'll get compiled to, what algorithms those opcodes will employ, and by extension how everything else in the system works. Indeed, and I can say for sure the author of the post has such a low level knowledge of Perl.
- rwallace 13y agoSure. I don't think anyone is saying there's no value in mastering the toolchain. But the OP was talking about blowing his life savings on a bakery because he couldn't find a job programming in Perl. If you ever find yourself starting to think like that, a big red flashing sign with the words 'Warning: excessive attachment to a particular tool!' should be lighting up in your mind.
- chromatic 13y agoBut the OP was talking about blowing his life savings on a bakery because he couldn't find a job programming in Perl. No, he wasn't. The article isn't about Perl. The article is about the excessive attachment to novelty and reinvention as practiced in much of the programming world today.
- Arnor 13y agoI agree completely. This is particularly prescient for me because I finally made the leap from PHP to Ruby with a job I started 2/5/2014 (hold your applause :P). There's a lot to learn, but I actually find myself more happy and productive. Also, I'm a bit of a junky for learning new tools and the like so that's part of the fun.
- kbenson 13y agoI think the trend is that generally people are happy with the new language when they learn it because they want to. It gives you a chance to assess the warts of the previous language by seeing a new way to do things (and eventually an appreciation of what they did right but is problematic in the new language). When moving to a language you aren't really enthused about, it can feel like all downsides. For me that was having to dive deep into some PHP projects. Although that may have been more to do with the nature of going from Perl to PHP, which really, really felt like regressing to me (PHP sort of feels like a very old, constrained version of Perl). I think the only feature I preferred in PHP was classes, and that point is more than moot now, it's reversed.