JavaScript / Nodejs

So, I wanted to continue the JavaScript “debate” but felt we had stepped all over another persons post. Which is really not what I intended.

Anyhow . . . As a programmer over the years I had almost always shunned JavaScript. Viewing it as “not even a real language”, or some kind of toy language. That is, until the last few years.

Syntactically I lean well towards C. Having been using it for so many years, I suppose I have gotten used to it. So when I first started with JavaScript naturally I used it as I would C. Which obviously is WRONG. Aside from similar syntax, JavaScript and C have nothing in common as programming languages. When I first heard about Nodejs I shrugged it off as the latest greatest web dev fad. But after a few months I read about another web technology which at first ( form memory and I could be remembering incorrectly ) relied on Nodejs. This new technology was AngularJS, and I was smitten.

So again, naturally I started learning more about JavaScript, and Nodejs. Finding myself once again smitten by another bit of “web technology”. Except “web technology” does not encompass all that Nodejs is. Anyway enough of the rambling… .

I see a lot of good in Nodejs, especially for the embedded field. It is my own personal feeling that future web appliance technology will move towards Nodejs. The problem here is that it is based on a terrible language, but also a language that has a few very useful, and dare I say awesome features. Object oriented, event driven, and virtually typeless. Typeless however I have mixed feelings on, since I’ve used many strongly typed languages over the years.

Javascript also has a huge user base, which is yet another mixed blessing. With the bad having to do with what Don from another post touched on. First, there are a lot of inexperienced developers in the JavaScript field. On top of this, and I really do not know how to describe it other than this way: Developers of JavaScript are not “real programmers”, and as such they toss around terms such as “API” which make no sense for the context. And then there is the coding style which is horrible. Function chaining has to be the worst ideas on the planet. Not only would it be much harder to debug such code, but it lends towards making otherwise readable code → unreadable.

My point here is that YES Nodejs is useful, and very cool technology wise. Which comes with a very large base class library in the form of modules. This is great if you need something that is very RAD. The bad part however is that most or all of this code was written by web developers who need a clue as to proper and effective coding style. Yes, we all know, or all of us should know that there are certain things needing to be done for Javascript to be the most performant. Which is why there are tools such as “JavaScript compilers” <— Yet another term that makes me laugh . . .

Anyway, all comments welcome, add your two cents.

Why do I bother. I was only responding to this statement:

"Ours is all in python and php with darkhttpd as the webserver. I dispise nodejs, it reminds me of the cluster that ruby gems are”

Which is clearly not valid. Nodejs is clearly the better solution in almost any application (better security, more responsive, scales better and is easier to support, etc) given two equally skilled programmers. Another thing, you and William are twisting my words. I never said Javascript was the perfect language. I said it was “the more perfect language”, which means it is better than others, but not any where near perfect. If you have a language whose syntax, style, structure, security, etc is considered to be better than Javascript, name one. We are talking about server side applications, so I don’t know where kernel device drivers popped into the discussion.

Oh, and BTW, we are only here to help so it doesn’t help to get either aggressive or defensive. We are here to share ideas and out experience. We all have something to learn.

John, his post is perfectly valid. It is his own opinion, and there is nothing you, or anyone can say to take that away from him.

That does not mean you have to agree with him. Even though I kind of agree with him on the “Ruby Gems” point. As a whole JavaScript developers are what I’d consider something less than “real programmers”.

There are some exceptionally bright JavaScript coders out there however.

So, I wanted to continue the JavaScript “debate” but felt we had stepped all over another persons post. Which is really not what I intended.

Anyhow . . . As a programmer over the years I had almost always shunned JavaScript. Viewing it as “not even a real language”, or some kind of toy language. That is, until the last few years.

Syntactically I lean well towards C. Having been using it for so many years, I suppose I have gotten used to it. So when I first started with JavaScript naturally I used it as I would C. Which obviously is WRONG. Aside from similar syntax, JavaScript and C have nothing in common as programming languages. When I first heard about Nodejs I shrugged it off as the latest greatest web dev fad. But after a few months I read about another web technology which at first ( form memory and I could be remembering incorrectly ) relied on Nodejs. This new technology was AngularJS, and I was smitten.

So again, naturally I started learning more about JavaScript, and Nodejs. Finding myself once again smitten by another bit of “web technology”. Except “web technology” does not encompass all that Nodejs is. Anyway enough of the rambling… .

I see a lot of good in Nodejs, especially for the embedded field. It is my own personal feeling that future web appliance technology will move towards Nodejs. The problem here is that it is based on a terrible language, but also a language that has a few very useful, and dare I say awesome features. Object oriented, event driven, and virtually typeless. Typeless however I have mixed feelings on, since I’ve used many strongly typed languages over the years.

Javascript also has a huge user base, which is yet another mixed blessing. With the bad having to do with what Don from another post touched on. First, there are a lot of inexperienced developers in the JavaScript field. On top of this, and I really do not know how to describe it other than this way: Developers of JavaScript are not “real programmers”, and as such they toss around terms such as “API” which make no sense for the context. And then there is the coding style which is horrible. Function chaining has to be the worst ideas on the planet. Not only would it be much harder to debug such code, but it lends towards making otherwise readable code → unreadable.

My point here is that YES Nodejs is useful, and very cool technology wise. Which comes with a very large base class library in the form of modules. This is great if you need something that is very RAD. The bad part however is that most or all of this code was written by web developers who need a clue as to proper and effective coding style. Yes, we all know, or all of us should know that there are certain things needing to be done for Javascript to be the most performant. Which is why there are tools such as “JavaScript compilers” <— Yet another term that makes me laugh . . .

Anyway, all comments welcome, add your two cents.

What can I say, I agree.

Regards,
John