Slashdot Mirror


Microsoft's TypeScript Dominates In 'State of JavaScript 2018' Report (stateofjs.com)

This week a Paris-born designer/developer (now living in Osaka) announced the results of the third annual "State of JavaScript" survey of over 20,000 JavaScript developers in 153 countries "to figure out what they're using, what they're happy with, and what they want to learn."

An anonymous reader writes: Among its findings? The number of people who have used Microsoft's TypeScript and said they would use it again has increased from 20.08% in 2016 to 46.7% in 2018, "and in some countries that ratio even went over 50%." More than 7,000 respondents indicated they liked its "robust, less error-prone code" and another 5,500 cited "elegant programming style and patterns." A blog post announcing the results declares TypeScript "the clear leader" among other syntaxes and languages that can compile to JavaScript.

Meanwhile, when it comes to frameworks, "only React has both a high satisfaction ratio and a large user base, although Vue is definitely getting there." Elsewhere the report notes Vue has already overtaken React for certain metrics such as total GitHub stars. "Angular on the other hand does boast a large user base, but its users don't seem too happy," the announcement adds, although later the report argues that Angular's poor satisfaction ratio "is probably in part due to the confusion between Angular and the older, deprecated AngularJS (previous surveys avoided this issue by featuring both as separate items)."

94% of the survey's respondents were male, and "Years of experience" for the respondents seemed to cluster in three cohorts in the demographics breakdown: 27.8% of respondents reported they had 2-5 years of experience, while 28% reported 5-10 years, and 24% reported 10-20 years.

There's a beautiful interactive graphic visualizing "connections between technologies," where a circle's outer red band is segmented based on the popularity of JavaScript libraries, while hovering over each band reveals the popularity of other libraries with its users. But while this year's results were presented on a "dark mode" web page, the survey's announcement concedes that this year's trends didn't include many surprises.

"TL;DR: things didn't change that much this year."

