Hacker News new | ask | show | jobs
by lucasoshiro 660 days ago
1. New technologies provide features that older technologies lack and making things easier. Example: Java provides garbage collection so you don't need to care about managing memory like C. Kotlin provides null-safety so you don't need to care about NullPointerException like Java.

2. Because those technologies exist. If learning a new language or framework is a problem, it's ok, there are people who are programming in C for decades. But if they want to write a backend for a web application, an app for Android and so on it would be more difficult than just learning those new technologies and using them.

4. I don't know. I remember my first PC, running Windows 95 on an old Pentium CPU with only 16MB of memory, 8GB IDE hard drive. It booted as fast as my M1 Mac. And we could write documents, spreadsheets, listen to music, just like we do today.

5. I never searched by any of them, but I know that people search, for example, jobs for "Java Programmer". And I think it's weird unless you are a specialist in that language.

I remember when my former boss allocated me to work on a Kotlin microservice, I told him: "But... I don't know Kotlin". He answered: "It's only a programming language, you learn that". And he was wright, two weeks later I was sending my first PRs in Kotlin. I learned only what I needed, I don't see as a problem if I needed to switch to Go, Rust, Swift, Clojure or any other programming language that I don't know yet (unless if it's too different).

And I think that learning a new framework is harder than a new language. Example: if you know Python you learn Ruby in few hours, but if you know Ruby you'll take more time to learn Rails. If I wanted to hire someone to work with Rails, I would prefer someone that already know Django but don't know Ruby instead of someone that know Ruby but never worked with Rails, Django or similar.

6. It happens in any career that you choose. Think about a musician. Many people think that being a musician is only fun because it is fun to play an instrument. But if you work as a musician you'll have to play music that you don't like, in places that you don't like and for people that you don't like, because you need to earn money. Of course you can still play for fun, but it mostly won't be enough to survive.

Same for software. You can still write what you want for fun (I do it a lot, e.g. I wrote my own Git in Haskell: https://github.com/lucasoshiro/oshit). But in order to survive we may need to write boring CRUDs