Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
Stats Facebook Programming The Internet

'State of JavaScript' Survey Results: Good News for React and TypeScript (sdtimes.com) 89

"The JavaScript world is richer and messier than ever," reports this year's annual "State of JavaScript" survey, which collected data from over 28,000 developers on everything from favorite frameworks to flavors of JavaScript. SD Times reports: "A few years back, a JavaScript survey would've been a simple matter. Question 1: are you using jQuery? Question 2: any comments? Boom, done!," the developers wrote. "But as we all know, things have changed. The JavaScript ecosystem is richer than ever, and even the most experienced developer can start to hesitate when considering the multitude of options available at every stage"...

On the front end, React remains the dominant framework. However, the survey found interest in Vue is steadily increasing, while Angular is losing steam. Developers are at a 3.8 [on a scale up to 5] when it comes to their overall happiness with front-end tools. On the back end, Express is by far the most popular contender with Koa, Meteor and Hapi slowly making their way behind Express. For testing, Jest and Enzyme stand out with high satisfaction ratings.

In 2016 only 9,000 developers responded for the survey, which had ultimately announced that "Depending on who you ask, right now JavaScript is either turning into a modern, reliable language, or a bloated, overly complex dependency hell. Or maybe both?"

InfoWorld notes that this year 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. And while React was the most popular framework, the second most-popular framework was "none," with 9,493 JavaScript developers saying they didn't use one.
This discussion has been archived. No new comments can be posted.

'State of JavaScript' Survey Results: Good News for React and TypeScript

