Ask HN: Learning multiple languages vs. mastering one
21–30 of 137 posts
Re: Ask HN: Learning multiple languages vs. mastering one
#221. Ecosystem. You _will_ need help
2. Friendly (to you) syntax
3. Target to achieve (in your case, it would mean a language that is frequently used in distributed system/data engineering)
Regarding "I find myself going through the crazy articles comparing languages and lose focus and give up.", I hear you. I've been there. Pick two and run with them. Once you start learning a language, stop reading articles on what other languages you can be learning. There is always something better down the corner. That doesn't mean you lose focus and drop whatever you're doing midway. Persevere, and you will prevail.
Finally, my recommendation, based on your requirements would be
1. Python (for data engineering - numpy, scipy, tensorflow, pandas and whatnot)
2. elixir (for distributed systems)
Hope that helps. Good luck!
Re: Ask HN: Learning multiple languages vs. mastering one
#23For the past eight years, aside from dabbling on my own, I've been a .NET developer. I've worked in startups, agencies, and good-sized companies, and have delivered more projects than I can count. I've also given talks at user groups, and have delivered open-source tools. I wasn't an expert, but I'd say that I knew C# and .NET reasonably well.
However, I always felt a bit of imposter syndrome. While the .NET world is more open than ever, you still feel like you're an apple in an orange-infested world. Literally everyone else builds on Mac/Linux, and while the tools differ between languages a PHP developer would have more in common with a Python developer than they would with a .NET developer.
So, I left a senior role and took a standard dev role in a software house with zero .NET tooling, and have forced myself to learn different languages in anger, instead of restricting myself to only learning in my free time.
It's been hard, but I feel like I'm learning loads every day. I've also learned things I would've probably ignored if I was doing this in my free time, like Ruby and Rails. I still feel like an idiot most days, but I'm hoping that in the next few years I'll go from being a solid C¢ developer to a solid developer, and that alone will go a long way towards getting over that imposter hump.
So, my advice is to try and learn what you can on your own, but if you feel that you are better served by working with this tools "in anger" or around a team that really knows its tools then look for a job that both allows you to do this. Once you reach a point where you're comfortable in a language, move to something new, but keep that language to your free time.
Re: Ask HN: Learning multiple languages vs. mastering one
#24I would sort of do a hobby project in the following languages (in addition to Java for Object Oriented Programming, although something obscure like Smalltalk can be fun for an evening): - Haskell, functional programming with static types - Clojure (or Common Lisp), functional programming in a dynamic language (and understanding the AST-as-syntax-homoiconicity) - C/C++, "low-level" programming (e.g. pointers, memory m…
Re: Ask HN: Learning multiple languages vs. mastering one
#25I have one other comment to make. In my opinion, being a strong programmer is mostly a "knack," meaning it's not a particularly teachable skill. Some people are just amazingly good at it. If you are, great. If not, I suggest acknowledging that and fashioning a career that doesn't rely primarily on programming skills.
Re: Ask HN: Learning multiple languages vs. mastering one
#26I'll just say, pick something functional and something dynamic.
Then, for something that will get you to do a little bit more than euler, try using https://adventofcode.com/
Re: Ask HN: Learning multiple languages vs. mastering one
#27Re: Ask HN: Learning multiple languages vs. mastering one
#28You should learn C. Most current engineers don't, and therefore the fundamentals of things like memory allocation, data types, call stacks, etc. remain a mystery to them. I have one other comment to make. In my opinion, being a strong programmer is mostly a "knack," meaning it's not a particularly teachable skill. Some people are just amazingly good at it. If you are, great. If not, I suggest acknowledging that and f…
Re: Ask HN: Learning multiple languages vs. mastering one
#29The real question is not which language is the best but what is the language and libraries most used in the industry/field you want to work in? Figure that out then go deep.
Re: Ask HN: Learning multiple languages vs. mastering one
#30You should learn C. Most current engineers don't, and therefore the fundamentals of things like memory allocation, data types, call stacks, etc. remain a mystery to them. I have one other comment to make. In my opinion, being a strong programmer is mostly a "knack," meaning it's not a particularly teachable skill. Some people are just amazingly good at it. If you are, great. If not, I suggest acknowledging that and f…