4 ms·
> But, I know 6 other languages, I can learn one more... I doubt you professionally know 6 languages. There's a lot more to learn about the runtime, frameworks
by rootlocus 9y ago
> But, I know 6 other languages, I can learn one more...
I doubt you professionally know 6 languages. There's a lot more to learn about the runtime, frameworks and tools of a language than there is syntax.
- yters 9y agoIf the framework solves a common problem, then the structure will be familiar. Stackoverflow to fill in the gaps.
- rootlocus 9y ago> Stackoverflow to fill in the gaps. That's what juniors do. Please don't use Stackoverflow professionally like that. You should consider reading a book on the subject which provides more context and better practices.
- dozzie 9y agoYou're up to a surprise. It's not really that difficult to learn six languages to a level of using them professionally. I've seen it happen. And you overestimate the differences between the runtimes and frameworks. Most of them work in a very similar way to one another.
- rootlocus 9y ago> You're up to a surprise. That implies I don't have a clue what I'm talking about, which is discourteous. > I've seen it happen. Perhaps we don't use the same definition for "professionally". I meant being "senior" in that field. Of course anyone can learn 6 languages to a certain degree. My original post was supposed to be "I doubt you are senior with 6 languages". > And you overestimate the differences between the runtimes and frameworks. Just because all VMs have a GC and a JIT doesn't mean they work very similar to one another. Not to mention unmanaged languages.
- watwut 9y agoThe differences between GC or JIT are completely irrelevant to majority of professional jobs. There are some where it matters, but again, it is not that difficult to learn about new one. There are some conceptual difficulties when jumping from typed language to non-typed, but that is about hardest thing. Also, compare to quite usual career advice on fake it till you make it which is present in this thread too (by someone succesfull).
- dozzie 9y ago>> You're up to a surprise. > That implies I don't have a clue what I'm talking about, which is discourteous. You yourself first gave and now named that impression. > I have no idea what your definition of "professionally" is then. You gave no definition of yours, so don't complain that I don't fit it. > Just because all VMs have a GC and a JIT doesn't mean they work very similar to one another. Not to mention unmanaged languages. Then name a dozen of behaviours that each language or runtime has implemented differently from virtually any other, so you need to learn them one by one.
- rootlocus 9y ago> You gave no definition of yours, so don't complain that I don't fit it. However, instead of clarifying or asking for clarification, you chose to mildly insult me and use whatever definition you wanted to make your argument. It would've been pretty silly of me to use a weak definition since that would've weakened my own argument. Also, for what it's worth, according to the hn guidelines: > Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith. Professionally could've meant "in a way that relates to a profession or career." or "in a way that shows skill and experience". I would argue toying with a language at home and filling the gaps using stackoverflow is not professional. > Then name a dozen of behaviours that each language or runtime has implemented differently from virtually any other, so you need to learn them one by one. No. If you don't think there are any or don't know of any, I'm not continuing this "debate".
- ekidd 9y agoOK, I might have a couple more languages than the average mid-career developer, but I don't think I'm that much of an outlier. So here goes. I have, in the past 10 years, professionally and successfully worked with C++, Scheme, Ruby, a couple generations of JavaScript and Rust. And I've written a whole pile of shell scripts. These were all "first tier" languages in which I was up-to-date at the time. I've also, as a consultant, delivered projects in C# and Java. In these cases, I didn't know all the tricks, but my code met specifications, it had tests, and it was reasonably clear. Oh, and I also wrote a bunch of Haskell on my own time, and it was stronger than a couple of the languages that I got paid to use. But no, I'm not professionally up-to-date in all these languages. My C++ is out of date, JavaScript frameworks change every year, etc. But if you dropped me in a new job with a new language, I could be delivering business value and clean code inside of two weeks, and I'd be reasonably current on whatever framework I was using within a few months. Yes, it would take slightly longer for Elixir or Erlang, and longer still for something like Coq, because there would be new paradigms involved. But there really does come a time when genuinely unfamiliar ideas in mainstream tools become rare and special. I'm always happy to learn something new like React's virtual DOM or Rust's borrow checker. And I know plenty of people who are far, far better than I am. And this is why I'm generally happy to assume that competent developers can learn on the job if they show any interest in doing so. You really don't need more than one person on a team who knows the deeper trivia of a framework.
- bbarn 9y ago> But if you dropped me in a new job with a new language, I could be delivering business value and clean code inside of two weeks This is one of the things I consider to be a trait of a senior developer, when making hiring decisions. I understand why places post jobs that want X years experience with Y stack, because they don't want to feel like they have to teach "the basics" to someone at a high level, but I've found "the basics" is just what you've described in that sentence. Good professional software developers are language agnostic - even if they've spent the last 10 years on a single language in practice.
- skosch 9y agoGiven your breadth of experience, I actually bet you could get very comfortable with Elixir in a week's time. Especially so if you've worked with Scheme, Ruby, and Haskell. Elixir's syntax is very simple, and 90% of your code is data transformation steps strung together with pipes, which really isn't any different from other (functional) languages.
- gaius 9y agoThere's a lot more to learn about the runtime, frameworks and tools of a language than there is syntax That is true but on the other hand, vast swathes of commercial work boils down to, use a language ultimately derived from ALGOL to process data structures that were in textbooks in the '70s. All the libraries are ultimately written by people, and people who themselves have used other languages, so variations are pretty minor. The function you need to connect to a DB might be different but I bet the parameters you pass to it are in the order of username then password, in any language. Even Ruby, whose community delights in obscure, meaningless names, has patterns in common with everyone else...
- walshemj 9y agoI though ALGOL was a 60's language
- mooreds 9y agoI would feel comfortable delivering production code in: Php, Java, ruby, python, javascript, SQL, perl, pl/sql, and bash. And have been paid to write them all over my career. Not saying I wouldn't need a day or two to brush up on some of them (perl was pretty early in my career), but 6 languages isn't that large a number once you've been around for a decade or two, especially if you consult.
- analogic 9y agoUsed to use 6 languages in the course of a day, in the before times, before JavaScript took over.
- tachyoff 9y agoHow does this meaningfully contribute to the discussion? I mean that in earnest. It comes across as mean, or at the very least, immature. Out of that entire comment, this is what you zero in on?
- walshemj 9y agomm ok ill bite Fortran,BASIC,Perl,PHP,ASP,PL1/G Plus MySQL and the procedural languages T/SQl and PL/SQL.
- rootlocus 9y agoI said I doubt it, not that it's impossible. And by professionally I meant you've read most of the canon books about these languages, you can explain what happens under the hood for any piece of code and you can debug, profile and write high quality idiomatic code in each and every language you listed. And now, as per GP post "But, I know 6 other languages, I can learn one more..." you should have no problem learning C++ on the job after being hired for a senior C++ position.
- psyc 9y agoThat's a somewhat unrealistic definition of 'professionally' but it depends on exactly what level of language-lawyering prowess you have in mind. Regardless, your original statement strikes me as a strange assertion to make to a diverse group of strangers. For many people with long careers, reaching this level in 6 languages is practically inevitable. I'm only 20 years in, and already up to 4 or 5, due solely to experience at professional day-jobs.
- dang 9y agoCan you please stop? It's a pointless flamewar and going around in circles.
- k6k7f7uky8ki 9y agoYou really can't be productive and deliver value without first knowing most major frameworks of a language inside and out? I think this is where the disconnect is. A lot of people can deliver value while learning anything new as they go, which certainly counts as knowing the language professionally...