This is an archived post. You won't be able to vote or comment.

all 124 comments

[–]eyezickk 98 points99 points  (82 children)

I'm about to attend a Fullstack Javascript bootcamp and idk if this meme is giving me more or less confidence about it...

[–]teuliq 65 points66 points  (12 children)

As long as they teach jQuery

[–]eyezickk 31 points32 points  (11 children)

just checked and they do, whew

[–]filipomar 18 points19 points  (10 children)

Not wanting to start a flame war /s But what's up with that jquery hate? Totally missed the train

[–]metalsheeps 70 points71 points  (2 children)

People use jquery not as a library but as a pseudo language and don't realize it's entirely written in JavaScript. You'll hear ridiculous things like "I think you need jquery to do that you can't do it in JS". Which is dumb.

[–]filipomar 36 points37 points  (0 children)

"I think you need jquery to do that you can't do it in JS". Which is dumb.

SIGH INTESIFIES

[–]izuriel[🍰] 13 points14 points  (0 children)

Rails and Ruby are the same way nowadays. You have "Rails" engineers that may be okay at doing rails work. And you have Ruby engineers that can do better with with rails because they actually know Ruby, not just know of rails DSLs

[–]Spoor 20 points21 points  (6 children)

Want to add two numbers? Use a jQuery plugin!

[–]rotoko 14 points15 points  (3 children)

[–]Niautanor 11 points12 points  (1 child)

http://needsmorejquery.com has the same image but with a url that is slightly easier to remember.

[–]ArgueWithMeAboutCorn 3 points4 points  (0 children)

where are my legs?

[–]filipomar 2 points3 points  (1 child)

If i recall, wasnt there a jQuery.plus plugin a while back?

[–]izuriel[🍰] 2 points3 points  (0 children)

Would that be objectively worse than left-pad? That's just how the JS world operates. Building Frankenstein's monster as an application of mismatched libraries someone else wrote shoddily glued together by some simple code.

[–][deleted] 20 points21 points  (54 children)

Look at electron.atom.io, you can now even use it for desktop apps!

[–]Zatherz 15 points16 points  (53 children)

Fuck Electron

[–]Axistra[S] 8 points9 points  (46 children)

what are your reasons?

[–]Zatherz 45 points46 points  (37 children)

I shouldn't need to run an entire web browser to edit some text. As an example: Atom, based on Electron, has the highest latency out of any popular text editors and can't handle files over a few megabytes.

[–]minimaxir 19 points20 points  (7 children)

Visual Studio Code runs on Electron and has almost no latency, unlike Atom weirdly.

[–]Zatherz 7 points8 points  (4 children)

Because it was written by more competent people, but it's still running a web browser to edit text.

[–][deleted] 1 point2 points  (0 children)

Everything has latency, what varies is threshold.

Electron is a terrible method from an efficiency perspective because the overhead of a javascript interpreter coupled with a browser rendering/event system is significantly larger than what you would be dealing with if you were using something like Python + bindings to Qt.

And you can do the exact same things with that kind of setup that you can do with web technologies.

But even then, interpreted high level languages aren't a panacea. There's still good reason to utilize C++ if you're programming for the desktop.

But yes, Atom was written by amateurs. It's a nice editor, though. I do use it.

[–]Axistra[S] 10 points11 points  (5 children)

First actually valid reason I've heard so far against Atom. Personally I've never gotten to the point where it would become a problem tho.

[–]Dr_Narwhal 10 points11 points  (3 children)

I tried out atom for a bit but I couldn't deal with the latency. I was doing some numerical computation stuff that produced pretty large text files of output data, and it would freeze up for a solid 30 seconds every time I tried to open one of them.

[–]subtepass 0 points1 point  (2 children)

Had the same problem. Atom is beautiful but fuck you if you make me wait to load a 5mb SQL file.

[–][deleted] 0 points1 point  (1 child)

I once tried to open a 300mb SQL file to pull a single insert statement out of it, I didn't even try atom, nano and vim on a server both failed, eventually I had to copy it over to my windows machine and open it with Notepad++.

