DEV Community

James O'Donnell
James O'Donnell

Posted on

Recognizing a trend vs. a lasting truth

I had the fortune (or misfortune) to have been doused in JavaScript at a very early part of my career. No matter how many "better" platforms or technologies came along, JavaScript always seemed to worm its way back into my life. In '96-'01, it was simple demand that formed my skills. Now with Node, Angular, React etc, the punishment of those early years has paid off. JavaScript has become a lasting truth. For good or ill, JavaScript won't be going away. It will live on.

There are other languages that I learned during that time too, though. Stuff like Perl, ActionScript, VBScript and others. I guess you can still use some of them, but they have fallen out of favor. I would give away a puppy to have the brain-space and time that those took from me.

My question; do you have a crystal ball? How can you tell what you should be investing your time to learn? Have you only been lucky?

Top comments (12)

Collapse
 
bosepchuk profile image
Blaine Osepchuk

It's kind of a weird question. I'm not sure there's that much benefit in chasing after the language you think might be popular in 10 or 20 years, unless your job calls for it.

If my work or hobbies demand that I learn a new language, I just sit down and start learning it. But I believe that spending time learning languages just to learn them is probably not a great investment. You can pick up the syntax but unless you really work in a language, your knowledge of it will remain superficial.

However, learning about testing, security, clean code, software craftsmanship, project management, design patterns, systems theory, complexity, refactoring, teamwork, leadership, professionalism, negotiation, communication, psychology, continuous improvement, business, etc. are helpful no matter what language you are using. And the useful half-life of these skills is measured in decades, not years.

If you're looking to invest a couple of hours per week in yourself, I'd encourage you to focus on these topics, not more languages.

Collapse
 
rhymes profile image
rhymes

I agree 100%, focus on being a better programmer and a better human being :-)

Programming language theory and monads can wait!

You can absolutely be a great programmer even if you don't know all the typing systems or have rewrote a todo app in all the languages :D

Collapse
 
r0f1 profile image
Florian Rohrer

I don't have crystal ball. However, a couple of months ago I found this article, wherein the author argures that the most popular languages will be Go, C and Java.
I'd suggest that since every day more and more things are invading our lives (smartphones, voice assistants, wearables, home automation systems), that you should invest time in some IoT languages and technologies.

Collapse
 
ben profile image
Ben Halpern

For my own sanity I don't try too hard to predict the future. I feel like things don't change as quickly as we feel like they are. FOMO can be a fallacy and there's nothing wrong with staying on the sidelines a bit as long as you're keeping an open mind and keeping pretty informed along the way.

I'm pretty bullish on the longterm prospects of Elm. It doesn't fit my current needs, but I think it's a more native way of doing a lot of the things people are trying to do with JS, and i think there is good leadership and community in the space.

I think Elixir/Phoenix is steadily taking the Rails community. It's clearly designed and marketed to appeal to the sensibilities that made Rails so popular.

Go and Rust are clearly moving in on C/C++/Java

It's hard to say what I think is just a trend but I'm a bit skeptical about technologies being pushed for emerging platforms like AR/VR because it's hard to say these new platforms are going to really be lasting. It's a bit wild west, and I'd avoid platform lock-in with these spaces.

Collapse
 
rhymes profile image
rhymes • Edited

It's really hard to predict because they don't always depend on visible factors.

Java might not be particularly trendy but it's here to stay (and IMHO it would have been here to stay even if Android didn't have a multiplying factor on the number of new Java programmers). Go might be the next general purpose programming language, who knows. Ruby/Rails might be replaced by Elixir/Phoenix but on this I'm a little bit skeptical and it would take many years anyway. Node might become the biggest tooling platform (all the cool projects now use Node at least for eslint/webpack and so on, Rails practically married webpack and yarn :D).

Also I only follow a tiny speck of programming (mostly web's), there's so much I don't know that's going on.

I've seen people writing server code with Swift and until a few years ago I would have never imagined JavaScript could have had this joyful spring.

It sure it's never boring the landscape of programming languages, especially because when you think there's nothing new someone gets bored by their language and invents a new one, like the glory days in the Python's community when there were more web frameworks than humanity might ever need :-D

Collapse
 
sammyisa profile image
Sammy Israwi

Continuing on your thought about Elm being a more native way of doing what JS does, where do you think Reason stand here? I've heard people say that it is easier to adopt if you have a background with JS and that you can move back and forth between those pretty easily.

Collapse
 
bgadrian profile image
Adrian B.G. • Edited

I don't think you wasted your time, you now understand more programming paradigms, you appreciate a good language, you earned money all that time, and you didn't got bored, if you work in a language for 5-10yrs you're brain will get way too stiff.

Yes, "the cloud" is the future of apps, and there it resides the most Zen dragon of them all, Go.

I just wrote an article to help devs migrating from the monolith to the cloud and also I mentioned this great talk, that will reason with, after you watch it.

And we cannot argue with JS supremacy anymore, you can build anything with it.

Collapse
 
laviku profile image
Lavinia

Al leer tu post y las respuestas que has tenido, me siento un poco aliviada, pensé que era la única que se preguntaba si vale la pena aprender "X" o "Y" framework. Me gustó mucho la respuesta de Blaine, nunca había pensado en que sea cual sea el lenguaje o framework que estudies hay temas que debes manejar sí o sí. En mi caso creo que nunca me he puesto a aprender el lenguaje de moda, sino hasta que veo que se ha asentado bien digo ok vamos con esto.


When I read your post and the answers you've had, I feel a bit relieved, I thought that I was the only one who wondered if it is worth learning "X" or "Y" framework. I liked the answer of Blaine, I had never thought that whatever language or framework you study there are issues that you definitely must handle. In my case I think I've never started to learn the "popular language", but until I see that it has settled well I say ok let's go with this.

Collapse
 
jasodonnell profile image
James O'Donnell

Muchas gracias! Espanol es un lenguaje deseo estudio pero es mi primero (attempt to answer on the web)

Collapse
 
abhijitmamarde profile image
Abhijit Mamarde

Great question... and my take on this is,it would be really boring to have known the answer in advanced. Doesn't it more fun to explore the things as they come by, putting your bets on something which you feel like is more better compared to others and by the time it actually proves or fails, celebrating your whim or learning your lesson out of it...

TLDR; I really believe in - The time wasted doing something which you enjoyed doing, is not wasted :P

Collapse
 
courier10pt profile image
Bob van Hoove

Perhaps not really a crystal ball but I'd like to mention SQL. It is here to stay :)

Collapse
 
jenc profile image
Jen Chan

I count it as a fortune as I was a tot when JS was in its early days. It just seems exciting to make window.alert happen so imagine that in 93! ha