10 ms·
> It turns out it’s useful to have a lingua franca for the web. No, I don't think so. Most people do not use JavaScript since it is useful. They use it since i
by simula67 10y ago
> It turns out it’s useful to have a lingua franca for the web.
No, I don't think so. Most people do not use JavaScript since it is useful. They use it since it is the only option available on the browser. There is a BIG difference.
> Creating desktop apps in JavaScript lets developers choose from a vast range of freely available code libraries and frameworks, which takes much of the grunt work out of coding
Lots of languages have a wide array of freely available code tooling and frameworks.
Slightly tangentially though, I wonder if we really really put our mind to it, will we be able to just kill JavaScript ?
I mean, I am sure that there are people out there making a living on JavaScript, but please, take one for the team. Learn something else. I hear it is a hot market for developers.
JavaScript is obviously a flawed language[1] that inspires absolutely bad programming that the rest of us has to deal with. The ecosystem is terrible[2] and the community is full of self-righteous assholes[3] who has the collective attention span of a 2 year old [4].
Let's just call this experiment a failure, cut our losses and just.move.on.
[1] https://www.destroyallsoftware.com/talks/wat https://www.destroyallsoftware.com/talks/wat
[2] http://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/ http://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/
[3] http://atom-morgan.github.io/in-defense-of-douglas-crockford http://atom-morgan.github.io/in-defense-of-douglas-crockford
[4] https://medium.com/@ericclemmons/javascript-fatigue-48d4011b6fc4#.gc226gtmp https://medium.com/@ericclemmons/javascript-fatigue-48d4011b...
- scrollaway 10y ago> Most people do not use JavaScript since it is useful. They use it since it is the only option available on the browser. You're not contradicting what you are replying to. People are using Javascript because it's the only option, but it is useful to have a lingua franca. I just wish that lingua franca wasn't Javascript.
- inputcoffee 10y agoI agree with the first part. The issues of: "utility of lingua franca" and "ubiquity of Javascript" are orthogonal issues. It seems everyone agrees that Javascript would not have been the first choice of language. There is no short argument there, you have to go out and try at least one other language and compare them. However, on the second question, I don't see why it is useful to have a lingua franca. Multiple languages arise out of multiple needs. You want a superfast language for your OS, you want a quick high level language for quickly examining data, you want a language that describes visuals and so forth. What are the benefits of a lingua franca for the internet, or any other domain? They still get to exchange data in an agreed upon format.
- pcwalton 10y agoBecause all of the languages supported by the browser have to interact with the DOM. DOM memory management is incredibly tricky: it will not do to just have "an agreed upon format" to exchange data between such languages. You need all the languages to participate in a single garbage collection regime and to have semantics for interoperability at the object level between all of them, which is a very difficult problem. Even getting interoperability between JS and C++—what the browsers do to implement the DOM—has been exceptionally difficult, with innumerable security vulnerabilities resulting from this.
- inputcoffee 10y agoWhen I said "agreed upon format" I was thinking of something like JSON to talking to the server. I didn't think of various tabs on a browser having to interact. You probably know more about how the browser works than I do, but I think I see what you're saying. Suppose we implemented a browser that can allows front ends coded in RUST. In my mind, the browser just gives the RUST app its own tab, with its own memory and so forth. I am not proposing mixing up languages for the a given front end, or for components within an application or anything. Not because I think that would be wrong, but because I haven't thought it through.
- anoplus 10y agoAlso, when it comes to languages. I rather have one language to be agreed upon, and to have small, gradual improvements to that language while keeping the world standard and simple. In case of JavaScript the improvement is strong typing.
- tracker1 10y agoIf you want strong(er) typing, just create with TypeScript or flow... I don't see nearly the value in it that you seem to.
- 0xmohit 10y ago> I just wish that lingua franca wasn't Javascript. Why? Just because undefined is not a function [0]? [0] https://twitter.com/vikasgorur/status/744204277745254400 https://twitter.com/vikasgorur/status/744204277745254400
- tracker1 10y agoIt's very far from the only option server-side (node), but a lot of people are using it there... and on the desktop (various native tooling options, electron, etc), and in mobile apps (react native, nativescript, cordova). I know someone who's wished for "one language to rule them all" for a long time and wants/wanted that to be Visual Basic... It's a matter of perspective as much as anything else. JS can be a very beautiful/expressive language... and mocking some of the corner cases of coercion doesn't really help the argument. JS started as a language for input validation first... it works in a way that input validation passes/fails very cleanly. It makes it a great transport/middle-man language actually.
- bryanrasmussen 10y ago>Most people do not use JavaScript since it is useful. They >use it since it is the only option available on the browser. Maybe it's the only option available on the browser because it is useful to have a lingua franca for the web.
- ZenoArrow 10y ago> "Slightly tangentially though, I wonder if we really really put our mind to it, will we be able to just kill JavaScript ?" Kill maybe too string a word (languages that reach the level of usage of JavaScript tend to stick around regardless of what's currently popular), but for me the main promise of WebAssembly is to allow web browsers to branch out from JavaScript as the only native programming language of the web (as well as improving performance).
- pcwalton 10y ago> Let's just call this experiment a failure The problem with "just calling this experiment a failure"—why that won't work in practice—is that JavaScript is not a failure. It's extremely successful.
- tobltobs 10y agoBrowsers are successful and Javascript was lucky to be the common base of browser languages.
- goatlover 10y agoPretty much this, although arguably JS's flexibility aided in allowing developers to get around various limitations. That can be seen as a good or bad thing, depending.
- fzzzy 10y agoAnd it is extremely successful because it's not a bad language. Sure, there's lots of "wat", but a non-professional programmer is going to say "wat" about every strange error they get from another programming language that js would have just passed silently with a weird result. Then they will replace whatever construct isn't working with one that does, and get on with their life, unlike people who seem to have a lot of energy to waste on complaining.
- themihai 10y agoAre there bad languages? Can you give an example of a such language? I'm also wondering why JS changed so much lately if it was a great language already.
- goatlover 10y agoSure, but there are better alternatives, and now that JS isn't just confined to the web, where it had no real competition, people are complaining because they see it being used instead of better tools that have been available for a long time.
- oblio 10y ago> Slightly tangentially though, I wonder if we really really put our mind to it, will we be able to just kill JavaScript ? Humans that "really wanted to" landed on the Moon, brought hundreds of millions of people out of poverty, cured polio and brought down Communism. The real problem is that you'll never get that many people to agree on something like killing Javascript and creating something radically superior (whatever that is). The web ecosystem is proof of the highest level of agreement possible on a wide scale. And to be honest, what's the alternative? If Javascript dies, we won't get a great new common programming language. We'll get 10 mostly walled gardens with barely any compatibility. Unix vendor wars, post-web edition.
- cwyers 10y agoHere's the thing -- we didn't need to get the moon's participation. A moon shot is an application of physics, with some concern for weight tradeoffs and fuel energy density and the like. It's not a coordination problem.
- mattvot 10y agosimula67, are you aware that the website (http://jojiantony.xyz http://jojiantony.xyz) in your profile goes to an Apple phishing website?
- etnos 10y agoI'm having a hard time listening to anything you say with all that unnecessary name calling Way to deflate your own point
- noobermin 10y agoFor [1] many languages have "wat"'s. Also, the leap from "wat"'s to "absolutely bad programming" is a jump in reasoning. You can be a poor hacker in any language. For [2] and [4], they are issues with the ecosystem, which I suppose it related but isn't strictly js, ie., you don't have to use React (shock). For npm, at least that issue has been addressed. [3] is a social issue...it happens in many places. Can you claim that the university system is flawed due to similar attitudes of students who attend university?
- tracker1 10y agoI'm a fan of "You can write COBOL code in just about every language." I saw a pretty large VB5/6 app that was entirely styled like a COBOL app.. it was hideous to debug/use/follow, but it can be done... After that, I decided a lot of the time, it isn't the language that's the problem most of the time.
- alexwebb2 10y agoI can't believe this is the top comment. Let's go point by point: 1) JavaScript has its warts and its gotchas like anything else (okay, maybe a few more). So what? Spend 50 hours building anything substantial with JavaScript and you'll get a good handle on them, and you'll be good to go for the next 10,000 hours. Same goes for just about any other language. Focusing on the weird edge cases might make for a nice blog post, but it's not relevant to people actually building things day to day. 2) Growing pains in a very active community? Unheard of! Okay, so this was embarrassing and disappointing, but at least it's been dealt with. You can keep pointing to it if it helps your argument, but that doesn't make it valid. 3) I don't really understand what point you're trying to make here. 4) Again, very active community. Lots of churn. Plenty of reinventing / rediscovering the wheel. If that _really_ bothers you and you're struggling to separate the signal from the noise, I at least understand and respect that criticism. I don't think that's a reason for anyone to stoop to the level you have, though.
- amorphid 10y ago>> Spend 50 hours building anything substantial with JavaScript and you'll get a good handle on... I don't mind MY JavaScript. It's everyone else's that drives me bonkers. Tracking down things in JS is a timesuck of epic proportions. Much of the time, it just isnt't any fun.
- axlee 10y ago> I don't mind MY JavaScript. It's everyone else's that drives me bonkers. Tracking down things in JS is a timesuck of epic proportions. Much of the time, it just isnt't any fun. You should look into typescript, it has helped us quite a lot with that particular matter.
- yid 10y ago> Tracking down things in JS is a timesuck of epic proportions. I think you mean your codebase rather than JS. There are plenty of industrial JS codebases where this is not a problem.
- 10y ago
- lucideer 10y ago[2], [3] and [4] I would argue are not problems specific to JS, but are problems with "lingua francas" in general. Ubiquity, massive massive general popularity and low barriers of entry for a language will lead to an ecosystem dominated by the NIH and overengineering of eager & inexperienced programmers, and by egos. This would occur were any language put in JS' position. The challenge is navigating such ecosystems in a selective and informed way, which is a programming skill in itself.
- lloyd-christmas 10y ago> Learn something else. No. I've never understood the anti-[language] viewpoint. Wouldn't it be great to have every language available in every ecosystem? Why bother with web assembly when we could just replace JS with python because that's what _I_ want. [1] Let's be honest, This is every language. There are some stupid, stupid, STUPID parts of JS that everyone enjoys pointing out. And... since everyone points them out, nobody actually uses them. [2] It happened and they changed the root cause within a week. I would view that as a pretty good ecosystem. Now take a look at python 2 vs 3. Almost 8 years later, and we still need: http://py3readiness.org/ http://py3readiness.org/ [3] Every language. [4] Just because people talk loudly about something, doesn't mean most people use it. 90% of the internet still runs on jQuery: http://trends.builtwith.com/javascript/javascript-library http://trends.builtwith.com/javascript/javascript-library
- fapjacks 10y agoI smell an agenda in the comment from the person with the username "simula67"... (this is a joke, by the way)...
- sotojuan 10y ago> I mean, I am sure that there are people out there making a living on JavaScript, but please, take one for the team. Learn something else. I hear it is a hot market for developers. Where I live JS jobs are some of the highest paying actually. If anything people are moving to it.
- ggregoire 10y ago> Learn something else. uh? Most JS programmers have a background in computer science and software development like you. I went at the university and learned C, C++, Java, Lisp, SQL. I worked 3 years with C# and 2 years with Symfony. Well, JavaScript is still my favorite language/ecosystem, and I'm obviously not alone.
- niftich 10y agoFor a long time, there was no political will to kill Javascript; there was barely enough political will to reform it -- see the Eich vs. Wilson debate [1]. Now that JS has seen 2 new versions in 2 years, momentum has picked up and it's keeping up with the times much more so than in the late 2000s when its flaws were glaring and apparent. One of the interesting side-effects of the extra effort going into the web platform is the 'wasm' effort [2] which could replace Javascript at some point -- yes, the usual caveats about GC and DOM apply, but they're coming [3][4]. Though the political line is that wasm isn't intended to replace Javascript, once it attains feature parity (like it's headed towards), it'll be trivial to do so, regardless of what the designers intend. When that time comes, JS will probably still be used as a written language, but wasm will become the new compilation target. [1] https://en.wikipedia.org/wiki/ECMAScript#4th_Edition_.28abandoned.29 https://en.wikipedia.org/wiki/ECMAScript#4th_Edition_.28aban... [2] https://webassembly.github.io/ https://webassembly.github.io/ [3] https://github.com/WebAssembly/design/issues/219 https://github.com/WebAssembly/design/issues/219 [4] https://github.com/WebAssembly/design/blob/master/GC.md https://github.com/WebAssembly/design/blob/master/GC.md
- neals 10y agoI've spend a decade in c and c++, another in Java. I've now moved to Javascript and I love everything about it. Well not everything, I don't really like the whole NPM and millions of dependencies. I also don't like react and angular. But JS is so big, there's enough other stuff I do like. You see, you don't have to like everything about it to enjoy working with it. I pick the stuff I care about and put my positive energy towards it, instead of my negative energy towards the other. You should try it. You're free to make whatever tools you use right now as easy to use and as quick to learn. Maybe if you try hard enough, us Javascripters might come join your side.
- tdb7893 10y agoPeople just hate all old and we'll used languages. You hear javascript, java, and c++ getting hated on all the time. I feel like as languages age people just find all the stuff they hate about it. That being said javascript was a uniquely poorly designed language that only gained popularity by people being forced to use it. At least the modern versions of it seem to be have fixed many problems.
- smallnamespace 10y ago> > It turns out it’s useful to have a lingua franca for the web. > No, I don't think so. Most people do not use JavaScript since it is useful. They use it since it is the only option available on the browser. Are you not contradicting yourself here? If people use JS only because it's what's on the browser, then it's only because people see value in ... having a lingua franca for the web.