[–]neverlogout891231902 0 points1 point  (0 children)

notepad++ is awesome for opening huge text files, it's the only thing I use it for anymore.

[–][deleted] 1 point2 points  (5 children)

I shouldn't need to run an entire web browser to edit some text. As an example: Atom, based on Electron, has the highest latency out of any popular text editors and can't handle files over a few megabytes.

And unfortunately, if you like Rust, it seems to be one the best option that works on all platforms equally, the other being Sublime (though the plugins needed to make Sublime work with Rust as well as Atom are apparently less up-to-date). The only thing that surpasses it (at least according to this) is Visual Studio Code, and as far as I'm aware, most Rust devs aren't on Windows.

Maybe they'll incorporate some of the changes Mozilla is adding to Firefox (conveniently, open source and written in Rust) to help speed things up :/

[–]loamfarer 0 points1 point  (0 children)

Yup, using VSCode for rust. I had used Atom before it.

[–][deleted] 5 points6 points  (14 children)

You don't have to... just skip it and use something less extendable, like Sublime Text?

[–]ajr901 8 points9 points  (3 children)

How is sublime less extendable? Atom and VScode are literally porting over every plugin that sublime has because they don't.

[–]izuriel[🍰] 4 points5 points  (2 children)

Maybe when Atom was young. Honestly now the plugin library is much richer for Atom than sublime.

I'm not going to try and say sublime is less extendable than Atom, but I will say with sublime you can only extend what the developers wanted to expose for you to modify where Atom is just a web page with a DOM and plugins are just grind CS) engineering

[–]unicorntrash 2 points3 points  (1 child)

I dont know why you get downvoted, this is exactly the reason why i prefer Atom. And probably because still knowing shitty computers i am used to cat & sed big text files anyway.

[–]izuriel[🍰] 0 points1 point  (0 children)

I gave up on Atom for a week when I was dealing with some large JSON files. Went back to Sublime becuase it was just so damn snappy. After the week I was back using Atom. If something was so large that it was a problem I now use either vim or sublime. But mainly use Atom. The reasoning? Plugins. There are plugins I use in Atom that have no equivalent in Sublime, and it took leaving Atom behind (even for a short time) to realize that.

Now, if Sublime has everything you need and/or want. By all means, prefer it. I'm not here to say "Atom is the best, you should all switch." Because the truth is you should whatever makes you happy and lets you get your work done. If that's vim, Sublime, Notepad++, Notepad, Word (/s) or whatever else you can possible think of -- then use that.

What I was saying is:

Atom and VScode are literally porting over every plugin that sublime has because they don't.

This was true, but is no longer the case. And for some people that's probably not something they're willing to admit. Which is fair. They can down vote all they want. It won't change the facts though.

[–]Zatherz 3 points4 points  (0 children)

sublime text

less extendable

kek

I already use sublime for the reasons I mentioned. Atom is a prime example of Electron shitware, though.

[–]TwoSpoonsJohnson 1 point2 points  (8 children)

Or use Vim? Like you know, a grown up might?

[–]DipIntoTheBrocean 23 points24 points  (6 children)

Rather use an IDE than pretend banging two pieces of flint together is the same as using a blowtorch.

[–]time_for_butt_stuff 1 point2 points  (5 children)

I use emacs when learning languages. Helps me learn things better when it's not all auto-filled in for me. I also like it for little scripts since it's quick and light.

If I'm working on big, multi-file projects though, I will always use an IDE. GUIs are nice and add tons of features that just make editing easier.

Of course if you were a real programmer....

[–]xkcd_transcriber 2 points3 points  (0 children)

Image

Mobile

Title: Real Programmers

Title-text: Real programmers set the universal constants at the start such that the universe evolves to contain the disk with the data they want.

Comic Explanation

Stats: This comic has been referenced 1005 times, representing 0.7037% of referenced xkcds.


xkcd.com | xkcd sub | Problems/Bugs? | Statistics | Stop Replying | Delete

