Conversation

Not sure why but I decided to make a rough graph of how well I feel I know some programming languages, and how much I like them, over time. It's about as useful and accurate as the "I know Java 50%" ratings you might see on a resume, but might still be interesting to look at.
A line graph of my level of comfort for various programming languages versus time, focusing on the years 2013-2022. Values given year-by-year to about 5%.

Java: 0, 60, 90, 95, 90, 85, 80, 75, 80, 90 (ends 4th)
Python: 0, 5, 5, 5, 15, 20, 35, 40, 45, 45 (ends 8th)
Swift: 0, 0, 40, 75, 85, 90, 95, 95, 90, 90 (ends 3rd)
Objective-C: 0, 0, 0, 10, 55, 100, 100, 100, 100, 100 (ends 1st)
C: 0, 0, 0, 5, 50, 75, 80, 85, 95, 95 (ends 2nd)
C++: 0, 0, 0, 0, 0, 30, 45, 50, 45, 50, 65 (ends 5th)
Lua: 0, 0, 0, 0, 0, 75, 80, 60, 55, 45 (ends 7th)
JavaScript: 0, 0, 0, 0, 0, 0, 5, 10, 20, 15 (ends 9th)
Rust: 0, 0, 0, 0, 0, 0, 0, 35, 60, 60, 60 (ends 6th)
Go: 0, 0, 0, 0, 0, 0, 0, 0, 5, 5 (ends 10th)
A line graph of my preference for various programming languages versus time, focusing on the years 2013-2022. Values given year-by-year to about 5%.

Java: 55, 30, 15, 10, 15, 15, 25, 35, 45, 55 (ends 7th)
Python: (starts at 2014) 95, 90, 85, 70, 60, 35, 25, 25, 30 (ends 8th)
Swift: (starts at 2014) 100, 95, 100, 90, 90, 95, 100, 95, 90 (ends 1st)
Objective-C: (starts at 2015) 40, 75, 80, 75, 70, 75, 75, 75 (ends 3rd)
C: (starts at 2016) 50, 70, 75, 75, 65, 60, 60 (ends 6th)
C++: (starts at 2017) 20, 45, 60, 65, 70, 65 (ends 5th)
Lua: (starts at 2018) 85, 80, 80, 80, 85 (ends 2nd)
JavaScript: (starts at 2019) 10, 15, 25, 25 (ends 9th)
Rust: (start at 2019) 70, 85, 65, 65 (ends 4th)
Go: (starts at 2020) 15, 10, 10 (ends 10th)
8
44
Replying to
What's the scale of the Y axis, and do you need to rescale it for "Java with dependency injection" ... JavaScript _after_ Rust?! Lua for a year? Liking Java to spite Python? Your life is weird. But in a good way.
1
3
Replying to
It’s definitely nonlinear. I used to think Java was super verbose and it sucks and I still think it does but then I realized that Python actually hates you and that’s worse. Had no real need to learn JavaScript (still don’t really know it). And Lua for like a week, not a year
3
4
Replying to and
JavaScript somehow became a nicer language than Python now that it has proper block scoping, async/await, generators, etc. Python standard library and broader library ecosystem has aged poorly and feels very neglected and inactive overall. Main reason to use it has been dying.
1
Java is verbose but library ecosystem is amazing if you filter out the enterprise nonsense. Kotlin fixes the issue of verbosity and either fixes or largely masks most of the nasty legacy mistakes. Kotlin is still missing an option to force handling Java checked exceptions though.
1
1
Replying to and
I'd rather use the Java ecosystem via Kotlin though. It's nice not finding endless mistakes at runtime, being able to maintain your code and using multiple cores. I still use Python a lot as my language of choice for throwing together a script, but I don't think that'll last.
1
2
Replying to
It has worker threads and is focused on message passing between them, but you can use a shared array buffers for a relatively low level shared memory API. It evolved that way due to the limitations of the language but it's nicer in a lot of ways than Java-style locking approach.
2
Show replies