
The Sad State of Web Development - bqty
https://medium.com/@wob/the-sad-state-of-web-development-1603a861d29f#.ks06316vl
======
greenyoda
Multiple discussions from 5 months ago:

[https://news.ycombinator.com/item?id=10882762](https://news.ycombinator.com/item?id=10882762)

[https://news.ycombinator.com/item?id=10880604](https://news.ycombinator.com/item?id=10880604)

[https://news.ycombinator.com/item?id=11035143](https://news.ycombinator.com/item?id=11035143)

------
stevebmark
Javascript is a bad language. Raging against the constantly improving
toolchain and language development is ironic. Also, React has been out for
three years now, if you still don't understand it you probably shouldn't be
demonizing it.

Embracing garbage blogs like this is why Hacker News gets so much ridicule in
the real world. Learn from the mistakes of others, the "NodeJS is Cancer"
author removed his article and apologized, saying that kind of discourse (much
like the tone of this article) is bad for everyone and not the way forward.

I sincerely feel bad for anyone who has to work with this person on a team.
This kind of emotional ranting against frustration with evolving tools is an
engineer personality red flag.

~~~
zippy786
> I sincerely feel bad for anyone who has to work with this person on a team.
> This kind of emotional ranting against frustration with evolving tools is an
> engineer personality red flag.

On the contrary, I would love to work with the person. People are often scared
in pointing out black and white. Those who do are brave and often win. If one
can do neat and clever stuff with JS/Ajax with less code without using
boilerplate .js frameworks, what's wrong with it ?

------
galistoca
I agree with the sentiment but I think the interpretation is off.

I don't think Javascript is a bad language. It does what it does and is good
enough.

In my opinion if you look at where Java is right now, that's where javascript
is heading towards--it's madness and an epitome of extreme bureaucracy--and
it's not because Javascript is a bad language, you can't really pinpoint what
exactly caused this because there are so many factors. Node.js is not even the
core reason. It's actually HTML5.

HTML5 allowed for all kinds of new features such as localstorage. There used
to be times when only way of storing things locally was through cookies which
was limited to 4KB. With that spec, all the modern frontend web technology
wouldn't have been possible. This includes really anything that gained
traction in recent years such as Backbone.js, React.js, etc.

Anyway my point is, it really sucks where this is all headed. Especially
looking at javascript itself evolving to become needlessly complex. What we're
seeing is just tip of the iceberg, i presume it will get much worse once ES6
actually becomes the functioning standard across all browsers.

People should focus on building meaningful stuff, nowadays what I see is bunch
of people boasting how they're a great "frontend developer" by knowing some
new build tool or frontend js framework or css framework, which probably will
become obsolete in a year or so (Hello grunt, hello backbone).

Just three years ago to build a website all I needed was js, css, html, and
maybe some jQuery. Nowadays I need to write coffeescript or es2016(why do they
even need to name it that way I don't know), which compiles to JS, write Sass
or Less that compiles to CSS, use handlebars for templating which compiles to
html, and package them altogether using Grunt, Gulp, or Webpack. When I make a
line change, I used to be able to immediately refresh the page, now I need to
wait until grunt autodetects the file change, compiles each coffeescript,
compiles each template, compiles each stylesheet, and finally reload.

~~~
ascotan
Javascript is a bad language. Function scope. Terrible type system. Lack of
native integers. Oh and btw this:

alert((![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]);

which is should be a dead giveaway that something is terribly wrong here. It
was never designed to have a standard library for instance. The author alludes
to this fact as being a problem for nodejs that go/ruby doesn't have. Whenever
I write a lot of front end code and then have to transition to writing backend
code I realize how much my brain has melted trying to think in javascript.

~~~
galistoca
If we follow your logic, assembly would the worst language of all.

Like you said it was never designed to have a standard library and so forth,
and therefore it sucks to use JS to do a lot of things.

However I was just saying I don't think it's fair to say something is badly
designed because it's bad at doing things it wasn't designed to do. The
interpretation of whether having a functional scope is good or bad is also
subjective IMO, depending on context.

But anyway if your takeaway from my comment was just this, you didn't get my
real point at all. I don't really care about whether javascript is a good
language or bad language. My real point was this whole disaster is caused not
just by javascript alone.

~~~
Tiquor
Remove bad and good from the discussion. JavaScript exists at a place where
high level languages are expected, not assembly. JavaScript lacks the
productivity enhancements of other high level languages. No standard library
and poor debugging as well as loads of quirks. JavaScript, standalone, is far
lass productive on a theoretical basis (I say theatrical because no language
can take JSS spot in the browser due to enternchment) because of this than
other high level languages.

Also, JavaScript was barely designed. Saying it was designed to not have a
standard library is revisionist history. It just doesn't have one, and
everyone with influence over JS continues to make poor excuses as to why it
continues to not have one.

~~~
galistoca
I never said "it was designed to not have a standard library". Instead it was:
"it was NOT designed to have a standard library", which means "standard
library" was something that the creator didn't even think Javascript will
need.

Javascript was only created to make web pages more dynamic when web pages, and
nothing more. Back then browser was supposed to be just a "thin client" to
access everything magically and only way to keep things locally on the browser
was through cookies.

That's not the case anymore and web browsers became a monstrous software that
does everything, and that's why we're even talking about "libraries".

Also you say "JS continues to make poor excuses as to why it continues to not
have one", but that's exactly what the ES6 is trying to do, with classes,
inheritance, etc. I personally do not like that direction, but hope that makes
you happy.

~~~
Tiquor
Yes, I've been developing websites since before JS existed, so it does in fact
make me happy that JS has made some progress related to developer productivity
in 20 years. Are they adding other baggage? It seems so, but the addition of a
standard library is a things well past its time.

------
Yhippa
For LOB apps SPA's make sense if they're trying to replace a desktop app or
they're a CRUD app on steroids. For everything else wouldn't server rendering
be fine? Especially for static content stuff?

