Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Programming Stats

'State of JavaScript 2018' Survey Announced (stateofjs.com) 70

"The JavaScript world could use a bit of classification," reads this year's announcement at StateofJS.com: In 2017 this survey helped us do just that, by collecting data from over 20,000 developers to identify current and upcoming trends. This year, we're asking for your help once more to find out which libraries developers want to learn next, which have the best satisfaction ratings, and much more.
The survey launched in 2016 "mostly to scratch my own itch," its founder explained in a Medium essay. "I wanted to know what libraries were worth learning, and which ones were on the way out." Last year's survey discovered that React was the dominant framework, though the second most-popular framework was "none," with 9,493 JavaScript developers saying they didn't use one. Vue had increased in popularity while Angular lost steam, and developers collectively rating their overall happiness with front-end tools at 3.8 (on a scale up to five).

And more than 28% of the survey's respondent's said they'd used TypeScript, Microsoft's typed superset of JavaScript, and that they'd use it again.
This discussion has been archived. No new comments can be posted.

'State of JavaScript 2018' Survey Announced

Comments Filter:
  • by Anonymous Coward

    It still sucks.

    • This. Having to do this:


      function test() { ...
      }

      if(typeof(window) !== "undefined") {
              window.test = test;
      }

      sometimes window isn't defined so you have to test for it. The weird !== with two equals shouldn't be needed. Finally, a function should just work. You shouldn't have to do the window.test thing.

  • by Rosco P. Coltrane ( 209368 ) on Saturday September 08, 2018 @01:52PM (#57276094)

    - 80% are ads, web trackers and other malware
    - 10% are useless eye candy that waste time and CPU
    - 5% are misguided attempts to turn web browsers into terminals and bypassing HTML as much as possible, that usually result in unusable interfaces that don't behave properly and waste CPU
    - 5% are actually useful on the pages they're used on

    Javascript isn't the problem, it's the developers who foist it on us because they're incompetent, greedy or nefarious. Still, I can't count the number of hours I waste every week trying to find out in Noscript or uBlock the minimal number of scripts I have to allow to access a web page. Fuck Javascript.

  • It’s easily summed up in two words:

    Shit sux.

  • by AlanObject ( 3603453 ) on Saturday September 08, 2018 @02:13PM (#57276194)

    I have known some Javascript ever since it was invented and spent decades avoiding it as much as possible. I can't remember who it was but they wrote that "Javascript is the most feared language" in computer science.

    Now that I am doing client-side web apps it is unavoidable. Except, of course, for Microsoft wonderful effort into Typescript. It takes away none of Javascript's "strengths" (such as they are) but it makes it possible to get serious assistance from your IDE. You end up not as constrained as Java but you feel less like you are tossed into a chaotic lake of famished crocodiles, horny hippos and drunk rednecks in speedboats firing guns everywhere.

    Thanks to Typescript I don't feel like I am writing Javascript any more than I feel like I am writing in assembly language when I code in C. Only an occasional trip to w3schools or stackoverflow is all that is needed to cover the quirky things I didn't know.

    That said, I always wonder why anyone can be in doubt about why Javascript is so ascendant. There can be no reason other than it had access to the pervasive API of the browser environment. In other words the DOM and the browser-provided objects. That, and the fact that the build environment and the runtime environment were one and the same, helping countless legions of amateurs to get "into" web programming.

    With all its flaws Javascript fell into a mucky pond and evolved into an ecosystem were a lot of people could make a living from using it. That's what made it successful. It has little or nothing to do with the merits (or demerits) of the language itself.

    Imagine if Google had created node.js first, and all browsers were using some other language like Python. Nobody but a quirky minority would pay any attention to Javascript whatever. Now pretty much all of us have to pay attention.

    • "Imagine if Google had created node.js first, and all browsers were using some other language like Python."

      LOL! That's some interesting time travel you've got there! Chrome forked from WebKit (forked from KHTML) in what? Late 2000s? Google didn't even make Node.js! But let's say they did, for the sake of argument. That still leaves over 10 years of JS in the browser. (Hello, Netscape 2.0 Gold Beta!)

      Python would have been a non-starter because Sun wanted Netscape to make a scripting language that superficial

      • but it was never gonna happen. Best to let it go and move on.

        You seem to have completely missed the point. I have nothing here to "let go" of to move on.

        All I was doing is pointing out that if Javascript (as it was not ES2017) did not have the browser environment ecosystem it was hatched in it never would have achieved much prominence.

        • And if C hasn't been invented alongside Unix, it would never have taken off either. Every popular language has a killer app, no exceptions. Conversely no language ever became popular without a killer app.

          That JavaScript would never have become popular without its killer app is merely asserting a tautology.

          • That JavaScript would never have become popular without its killer app is merely asserting a tautology.

            Maybe so, but you will notice that every time a survey like this is done and Javascript ranks so high you get dozens of posts about confounding it is how anyone ever uses Javascript because how awful Javascript is. So the trivial assertion you are pointing out is missed by many.

  • Last year's survey discovered that React was the dominant framework, though the second most-popular framework was "none," with 9,493 JavaScript developers saying they didn't use one.

    http://vanilla-js.com/ [vanilla-js.com]

    Look at the speed comparisons. And the other big bonus is not having to download multiple hundred kilobytes (if not megabytes) of framework code.

  • But Microsoft's attempt to embrace, extend and extinguish makes me want to defend it. Just not enough to do so.

    Tcl was once a rival to JavaScript. There was a plugin for Netscape when it was at peak fame and JavaScript was still relatively unknown that allowed you to run client-side Tcl scripts in web pages. It would have been a lot better, in some respects, but Tcl isn't a terribly stable language and the plugin got no traction.

    Still, you'd have far better code today.

    JavaScript does serve some purpose, alt

    • "â¦still slowâ¦"

      [citation needed]

      • Wow! 2018 and Slashdot still can't handle simple Unicode like ellipses. No combining characters, just a simple two-byte UTF-8 sequence.

        Too bad it was written in Perl and not JavaScript. :-D

        (Yes, I know Perl supports Unicode now. Yes, I know server-side JavaScript only existed as Netscape's proprietary LiveScript at the time. But it's been 20 years. Talk about living in the past. Can I even do a Euro character? Are they still on ISO-8859-1 or have at least updated to ISO-8859-15?)

        • Are you seriously suggesting "upgrading" a Perl serverside codebase to Javascript? Seriously? Perhaps you have not heard of Go, Python or Java.

          • Technically I was just mocking Slashdot's inability to handle standard multibyte character encodings like UTF-8. Typically I would not recommend rewriting a working codebase simply to switch languages.

            But since you brought it up, yes, I think in 2018 it would make more sense to write a web site in JavaScript than Perl. Go would be my choice for something where I would be looking at C but want internet-capable services.

            Python is a (slightly) more elegant language, but the V8 engine eats the various Python VM

  • Wake me up when we can stop doing dumb hacks like this to detect what version of the language the browser has implemented. I guess providing a const window.JSVER took too much effort.

    <script type="text/javascript"> var jsver = 1.0;</script>
    <script language="Javascript1.1"> jsver = 1.1;</script>
    <script language="Javascript1.2"> jsver = 1.2;</script>
    <script language="Javascript1.3"> jsver = 1.3;</script>
    <script language="Javascript1.4"> jsver = 1.4;</s

    • Why would you turn strict mode off mid-way through a file or function?

      Fun fact: "use strict" was derived from Perl, the language Slashdot is written in.

      Fun fact #2: JavaScript is also used on the server side where script tag hacks are unnecessary.

      Fun fact #3: The vast majority of folks don't specify version anymore. No point really with current browser usage. Perhaps your knowledge of JavaScript is out of date?

      • Got nothing to say about the Javascript integer disaster?

        • There's no integer in Javascript, only doubles.
          No integer => no integer disaster ;).

          • I suppose that you have no idea why it is bad to use floats in place of integers. Only ever programmed in Javascript?

            • I suppose that you have no idea how to use a sarcasm detector. ;)
              I don't want to touch this turd of a programming language with a ten foot pole.

              • Yah, sorry about that. You see, there are actually people who believe that having no integers makes the language better.

                • It's amazing what you can accomplish when "constrained" to 2^53 (Number.MAX_SAFE_INTEGER). Sometimes a language is "good enough." Can't tell you how often I've wondered if something would work in Node and all I have to do is open of the dev console in Chrome to try it.

                  Perfect is the enemy of good.

                  • It's amazing what you can accomplish when "constrained" to 2^53...

                    So true, for one thing you can ship code with more bugs in it, essentially a full time employment pact for Javascript hacks. You can also slow down computers with a bunch of extra code necessary to check boundary conditions, selling more of them. Sweet.

                    • Oh stop. When you spec out a project, you see where values would never exceed 256, so you use a byte, 16-bits for less than 65536, 32-bits for less than 4 billion, half these for signed values, etc. We all do this every day and twice on Sunday. If this were not the case, *all* numeric values in a system would always be 64-bit.

                      There are a huge number of cases where 4 billion would be constraining but 2^53 would be more than enough to avoid overflow. YouTube itself only had a 32-bit overflow for popular video

          • Mantissa doesn't lose information until 2^53, ie., a fairly large number. If you need to do 64-bit bitwise operations, absolutely, JavaScript is not the tool you want to use. Instead use a different language with different trade offs. :-)

      • I haven't touched JavaScript in about 10 years so I'm not going to comment on that, but "use strict" is quite possibly the worst idea in Perl. I don't know why JavaScript would copy it.

        • Clarification: It shouldn't exist because the language should just behave that way by default.

          • Coulda, shoulda, woulda. Most languages don't start out polished. You either break backward compatibility (and break literally millions of web sites) or you put in something like "use strict".

            Languages that break compatibility get used as often as Lua, forever stuck at 5.1 with luajit or slow with 5.3.

            Or you run into great gnashing of teeth and fracturing the community like Python's 2.7->3.0 transition.

            Can't you just give credit where credit is due that web pages authored in 1995 still work? Phone apps w

    • Fun fact #4:

      if (foo == null) // double equals

      is still useful. Covers null, undefined, and empty string. The Google JS programming style guide actually forbids triple equal comparisons with null.

      But feel free to continue on your rant, especially since BigInt already landed in V8 and is available in the newest builds of Node. You seem to be on a roll.

  • by Waccoon ( 1186667 ) on Saturday September 08, 2018 @10:26PM (#57278068)

    I don't care about the latest fashion trends. Javascript isn't able to meet basic requirements that have been standards for decades.

"When the going gets tough, the tough get empirical." -- Jon Carroll

Working...