6 ms·
I've never thought of myself as a C++ dev (or a PHP dev, or Rust dev, or Haskell dev). I write computer programs. I don't "invest" in a language and only take
by fioawjpoifajio 5y ago
I've never thought of myself as a C++ dev (or a PHP dev, or Rust dev, or Haskell dev).
I write computer programs. I don't "invest" in a language and only take jobs that use that language.
Learning more languages is almost always good. Not because you're learning more languages, but because you're learning more modes of thinking which will apply to any future language you learn.
- est31 5y agoI agree but many job postings contain stuff like "3+ years of professional experience in language x".
- abzug 5y agoYes but with time you gain experience in one or more languages and you can choose a job with the ones you like (or tolerate more). You don't need to pick or specialize one to apply for this kind of postings.
- azdle 5y agoHonestly as someone (on the team) hiring for a job where someone else wrote the job posting, ignore the number. Just read that as "do you think you enjoy maintaining a codebase written in X". Job postings are the fucking worst.
- void_mint 5y agoI've never actually found that to be enforced. None of my jobs have shared a tech stack, all of them have included such language. YMMV of course.
- oblio 5y agoThey don't enforce the number of years, but they could ask you quite deep questions about the language. Even if you're a senior Python/Javascript developer, with experience in C# in the past, etc., if they start grilling you about Ruby, you probably won't prove that you're as equally productive as a similarly smart dev that is an actual senior Ruby dev.
- howinteresting 5y agoI agree in the abstract, but Rust is a step-function improvement compared to most other mainstream languages. It is hard to go back to writing, say, C or C++ once you have a few years of Rust experience—not because you've lost competence in them but because Rust offloads most of the complexity onto the compiler in a way that's simply not possible with older languages. You really start leaning on the affine types, the compile-time mutability xor aliasing checks, the pervasive checking of thread-safety...
- zozbot234 5y ago> It is hard to go back to writing, say, C or C++ once you have a few years of Rust experience ... You really start leaning on the affine types, the compile-time mutability xor aliasing checks, the pervasive checking of thread-safety... C++ has semi-official Core Guidelines issued by prominent members of the ISO-WG21 standard committee, that describe how to express these things idiomatically. Of course Rust can actually check these things automatically and achieve something close to actual memory safety, but there are ways to at least make a meaningful effort in C++.
- steveklabnik 5y agoThe Core Guidelines are great, but don’t attempt to go as far as Rust.
- pjmlp 5y agoMicrosoft and Google are taking care it does. I would watch the upcoming VC++ static analysis talk regarding its progress. https://visualstudio.microsoft.com/de/pure-virtual-cpp-event-2021/ https://visualstudio.microsoft.com/de/pure-virtual-cpp-event...
- tffgg 5y agoI have been following such efforts (esp. of MS) in C++ for years - progress is so slow. Feels like a slug that halfs it's speed regularly and thus will never arrive at the finish line
- gofreddygo 5y ago> Learning more languages is almost always good Learning for the sake of learning and betting on it for employment and professional use are very different beasts.
- Salgat 5y agoLearning a language in depth along with its extensive standard library can buy you months or even years of expertise. This is especially true in languages like C++ (a language with massive depth, such as template metaprogramming) or C# (a language with a massive set of libraries, ASP.NET alone can take years to truly master). This is what companies are paying big bucks for, immediate competency and productivity.
- oblio 5y agoThe extensive standard library and the big libraries or frameworks that are the gold standards for their niches, in that language's ecosystem. For example Hibernate for Java ORM, Spring as the big Java "LEGO brick bucket", Rail for Ruby web development, etc.
- jcrites 5y agoIf you ever need to work with PHP, use PHP/Hack developed by Facebook: https://hacklang.org/ https://hacklang.org/ It's a compiled language built partially in Rust, being rewritten entirely in Rust, JIT compiled using HHVM: https://hhvm.com/ https://hhvm.com/ I don't believe it's compatible with existing PHP codebases, but you could probably convert one over, catching safety issues while you did it. Hack a modern and highly productive language that's in many ways as nearly sophisticated as Rust. (How many other languages have both opaque and transparent type aliases, for example? https://docs.hhvm.com/hack/types/type-aliases https://docs.hhvm.com/hack/types/type-aliases ). It has a mature async/await system, for another example. One feature it's missing is the macro system that Rust has, though.