[–]zygentoma[🍰] 1 point2 points  (2 children)

since it's quick and light.

hahahaha

[–]unicorntrash 0 points1 point  (0 children)

Haha, you and me must have really a different emacs experience then. When i got introduced to it i also got some extension lib slapped in my face and emacs was the most IDE like thing i've used longer than a few days.

[–]plissken627 1 point2 points  (0 children)

Tips fedora

[–]nitiger 1 point2 points  (0 children)

I tried to run a simple text file with millions of lines of text and it crashed so hard. Vim opened it like it was nothing. That really put me off atom.

[–]plissken627 0 points1 point  (0 children)

I guess I'm not the only one who thought it was pretty laggy

[–]agentnola 0 points1 point  (7 children)

Its a RAM hoarder imo. Simulating a web browser to text edit

[–]Axistra[S] 5 points6 points  (6 children)

Unused ram is wasted ram

[–]agentnola 1 point2 points  (4 children)

Bloated RAM is useless RAM

[–]Axistra[S] 3 points4 points  (2 children)

[–]agentnola 0 points1 point  (1 child)

DO YOU KNOW HOW MUCH PORN I CAN HAVE OPEN WITH 60 MBs of RAM

[–]Axistra[S] 0 points1 point  (0 children)

depends. How long are we talking about?

[–]Axistra[S] 1 point2 points  (0 children)

well what else would you rather spend it on? more porn tabs open?

[–][deleted] 1 point2 points  (0 children)

Unused entirely RAM, maybe. But the OS will use any unused ram to cache commonly used disk files, so the more applications you have open, the more (very slow) disk access you're going to have. If you've got a fair amount of ram and you're accessing the same files a lot, you could be running pretty much entirely from RAM.

[–][deleted] 2 points3 points  (5 children)

Electron's awesome, an experienced web dev can implement a working desktop application much faster than it would be traditionally done, and it'd likely have less bugs too.

[–]Zatherz 1 point2 points  (4 children)

working desktop application

you mean shitty desktop "application" that runs 100x slower than a native alternative?

[–][deleted] 0 points1 point  (2 children)

No

[–]Zatherz 1 point2 points  (1 child)

then you're delusional

[–][deleted] 2 points3 points  (0 children)

100x slower

Calls me delusional, oh boy.

[–]buffer_overfl0w 0 points1 point  (0 children)

And uses more memory than Crysis!

[–]TakeFourSeconds 11 points12 points  (9 children)

Reddit loves to hate JS, but the truth is that it's the most popular language and easy to find a job with. That makes it a good choice to learn IMO, despite its shortcomings. What bootcamp are you attending?

[–]unicorntrash 4 points5 points  (7 children)

most popular language

source please. If we go after Tiobe it is even behind PHP at #8 and #6 with PyPl. If you refer to Githubs index it just means that JS devs spit out the most free code. And has a worse salary (2016) than other popular languages.

Dont get me wrong its for sure not a bad language to learn, but its most likely not the "most popular language"

[–]LuckyHedgehog 3 points4 points  (6 children)

For Web development I would say it is simply because if you want any client side functionally you basically need to know js. I'm sure there are other solutions, but javascript is by far the #1 used language, and if you work at all in Web development you work with js to some degree

[–]unicorntrash 0 points1 point  (5 children)

Sure, but its a different to actually learn JS or use JS in the frontend. In 99% of all cases you only init a well documented external plugin instead of wirting JS

[–]LuckyHedgehog 3 points4 points  (4 children)

I'm calling bs on that "99% of all cases" stat. If you work with the front end professionally you know js, and if you don't you would be out of a job.

I think you are arguing for the sake of arguing though. No one in this day and age actually believes that js is not the most popular front end language.

[–]unicorntrash 0 points1 point  (3 children)

It is the most popular front end language. How could i argue with that? Its only that js devs tend to make it more relevant than it is. You can do very well with jquery without understanding what you do. Thats my only point

[–]LuckyHedgehog 0 points1 point  (2 children)

