3 ms·
Don't want to oversimplify since the article has some useful insights, but overall it reads like a typical transition from thinking static typing is a burden to
by MatekCopatek 6y ago
Don't want to oversimplify since the article has some useful insights, but overall it reads like a typical transition from thinking static typing is a burden to realizing type safety can be incredibly useful.
I distinctly remember that in college I believed the history of programming languages is purely evolutionary in the sense that newer languages are objectively better than older ones. As in - people wrote assembly until C came along and gave them if clauses and for loops and then came Java where you didn't need to manually manage memory anymore and could use classes and then with Python you didn't even need to specify types anymore!
I.e. the newest language with the most everything is the best!
Nowadays it feels like I'm replaying that in reverse - doing less and less OOP, loving statically typed languages, wanting to learn some Rust etc.
- beaconstudios 6y agoIf you're anything like me, once you've swung back in the other direction for a while you'll synthesise and realise that engineering is choosing trade offs and that every tool has an area where it shines - so its worth applying that tool to that area and not treating every problem like a nail to be hammered.
- disgrunt 6y agoOf the languages you listed, Java is the new kid on the block. Python is older than Java.
- MatekCopatek 6y agoInteresting, I didn't know that! Guess I still have some of my youngster naivite :). But that's exactly how I felt - I remember the introductory programming courses being in Java, there was talk about switching to Python, but it only happened a few years after I was a student. Same with companies - Java was for "old corpos" and Python for "hip startups".
- _fat_santa 6y ago> but overall it reads like a typical transition from thinking static typing is a burden to realizing type safety can be incredibly useful. I got this impression too, I was just like the Author in that I hated static type checking as a Junior, but as I gained more experience it flipped from "I hate this" to "this is the first thing I implement in a new project". To your point of thinking that newer languages being "better" than older ones. I think that also comes down to experience. At first I thought the same way, but the most experience I gained the more I realized that each language is a specialized tool for using in specific cases, some tools are very very specialized (WASM for example) while others are broad (like Javascript).