Slashdot Mirror


TypeScript's Quiet, Steady Rise Among Programming Languages (wired.com)

Microsoft's programming language TypeScript has become one of the most popular languages among developers, at least according to a report published by the analyst firm RedMonk this week. Wired: TypeScript jumped from number 16 to number 12, just behind Apple's programming language Swift in RedMonk's semiannual rankings, which were last published in August. Microsoft unveiled TypeScript in 2012, and while it hasn't grown as quickly as Swift -- which has grown faster than any other language, ever since RedMonk started compiling the rankings in 2011 -- TypeScript's own ascendance is impressive, given the sheer number of available programming languages.

More and more applications these days use TypeScript. Google's programming framework Angular, the second most popular tool of its type according to data released last year by the startup NPM, is written in TypeScript. So is Vue, an increasingly popular framework finding a home both among smaller companies and tech giants like Alibaba. But RedMonk doesn't look at how many jobs are available for people skilled in a particular language, nor how many companies actually use the language. Instead, the firm tries to spot trends in developer interest by looking at how many projects on GitHub use certain languages, and how many questions are asked about those languages on the programmer Q&A site Stack Overflow. The idea is to get a sense of where the software development profession is heading.

66 of 138 comments (clear)

  1. Wait a minute... by Crash+Dummy+Redux · · Score: 1

    JavaScript frameworks are being written in a language other than JavaScript?!

    *head explodes*

    1. Re:Wait a minute... by sobachatina · · Score: 5, Informative

      Typescript is basically JavaScript syntax with some extra type information tacked on. It runs through a compiler that produces javascript.

      I'm a fan. If you do anything even moderately complex in JavaScript you should look at Typescript. It eases a lot of the pain of using JavaScript.

    2. Re:Wait a minute... by TFlan91 · · Score: 1

      How?

    3. Re:Wait a minute... by Joce640k · · Score: 1

      JavaScript frameworks are being written in a language other than JavaScript?!

        *head explodes*

      Typescript is transformed into regular Javascript by a "compiler".

      --
      No sig today...
    4. Re:Wait a minute... by jellomizer · · Score: 1

      For some reason having a compile step in the process makes developers feel important.
      Snark aside, the biggest problem with Angular, Jquery... is that we often need to include or link to a large Javascript library, for most good designs only using less then 1% of the libraries features.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    5. Re:Wait a minute... by Joce640k · · Score: 1, Interesting

      By adding stronger typing to the language (hence the name "typescript") and better objects.

      Strong typing good. Mmmmmkay?

      --
      No sig today...
    6. Re:Wait a minute... by AlanObject · · Score: 1

      They call it a "transpiler."

    7. Re: Wait a minute... by Anonymous Coward · · Score: 1

      If you have experience with complex projects you know run-time errors are incredibly destructive. It's always best to keep as many potential errors in compile-time

    8. Re:Wait a minute... by AlanObject · · Score: 2

      I'm a fan. If you do anything even moderately complex in JavaScript you should look at Typescript. It eases a lot of the pain of using JavaScript.

      Count me in as a fan as well.

      I never really cared for programming in JavaScript myself although I did it because that was the job at hand.

      Then I started learning Angular, and learned Typescript by following the Angular lessons. Rarely did I have to go back to the Typescript reference page. And predictably enough my JavaScript skills improved because I was writing more of it to integrate JavaScript libraries into my Angular applications.

      What I learned really was that strong type checking is really really helpful when dealing with a lot of interfaces. The IDE (I use WebStorm) auto-completion and parameter/type checking in enormously more efficient than having to continually go back to documentation (or the original source code) for what you can't remember.

      At the same time they didn't give up the option of weak type checking for when that is a better way to write things. Win-win.

    9. Re:Wait a minute... by Anonymous Coward · · Score: 1

      There is something called rollup.
      It can take all your site's JS, put it into a single file, minimize it, and then it does "tree shaking" where it removes all the calls from those large libraries that are not used.
      Pretty easy, works pretty well.

    10. Re:Wait a minute... by UnknownSoldier · · Score: 2

      > It eases a lot of the pain of using JavaScript.

      How is debugging TypeScript? Do you have to wade through obfuscated JavaScript?

    11. Re:Wait a minute... by Wrath0fb0b · · Score: 4, Insightful

      Because it was easier to write a sane language and a transpiler than it is to fix the recursive dumpster fire that is JavaScript.

      That should really tell us something folks.

    12. Re: Wait a minute... by pchasco · · Score: 3, Interesting

      No. The typescript compiler generates map files for your .ts, so you debug typescript not JavaScript.

    13. Re:Wait a minute... by Crash+Dummy+Redux · · Score: 1

      I'm not the one suffering from acute penis envy.

    14. Re:Wait a minute... by UnknownSoldier · · Score: 1

      Considering JavaSchit was designed and implemented in 10 days and learning NOTHING from BASIC what do you expect?

      Run-time errors SUCK. Absolutely insane that you have to use this string literal HACK to turn on type safety:


      "use strict";

    15. Re:Wait a minute... by dbraden · · Score: 1

      Should have pretty good support. The IDEs like VSCode can use "source maps" that are generated automatically during the transpile process. These files map the generated javascript to the original source. I'm not a typescript/javascript developer but I think I got the gist of it right.

    16. Re:Wait a minute... by Joce640k · · Score: 1

      So the development cycle is now a three-step process?

      Great.

      --
      No sig today...
    17. Re: Wait a minute... by Joce640k · · Score: 1

      Yes, that's why I use C++.

      --
      No sig today...
    18. Re: Wait a minute... by timeOday · · Score: 1

      C++ attempts to implement typing, but since it doesn't impose enough rules to make guarantees about anything, it really can't be done. The thing on the other end of that pointer could be anything, or nothing.

    19. Re:Wait a minute... by nitehawk214 · · Score: 1

      I guess you are too young to remember linking in C.

      --
      I'm a good cook. I'm a fantastic eater. - Steven Brust
    20. Re:Wait a minute... by Crash+Dummy+Redux · · Score: 1

      I know Elon Musk made it fashionable to call people pedophiles for disagreeing with him. In your case, it's just proof that you can't win an argument.

    21. Re:Wait a minute... by grep+-v+'.*'+* · · Score: 1

      Typescript is basically JavaScript syntax with some extra type information tacked on.

      Oh!! So it's RATFOR (1976) for JavaScript. Why didn't you just say so?

      Hell, for that matter back in 80-ish I used a C compiler with 4 separate phases. Phase 1 was macro expansion only, the other 2 started compiling the code until the phase 4 produced linkable output. ... which you then had to link with the supporting libraries before you had something that could actually run.

      I don't like JavaScript, but I think I'll go look at TypeScript.

      --
      If the universe is someone's simulation -- does that mean the stars are just stuck pixels?
    22. Re:Wait a minute... by ceoyoyo · · Score: 1

      Code barista. I like it.

    23. Re:Wait a minute... by Crash+Dummy+Redux · · Score: 1

      sort of like you call people "sickos" and "sad" when we all know it's you chris you irritating fat failure

      What proof do you have that I'm Chris? You didn't know I existed until I commented on CaptainDork's article submission. Before me you were accusing CaptainDork of being not only Chris but also a 36-year-old woman inside a 72-year-old body. Before that it was... Joe_Dragon?

      who the fuck keeps modding this shitmoth up

      Proof that I'm not Chris. Think about that, asshole.

    24. Re:Wait a minute... by Crash+Dummy+Redux · · Score: 1

      Yup, he should. Have a good weekend and don't accuse anyone of being Chris.

    25. Re:Wait a minute... by HornWumpus · · Score: 1

      Yes.

      We will ship no code, until it compiles _and_ links. Then we zip up the source (for 'source control'), ship and go to the nudie bar for two weeks.

      Debugging is for the end users. It's all their fault anyhow, we hate them.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    26. Re:Wait a minute... by fsck! · · Score: 1

      Transpiled doesn't necessarily mean obfuscated. The output of the typescript compiler is almost identical to the input, but with the type annotations removed. It also includes inline sourcemaps so your stack traces continue to be readable. Honestly, it's not a problem.

  2. Too bad by Luthair · · Score: 1

    about that syntax though. death to postfix types, I don't care if its easier for you to parse it, the point of higher level languages is to make it easier for humans not the computer.

    1. Re:Too bad by Anonymous Coward · · Score: 1

      Let's call it LCF: Language Construction Format (or Large ClusterFuck.)

    2. Re:Too bad by ceoyoyo · · Score: 1

      I thought they called that C++. Every C++ program I've ever seen looks like someone started by specifying their own language.

  3. Typescript has restored my job satisfaction by sobachatina · · Score: 4, Interesting

    I moved from C++ to javascript as part of a very advantageous job change.

    Unfortunately javascript shortly made me loathe coming to work.

    We ported all our code to TypeScript and I get to feel like a real programmer again.
    Strict typing is a beautiful thing. Refactoring and compile time bugs instead of runtime disasters.

    1. Re:Typescript has restored my job satisfaction by Anonymous Coward · · Score: 5, Insightful

      Amen.

      Right now I am programming in Python and, coming from a Java and C background... all I can say is that Python is the new Perl.
      You have to be a certain age to really get that comment.

      Types, do you UNDERSTAND them, motherfucker!

      Javascript is a disaster like all weakly typed languages, but Typescript is a miracle that may rescue web development. Absolutely beautiful work, brought to you by Anders Hejlsberg, the man who also created Turbo Pascal, Delphi, and Objective C. In other words, a man who has experience and proven results creating practical and elegant languages. Not made by some guy over a weekend.

    2. Re:Typescript has restored my job satisfaction by jellomizer · · Score: 1

      I don't get the point of this language hate.
      It is about using a language that suits the needs for the development project.
      JavaScript is a Scripting Language. Don't expect Strict Typing, If you like this sort of thing, be disciplined enough to strictly type the use of you code.
      so

      var intX = 0
      var strY = ""

      In terms of compile time bugs, vs run time disasters, there a numerous tools that will validate your code.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    3. Re:Typescript has restored my job satisfaction by lgw · · Score: 4, Insightful

      var intX = 0
      var strY = ""

      Sure, and everyone can have their own syntax for this, and not have their IDE warn them when they forget. Or, you know, it can be part of the language, making it a standard for all, including the IDE, and removing the need for the Hungarian notation clutter everywhere.

      In terms of compile time bugs, vs run time disasters, there a numerous tools that will validate your code.

      Yes, and a popular one is Typescript.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    4. Re:Typescript has restored my job satisfaction by PPH · · Score: 5, Funny

      there a numerous tools that will validate your code

      Stop calling our users tools.

      --
      Have gnu, will travel.
    5. Re:Typescript has restored my job satisfaction by Anonymous Coward · · Score: 1

      When you are accustomed to strict typing, you rely on it, and miss it when it is gone.

      When you are accustomed to weak typing, you develop a coding mindset for it, so you can naturally keeps the bugs under control. Once you have such a mindset, being forced into a strict typing environment feels needlessly constraining.

      So I would expect this is just another situation where some people love it, some hate it, and both feel completely justified in their position.

      About a decade ago when I tried to get into Javascript, I hated it, mostly because of the browser inconsistencies and inescapable need for third party frameworks to bridge that gap. I tried it again last year and found it to be 100% improved, and coding in it actually felt like a breath of fresh air. Then we moved to typescript and it just made everything feel weird.

    6. Re:Typescript has restored my job satisfaction by raftpeople · · Score: 2, Interesting

      Python is a strongly typed language, so yes, it understands types just like Java. Maybe you are really referring to dynamic vs static?

    7. Re:Typescript has restored my job satisfaction by flargleblarg · · Score: 1

      Hey! I'm a tool, you insensitive clod!

    8. Re: Typescript has restored my job satisfaction by Anonymous Coward · · Score: 1

      No, it does not understand types just like Java.

      Keep telling yourself that a language that lets you pass literally anything into a method and also lets you return literally anything is strongly typed.

      This is the most BASIC feature of a typed language!

    9. Re:Typescript has restored my job satisfaction by ceoyoyo · · Score: 2

      That would be fine, if JavaScript were *used* as a scripting language. Back in the old days, when you just wanted to make a button on your web page change colours or something, cool.

      Problem is, Javascript today is used as a programming language, to write real (sizeable) programs that incorporate a decent amount of their own logic.

    10. Re: Typescript has restored my job satisfaction by Waffle+Iron · · Score: 2

      Keep telling yourself that a language that lets you pass literally anything into a method and also lets you return literally anything is strongly typed.

      Python knows exactly what types you're passing. Python is a strongly typed language, unlike, for example, C. If you pass "NULL" to a C function that expects a buffer, you're likely to get a runtime crash and/or security exploit. If you pass "None" to a similar Python routine, the Python interpreter will throw an appropriate exception instead.

      Language typing has two different orthogonal concepts: strong vs. weak, and static vs dynamic. Dynamic/static determines whether variables are supposed to hold a certain type, and strong/weak determines whether the language itself knows (or ensures) what type any given value has. C has static, and rather weak typing; Python has dynamic, strong typing. Other examples of different combinations are Rust, with static, strong typing, and Forth, with dynamic, weak typing.

      BTW, if you feel that you are unable to master the expressiveness that comes with Python's dynamic typing, you can run pylint to get compiler-like type handholding.

    11. Re: Typescript has restored my job satisfaction by phantomfive · · Score: 2

      Python knows exactly what types you're passing. Python is a strongly typed language, unlike, for example, C. If you pass "NULL" to a C function that expects a buffer, you're likely to get a runtime crash and/or security exploit. If you pass "None" to a similar Python routine, the Python interpreter will throw an appropriate exception instead.

      This is sophistry attempting to cover up the weakness of the Python type system. And by weakness, I mean the lousiness of it. English polymorphism, fuckers.

      --
      "First they came for the slanderers and i said nothing."
    12. Re: Typescript has restored my job satisfaction by Waffle+Iron · · Score: 1

      Enjoy your buffer overruns.

    13. Re: Typescript has restored my job satisfaction by phantomfive · · Score: 1

      Oh, now there's some kind of false dichotomy. Any other logical fallacy you'd like to add to the list?

      --
      "First they came for the slanderers and i said nothing."
    14. Re: Typescript has restored my job satisfaction by Waffle+Iron · · Score: 1

      Yeah, using some moronic allusion to "English polymorphism" to try to weasel out of the standard definition of strong vs weak typing.

    15. Re: Typescript has restored my job satisfaction by null+etc. · · Score: 1

      This is sophistry attempting to cover up the weakness of the Python type system.

      His argument seems far stronger than yours.

    16. Re:Typescript has restored my job satisfaction by null+etc. · · Score: 1

      I don't get the point of this language hate.

      Nerds have to rant about something, right?

      Personally, I prefer to rant about how stupid Google product managers are. Some people, however, go apoplectic when they see any dynamically typed language. And by then, golly gosh, comes the points about how JavaScript is associated with the web, and all its brokenness, and somehow, that means that anyone who programs in JavaScript is just a hipster trying to pretend to be a professional programmer. And of course, let's not forget to bring up the point that JavaScript was created in 10 days (OMG, wasn't Git created in 10 days?), and there are some quirky side effects (e.g. 0.1 + 0.2 !== 0.3) you can use to prove that JavaScript is absolutely a brain-dead language.

      Me? I program in about 20 different languages, and program mostly in JavaScript during my day job. That makes me a wannabe programmer.

    17. Re: Typescript has restored my job satisfaction by phantomfive · · Score: 1

      Except Python isn't strongly typed, it uses duck typing.

      --
      "First they came for the slanderers and i said nothing."
    18. Re:Typescript has restored my job satisfaction by ras · · Score: 1

      Python has it's own version of Typescript. It's called Python 3.6. In other words, since 3.6 Python has included the syntax for static type checking as part of the language. It doesn't actually check the types mind you, a separate tool does that: mypi. Still, it's a definite improvement on needing a separate language which is the situation Javascript finds itself in for now.

      Much as it pains me to say this, the language that has retrofitted types the best is PHP. If the types are present it does check them. In fact PHP has undergone quite the makeover. The makeover can't hide decades of truly appalling design decisions so it will always remain a clusterfuck, but nonetheless it shows what a team of very bright and well funded software engineers can do, even when given a train wreck as a starting point.

  4. Microsoft: A Fart in a Skillet by Anonymous Coward · · Score: 1

    Is Microsoft even looking at long-term TypeScript development when they seem to be taking a parallel route with Blazor/WebAssembly? What's the future of .Net Framework with Core and Standard making things super confusing? What's the future of Windows as a development environment with them salivating over the mobile userbase? They've been demoting all their traditional host-your-own products and pushing people into Azure Cloud. As an employee who works behind a firewall and relies on self-hosted products and offline installers, this is one hell of a ride. Is anything they make not in some sort of major pivotal state of instability?

    1. Re:Microsoft: A Fart in a Skillet by avandesande · · Score: 1

      For a stronger, bassier sound use a sauce pot.

      --
      love is just extroverted narcissism
  5. Misleading article by idontusenumbers · · Score: 2

    I suspect the main reason they measure github projects and stackoverflow questions isn't because they think those are good ways to measure, it's because it's the only publicly available information they have access to.

    Swift's rise in popularity isn't due to Swift being a good language, it's due to 1) Apple killing ObjectiveC 2) ObjectiveC being so backwards

    1. Re:Misleading article by phantomfive · · Score: 1

      The weakness of Objective C is that it has the baggage of C still hanging around.
      The weakness of Swift is that it has the baggage of Objective C and C still hanging around.

      --
      "First they came for the slanderers and i said nothing."
  6. TypeScript is still crap by djbckr · · Score: 3, Interesting

    Lately our team has moved to TypeScript from Java to write server-side services. Now, Java is not the best thing in the world admittedly, but it's head and shoulders better than JavaScript. I think typescript is just a hack to make javascript a bit more palatable than straight JS. I think of "lipstick on a pig", but really typescript is just a really bad makeup job on a dead rotten pig.

    1. Re:TypeScript is still crap by Anonymous Coward · · Score: 4, Insightful

      The real failure here is a scripting language designed for web browsers being used for back end services. DON'T DO STUPID SHIT!

      If you want to use a scripting language on the back end, that's fine, but use a scripting language designed for back end work.

      TypeScript is imperfect, but leaps and bounds ahead of plain of JavaScript for front end work

    2. Re:TypeScript is still crap by phantomfive · · Score: 1

      Javascript would be acceptable for the backend, and Node is very pleasant in a lot of ways......if it weren't for the whole hyper-attention-starved ecosystem of programmers that it imports with it. I swear Node programmers wake up in the morning thinking, "I haven't broken anything this week.....my life is incomplete. What can I do today to make phantomfive suffer?"

      --
      "First they came for the slanderers and i said nothing."
  7. Javascript compilers! by Anonymous Coward · · Score: 1

    Between Typescript and Grunt, I've learned to loathe JS compilers (and I already hated NodeJS). If you *need* a compiler for Javascript, then you are doing language design wrong: Fix the language, don't write a compiler for it! A compiler in the develop-test lifecycle dramatically extends the development cycle and, in web dev work, that just slows everything down. Good for job security but not much else. I can and do build bug-free JS solutions in...Javascript!

    Typescript was a dead horse at the starting gate. So was grunt. Please stop beating the dead horses and bury them already.

  8. That's an overstatement by goose-incarnated · · Score: 1

    "Quiet"?

    --
    I'm a minority race. Save your vitriol for white people.
  9. Re:TypeScript is a subset of JavaScript by chispito · · Score: 1

    So is it ok to call it a new language?

    It is a superset.

    --
    The Daddy casts sleep on the Baby. The Baby resists!
  10. Re:lots of standard js hatred here by nitehawk214 · · Score: 1

    You can hate something AND make money off of it.

    --
    I'm a good cook. I'm a fantastic eater. - Steven Brust
  11. Re:I just don't get it by HornWumpus · · Score: 1

    Languages are _easy_, libraries are hard.

    But language features (or their lack) have huge consequences in the library.

    Everybody has to 'touch Javascript', if only to block 'big old steaming piles' of it. It sucks and everybody knows it. But until recently, it was the only game in the browser.

    Then you have the 'it's a pigfuck, but it's our pigfuck' people. They actually use JS on the server, just madness. In their defense, most don't know any other languages.

    Bluntly, it's kids reinventing _all_ the bad ideas again. e.g. lockless databases, just run all updates through a single thread...that will work. (/sarc) That's a few person decades of work that the kids could have saved with a few person hours in the library.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  12. 20 years in the making.. by AndrewFlagg · · Score: 2

    @Microsoft @JavaScriptDaily been programming in Javascript for 20 years and they finally come up with TypeScript -- of all things... when I was at Microsoft I told them that back in 1995-1997, they finally agreed in 2017... https://twitter.com/Reno89512/...

  13. Re:Wait a minute... C# vs Borland C by AndrewFlagg · · Score: 1

    times change -- still love in parallel my Fortran 77 and COBOL in parallel then Borland C in comparison... I had to shelve... CP/M and my trusty HP41-CX.. still have and use my HP41-CX w/that matrix module.. batteries still exist.

  14. Microsoft TypeScript most popular says Microsoft by najajomo · · Score: 1

    Microsoft .. TypeScript .. one of the most popular languages among developers, at least according to a report published by the analyst firm RedMonk this week.”

    Yet another free advert on slashdot for the MICROS~1 organization.

  15. Re:Be Careful by dwpro · · Score: 1

    It's open source, fork it. This sounds like old school MS fud

    --
    Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
  16. Instant Language Builder [Re:Too bad] by Tablizer · · Score: 1

    check a bunch of boxes for common language conventions and then automatically build a compile

    That idea was pondered at C2: http://wiki.c2.com/?InstantLan...