25 of 68 comments (clear)

  1. The Typing of The Scriptures by Quakeulf · · Score: 1

    I've used the JS on and off since 2006. I've been through the JQueries and a few other works of frame, but only recently started looking into the TS. It feels a tiny bit like a merge of .NET and JS to me.

  2. Bad for non developers by Anonymous Coward · · Score: 1

    You used to be able to give a HTML/CSS guy a Photoshop file and they could produce all the static content for the developer.
    Now with all these frameworks and JavaScript ecosystem these people feel overwhelmed and you end up needed someone with a technical background to do something which needs more of a visual eye

  3. Re:94% Male by ShanghaiBill · · Score: 1

    94% male out of 20000 people. Cue the alarmists saying that men are preventing women from learning JavaScript.

    Or that men are preventing women from responding to surveys about JS.

  4. TypeScript ans VSCode are an example ... by Qbertino · · Score: 4, Interesting

    ... of MS for once not screwing up open source. They've regained some karma with me. It's a long way to go but a good start. As for JS transpiled client and server-side web development there is no better way to go right now than with TypeScript and VSCode. Tooling and integration is excellent and VSCode is feature rich and really surprisingly performant.
    Both come recommended from yours truly. And it's about 25 years ago I've said something like this of an MS product.

    --
    We suffer more in our imagination than in reality. - Seneca
  5. I dunno by 93+Escort+Wagon · · Score: 1

    Somehow writing your code in one language, which is then transcompiled into a different language, which is then interpreted at runtime seems like a recipe for unnecessarily introducing security issues.

    --
    #DeleteChrome
    1. Re:I dunno by Anonymous Coward · · Score: 3, Insightful

      Or possibly reducing them as the TS-to-JS compiler can actually check your code for various obvious correctness things?

      You've written a function that only works on integers, how about letting the compiler check you're only feeding integers into it?

    2. Re:I dunno by Anonymous Coward · · Score: 1

      This isn't very different from C being compiled to Assembly, or Java/.NET to Byte Code. A lot of developers seem to be concerned with one form of transpilation, but seemingly not of the other forms that have pre-existed it.

      The only unusual step here is that JS undergoes another step via each browser implementation, and finally into machine code, where as the other languages go directly to machine code from their form.

    3. Re:I dunno by h33t+l4x0r · · Score: 1

      seems like a recipe for unnecessarily introducing security issues.

      I thought that was the goal.

    4. Re:I dunno by tepples · · Score: 1

      This isn't very different from C being compiled to Assembly

      The difference is that in the case of a C program in a mainstream PC operating system on default settings, the user has the opportunity to make the choice to download and run the program or not. In the case of JavaScript in a mainstream web browser on default settings, the browser publisher and website operator have made this choice for the user.

  6. Re:JS Fail by vux984 · · Score: 2

    "This says more about what's missing in JavaScript that people want than any success for Microsoft. I guess inheritance is useful after all."

    Strong typing is the feature that javascript was missing that typescript adds, which is pretty much why TYPEscript exists.

    It dramatically improves the maintainability of code.

  7. Re: TL;DR EditorDavid is no editor at all. by Anonymous Coward · · Score: 1

    You must be new here.

    Enjoy your stay. We usually don't take too kindly to strangers.

  8. Re: 94% Male by Anonymous Coward · · Score: 2, Funny

    Why don't you pseudo-male bitches stop whining about what females might do. No wonder you faggots are INCEL, GOP. God damn you actual bitches need some real victimstance in your pathetic lives.

        - Furiously typed on my iMac, at starbucks

  9. The next story is ... by CaptainDork · · Score: 1

    ... Microsoft's TypeScript Dominating Ransomware.

    --
    It little behooves the best of us to comment on the rest of us.
    1. Re:The next story is ... by CaptainDork · · Score: 1

      Listen up, asshole.

      When God said, "Let there be light." Trump may have thrown the switch but I designed the fucking switch.

      --
      It little behooves the best of us to comment on the rest of us.
  10. A fudge on a kludge by aberglas · · Score: 1

    Adding static typing to JavaScript would be like adding a preprocessor to C that had a proper concept of arrays and did not do pointer arithmetic. Every true C hacker "knows" that pointer arithmetic is essential for performance and would put up with it's removal for a minute.

    Likewise, every true JavaScript hack knows that constraining the type of a variable is a straight jacket, that code should be free, and that TypeScript is the work of the devil.

    In both cases, you are trying to make Java out of something that is not Java. Tying to make a silk purse out of a sow's ear.

    1. Re:A fudge on a kludge by Richard_at_work · · Score: 2

      Google liked Typescript enough to switch mainstream Angular development over to it...

    2. Re: A fudge on a kludge by tigersha · · Score: 1

      You did see the âwill not use againâ(TM) part on the typescript chart, right?

      Ok, that is not because of typescript, but the three weeks of Angular 1 I did once left a real bad taste in my mouth.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    3. Re: A fudge on a kludge by tigersha · · Score: 1

      I meant the Angular chart, sorry.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  11. Javascript practices by cordovaCon83 · · Score: 2

    I, for one, welcome our TypeScript overlords. JavaScript continues to work its way deeper and deeper into the tech stack. It was okay playing fast and loose with types at first when the code was relatively simple and straightforward and not hard to debug and didn't cause the whole stack to fail. Not so much any more. Then there's all those JavaScript best practices. My favorite is when I'm told that the code is "self-documenting" (read - no comments, no docs), then I jump into some "self-documenting" code and I'm being fed a value whose type is not clearly defined nor its source clearly documented. Maybe if I'm lucky the default property type and even a default value is defined in the file, courtesy of yet another library. My opinion is such that JavaScript is not scaling well as it gets implemented further and further and that a lot of what I've seen called JavaScript best practices would be called sheer laziness in any other language. TypeScript relieves us of a couple of those woes.

  12. Re: JS Fail by AuMatar · · Score: 1

    If you have to ask that, you've never written a program that wasn't completely trivial in your life

    --
    I still have more fans than freaks. WTF is wrong with you people?
  13. Re:EEE history, repeating itself. Remember JScript by pezezin · · Score: 1

    Cool stoy bro, but in this case:

    - Typescript is open source, with an Apache 2.0 license: https://github.com/Microsoft/T...
    - JavaScript deserves to die in a fire. And thankfully now we finally have WebAssembly.

  14. Dominate ? or not ? by Vapula · · Score: 1

    According to the stats,
    - Typescript only comes as second, E6 has about two time the number of happy users
    - Typescript and Flow are the only one with a non-negligible part of UNHAPPY users (more than 5% which is 1/9 Typescript user, where most of the solutions have only about 1% unhappy users)
    - it has the biggest proportion of "heard it, would like to learn"...

    As far as I can see the stats, it looks like it's more E6 that dominates the Javascript environment... But with 86% of happy users, it leave very few room for improving it's numbers...

  15. Re:EEE history, repeating itself. Remember JScript by itsdapead · · Score: 1

    JScript probably was all about tying people in to Internet Explorer by implementing an almost-but-not-quite Javascript.

    Typescript, on the other hand, really is just a pre-processor for Javascript that gives you 'compile-time' type checking and a bunch of new/proposed ECMAScript features - and then spits out standard Javascript code targeted at whatever version of JS/ECMAScript you want to support. Rather than locking you in to particular browsers, it levels the playing field between browsers, since you can start using bleeding-edge ECMAScript features in your source code now without requiring users to have the latest version of your favourite browser.

    What you won't appreciate unless you've tried it is that the output from Typescript is not just standard JavaScript (of the version you specify) but legible Javascript - not some hyper-optimised, minified mess. They've actually avoided including a minifier/optimiser/obfuscater at the TypeScript stage - you can use one of those on the JS output if you want. If you start worrying about that MS scorpion on your back, you really can just ditch Typescript and start working directly with the JavaScript output.

    Of course, if you wouldn't touch Javascript with a bargepole you probably won't want anything to do with Typescript. I'm sure that there are platform-independent zero-install options for delivering Haskell, Rust and Python apps to non-tech users out there somewhere.

    --
    In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
  16. Re:JS Fail by ilsaloving · · Score: 1

    Because you have no formal programming knowledge, you don't know what you don't know.

    There are entire realms of rigour involved with software development that help create quality, self-documenting, maintainable code. Strong types are just one aspect of that, because if you make a type error you will know at compile time, rather than runtime or possibly never.

    It's not a matter of "can't follow what all the variables are". Mistakes can and will be made. Furthermore, as someone more bluntly responded, once you get to more complex and larger code-bases, you *can't* follow what all the variables are because you would have to remember thousands or 10s of thousands of not just basic types but god knows how many classes.

  17. Re:Oh my sweet dear oblivious kid. by pezezin · · Score: 1

    But TypeScript being open source means that, were Microsoft to try to close it, the community would fork it.

    Regarding the languages that deserve to die, why C++? Even with all its crazy complexity, we don't have a language that can fully replace it yet.