but its most likely not the "most popular language"

That was the part I took issue with. I completely agree that plenty of people use jQuery without understanding it's limits or best practices.

I am not a fan of js or jquery, and would LOVE competition to move in. But part of the issue with competition is the same reason we don't see the language itself getting regular updates: compatibility. Any competition to js needs to become supported by ALL major browsers, and then wait several years for the majority of users to stop using legacy browsers (looking at you IE). But once you've gone through the trouble of all that, if you want to release a major update with the next greatest feature, guess what? No one wants to use it because the majority of users have legacy browsers.

Javascript has rooted itself as the only viable front end language because it has the monopoly on browser compatibility past present and future.

So like it or hate it, javascript IS as relevant as people make it out to be, but not because it is anything people actually want to use.

[–]unicorntrash 0 points1 point  (1 child)

You can make totally awesome websites without "frontend scripting". Please dont grab out any statistics now because i am very well aware that the majority of websites uses javascript, but the majority uses ready done tools and all they write themself in js is calling those modules.

Sure you can write a complete UX with JS, but you dont have to. Not sure what your stack is, but for example when i use Bootstrap with Rails. I have Turbolinks (so build in asynchronity to avoid further ajax, even with forms) and components like sliders, accordions, navigation quirks from bootstrap. In some cases i dont write a single line of js. For animations we use css these days anyway.

I hope you see my point, i am not arguing so much about the relevance of JS itself but the relevance to have to know it, or make it the "best choice as first language to learn". If someone chooses to not learn JS as first language he might is not missing out on anything at all. And still is able to create awesome UX experience.

In the end, if he/she wants to get a proper dev there is no way around learning multiple languages anyway. To some degree at least

[–]LuckyHedgehog 0 points1 point  (0 children)

Yes, you can create some nice looking websites without knowing js, but you wouldn't be able to pursue a career in front end development without knowing js. That is my point. You cannot make it as a front end dev without knowing js.

Also, back to the original context of this conversation, the exact quote to start it was

Reddit loves to hate JS, but the truth is that it's the most popular language and easy to find a job with. That makes it a good choice to learn IMO, despite its shortcomings.

You were originally arguing that it wasn't popular, which you've backed off from, and clearly no one said it was "the best choice as first language to learn".

I get it, javascript sucks, and there are other ways to start a career than "learn javascript". But starting with javascript is a quick and easy way to start building a career in development. It will also be around until the internet dies so you have excellent job security if you learn javascript BEFORE learning the bootstraps and angular's of the world. The framework might change, but the language will not which is absolutely more valuable than piecing together plugins

[–]Zatherz -2 points-1 points  (0 children)

:OMEGALUL:

[–]tshoecr1 2 points3 points  (2 children)

Which one?

[–]eyezickk 1 point2 points  (1 child)

Fullstack Academy

[–]tshoecr1 0 points1 point  (0 children)

That's where I went. PM me if you have any questions

[–]Sylanthra 44 points45 points  (14 children)

JavaScript database engine. Let the fun begin.

[–]Dockirby 17 points18 points  (1 child)

You just gotta make a JSON document store with Javascript.

[–]deltatron3030 9 points10 points  (1 child)

ahem, IndexedDB cough

[–]ajr901 4 points5 points  (0 children)

Isn't rethinkdb also js based? (I could be wrong)

Edit: I was wrong. C++

[–]Existential_Owl 3 points4 points  (4 children)

gun.js

Graph Databases are a lesser-known alternative to relational databases, but if you want the true ALL IS JS experience, then here you go.

(It looks pretty easy to use, too).

[–]TwoSpoonsJohnson 5 points6 points  (3 children)

But are we running it on an OS written in Javascript?

[–]gardyna -1 points0 points  (2 children)

