Why is /g/ so triggered by nodejs?
It's way better than the alternatives.
Go, Java, Haskell -- literally any language besides PHP is a better option than Node.JS.
I love the mean stack because if you're developing primarily for the web you're done with all the boilerplate code that's nothing but serializing, deserializing and mapping real world objects to db objects. Let the haters hate.
I have a background in desktop programming but I've started learning web dev as a hobby.
After trying various frameworks the MEAN stack is by far the most comfy and logical.
I don't like JS very much, but I've still started using Node because
>the tooling is excellent. I'm talking about both npm and also deployment tools like pm2
>it's at least faster than Python
>it's very widely used and documented, support is guaranteed to be available
>I can reuse code for both client and backend, for example validation logic
>as a result of these conveniences, productivity is improved and time-to-market is reduced
>therefore my clients are happy
> Ask innocent enough question
> Watch /g/ burn from the inside out.
> Laugh as the tears flow.
Every time this is brought up. Still waiting for a compelling argument from either team.
> dumb, webdev babbies
>this isn't going to change for a very very very very long time.
>How are debugging tools?
Rather developed, see
Can't help you there- I use a text editor (Sublime) and terminals.
You are right, I've been developing awesome stuff in nodejs for years so the suggestion its crap triggers me to the extent I turn into a disheveled lunatic.
I think its how fearful the people who hate it are, when they clearly haven't built anything in it.
It is probably the only time I have replied to a discussion on 4chan in recent memory
>A lot of people use gdb without a wrapper GUI, for example.
Well, a lot of people are braindead and they still manage to live. Terminal-based debugging is as ridiculous as something can be.
>It's way better than the alternatives.
No, it's barely better than half of the other scripting languages, with PHP being a moot point. And btw, better doesn't mean good.
What bothers me most is that doesn't seem to be really stable, maintained packages yet. All those small helper packages that get you around of the languages retardness seem pretty much left for death.
No it's not.
Here is why:
On a language level, they are equally shitty, except PHP already has rudimentary types.
BUT PHP is free to bring minimal language breaking changes, which they do sometimes.
On a tool level, PHP has mature and well-maintained libraries, something I miss in Node.
Hate on JS all you want for its choice of type system.
At least it isn't a language like PHP that took the worst parts of other languages and managed to fit them all together into a hugely inconsistent language with the worst syntax known in the universe.
> The most effective debugging tool is still careful thought, coupled with judiciously placed print statements.
> Brian Kernighan, about debugging in terminal, "Unix for Beginners", 1979
Yep. About sums it up. Debugging in terminal is about as good as no software assisted debugging at all.
>omg get with the times grandpa! php doesn't like even hold your hand, come on it's 2016, the quality of a programmer isn't how well he can design code within a programming language, it's all about how well you choose that language to begin with, please give me points for choosing a better programming language teacher
Allow me to summarise that article.
>semantic argument about what it means for a function to be non-blocking
Obviously any function will consume SOME cycles. The point is the trend away from synchronous functions and towards a callback design.
>hurrdurr if you write a CPU intensive loop as a request handler, requests will take a long time
No shit. 99.9999999999% of the time, a server's bottleneck is I/O. Encouraging an async architecture DOES improve performance in practice. If your bottleneck is compute, it should be in native code on a separate thread anyway.
>it's not muh unix way because it combines server and application logic
That's correct. Muh UNIX way gets you PHP and other CGI solutions, which are dogshit slow. You deploy a node app by using a process manager to spin up as many instances as you have cores you want to dedicate to handling requests.
This is the only good point. He's not wrong there, JS is not great. But 1) I find the benefits of Node outweigh this and 2) transpiling from a language like Coffeescript works out very well, and is a reasonably popular way to do things. I still just write JS, but I've been meaning to learn one of these.
Do you really think Eich would help making a language that would kill JS?
Get real, he's helping on WebAssembly because devs would get more dependent on JS, since you will need to transpile into it, and you can't simply ignore what it does. Or you do it at your own risk.
It's more like WebAssembly will help the web transition to native performance level of apps in the browser.
And for most cases you won't even need Wasm, unless you're making a game in browser sort of thing. Otherwise, for most purposes, sites will still be made using the same tools. Though, it is possible that the concept of "site" will change a lot in the future and sites will be way more complex and capable than today.
Alternative event based Web servers are in go and python, programming then is similar but the languages are less chaotic.
>It's way better than the alternatives.
>handle multi cpu
This seems to be a dilemma for Eich & co. whether future JS should at any point implement multithreading. As far as I know they're concerned about race conditions and how to handle that.
They already thought about this, but there are some things which are specific to the web and which makes multithreading problematic.
>Muh UNIX way gets you PHP and other CGI solutions, which are dogshit slow.
Only if you fork for each request. The Unix way also gets you FastCGI and WebSocketd, which are fast and yet almost as conceptually simple as CGI. (Incidentally, even the shoddiest PHP shared hosting providers have been using FastCGI instead of CGI for a decade. Not that you should use PHP.)
Currently browsers like Chrome are already sandboxing each page into a thread, if I'm not mistaken. If one single page spawns multiple threads, imagine how the browser could manage this per each open tab. It would be very challenging to sandbox these pages, when their threads are multiplying.
Also, the DOM is not thread-safe. If one thread is changing the DOM, while another is trying to take stock of it (by building an array and looping through it), you could get different results, depending on how fast the DOM loads. The DOM would need to have its API rewritten for a multithreaded JS.
It's possible though, that at some point multithreading will come to JS, who's to say.
It's not the language/framework that is bad, it's decent for cooking up something quick (then write it in another language for good performance) it's the crowd of "programmers" that it attracts. It gives the less mentally apt but narcissistic hipster, feminist, SJW crowds because there's finally something simple enough for them to work with, and poisons the rest of the programming community.
I am still trying to make that decision myself. Web development is in a sad state these days if you're trying to avoid SJWs unfortunately.
PHP is (begrudgingly) one option I know of, really just because it's so unhip and uncool the SF hipsters wont touch it, and thus it remains mostly SJW free. Its been making some great strides recently too. It has historically had problems obviously, but as of late it's not a completely unusable mess like it used to be.
Other platforms like Go, Ruby on Rails, Python, etc, are so SJW infested it's hard to overlook their communities.
I find this fact weird: apparently this board is full of people who hate SJWs, hipsters, feminists, but at the same time, there seem to be many transsexuals, crossdressers, pedophiles here. Never thought that such minorities would hate other minorities, 2bh pham. It's a bit baffling actually. I often find myself just quitting threads here, because they are infested with crossdressing/anime/pedo stuff and it's almost driving me to puke, but I'm still not that disgusted enough to make me completely leave a technology board.
I just find it hard to be here, knowing there are very few somewhat normal people around.
Both are either minorities or defenders of minorities. You would think minorities like transsexuals wouldn't feel outraged by SWJs. I don't like SWJs either, but I don't hate them either. I could probably say the same thing about transsexuals, I guess. I just find this fact funny, that's all.
>it's weird that you don't like a minority because you are a minority / do things I don't like
I thought we leave this kind of thinking after the age of 12, but guess not everyone does
But cmon, simple logic says, if you are in a sexual minority like transsexuals, then you aren't against SJWs who are defenders of sexual minorities, right?
You would be basically hate those who defend your rights.
That's like saying you're gay and hate gay Nazis who want to conquer the world in the name of gayness. White supremacists aren't minority defenders, they want more than that, they want the white race to prevail.
The thing about SJW's and specially feminists is that they like to think that everyone who disagrees with them is some kind of racist right wing nut or a neo-nazi. Plenty of female anti-feminists get all kinds of shit from feminists saying that if they're against stuff like gender and race quotas they've also got to be against things like equal legal rights, the ability to vote and even the right to wear pants.
Feminists tend get REALLY annoying when you, as someone with traditional views on feminism, try to argue against their crazier assertions. They get completely bewildered when you say that you support COMPLETELY equal treatment, not their idea of "equal" treatment that includes women and minorities having the red carpet rolled out in front of them.
>waaaaaah waaaaaaaah but at least it's not as bad as PHP !!!
Am I laffin.
>I often find myself just quitting threads here
Not every LGBTQ wants xir "rights defended" at the cost of destroying civilization. Besides, if you are a sexual minority in the West and support SJWs you fail to realize that sooner or later the SJWs will import enough Somalians to your country that being a sexual minority becomes rather more stressful and eventually impossible to admit to.
>Rejecting a useful, productive tool because some of the other people who also use it have social views I disagree with
What the fucking fuck. This is my process: I look at the job, I weigh everything up, I decide what to use given the requirements. Sometimes- surprisingly often, actually- that's Node. It performs decently, there're libraries for everything ever, I can re-use some logic in the frontend to keep things consistent, deployment is always easy and smooth.
I don't give a flying fuck about the project's views on transsexuals or their codes of conduct or whatever the fucking problem supposedly is today. I just use the tool, complete the project, client is happy, I get paid.
I strongly recommend that you angry anons consider doing something similar.
>I often find myself just quitting threads here
If you do that, you probably should leave and find a new community to hang out with someplace else. Maybe Reddit, maybe Tumblr, but over here you're not going to find many people sympathetic to the 21st century corruption of feminism or social justice slacktivism.
>but Go should have had an Optional (aka "Maybe") type built in to avoid the nil returns.
That wouldn't help anything, would just change the ifs into pattern matches for Some x or Just x, still need to handle all cases (unless you don't care about actually handling errors and just wanna crash, in which case you can just rely on nil pointer crashing in Go)
But I said I'm not sympathetic to SJWs, I just don't get triggered by them. I ignore them just like I try to do with any nutter.
I kind of do the same thing with crossdressers or other weirdos here.
SJWs aren't defenders of minorities, they use minorities. They leverage "marginalized groups" to propel themselves upward and give themselves power within communities, under the illusion that they are doing so for morally and ethically just reasons.
Look at what they do to minorities that disagree with them as an example.
So basically SJWs are dicks and douchebags who manipulate minorities' interests to their own profit.
Sounds kinda cool. Might be cool to do that for like 10 years and then reverse your positions and watch the shitstorm.
Putting the future of my company in the hands of a community that will crucify me for the slightest "problematic" opinion is not a sound business decision.
NPM introduces license changes to the version that comes bundled with node with no oversight or review, that introduces dangerous consequences if my auditors take issue with it as it does not differentiate between the NPM cli application and the NPM service, but since Issac is completely SJW it's okay.
IBM buys Strongloop and kicks the original developers out of the expressjs project, but they give money to SJW foundations so it's okay.
Post an unapproved emoji in a github thread? Banned from all node projects for life. Tell white developers to kill themselves? That's okay. Reject a pull request in violation of the contributing guidelines and the submitter hasn't signed a CLA? Not acceptable if it's about removing male pronouns.
This is not a stable and reliable community to be building any business upon.
>Post an unapproved emoji in a github thread? Banned from all node projects for life. Tell white developers to kill themselves? That's okay.
What? Really? Not that I don't believe that such things are possible (people are really stupid nowadays) but I'd appreciate links for both.
And I love people like you who use buzzwords such as REAL WORLD OBJECTS to justify their shitty understanding of things.
MongoDB is fucking trash and it has a single use case: storing documents with no relations whatsoever between them and retrieving them. That's what it's good for, as soon as you need something that does a bit more than that the problems start to outweigh the qualities of MongoDB.
Unfortunately, despite what MEAN developers might think, most REAL WORLD OBJECTS are indeed linked by relations, and guess what kind of database is good for querying objects with relations between them?
You know actually Microsoft is full of homos and dykes, right? They actually are a beacon of SJW policies in the corporate world. Even one of their division heads was a lesbian, who had a carrier at Microsoft that spanned more than a decade, if I'm not mistaken. Maybe you guys are just a bit out of touch with reality in big corporations.
I liked the idea
>visual studio code came
and all are based on fucking googles JS engine with nodejs
I hate that none of the viable sublime alternatives goes for good performance, rather for ease of deployment and development
>SJWs aren't defenders of minorities, they use minorities. They leverage "marginalized groups" to propel themselves upward and give themselves power within communities
I think that is at the core of it the correct view but also a little too simplified. If you google the term "BDH-OV conflict" you will find some quality analyses of the conflict between the lower and the upper classes vs. the middle and the alliances involved.
Here's the first one
I apologize about not having a source for the second one, it's about Randi Harper. She's made her original twitter account private so I'd have to do some serious googling for an archive to find the example I am thinking of, but several prominent devs in the Node community have voiced support for her before.
I think it's also important to note that, for a foundation that prides itself on moving towards a completely transparent model, it is interesting (but not unsurprising) that the members of the foundation wish to make all disciplinary action as hidden and as private as possible to avoid having to explain their actions. They outright say so in that archive of the Github thread.
Yet another reason not to build a business on these technologies. A foundation that can remove people at will from the community with no oversight or accountability? Bad decision.
>At least it isn't
Pro tip: When trying to sell someone on something, "at least it isn't" is one of the least convincing things you can say.
>Sorry about your terminal cancer but at least you're not on fire.
I want to get a job rather than endlessly searching for the perfect language and frameworks. Is it a safe bet that learning Node and doing a couple test projects with it would be good for my CV/portfolio? I.E, Node experience is considered desirable/useful?
If you're in san fransisco and looking to get a cushy job in a startup, learn any interpreted language. Languages like C and C++ are too complex for SF hipsters so they gravitate towards languages with smaller learning curves.
Ya the only problem is Go doesn't have generics so it can't have an optional type without baking in more fucking magical structures
>all the boilerplate
Sounds boring as fuck m8
It's impossible to make anything "automatically fast for noobs" if the "noobs" in question are just going to write a lot of slow loops that do a lot of computations.
However, must web dev noobs are not going to be writing slow loops that do a lot of computations. Like said already, a server's bottleneck is nearly always IO. And node's non-blocking IO solves that.
I do have some problems with other parts of node, I'll admit. But the "all code blocks!" argument is shallow.
It doesn't make sense to ever learn a .js based lib/env. Eventually babys new toy will come forth, and everyone fucking flocks to it, rendering the previous tech "outdated" in employers eyes, even though it doesn't have any problems. See fucking React.js.