1. 18
  1. 18

    It confirms what I knew all along

    “Someone agreed with me!”

    I’ve been writing web applications for over a decade and it’s utterly shocking how little JavaScript I know!

    This quote says more than I really feel like writing about this post.

    I like coding in JS and nobody had to trick me or talk me into it. Then again, I started using JS in the 90s. I’ve actually heard more trash talk about JS than any other language by far over the years, even PHP, from people of every possible background. The people who complain the most are people who don’t understand what prototypal inheritance even is, or people who think JS is not object-oriented because it does it differently than their language of choice. It’s pretty ridiculous.

    I’m not a JS evangelist. I don’t really care what you use, and I’ll use whatever the hell is around. But to say people who like using JS are somehow sheep or suffering from Stockholm Syndrome is absurd and just plain stupid.

    If you don’t like JS, don’t use it. If you like it, use it. Seems pretty simple to me.

    1. 4

      I try to be as actively ignorant of JavaScript as possible, not because I dislike the language but because everywhere I’ve worked the JS people all did frontend and I really don’t like writing CSS :(

      1. [Comment removed by author]

        1. 3

          Today JavaScript is essentially on-par with Python, Ruby, or any interpreted language, even better with types when using TypeScript.

          …are you serious? Yes, JS is significantly better than where it was just a few years ago, but it has a long way to go before it’s comparable to Ruby or Python.

          Try writing something nontrivial that relates to Timezones in JS without wishing for the sweet relief of death, for instance.

        2. 1

          There are only two kinds of languages: the ones people complain about and the ones nobody uses. –Bjarne Stroustrup

          1. 1

            Ugh, ditto. I find the hard problems in JS are actually hard problems in any language. Building a UI is my weakness, but I enjoy working with Vue.js, while I honestly can’t wrap my head around Cocoa. To each their own.

            It’s like the real sheep thing to do is bash X and Y, and heavy handidly telling people to switch.

            (Alluding at the Rust discussion here too, though I love Rust.)

          2. 8

            I’m ok with JavaScript, though I actively avoid it.

            What I don’t like is the NPM-ecosystem, where the end goal seems to be “one package per function” and which bloats every simple project to MiB or even GiB size. When I use JavaScript at the frontend then without npm, jQuery, Bootstrap, etc.

            1. 5

              What other modern programming language is so bad that a linter is most recommended for safety sake?

              Literally all of them. Haskell has a -Wall flag for GHC and Hlint, Python has flake8…

              1. 4

                Possibility 1: Our industry is affected by a mass psychosis whose only visible symptom is that many people are using a programming language that you don’t like.

                Possibility 2: Javascript is solving some real problems for a group of programmers.

                I’d much rather read an article where the author tries to dig up the reason for #2.

                1. 3

                  Yes I’m sure Go is the best language for web development. Why not re-live all the hell JS devs went through with callback hell, only this time the Go maintainers have no reason to put promises and async because Go is not meant for single threaded environments.

                  Honestly, JS is a bad language and no one will ever deny it, but what other language is putting as much effort in trying to become better? One thing I admire of JS more than any other language is how easy it is for them to get a new feature up and running: even if the VM will take years to implement it, the polyfill/babel module will be out in days. I’m having a blast using Async/Await, Fetch, Web workers etc.. in my projects, and just tweaking some Babel settings to decide which feature gets polyfilled and which don’t. Meanwhile in the C++ world “modules in the next version” is still a joke. Saying TC39 is doing nothing to change the language makes me even wonder if the guy knows about strict mode.

                  1. 2

                    Honestly, JS is a bad language and no one will ever deny it

                    Lots of people denying it in this discussion.

                    1. 2

                      Why would you add callback driven libraries to Go, when it doesn’t really need them? Are you trying to make a sideways point about other language features?

                      It would be quite possible to take the existing go features and use them to build promises, and some people do just that.

                      1. 1

                        Sorry, I misunderstood the article, I thought it was recommending Go as a full replacement for JS, not just node.js. If one was to hypothetically use Go via transpiler or WebASM target it would be constrained to an environment not suited for it IMO (since Go is heavily based on concurrency while the browser is single-thread event-based).

                        1. 1

                          It does recommend it as a possibility among many other, though I imagine that Gopher.JS handles async via some compilation smartness by turning Go-routines into Generators, akin to how ClojureScript does it.

                          The thing about that is nice about Go is that it is fundamentally an async runtime in terms of IO and the like, and async runtimes on the JS stack are pretty well studied at this point.

                    2. 3

                      I find this class of article utterly disappointing.

                      Javascript sucks!


                      Because this other guy said it sucks! See? It sucks.

                      IMO splash pieces like this are just thinly veiled pleas for attention. There’s nothing of actual substance being said here.

                      I don’t like wine. Does that mean I should write a blog post entitled “WINE IS A HORROR!” ?

                      Languages gain adoption for reasons that actually matter. It’s much easier to just fling poo than to actually say something thoughtful.

                      1. 2

                        While I do think that the modern JS ecosystem is overcomplex, and I don’t dive into it very much, I’m unsure if I’d agree with using other languages as “Compile to JS” shims. This ultimately makes dealing with the browser more complicated, not less.