Comments Filter:
  • by Snotnose ( 212196 ) on Saturday December 16, 2017 @08:14PM (#55753311)
    The rest of the world as a whole is fucked.

    I've said this before. I've been programming some 40 years. Awk, sed, TCL/TK, bash, Z80/8086/68k/MIPS/SH-4/32016 assembler, python, java. Oh yeah, C and C++, which have been my bread and butter for 35 years.

    I've liked some languages (z-80 & 68k assembly, C, Python), disliked others (MIPS assembly, C++, TCL/Tk). But there is only one language I actively hate and that is Ecmascript, also know as Javascript. I found it mind boggling that my scripts would run differently on different PCs because "reasons". I spent 6 months coding Javascript and all I remember about it is shit like "oh, you're department sets this flag on install while mine doesn't? Gee, be nice to get a runtime error instead of wrong fucking answers".
    • Examples of these failures?

      • I don't know what the fuck is happening, but I now have a strange "Looking Glass" extension that unexpectedly showed up in my Firefox recently. I don't know what the fuck it is and I don't know how it got there, because I sure as hell did not install it.

        I'm no expert on this stuff but I think that some malicious JavaScript might have compromised my Firefox to install this plugin that may be malicious.

        I don't know what to do at this point. I've done the obvious thing and completely uninstalled Firefox, as it

    • Re: (Score:2, Insightful)

      32 years here; done most of that; and I'll add Lisp, Smalltalk, Forth, Haskell, Erlang, Scala, Clojure, Ruby, Perl, Julia, Pascal, Prolog and more to your list. I've written more ShitScript than I wish to remember and there's nothing in my experience that even comes close to the puke factor of that piece of crap. It's the number one reason I avoid web apps like the plague, even generating it from a sane language on the server makes me sick since I still need to get inside of Brendans head. I wish it wasn't
    • by Greyfox ( 87712 )
      It all seems like quite a long way to go to avoid writing a GUI application. That's what we're doing there, right? Someone took a look at the state of writing GUI code in the mid '90's, said "Fuck THAT shit!" and came up with Javascript instead. And every attempt to polish THAT turd since then has made it look worse. So now we're at the point I want to write a front end, I have to weigh my choice between trying to write a new GUI toolkit that doesn't suck goat balls and Javascript and a few gallons of turd
      • by Junta ( 36770 )

        It was less about programming GUI applications and more about distributing and installing gui applications. Over time, the security model also became a key factor as well.

        The world might have been a very different place if microsoft *ever* cared about having decent package management. As it stands, getting an executable running under an arbitrary user's desktop is an exercise in excessive bundling of third party dependencies (because you can't ask the OS to resolve it for you), install wizards that make a

    • by Tablizer ( 95088 )

      I found it mind boggling that my [JS] scripts would run differently on different PCs because "reasons".

      It's probably not the fault of the language, but of DOM and browser differences. One has to target too many variations and mutations of clients, which is insane.

      In my opinion browsers need to complete rework. The client should be a dumb loyal vector plotter and let the server manage layout and formatting decisions. That way you are dealing with ONE layout engine and version instead of 200.

      Putting more of

  • How about stability? (Score:5, Interesting)

    by MobyDisk ( 75490 ) on Saturday December 16, 2017 @08:27PM (#55753357) Homepage

    Look at the options for the "per-library survey results":

    [ ] I've never heard of it
    [ ] I've HEARD of it, and am NOT interested
    [ ] I've HEARD of it, and WOULD like to learn it
    [ ] I've USED it before, and would NOT use it again
    [ ] I've USED it before, and WOULD use it again

    Notice there's no option for "I've actually deployed it to a production platform and it has been running stably for a year." I can attest that every interview candidate tells me they've used Angular 2/4/5 before, because they went through the tutorial. So be careful when using these results.

    I am on a project that started with Angular 1, then took a significant delay to move it to Angular 2, even when it was in beta, because we thought it was more stable and it was the future. Now, it's #5 in the "Ive USED it before and WOULD use it again" category. Our latest front-end developer is threatening a coup unless we move to Angular 5 (which is actually quite easy, but still - WTH?) There's just no winning here! We can't develop stable software if the platforms lifetime is shorter than the time it takes to get a product to market!

    • Fire any developer who says, "this shit I recommended is a year old - we need to switch frameworks to do anything."

      They are *very* common and I doubt you'll find any with a CSE degree.

      • by Junta ( 36770 )

        There are a few reasons why I avoid using Javascript frameworks:

        -They can trip themselves up over time. A framework falling out of favor means it actually starts to not work well with newer browsers.
        -They royally screw up the browser developer tools ability to debug code
        -They aren't really that necessary if you don't mind requiring users to have a browser that's at least newer than a couple years old, which is a really good idea given security fixes anyway. I remain dissatisfied with Javascript, but the f

    • We can't develop stable software if the platforms lifetime is shorter than the time it takes to get a product to market!

      This is extremely frustrating.

      GUI frameworks are an old, well-studied area of programming. If you do a little research, know the history (obviously people aren't doing that, Alan Kay calls it "Pop culture programming"), you can get a good framework from the beginning. There is no reason to have breaking changes more often than blue moons.

    • by Joopsy ( 2041110 )

      I have to say, I find the pace of change in JS frameworks utterly ridiculous.

      How are you supposed to build long lived systems? Ideally to have a code base with a long life span, you need the tools to remain relatively stable (and to keep the talent pool as deep as possible - no point build a system if you can't tempt devs to work on it in a couple of years).

      I actually logged in for the first time in ages just to post how much I utterly agree with you.
       

      • How are you supposed to build long lived systems

        By using a proper build system. Easy.

        We have a larger project that has evolved a lot over time. It has aspects that are written in Javascript+JQuery only, other pieces are using Knockout. We moved quite a bit of our stuff to AngularJS a good while back, but paused to move it all to Angular in the beta phase of Angular 2 as it was called at the time. Moving from AngularJS to Angular 2 took a bit of work, but moving from 2 to 5 has not really required any code

  • by Anonymous Coward

    You can't call yourself a JavaScript programmer until you've read "You Don't Know JS" [amazon.com] by Kyle SImpson. Most JavaScript programmers know enough to get a JavaScript framework working but not enough to figure out how to solve a problem.

  • by AlanObject ( 3603453 ) on Saturday December 16, 2017 @08:32PM (#55753389)

    TypeScript seems to fix nearly everything I had a problem with regarding Javascript. And if you are using Angular and follow 90%+ of the instructional material out there you are using TypeScript. I had spent years avoiding Javascript and learned what I needed but without much enthusiasm.

    The funny thing is that I don't really need strong type checking for designing my app. My IDE (WebStorm) needs strong type checking in order to be more helpful to me. Without TypeScript it is forced to make a lot of hellacious guesses (mostly wrong) about code completion. With the current version it is almost as solid as if I were programming Java.

    The cherry on top is that I can still be as careless and sloppy as I want the way Javascript alone allows. Occasionally that is actually helpful. So all win for me.

    • by tepples ( 727027 )

      TypeScript seems to fix nearly everything I had a problem with regarding Javascript.

      Does it fix the problem that it has become unacceptably common for programs written in the language and running in web pages to automatically download unnecessarily large amounts of data over a possibly metered connection, automatically spy on private information the user inadvertently enters before submitting,* and automatically track the user's viewing habits from one domain to another?

      * This happens when someone copies private information and later, after forgetting what he had copied, pastes it into a t

      • Does it fix the problem that it has become unacceptably common for programs written in the language ...

        Isn't this a complaint about the runtime environment and not the language itself? What about this would change if, for example, the browser language was Python or Java?

        • Isn't this a complaint about the runtime environment and not the language itself?

          Yes. But who in their right mind would choose JavaScript if it weren't for the runtime environment? True, Node is faster as a server-side JavaScript implementation than CPython is as a server-side Python implementation, but it only got that way by sharing the V8 runtime with Google Chrome. How common is it in practice to use Node other than as a server for dynamic websites that also use JavaScript in the browser?

          • by ljw1004 ( 764174 )

            How common is it in practice to use Node other than as a server for dynamic websites that also use JavaScript in the browser?

            Other common uses of Node -- to host standalone desktop applications that are implemented in Javascript -- VSCode editor, Atom editor, Slack, Visual Studio Installer. I'm sure there are loads of other standalone desktop apps that run on Node, but these are the ones I'm aware of.

            (Come to think of it -- of the applications open on my mac on a day-to-day basis, the only ones not running on Node are Terminal and Outlook).

            • Other common uses of Node -- to host standalone desktop applications that are implemented in Javascript

              Which leads to the Slack O(n) RAM problem [slashdot.org]: "Why am I wasting 365 MB of RAM and tens of MB of SSD space on Discord or Slack when it could use half that much RAM by sharing it with my other Firefox tabs?"

              of the applications open on my mac on a day-to-day basis, the only ones not running on Node are Terminal and Outlook

              And how much RAM does each use, especially on a Mac where end-user RAM upgrades are difficult or impossible to install?

      • That is pretty derp. The world is moving to PWAs so your dislike of the modern web is unfortunately dated. Non-incumbent desktop apps (Office, Photoshot, etc) are dead.

        • The world is moving to PWAs

          APIs used by Progressive Web Apps require HTTPS. Say a home user downloads a copy of a PWA to run on a web server on his home LAN, be it an otherwise unused desktop PC or a Raspberry Pi SBC. Will he have to buy his own domain in order to qualify for a certificate from Let's Encrypt?

          PWAs also require the ability to listen for and accept connections from users' browsers. But in the era of IPv4 scarcity, a lot of home broadband Internet access plans don't allow incoming connections on (say) port 443, such as i

          • by Junta ( 36770 )

            Probably would have been better to shorten your discussion on the concrete challenges of running self hosted webapps, since no one is advocating for that, and instead bringing more of the linked articles points into your text (that the publisher has eternal control to impose rental arrangement versus the previous arrangement where the publisher had to actually *do something* to extract more money out of the customer).

    • by jez9999 ( 618189 )

      TypeScript seems to fix nearly everything I had a problem with regarding Javascript

      Runtime type checking. Unfortunately it all falls apart and requires you to do everything manually when you care about runtime data (reading in a JSON file, getting in data from the network, etc.) I really wish they had included runtime type checking as a goal of TS but alas they didn't.

  • for the win. :)

  • There's no such thing as a JavaScript Framework since any function can be clobbered by a string or int or anything and there's no way to enforce parameter types. Kill JavaScript and we should use web assembly and write in real languages.

    • Meanwhile I have a requirement and JavaScript helps me meet that and it is easily debuggable. Proprietary stuff goes server side of course.

      Only an idiot would clobber, that's a sign you don't know what you're doing and likely learned from how to searches. So you look for a framework to help you instead of understand it.

      That's okay, just know it ain't everyone's thing.

      • I didn't say I did that. It's the fact that the language has no type safety whatsoever. Reading comprehension isn't your strong suit I guess.

    • by Junta ( 36770 )

      I do not relish the thought of sites going to web assembly. Already BS like Angular and other frameworks and minification makes it challenging to trace third party code, don't want it to get any worse, but maybe it is a lost casue...

      On the general argument of type safety (an other related sensibilites), it totally made sense in the beginning when javascript was only used for lightweight page manipulation, and being unforgiving and requiring tedium of the programmer just wasn't worth it. The problem is of

    • Typescript does exactly that, and more.

  • I'm 45, I've programmed in c++, java, fortran, even actionscript in my time, and enjoyed using them all. However I cannot abide javascript, and that goes double for the 10000 vague, incomprehensible frameworks that surround it. It could be that I'm just getting old, but I find the whole javascript framework / html app development scene a fractal hall of mirrors. A pox on it all.

The universe is an island, surrounded by whatever it is that surrounds universes.

Working...