Live data from Hacker News

JavaScript is Good, Actually

ashfurrow.com

301–310 of 369 posts

Re: JavaScript is Good, Actually

#301
post #288
post #237

Earlier quoted context omitted.

There's currently zero support for efficient garbage collectors and no Dom API access. Until a few more primitives are added, wasm is a pipe dream. Even once support exists, there's a payload issue. Nobody wants to spend loads of bandwidth downloading runtimes.

That is just FUD. It is certainly possible to package a runtime way smaller that the analytics crap most people have to endure. Unity WebAssembly games are just a few hundred KB. Who cares about DOM, WebGL takes care of the UI part.

Consider python. With all the built-in libraries, it's many MB of code. If my app is 1-2mb, I'll be pushing the limits (I'll definitely be looking at multiple bundles to reduce and spread out the load parse time).

If that goes up to 10-15mb (which can't be split), you're now going to have major usability issues. That's before all that analytic stuff that isn't going away. People do notice the difference and will just leave.

Unity complex with basically zero runtime and uses webgl so it doesn't need to include that either (just the actual game itself).

People use the Dom because it's standard, doesn't have to be downloaded every time, and offers tons of features.

Nobody is going to write directly to webgl for a standard website (That's easily 9,999 out of 10,000 sites). That means you have to do something like drag Qt or GTK everywhere which takes even more time to download and parse.

Your idea seems to be: download and parse a bloated runtime, download and parse a huge display library set, download and parse the misc shim pieces, and then download and parse your app. This is all done with the hope that your crud app that spends most of it's time doing nothing will be a fraction faster and you can write it in something that isn't JS.

Not a great plan.

Re: JavaScript is Good, Actually

#302
post #291

Earlier quoted context omitted.

I think you're under-stating some things. Imperative programming languages are hard beyond their initial appeal at the "this is like a recipe" level. It's debatable how people best engage with computers. There are plenty of anecdotes, if you look for them, of people failing to understand that the assignment operator in imperative languages means "place this value in this box" instead of "this means that". It's just t…

> There are plenty of anecdotes, if you look for them, of people failing to understand that the assignment operator in imperative languages means "place this value in this box" instead of "this means that". Are there anecdotes of non-absolute-beginners failing to understand that? For first-year students, sure. Do working software engineers have trouble with it? Do they have bugs and/or lower productivity because of i…

> Are there anecdotes of non-absolute-beginners failing to understand that? For first-year students, sure. Do working software engineers have trouble with it?

Sorry, I was unclear: I was talking about beginners. My argument was about intuitivity and "it's easier/harder to learn programming this way". Software engineers are already down the road of "I'm used to this, therefore this is the best way" :P

If I understand you correctly, what you say is entirely possible: that some people think best one way or the other, and that there is no universal paradigm that is more intuitive.

Re: JavaScript is Good, Actually

#303
post #292

Earlier quoted context omitted.

> Haskell? I'd need a dedicated fucking thesaurus on-hand for them to grok the paradigm, and it would take a few months before they could achieve the same result. This is one of those assertions people should have to demonstrate with actual experiments. I can teach someone how to write buggy, unmaintainable code that seems to work but actually doesn't in Python and JavaScript. So? :)

> I can teach someone how to write buggy, unmaintainable code that seems to work but actually doesn't in Python and JavaScript. So? :) Yes, because that property is totally absent from Haskell. https://github.com/RNCryptor/rncryptor-hs/issues/2#issuecomm... Oops. Surely the JS and Python implementations are just as bad? https://github.com/RNCryptor/RNCryptor-python/blob/649ca23a5... https://github.com/RNCryptor/rncry…

No need for sarcasm and my argument wasn't that there aren't bugs in programs written in Haskell.

My argument is that people who claim "writing Python is easier" usually ignore that it's writing buggy/throwaway code in Python that is actually easier (aka "look, I can write bugs fast"). Writing large, maintainable and bug-free code in Python is not easier than in other languages -- it's arguably harder, but since that's debatable, I won't argue it here.

Re: JavaScript is Good, Actually

#304
post #91

Earlier quoted context omitted.

Did you ever notice that real world-class software developers don't even have to say that they are ? :)

Not really if you work as a contractor or freelancer. In those cases you have to shout to the world that you are world class developer. Recruiters or Managers love terms like world-class, ninja, rockstar etc. Its unfortunate state of our industry.

Any time I see ninja or jedi in a job ad I avoid it. Rockstar is borderline because Joel coined the term as far as I am aware and actually has some decent stuff to say about software.

Re: JavaScript is Good, Actually

#305

Oh man, I hate these articles as they bring out the trolls. Javascript is a great language because it allows you to develop incredibly fast (scripting language) for a platform that runs everywhere (the web). It used to be far simpler, but IMHO, insecurity because of all of the FUD that this sort of article prescribes, has meant that the language has bloated to incorporate all sorts of syntax improvements and new patt…

I'm greatly in favor of the syntax changes. Working with the idiosyncrasies of data in JavaScript used to be a huge pain in the ass. Underscore/Lodash improved that story quite a bit. But ES6 goes a long way towards increasing the expressiveness of the language, such that code doesn't get bogged down in tedious data manipulation and language noise. Unfortunately, the space of possible improvements is a bit limited by the need for backward compatibility (e.g. they couldn't achieve expression-based programming, outside of single-expression arrow functions), but it's still quite good.

Re: JavaScript is Good, Actually

#306
For me, as a founder of a young startup, the overarching benefit of being proficient in modern JS and sorrounding tooling is that I can use the same language for my whole stack(servers, web, Android, iOS), and spend more time thinking about the product and business. In the possible future where the company grows enough where it needs a distributed server software, the only part of the product that'd be changing would be the backend, and I'd probably look at Java for that. For the rest, React(& react-native) + graphql + a typesystem is a pretty good stack for UI software.

Re: JavaScript is Good, Actually

#307
post #301
post #288

Earlier quoted context omitted.

That is just FUD. It is certainly possible to package a runtime way smaller that the analytics crap most people have to endure. Unity WebAssembly games are just a few hundred KB. Who cares about DOM, WebGL takes care of the UI part.

Consider python. With all the built-in libraries, it's many MB of code. If my app is 1-2mb, I'll be pushing the limits (I'll definitely be looking at multiple bundles to reduce and spread out the load parse time). If that goes up to 10-15mb (which can't be split), you're now going to have major usability issues. That's before all that analytic stuff that isn't going away. People do notice the difference and will just…

A plan that is already in motion regardless how much you hate it.

Not all languages are like Python, a language that I only use for shell scripts anyway.

Blazor, Qt, Unity are all getting there.

Adobe can even bring Flash back.

Re: JavaScript is Good, Actually

#308
post #303

Earlier quoted context omitted.

> I can teach someone how to write buggy, unmaintainable code that seems to work but actually doesn't in Python and JavaScript. So? :) Yes, because that property is totally absent from Haskell. https://github.com/RNCryptor/rncryptor-hs/issues/2#issuecomm... Oops. Surely the JS and Python implementations are just as bad? https://github.com/RNCryptor/RNCryptor-python/blob/649ca23a5... https://github.com/RNCryptor/rncry…

No need for sarcasm and my argument wasn't that there aren't bugs in programs written in Haskell. My argument is that people who claim "writing Python is easier" usually ignore that it's writing buggy /throwaway code in Python that is actually easier (aka "look, I can write bugs fast"). Writing large, maintainable and bug-free code in Python is not easier than in other languages -- it's arguably harder, but since tha…

Every language has its faults.

Even a "perfect" language is faulty if the barriers between its current state and mass adoption are insurmountable.

Completely reform education in this country to make purer languages like Haskell more palatable for younger generations than, say, PHP, and I'll totally be wrong in 50 or so years.

Re: JavaScript is Good, Actually

#309
post #302

Earlier quoted context omitted.

> There are plenty of anecdotes, if you look for them, of people failing to understand that the assignment operator in imperative languages means "place this value in this box" instead of "this means that". Are there anecdotes of non-absolute-beginners failing to understand that? For first-year students, sure. Do working software engineers have trouble with it? Do they have bugs and/or lower productivity because of i…

> Are there anecdotes of non-absolute-beginners failing to understand that? For first-year students, sure. Do working software engineers have trouble with it? Sorry, I was unclear: I was talking about beginners. My argument was about intuitivity and "it's easier/harder to learn programming this way". Software engineers are already down the road of "I'm used to this, therefore this is the best way" :P If I understand…

So a language is more intuitive if it's similar to what we already know, and we already know math, and therefore "=" for assignment is not intuitive? OK, for first learning a language, I can buy that.

I don't recall ever having trouble with that myself, but that's anecdote, not data...

Re: JavaScript is Good, Actually

#310

My developer friends do have opinions on JavaScript that are in my view outdated, modern JavaScript is my favorite peogramming language due to the ease of expressivenesss and joy to write it. I started out with C, C++, Java, Objective-C and C# before ever seriously using JavaScript (other than tiny snippets of front end browser dom manipulation) and may be I’m just getting old but... I’d love to use JavaScript for ev…

I find swift and python to be more elegant in terms of expressiveness. Only issue with swift is that it's ABI isn't stable yet and still not official support for windows (I think, will need to check this).

My eyes see the curly brackets easier than indents for scope probably because of my background and I forget the colons sometimes but yeah Python is a usually a pleasure too
Post reply on HN