Hacker News new | ask | show | jobs
by newyorker2 2021 days ago
> JavaScript is analogous to Visual Basic in that it can be used by people with little or no programming experience to quickly construct complex applications.

>JavaScript scripts are designed to run on both clients and servers, with JavaScript scripts used to modify the properties and behavior of Java objects, so the range of live online applications that dynamically present information to and interact with users over enterprise networks or the Internet is virtually unlimited.

JS has come a long way in 25 years :-)

2 comments

>> can be used by people with little or no programming experience to quickly construct complex applications

... has it? ;-)

(Note: joke with deference to the huge pool of incredibly talented js developers! But there are still a lot of mind bogglingly terrible js devs too)

Presumably anything popular enough has a good chunk of terrible devs?

I'm guessing there are some very unpopular languages out there that the % of highly skilled devs is pretty high, but I don't know if that means much ;)

Curious about the relative areas of esoterica...

Are there bad COBOL developers still practicing? FORTRAN?

What about Ada? Erlang? Smalltalk?

The mainframe families?

Certainly. Depending on your definition of terrible. There are people who can keep the things running, but only do patch on patch to keep things together, but no architectural work, making more and more mess and we'll knowing they are unreplacable. (Partially encouraged by bad management direction)
There could be bad developer in COBOL but you would never hear about them.
I think that's something JS also shares with Java, no. A huge number of the people focusing in it are terrible devs.
The relative trajectories of Java and JavaScript over the years are fascinating.

Java became a language that you can toss a 100-developers onto a project for, and incrementally grind out something that has a mostly-consistent architecture. Aka the perfect IBM Services language.

JavaScript became a language you can toss up a SPA in a day from boilerplate glueing together frameworks and only writing the use-specific bits. Aka the perfect web developer language.

As other commenter said, bad developers are probably a consequence of demand > supply for any language.

It's popular and taught in schools, so I don't think this is really surprising.
Yeah, was not saying it was surprising. JS is basically required for frontend dev, and the number of bootcamps means a lot of supply, much of which is low grade. Java is super common for large projects at large companies where bad devs can basically be unnoticed, so little wonder there's so many poor Java devs at all levels of experience.
There are lots of terrible js devs, because js is easy to start with.

I bet most js devs would not be able to make a "hello world" in C. And pointers? What is that?

So for those people(not meant in a negative way) it is good that they can use a language to get things done, even if they have no academic background.

> I bet most js devs would not be able to make a "hello world" in C.

Like if you just gave them a text editor and the gcc manpage? Why would they know? It's an entirely new language to them. How are you going to learn a new language's syntax or library functions without a reference?

If you gave a JS programmer a C programming textbook or tutorial they'd type out and run Hello World in about 2 minutes, like anyone else.

"If you gave a JS programmer a C programming textbook or tutorial they'd type out and run Hello World in about 2 minutes, like anyone else. "

There are lots of js programmers, who do programming by modifying copy and paste bits of code in a try and error method.

They don't know they use a dynamic scripting language. They don't know what a compiler is. They oft even don't know exactly what a variable is. So I doubt they boot up and run C in about 2 minutes. And man page? Terminal? What is that?

And if they manage after a while, they still don't understand printf, as it already uses pointers. They don't understand types. Etc.

Those are the people, who are eventually able to make a website somewhat work, but they never learned the basics. Thats why there are lots of terrible js devs around.

Oh and like someone else has mentioned, of course because people coming to js and insist to write js code in C style or in java style. When js is a prototype based language, requiring different methods. (even today when there is finally class support)

> a dynamic scripting language

Please define this term. Especially "scripting".

> So I doubt they boot up and run C in about 2 minutes.

It took me about 10 minutes into my intro to programming class in high school, starting from zero programming knowledge, to run hello world.

> And if they manage after a while, they still don't understand printf, as it already uses pointers. They don't understand types. Etc.

You're moving the goalposts. Why would they know all things? Those are language features and they don't know the language. A C programmer doesn't know the prototype chain.

> because people coming to js and insist to write js code in C style or in java style

News flash. Everyone writes code in the idioms they already know, until they learn the language better.

What you're saying boils down to "JS programmers are some special class of people that are incapable of learning". Which is elitist nonsense.

"What you're saying boils down to "JS programmers are some special class of people that are incapable of learning". Which is elitist nonsense. "

No. It boils down to JS programmers often have a background in design and not math and engineering.

The former is helpful for nice UI and UX. The later good for efficient algorithms and code design.

And is your question about JS being a dynamic scripting language, a serious one? Well, feel free to check wikipedia.

Even great JavaScript developers don't have to be able to do C and pointer stuff. This has value, but there are many other things which bring more applicable value.

However there are toooo many "jQuery developers" with no understanding of the underlying things, while JS+libraries enabled them to do quite fancy things.

Yes, but my point was, if you know about pointers, you are likely a better js dev than average as you have some background knowledge about the computer. And know what memory is and why it is not unlimited. And why some operations are expensive and others not.

Also, it did help me recently, working with wasm. Not compiling it yet, but using a libary.

For that I have seen too much code from C hackers, who consider each abstraction bad and try to outsmart the compiler, while seeing great architectures in JavaScript from people who have no idea what a pointer might be.

Being capable of two different languages (TS and JS doesn't count ;)) however is a useful indicator.

"while seeing great architectures in JavaScript from people who have no idea what a pointer might be."

Those people have to be naturals, though. Or really just focused on javascript and only javascript if they know about software architecture but nothing about compilers or pointers.

But sure, you definitely can write bad JS, if you are forced to use JS, when you wanted to use C (++) ... which probably happened to a lot of people, which is why we see the hate of JS in that intensity.

> JavaScript scripts are designed to run on both clients and servers,

Funny how long it took node.js to appear and make this bit of press release a common reality.

Before node.js there was Rhino.