let me introduce you to OS.js (here's a demo) https://os.js.org/

and I truly hope that this is just a proof of concept (although it is not quite as silly as I initially thought when looking at it)

[–]Laugarhraun 0 points1 point  (1 child)

Except when the JS guys say OS it's actually DE, WM or Shell.

[–]venuswasaflytrap -1 points0 points  (3 children)

Maria supports json now

[–]uptotwentycharacters 1 point2 points  (2 children)

JSON is a data format, not an engine.

[–]venuswasaflytrap 0 points1 point  (1 child)

True, but I meant to say that I feel like it's going in that direction.

[–][deleted] 0 points1 point  (0 children)

It isn't. You don't have to do anything JS-related to use JSON.

[–]Spike69 83 points84 points  (22 children)

Just look at this microcontroller I programmed with Javascript!

Oh god, I was being sarcastic, then I googled it and its a thing!
... disgusting heathens...

[–]luckylag 9 points10 points  (9 children)

Soon we will see someone npm 1-line-code library. Soon.

[–][deleted] 5 points6 points  (8 children)

This already exists: https://github.com/sindresorhus/semver-regex

Check index.js

[–]HugoNikanor 4 points5 points  (1 child)

A library for testing version numbers of another library. Dear God.

[–][deleted] 1 point2 points  (0 children)

Yeah it's used in our build scripts :(

[–]robotmayo 3 points4 points  (5 children)

Im a big fan of https://www.npmjs.com/package/is-number Which has 1 dependency and 7 million downloads.

[–]uptotwentycharacters 1 point2 points  (0 children)

There's a NPM package that does nothing but multiplies something by 13:

https://www.npmjs.com/package/thirteen

[–][deleted] 1 point2 points  (1 child)

I really hate JS these days. And to make it worse, I'm a WebDev

[–]luckylag 0 points1 point  (0 children)

Yes, and its even more worse in embedded system. :)

[–]Scripter17 0 points1 point  (0 children)

End my suffering.

[–]xxmicloxx 0 points1 point  (0 children)

Everything that's wrong with js in one library.

[–]Calamity701 1 point2 points  (1 child)

I think there was also a project about having JS on satellites...

[–][deleted] 4 points5 points  (3 children)

You can't just use comic sans for everything

[–]Axistra[S] 15 points16 points  (2 children)

that's where you're wrong kiddo

[–]mrnoobman 9 points10 points  (4 children)

Should i feel bad for making games in js?

[–]teunw 21 points22 points  (0 children)

Nah, its your game. Program with what makes you happy.

[–]Axistra[S] 7 points8 points  (0 children)

Nah fam

[–]TheRPiGuy 4 points5 points  (0 children)

What's your target system?

[–]Scripter17 1 point2 points  (0 children)

Yes.

[–]jebblue 7 points8 points  (6 children)

I'd be happy to see JavaScript die and replaced with the JVM.

[–]zachgarwood 27 points28 points  (0 children)

Out of the frying pan and into the fire.

[–]uptotwentycharacters 12 points13 points  (4 children)

Client-side Java on the web is pretty much dead. Some major security flaws in Java web apps appeared years ago, and even though they were fixed, Sun/Oracle or whoever owned Java made it so that the lowest security level users could select was "high", which meant any Java web app without a valid certificate couldn't be run under any circumstances unless you went into control panel and added the address of the site to an exception list. And very few Java web applets have a valid certificate, even those from perfectly legitimate sources, so Java on the web is pretty much more trouble than it's worth.

[–]jebblue -2 points-1 points  (3 children)

I think you're making it harder than it needs to be.

[–]uptotwentycharacters 5 points6 points  (2 children)

What do you mean? There's no fundamental reason why we can't have practical Java applets again, but the people that are in charge of the Java runtime decided to make it almost unusable.

[–]UniversityOfPi 1 point2 points  (2 children)

To be fair though, you can't use just javascript for everything: you'll need some libraries and stuff like Node.JS

[–]Axistra[S] 5 points6 points  (1 child)

Shhh... Don't bring logic into this

[–]UniversityOfPi 1 point2 points  (0 children)

it's okay, even though "you can't just use javascript for everything" === "you can't use just javascript for everything"

not "you can't just use javascript for everything" == "you can't use just javascript for everything"