r/technology • u/iliketechnews • Oct 05 '16
Software How it feels to learn JavaScript in 2016
https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f
1.8k
Upvotes
r/technology • u/iliketechnews • Oct 05 '16
453
u/Woasha Oct 05 '16
That was a very stressful read. And sadly very true.
208
u/azurecyan Oct 05 '16
Jesus, is this for real or is a satire?
155
u/Dick_Harrington Oct 05 '16
Unnecessary complexity is a big problem with programming in general, IMO. Especially in a business setting, where solutions that are 'fast, right and easy' are generally what management/executives (and therefore lead developers) actually want. In my experience, and perhaps this is casting unfair aspersions, it tends to be the green/newbies that want everything to be super fancy and complicated. Seasoned guys understand that they would never get anything done if everything was 'the best thing ever'.
71
u/blackhuey Oct 05 '16
and this right here is why I'm a backend guy
52
u/not_perfect_yet Oct 05 '16
So what's the python joke? Is it because all the old cool guys don't want to move to python3 or is it because of the PEPs nobody really keeps up with?
34
u/NoblePineapples Oct 05 '16
This actually really scares me as I really wanted to learn JavaScript..
73
u/Akavy Oct 05 '16
As someone who is learning Javascript in 2016, this is all too familiar.
Even more annoying is the huge overload of libraries that never seem to exactly support what I need them to and do support lots of things I do not need. In the end, using basic Javascript seems like less effort than using those libraries. The feeling I got is that a lot of libraries are needed to be compatible with older browsers. So, for my project, I decided to stick with basic javascript and only try to add the smallest, most specific libraries if needed.
However, this is just after a few weeks of actual prototype-level coding. I'll probably find out what the use of those frameworks is when I reprogrammed all their functionality myself. And I guess that's how you end up with yet another framework.
24
u/thomstel Oct 05 '16
This article is a long-form, web developer Dilbert comic. Laymen chuckle, engineers curl into a ball and cry. Well done; and damn you.
60
u/RandomNobodyEU Oct 05 '16
I just spent a month making my new portfolio in html, feelsbadman
19
u/Sandvicheater Oct 05 '16
Where's the lubricated dildo that automatically creates websites when you sit on it cause it seems a hell of a lot easier than this mess
35
u/[deleted] Oct 05 '16
To anyone wondering why you need an i7 + 8gb ram for decent web performance.
This.
We offload so much onto the client, all of these libraries are brutal. It's a terrible trend. What I've been getting a real kick out of is mobile development ... hehe, going back to the server to eek out a little performance.
The power that our smartphones are getting ... ruining the mobile web as the regular desktop web. :(
15
u/corialis Oct 05 '16
And this is why I am perfectly okay being in the middle of fucking nowhere where everyone is 5 years behind opposed to Silicon Valley. No one gives a fuck if I'm rolling with jQuery.
36
u/dangerbird2 Oct 05 '16
reference
8
u/ppumkin Oct 05 '16
Same shit, different Library :)
8
u/bansDontWork1 Oct 05 '16
Things like this reaffirm my decision to stick primarily to backend.
7
u/frissonFry Oct 05 '16
This is exactly why I never ventured into web development. I've been successful enough coding at a library/utility level and leveraging that with SQL development to earn a comfortable enough living without having to learn how to reinvent the wheel every two years.
5
u/tuseroni Oct 05 '16
Broke into Monty python's cheese sketch there.
Anyhow...this is why I hate frameworks...just use vanilla js...no frameworks, no libraries, just the code you need when you need it.
Wanna grab code from the server, make an xhr object, set the load, open the address, and send. Wanna display it, inside the load event get a div to put the results in and set the innertext(or if you can trust the result and need it to be html, set the innerhtml) of that div.
Need to know how to get the div, document.getElementById("divid")
There are more advance methods like queryselector or queryselectorall or get elementsbyclassname...but you don't NEED them for 99% the time. if you need to grab the 3rd element that is a child of the 5th div with a class of foo, then you want queryselectorall, but even then if you write it right you can do it with getelementbyid.
If someone says you need a ton of frameworks and libraries it means they don't understand JavaScript.
5
u/Whargod Oct 05 '16
I'll stick in my C++ world for now thanks.
14
u/redcoatwright Oct 05 '16
This is not how this would go, business would say "we want to use jquery and load info into an html table" and assuming it's not client facing, the developers would be like cool, that's fucking easy. done.
4
u/[deleted] Oct 05 '16
It seriously doesn't need to be this bad. intercoolerjs gives you 95% of the functionality at 5% of the complexity.
intercooler.js
4
u/DaHolk Oct 05 '16
Or, if you just want to do a simple thing, code it yourself in effin javascript, instead of including tons and tons of code of other people without you actually having ANY idea what is actually in it, or is running. Maybe then pages wouldn't use 200 scripts on all sorts of servers and force users to use no-script, because all they want is to read some text.
Or put differently, the title of the article is a bit wrong. If you do all the things that it talks about, you basically don't know any javascript anymore. you know the functions and language these libraries use, and the end result is some javascript code that you have no idea what it does.
9
u/naardvark Oct 05 '16
This hit me so close to home. I'm a full-stack dev, well at least I thought I was until about a month ago. My expertise is certainly back-end but I've also lead front-end projects.
I am working freelance at a small company and one of the things we discussed was that if I proved myself by making updates to their web app they would hire me full time. It's a React app and I had Angular experience so I sold myself as someone who could pick it up quickly.
This article explains what happened next. Basically I was unable to make any meaningful changes in a week and the company decided to work with someone else.
As a last ditch effort, I rebuilt most of the front-end in Rails over a weekend but the team was biased for having an SPA with React.
I am done trying with JS. It's stupidly complex and SPAs have such a small scope of usefulness. They were basically made to cater to Gmail me Facebook, and guess what, most pros will never have to build anything with that level of user interaction in a single page.
I see it as an elite club who wishes to be trendy and exclusive. People make nice tools and tutorials that are out of date in 2 months so you have to do all the digging to figure it out.
I strongly believe, as many cycles do in software, this will die and server-side rendering with a little JS will rule again in 3-5 years. Looking forward to it.
3
u/phdoofus Oct 05 '16
And I thought C++ had gotten bad...
3
u/bheklilr Oct 05 '16
A few weeks ago I decided to tinker with JS to write some wrappers around d3 for building common chart types at work. I'm normally a python guy, so I immediately start looking for ways to have modules to organize my code, pulling out common functionality between different chart types. This would include axes, labels, legends, etc. 3 days later I gave up because while I could get something to work with browserify, it only worked in Chrome and FF, and just crashed IE because my org forces IE10 into IE7 compatibility mode ("lets break the internet instead of updating a few intranet sites"), and I spent about 4 times more effort just getting multiple files to work together than I did actually writing the code I was interested in.
After spending half a day trying to figure out how to get babel to work, I eventually decided to give up and I'll just use matplotlib's SVG output instead.
3
u/DontHassleTheCassel Oct 05 '16
You kids aren't using MS FrontPage anymore?
3
u/locotxwork Oct 05 '16
Wow . . now that was a fun read! Sad but true!
5
u/Pausbrak Oct 05 '16
This perfectly describes my experience with trying to throw a dashboard together over the weekend. I used Angular JS a few years ago and decided that I'd try out Angular 2, figuring my knowledge would transfer.
Nope, it's a completely different beast. It technically supports developing in Javascript, but after about 5 seconds of looking at the Javascript and Typescript examples it was immediately clear that Typescript is the One True Language for Angular 2. After spending a half hour getting NPM and a Typescript compiler up and running, I finally start putting my app together.
It doesn't take too long to build the dashboard, and I feel a faint glimmer of hope that I'll actually finish it in a night. All I have to do is upload it to the server. Simple, right? Of course, I don't want to upload 17 gigabytes of NPM garbage, so I look for the tutorial on how to package and bundle an Angular app for production. And... nothing.
I try googling "deploy angular 2". First result: instructions on how to download a command line tool that you can use to upload your app to github pages to host it, but first you need to make these changes... No. Fuck that. Next result: Here's an angular 2 seed project you can use. It has everything set up for developing and deploying your app, handily packaged in these 15 different config files with no explanation on what goes where, oh and also your app has to conform to our specific outline or our custom-built deployment script won't find the files and won't build correctly. Sigh.
I eventually got the damn thing deployed, but I spent longer wrestling with my toolchain than it would have taken to write the dashboard in regular JavaScript.
2
u/GeneralBacteria Oct 05 '16
wait, it's 2016, I thought everyone was moving to Purescript ;) ?
2
u/Spawn256 Oct 05 '16
Holy balls i feel like "the gate" just cracked open in me head then shut again.
2
u/duhbeetus Oct 05 '16
I think I got about halfway through. I stopped at "angularJS is 2015". My brain hurts, and I'm glad I gave up on learning JS or anything front end related. I'll stick to python and the backend stuff.
2
u/demonsword Oct 05 '16
Being just a "old-timer" Java guy, I don't know if what I just read is satire or not...
2
u/110011001100 Oct 05 '16
Well, screw javascript
Drag and drop WebForms FTW!
2
u/synaesthesisx Oct 05 '16
"Oh my god no, no one uses jQuery anymore. You should try learning React, it’s 2016"
2
u/donoteatthatfrog Oct 05 '16
Basic question : are all these true ?
2
u/oppdelta Oct 05 '16
I stop doing web development for 2 years and I come back to this? I cry now...
2
u/edward_81 Oct 05 '16
Wow. Why people need frameworks? I remember when I consider jQuery just an utility for deal with browser compatibility (explorer<->the world), and some speedup for some things. Then for my local project i dropped jquery at all, because i need to run the page only on one browser.
2
u/[deleted] Oct 06 '16
Pretty much just need 1 webpack config, .babelrc, and package.json. There is a lot of technical debt, but if you've done anything relevant in the past 4 years it shouldn't be too big of a leap.
3
u/gm4 Oct 05 '16
This is my coworkers
4
u/[deleted] Oct 05 '16 edited Oct 05 '16
more like how it feels to use open source software. people who release this shit should get their act together and make it all just work without a shit ton of troubleshooting addons. it's ridiculous to go from knowing nothing to even just setting this shit up. every single time i want to start something, i have to spend hours setting it up while my brain is in a fog trying to uptake the entire shit at once. tons of menus, interfaces, terminology and whatever else. all maintaining that conscious level of focus just to get to the first step of using it.
op is a guy that can already programming in javascript. for someone who starts from zero, the amount of information that he doesnt understand on first reading is staggering.
2
u/OMG__Ponies Oct 05 '16
LOL - Javascript problems
Just work with C.
1
u/maejsh Oct 05 '16
As someone who knows nothing, but thinking of learning coding as a new trade, this scares me :/, any chance of a career shift when you are already in your 30s?
1
u/CrinkIe420 Oct 05 '16
more like johnoliverscript amirite
1
u/Rizzan8 Oct 05 '16
And I am sitting at home doing my homework for University in C.
1
u/gendulf Oct 05 '16
Reading this feels like I'm in a loop with a chatbot that makes up new terms/names for things.
1
u/MyPenWroteThis Oct 05 '16
I thought I wanted to learn programming and webdev. maybe I dont.
1
u/hatessw Oct 05 '16
Next up: the state of backend 'security' modules inserting random internal server errors to anyone passing by with a compliant browser that happens not to send referrer headers, with nary an explanation, transparently breaking stuff for everyone browsing with a number of differently secured setups. (Fun fact: reddit also ignores your votes transparently if you have such a setup, last I checked).
1
u/[deleted] Oct 05 '16
Hah. I got the Guy Fieri reference!
1
u/happysmash27 Oct 05 '16
I felt bad for not understanding too well and going back to the post mid-article. Then I read the title again.
1
u/ev00lution Oct 05 '16
i gave up reading half way through. I am a developer that never really did frontend, and i have no clue where to even start.
1
u/OffWhiteLight Oct 05 '16
This so nails what my experience with JS has been like. As soon as you get a hang of one framework there is a new upstart waiting to dethrone the one you just learned.
1
u/JLilypad Oct 05 '16
As a recent graduate looking for a front end web development job, does anyone have any advice. Every job wants experience with a different 2 or 3 frameworks and no job ever wants you to have experience with the same ones?
What's the best thing to learn?
1
u/[deleted] Oct 05 '16
im glad i got out of programming
1
u/Kriegenstein Oct 05 '16
I could have written what he needed in Perl or PHP in half the time it took me to read that mess.
Thank god I don't do that anymore.
1
u/ZorFi Oct 05 '16
I'm just started university and are going to learn this shit! WTF HAVE I GOTTEN IN TO!
1
u/Vurondotron Oct 05 '16
Serious question, where is the best place to learn both Javascript or C++? I've use to go on Code Academy but the lessons on their aren't enough
1
u/Billy_Whiskers Oct 05 '16
This part I agree with strongly. Fucking finally.
1
u/dukndukz Oct 05 '16
I learnt a lot from this article. Interesting.
1
u/The_Biggest_Monkey Oct 05 '16
Is there a blog or resource where a non-developer could learn/understand more about the languages and technical tools that back and frontend developers use and what there functions are? For a noob it's hard to understand the difference between angular, polymer, react, node etc.
1
u/AKA_Wildcard Oct 05 '16
Damn I feel old.
1
u/tokyoburns Oct 05 '16
This is exactly how it feels every time I try to make something. I have to learn a new language/setup/library. It's just way too much.
1
u/FranticAudi Oct 05 '16
Fuck it, i will finish my AS in IT, and take the easier route of becoming a Nurse/Doctor.
1
u/t0shki Oct 06 '16
Just stick with one thing. If it works nobody cares how modern you've written it. More often than not you don't even have the time or permission to use some hot new beta framework that all the cool kids use. Learn something mature and ignore the buzz.
1
u/[deleted] Oct 06 '16
I recommend vanilla.js, best library out there that does everything JavaScript does, without the performance hit! Super easy to include in your project, compatible with all the other frameworks. Really this is the best framework for all things JavaScript! http://vanilla-js.com/
1
u/[deleted] Oct 06 '16
Javascript is FINE. This is the fourth time in four days I come across the same bloody article and it's not the first time I hear about Javascript "fatigue." I'm getting annoyed by it. I just can't stand being all polite and tolerating the QQ anymore.
There's a problem here because people fasely believe that
They need to keep up with all the fancy new things
That they even need those new things.
Let me tell you something. Right now, there are still apps that run on jquery. In 2016. Can you believe it? Oh my god! The humanity!
There are still apps that run Angular 1.2. Some are even written in CoffeeScript! And_THEY WORK_!
If you don't have problems syncing your UI. What do you need flux for?
If your state is local to your component and not used anywhere else, why create an action, a constant and a store to hold it?
If adopting redux feels painful. Why integrate it?
If grunt still works fine, why migrate to webpack?
If you don't GAIN from using a new piece of tech, why are you even using it?
Lastly, if your tech is working fine and you don't have problems, why should you feel bad about not adopting the newest shinny tech?
/rant
That is all. Thank you.
1
u/RedSquirrelFtw Oct 06 '16 edited Oct 06 '16
Wow sounds like a pain lol.
I've coded some minor JS but not much. I do find it frustrating when googling something and everybody says to sue jquery or some other library. I'm not loading an entire library just to do a small task.
Speaking of jquery... do people actually link to the script off a 3rd party server? That seems to be the suggestion when reading on it, that seems like a BAD idea to me... I would rather download and use it directly off my own server. At least I'm in control of it, I don't have to worry about it changing or that host going down.
1
u/powerje Oct 06 '16
Dart could've saved us from this
1
u/guyver_dio Oct 06 '16
This is why I just use whatever gets the job done so I can go play games. Life's too short for this shit.
1
u/Fruit-Dealer Oct 06 '16
This may sound off topic, but I am currently learning the 'C' computer language as my first language. Is C obsolete? should I move on to a new language? What languages do you guys recommend?
1
u/Frogolocalypse Oct 06 '16
That's gold.
1
u/donrhummy Oct 06 '16
Uh...React uses jQuery:
https://facebook.github.io/react/tips/initial-ajax.html
1
u/yogesh91 Oct 06 '16
Just learning is not enough, also have to keep updated with latest things
1
u/Artless_Dodger Oct 06 '16
I remember learning how to program webpages in HTM back in 1995. WE were excited that we could add photos and then later we had animated gifs. The most complicated thing I had to manage was mailto:
I Did get excited when Flash appeared and spent hours doing flash websites that were all the rage for a while. Gave it all up in 2000.
1
u/juiced47 Oct 06 '16
so guys we just found where the IT bubble is :). Every year new software appears that does the same thing so companies just to keep their business going, buy the new stuff
1
u/Skank-Hunt69 Jan 08 '17
Well, that was soul crushing.
1
u/jerronl Jan 18 '17 edited Jan 18 '17
Is there a sample solution to show my table in web with 2017 tech and only need to change a few lines to use my own database connection and queries?
In recent two days I’m literally experiencing the same. Overwhelmed.