3 ms·
Learn shell, a scripting language like Python, and a systems language like Java, C, Rust, Go, etc. I think that’s all you need to know as a backend or systems/D
by deboflo 7y ago
Learn shell, a scripting language like Python, and a systems language like Java, C, Rust, Go, etc. I think that’s all you need to know as a backend or systems/DevOps Engineer.
- deboflo 7y agoThrow in some basic HTML, css, and JavaScript as well.
- hk__2 7y ago“That’s all you need to know” is very reductive. Never stop learning: add JS and functional languages such as Clojure, Scala, OCaml. You don’t need to use a language every day for it to be useful. Learning a bit of Objective-C taught me a lot about naming variables. Smalltalk taught me about non-class-based OOP. Forth taught me low-level stack operations. Prolog, Io, BASIC, Erlang taught me a lot of things I use everyday, even if I don’t use the languages themselves.
- deboflo 7y agoThe more languages you learn, the more you realize they have more in common than not. At some point it’s time to stop learning 20+ languages and start building stuff. I never said to stop learning, but be very careful what you spend your time learning. If you can be world class at Python alone, able to solve just about any problem with it, it’s better than 100% knowing many languages. Knowing a language doesn’t mean you know all of the standard libraries and third party libraries, much less solve challenging problems efficiently.
- hk__2 7y ago> The more languages you learn, the more you realize they have more in common than not. That happens if you learn many similar languages, which is a waste of time. You have to learn languages in different paradigms to learn new things and discover languages that have nothing in common. > At some point it’s time to stop learning 20+ languages and start building stuff. You can’t learn a language without building stuff.
- deboflo 7y ago“You can’t learn a language without building stuff” <—- the title of this post implies not only that you can, but should. I believe it’s a waste to learn without hope of applying what’s been learned. I’m learning TLA+ right now because I plan on using it to build more robust systems.