DEV Community

Ben Halpern
Ben Halpern Subscriber

Posted on

The Right Idea Becomes the Wrong Idea Over Time

2008: Don't build your server-side application with JavaScript. Are you f#@cking crazy?


2018: Build your server-side application with JavaScript. It's probably one of the most practical choices you can make.


Regardless of whether or not you believe the 2018 statement, it's plausible at the very least. Yet I find myself observing people being overly caught up in past advice, even when the entire ecosystem has evolved around that specific advice.

JavaScript stands out to me in this regard. If I were you, I would avoid all things 2008 JavaScript like the plague. But 2018 JavaScript is practically an entirely different language. The ecosystem remains a bit wild for my tastes, but it's no longer true that the language itself is unworkable.

This is a time-travel joke built around Japan's industrial advances

Past scars get more attention than they need to. For some of us, we never want to see JavaScript again in our lives, but 2018 JavaScript is a sensible choice with wonderful tooling. Things aren't perfect but it's no longer mangled spaghetti as a default. We figured a lot of stuff out, we built entire new runtimes. We wrote a lot of new code.

JavaScript is the example here, but this applies in general. New software concepts keep old names. Old best practices rot without getting appropriately discarded. The case that really made me want to make this point was one particular result from the State of the Web Survey we just wrapped up.

25 percent of teams still support IE 10 and under!! I'm all for browser support but this is about 0.5% of browser activity being supported by 25% of teams! This is absolutely bonkers to me. There are a lot of use cases that could mandate supporting these old browsers, but I am certain it is not 25% of cases.

People support older versions of IE because they made the choice and never revisited it. People hate JavaScript because they had some bad experiences and never let old scars heal.

You don't have to love JavaScript, I'm not a big JS person myself, but the old joke is dead.

I think this is one of the all-time funnier jokes in our industry. If anything, I mourn the fact that we can't complain about JavaScript like we used to.

Latest comments (34)

Collapse
 
giantapia3 profile image
gian tapia

gracias por todo me fue de mucha ayuda para proyectos que tenia pendiente y no me salia , y gracias a la informaciรณn de la pagina y algunos comentarios pude resolverlo.
webuniversal.pe/

Collapse
 
jonrgroverlib profile image
jonrgrover • Edited

Sometimes the wrong idea becomes the right idea. I am an advocate of 'worst practices'. i.e. those practices that are obviously bad, but that programmers tend to use anyway. Often there is a kernel of intuitive excellence in bad practices. If you can extract/separate the kernel of excellence from the bad practice, then you can use it by itself and do things other programmers can not. I've done that. It works. And now I can do things that others can not because I allowed the bad practices in my development until I understood the underlying truth. Then I ditch the bad practices, and leverage the truth discovered.

Collapse
 
annarankin profile image
Anna Rankin

I agree completely! I showed a fellow dev one of my old Backbone/JQuery projects from a few years back recently - he's only worked with Webpack/Babel/React on the front end. I saw the abyss reflected in his eyes as he said, "Wow. ...Yeah. Yeah, we have it good nowadays."

(...though for what it's worth, I kind of miss Backbone and JQuery sometimes ๐Ÿ˜‚)

Collapse
 
zeddotes profile image
zeddotes

I think the human race, on every scale from a person to an online community, behaves in a pendulum. Ideas are banished and old ones are revisited due to newer infrastructure, innovations are done, ideas are banished.

Collapse
 
joshualjohnson profile image
Joshua Johnson

This seems to be the pattern of life. I remember those day! But here we are.

 
eli profile image
Eli Bierman • Edited

Oh I don't know, forces of systemic economic oppression? ;) Many people need to choose between a phone and a computer for financial reasons, and they will almost always choose a phone because it's more functional. Schools (in the U.S. at least) often provide chromebooks in the classroom because they are cost effective and easy to administer.

If you think everybody should have better resources for learning to code, there are many great organizations you can donate to that are doing that difficult and expensive work. Here are a few:

Thread Thread
 
alephnaught2tog profile image
Max Cerrina

These are phenomenal!

(The way the replies thread in the notifications thing, I saw this first before the others and though you were replying to me directly, and I was SO confused.)

 
eli profile image
Eli Bierman

Lots of students only have access to chromebooks and can't install anything. It's a great option for them. And it's still a "real development environment" that professionals use, which makes it feel more real and exciting than an environment like CodeAcademy. Not sure what you mean by "not a good one," since it does its job of debugging code in the browser super well. Lots of beginners don't even know what "backend" and "frontend" mean, they just "want to code." We're trying to get them excited and see results, not intimidate them right? :)

Thread Thread
 
twigman08 profile image
Chad Smith

And I think it's fine to get started learning about what variables are and basic statements.

Though they go any further chances are they are being told about WebPack, Babel, and more. Heck most instructions for using anything on the web nowadays talks about just using it with NPM. Well time to learn NPM also.

If you teach them without introducing ES6 features, then I agree, but most people are trying to introduce them to ES6.

Collapse
 
revskill10 profile image
Truong Hoang Dung • Edited

NodeJS is really a revolution of technology in human being history, just like any technological revolutionary before it.
It's still not late for you to recognize and adapt it.

Collapse
 
pbeekums profile image
Beekey Cheung

This is a pretty important idea, glad you wrote this post. I also hated Javascript for the longest time. Probably went through all the stages of grief and never quite got to acceptance until recently. I think what I really hated wasn't Javascript itself, it was the way it interacted with HTML/CSS that felt really hacky. Now we have stuff like ReactJS, Vue, and Polymer, that make everything programmatic and more like traditional software development.

I also found that often times it isn't the technology that's the problem. It's the software built with that technology. PHP was an awful language for the longest time, but the latest versions have made significant improvements. Yet the biggest PHP projects run on stuff like Drupal and Wordpress which are still terrible technologies. Java is also not so terrible a language, but Java projects tend to be extremely over-engineered which colors our perception of the language itself.

All that being said, Python and/or Go are still my languages of choice for server side work :)

Collapse
 
dance2die profile image
Sung M. Kim

Having to manage a VB6 app with browser that opens IE8 has been painful...

Migration to remove VB6 app has been going on surely but very slowly.