>>2985
I've been using C for 8 years and JavaScript professionally for 3.
That's not what a module system is. A module system is the ability to properly import libraries from within a script, as well as facilities to properly segregate libraries so you don't have name collision. What happens of you source two javascript "libraries" that both export functions to the same global name?
Dynamic typing saves next to no time at all. As if putting in a single type signature really is saving you more than half a second.
>smh
Quit being a faggot, this isn't your twatter.
Closures don't depend on those scoping rules, you tard. Look at any other language that does it better, like Lua or Python.
The ability to use a linter doesn't make it excusable. I know they don't want to break backwards compatibility, but it's still inexcusable.
Lack of integer values IS an issue if you have a script that is expecting to do a lot of work changing a single integer over a period of time (like a counter or timer) without magically accruing decimal places.
> do you ever declare a variable in another language
You usually don't, which is why every other language will shit on your face for trying. The only other language I have to use regularly that handles it like this is Lua, and it's stupid there, too.
> it was really tough being 15 and not knowing anything about programming
"I got used to it" does not excuse a shit language's weaknesses. If I wanted no variable protection, I'd be using assembler.
>js tries to be too smart
No, JS tries to be too lenient. It tries to avoid screeching to a halt if you feed it bad data, preferring to try to happily chug garbage instead of crash (which usually leads to a crash in an unrelated section later that is a bitch to debug). "Convert everything into a string and then compare" is not smart. Having a newline string compare equal to numerical 0 is retarded. I know the === operator helps alleviate this, but it doesn't excuse it.
It's not about not being able to write the same program as any other language, that's the basic tenant of Turing completeness. You could technically write nearly any program in CSS and HTML with html5, because CSS lets you implement logic switches. I could write the same programs in Visual Basic I can in C, C++, Python, Perl, or any other language, it doesn't mean that Visual Basic is as good as any of those other languages in any way. Hell, I could do nearly the full equivalent in Windows CMD or POSIX sh, doesn't make either of them a good fully-featured programming language. You're misunderstanding that it's a language's job to facilitate writing clean, correct code. Again, if I wanted no extra facilities or checking, I'd be using assembler. There is value to static typing, proper namespacing, static checking, and real scoping rules. "Being able" to do big projects in a language doesn't immediately make it good.
And what is this extra "freedom" that JavaScript offers that any other (better) dynamic language doesn't? Use either Python or Ruby as an example. At a language level (meaning no "it's already running everywhere" argument), what does JavaScript offer that Ruby or Python don't?
> shit programmers hate on 'shit' languages
Don't tell me you're really implying there can not be a bad programming language, only bad programmers. What's with all those 'shit' industry veterans talking about how bad PHP is?
Think of all the people you know who have been programming for 15 or more years targeting the web, and think about how many of them actually prefer to program in vanilla JavaScript without a transpiler. I haven't come across a single person in my professional career who actually likes JavaScript as a language, even the ones who love other super-dynamic toy languages like Ruby.