7 ms·
> It's 2016, people, the ship has sailed on pretending JS isn't a real programming language. Phrasing the argument the way he does just betrays his smug elitism
by Ianvdl 10y ago
> It's 2016, people, the ship has sailed on pretending JS isn't a real programming language. Phrasing the argument the way he does just betrays his smug elitism.
Using the date as an argument is also poor form. JS is a terrible programming language (I'm not denying that it is a programming language though) regardless of how popular it is (although I think I might be going against the grain here on HN, many people here seem to enjoy node.js).
> The fact is, for many types of applications, Electron is a really good fit: for example, shipping a single-page webapp as a desktop app, a need that surfaces often in today's world, despite his derision of this concept.
I feel it's unreasonable to turn a single web page into a desktop app by bundling an entire web browser with it.
> ...because they can treat it like any other desktop application -- with hardware access, and subject to the OS' native task management.
If you need direct hardware access it probably isn't well-suited to being a web app in the first place? Why use web technologies for it then?
> For other apps, Electron allows the world's most popular layout system (HTML+CSS) to be used with one of the world's most popular programming languages. This is a huge boon for re-using knowledge, and perhaps does lead to some amateurish projects. Similar criticisms were leveled towards Visual Basic, where drag-and-drop composing and a good IDE enabled people to quickly crank out a GUI app from an idea.
HTML/CSS can be nice to have in such a situation, although a refusal to learn other GUI frameworks probably makes for a poor (native) developer.
The resource bloat and (usually) extreme disparity with the native user interface rarely makes it worthwhile for me to use an electron app. It feels like forcing a square peg into a round hole because the developer is seemingly unwilling to consider more appropriate technologies outside of their comfort zone. Yes, there are well-made electron apps (like VS Code mentioned in the article), but I, personally, would hate for it to become the norm.
- FrancoDiaz 10y agoJS is a terrible programming language I can never see the point of comments like these. Not one person who reads that will have his mind changed. HTML/CSS can be nice to have in such a situation, although a refusal to learn other GUI frameworks probably makes for a poor (native) developer. No it doesn't. Either the developer benefits or doesn't benefit from "refusing". There's only so much time in the day. I'll refuse to to learn Qt or gtk+, unless there is some overwhelming benefit for me to learn it.
- ng12 10y agoAt this point it's like somebody saying "English is a terrible language". Yeah sure but what else are you going to use?
- pluma 10y agoUgh, why can't everyone just speak a real language, like Korean. Agglutinative languages are where it's at.
- Ianvdl 10y ago> I can never see the point of comments like these. Not one person who reads that will have his mind changed. I wasn't expecting to change anyone's mind with that. There are more robust programming languages that don't have the same inconsistencies and idiosyncrasies and encourages better practices in general (even though it is true than you can write terrible code in any language). > No it doesn't. Either the developer benefits or doesn't benefit from "refusing". There's only so much time in the day. I'll refuse to to learn Qt or gtk+, unless there is some overwhelming benefit for me to learn it. That is true, but consider that the end product is not necessarily meant to be most convenient for the developer. Keeping the user in mind when making these decisions may make you consider more native and less resource-intensive alternatives. I have read in the past that Electron also posed some difficulties for screen readers, for example (although I'm not sure if that is still the case), which might not be something that impacts you as the developer, but which can make it harder for someone to make use of your software.
- jeremiep 10y agoThis means absolutely nothing. Otherwise everyone would be using Haskell, Coq or Agda. I'm willing to bet your favorite language has an insane amount of flaws as well (hint - they ALL do, otherwise we'd have converged to the "one true language" as an industry long, long ago.) You can make an argument to say C++ is terrible, Java is, Ruby is, Python is, and it means absolutely nothing other than showing of your own insecurities. You can build great and mediocre things in any language and any platform. People do every day. Also, if the developer is not one of the users of the software, you've already thrown a good chunk of quality out the window right there. You're simply not going to have the vision required to build the optimal user experience.
- tlrobinson 10y ago> JS is a terrible programming language [Citation needed] Sorry, JavaScript may have gotten lucky being the lingua franca of the web, and it might not be perfect or even great, but it's "good enough" for most purposes these days. If it were "terrible" you would expect at least one compile-to-JS [1] to have gained a non-trivial amount of traction by now. The supersets of JavaScript like Babel, TypeScript, and Flow are more popular than "not terrible" languages like ClojureScript, Elm, etc. 1. https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js https://github.com/jashkenas/coffeescript/wiki/list-of-langu...
- to3m 10y ago"a variable is not required to have its type declared nor are types associated with properties" (ECMAScript 2016 spec, 4.2)
- tlrobinson 10y agoAre you suggesting all dynamically typed languages are "terrible"?
- marcosdumay 10y agoThe only languages I can think that share those properties are Perl (5, don't know about 6) and the retired Visual Basic. There is more there than dynamic typing.
- tlrobinson 10y agoNot sure what I'm missing. Ruby? Python?
- marcosdumay 10y agoYou are missing this part: nor are types associated with properties. Ruby and Python do not fit it.
- jeremiep 10y ago> the developer is seemingly unwilling to consider more appropriate technologies outside of their comfort zone The very same can be said about people looking down on Electron. Most of them can't write decent native apps to begin with. I used all of win32, Qt, GTK, wx and Cocoa to name but a few. They all suck in one way or another. Suggesting people are poor native developers for refusing to learn these frameworks completely disregards the fact that most people using these frameworks are bad developers to begin with. For the average application going native will easily triple your development time and costs for absolutely no noticeable performance difference. > If you need direct hardware access it probably isn't well-suited to being a web app in the first place? Why use web technologies for it then? What if the only difference between the web and desktop apps are that the desktop app can open local files while the web app downloads them? Are you going to write two apps in that case? This would be a mediocre economical choice at best as you're more than doubling the production costs for a difference nobody is going to care about.
- santaclaus 10y ago> For the average application going native will easily triple your development time and costs for absolutely no noticeable performance difference. Sublime text still smokes Atom and VSCode in the performance arena.
- nilliams 10y agoAnd yet they're still popular, so it can't be that significant of an issue.
- santaclaus 10y agoSignificant enough that it comes up anytime there is a discussion on HN.
- nilliams 10y ago> Significant enough that it comes up anytime there is a discussion on HN. That is not a useful indicator. There's a reason that 'editor-wars' is a running joke.
- always_good 10y ago> It feels like forcing a square peg into a round hole because the > developer is seemingly unwilling to consider more appropriate > technologies outside of their comfort zone Until I find out I'm immortal, the "right tool" is typically the one that lets me launch the fastest. It just makes you feel good to dismiss other people as lazy or unwilling to venture outside their comfort zone, but that's more of a revelation about how you view others.
- gotofritz 10y ago> JS is a terrible programming language oh do us a favour, that's just YOUR opinion