Hacker News new | past | comments | ask | show | jobs | submit login

For personal projects, sure. But good luck writing a medium to large sized app, full of business logic in Vanilla JS.

The hate for JS frameworks is usually warranted, in this case I think nuance is missing. It's also not as black and white as people paint it to be, IMO.




In the professional projects I have done the majority would have been possible to do with HTML/CSS/JS. The only reason not do that was that customers typically need some sort of backend and that was back then just simpler to do by other means.

But there is quite some projects where you don't even need that.

Learning HTML/CSS/JS is a good idea as ultimately any framework or serverside code will interact with some combination of the three. Having a strong grasp of how HTML/CSS/JS work is the perfect foundation for learning something that runs serverside. And you get there by building projects that predominantly lean on the three. Whether they are private or professional, who cares as long as they are cool and someone learns something from it?


My problem is with "magic" frameworks.

For example angular hello worls is super duper simple. But then business apps become a giant pile of crap, the eprformance goes to shit and sometimes stuff that should work stops working. The issue is the magic, if use a sane library you can just run the code in debugger step by step and see what happens but with magic stuff you get a giant call stack with garbage that is impoosible to understand.

So when I can I rip out magic and replace it with function calls , getters and setters. Maybe is my bad luck that I always have to work on prtojects created by others and all the time this others did it wrong. Nobody can convince me that angularjs1 is a framework designed by competent people with experience in GUIs, maybe the newer version are better if those buys learned on the job what they should have known from the beginning.


Do you feel React is overly magical? React was the first of these web frameworks that I was exposed to. I didn't have a ton of vanilla html/css/js experience when I first encountered React, but the fact that each component just returns some HTML is pretty unmagical to me. You could conceivably just use React (or, JSX really) to organize your app code in a pretty comprehensible way.

I guess once you get into all the hooks and contexts and fancier stuff things might start to be a bit magical. But I like it a lot better than Angular, which I agree is very much overly magicked.


> The hate for JS frameworks is usually warranted

It's almost never warranted.


So true, and hating JS is still a dogma that everyone has to assume ..


You're suggesting that most of those that hate Javascript do so because someone told them they should and not because they've used it? From[1]:

> In 2008 Crockford published a book announcing his discovery that Javascript, contrary to prevailing opinion, has good parts. He describes this as "heresy", and as "possibly the first important discovery of the 21st century", noting that it came as a "great surprise to the community of javascript developers, and to the world at large." He attributes the discovery to his having read the ECMAScript Standard, which he says "literally changed my life." He also notes that the specification document is of "extremely poor quality", "hard to read", "hard to understand", and says that the ECMA and the TC39 committee "should be deeply embarrassed".

I own that book and I still hate Javascript (it's not the fault of the book). Is there another language with such a book?

[1] https://en.wikipedia.org/wiki/Douglas_crockford#Opinions_on_...


Well why do you hate javascript?

There are many languages that I do not like, but I hate none, so I am curious for the reasons of that strong feeling?


No real standard library. You have the web API or the Node API to work with, and both are inconsistent.

The language is very permissive, making it not only easy to shoot yourself in the foot, but in the head as well. There is no easy way to say that your code is semantically correct because JS will allow it to digest anything. So, unless you do thorough review, bad code can easily get through.

Dependency hell if you're using NPM.

I'd be happy if the community was focusing on implementing some kind of default set of libraries, instead of adding syntactic sugar now and then on top of JS. I remember switching from Java to Kotlin, and the collection API was a real pleasure to work with. But in JS, everyone wants to use their set of libraries. Creating a starter project will get you hundreds of dependencies that you can never vet.


Well, I agree to most of the pain points, the ecosystem is a mess, due to history.

"The language is very permissive, making it not only easy to shoot yourself in the foot, but in the head as well. "

But I am actually not aware of much footguns of the language itself.

That is, if you stick with "the good parts" (even though I share not all the views from the book).

" Creating a starter project will get you hundreds of dependencies that you can never vet."

And it is possible to write clean vanilla js, or stick to limited frameworks. You have to maintain strict discipline though. And nowdays I would use typescript for a new project.


If we ignore all those pain points and ignore that we're sticking to "the good parts" and have to employ strict discipline and not rely on hundreds, if not thousands of unvetted dependencies and use typescript even though its type system has holes in it and nobody should mention the myriad build systems or varying APIs in browsers (its main target) or that its community can't come to an agreement on module formats/namespacing…

…and then I'll have no reason to dislike this language. Got it. Am I allowed to dislike the newish template literal syntax too?


You are of course free to dislike anything.

But you said "hate" before, which is a bit stronger than not liking.

The only time I came close to hating a language, was when I was forced to overtake someones half assed php project.

And I still do not like the syntax and have never touched any php code ever since, but I still do not hate the language, or its designers or users. I just avoided it. But hate has the vibe of wanting to destroy something ..

And well, yes, a nice clean start of the web would not be such a bad thing - if there would be some language or plattform everyone can agree on. Which is likely not happen and will just recreate the mess we have already.


There are degrees of hate. If we're talking about programming languages, then I hate JS, while there are languages I love. Who likes the experience of writing in Bash, for instance? It's ugly, limited, and has a series of gotchas, which is much like JS.

> hate has the vibe of wanting to destroy something

You may be right, and given half a chance…


C++ I think gets similar hate.

Perl maybe, if you end up having to re-read some.


I've definitely written Perl that someone has cursed at. Probably me!


Done: https://github.com/prettydiff/share-file-systems

The hate for large frameworks is warranted by their poor performance and bloat while struggling to achieve simple objectives in the most challenging ways.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: