×
all 123 comments

[–]Glasgesicht 186 points187 points  (12 children)

People fighting over whether TS is a programming language or not, meanwhile I'm just enjoying seeing Adblock Filter List as #57 most popular language.

[–]hanotak 33 points34 points  (6 children)

Is Adblock Filter List turing complete?

[–]Protean_Protein 60 points61 points  (0 children)

God, I hope so, because the ads sure are.

[–]stdmemswap[🍰] 12 points13 points  (0 children)

Can't wait for someone to implement flappy bird on Adblock Filter List! Or run Doom!

[–]Klutzy_Ad4023 -1 points0 points  (3 children)

About to go as GPT what Turing complete means because I have seen this word 5 times in the past day

[–]hanotak 4 points5 points  (2 children)

Basically, it means a language which can be used to implement any arbitrary program that operates on some input and produces some output.

For example, HTML, CSS, and JSON are languages that are not Turing complete, because they only describe the state of a system, but cannot modify it.

General purpose programming languages are Turing complete, because they can arbitrarily change the state of the system.

Less trivially, languages which cannot describe non-finite actions in a finite amount of code are also not turing complete- for example, BlooP, which is a language where infinite loops are not allowed. Therefore, actions requiring infinite loops cannot be performed, and the language is not Turing-complete.

[–]roundysquareblock -1 points0 points  (0 children)

Just an addendum: HTML5 + CSS3 + human interaction (to click around) is Turing-complete!

[–]bluearrowil 0 points1 point  (0 children)

Better than chatgpt explanation right here folks

[–]stdmemswap[🍰] 9 points10 points  (0 children)

Not to mention that it ranks higher than rich text format lol

[–][deleted] 1 point2 points  (0 children)

Of course it’s a programming language

[–]nyteschayde 0 points1 point  (2 children)

Oh it’s a programming language, just not the best way to learn JavaScript

[–]Glasgesicht 1 point2 points  (1 child)

I found most criticism of TypeScript to be valid, as long as people know what they're talking about. And especially beginners are often having a bit of a problem realising that all their carefully set up types are completely meaningless at runtime, especially when using APIs and user input.

But saying that TS isn't a programming language on the virtue that it can't be run and has a compile step in between is pretty stupid (but an argument you'll find within the other comments)

[–]nyteschayde 2 points3 points  (0 children)

There is no question. I’ve been using JavaScript professionally since before GMail came out, back when it Netscape and IE 3, 4, and 5 were popular. I regularly play with things like Reflect, Proxy and Symbol and anything else I can with advanced JavaScript.

TypeScript is definitely a language. It’s just JavaScript with training wheels on it. A lot of modern TS/JS programmers can’t articulate the difference between big arrow functions and regular functions, and no, it’s not just syntactic sugar. Not anymore.

But TS serves two purposes:

  1. It’s a gateway language for those who only know typed languages. It makes them feel safe.

  2. It prevents larger organizations from having to ensure that their JS engineers know JavaScript well enough not to hurt themselves.

And a lot of the misinformed modern JavaScript rules are not only enforced by TS but also by eslint and others.

In plain vanilla JavaScript you could have some code like

``` let ticker = { value: 0, up() { this.value += 1 }, [Symbol.toPrimitive](hint) { return this.value }, }

ticker.up() if (ticker == 1) { console.log(‘it worked!’) } ```

However in most modern JavaScript this isn’t allowed by multiple rules systems because they’ll insist you use ===. Why? Because == may cause unexpected conversion. This is a non issue in most places but can bite a junior dev on the back side.

You shouldn’t disallow a feature of a language because some folks can’t be bothered to learn the language.

All this being said there are occasional things about TS I find good, but not usually at the draconian levels set by most companies.

[–]FistBus2786 56 points57 points  (3 children)

Just glad to see my favorite programming language HTML is on the list at top 11.

[–][deleted] 2 points3 points  (0 children)

Bro you missing out bro, nothing like coding in html

[–]anengineerandacat 1 point2 points  (0 children)

Technically speaking with CSS I believe there was a proof it was... someone just has to click an input box to trigger the event cascade to kick everything off.

[–]Spleeeee 1 point2 points  (0 children)

You should really migrate to htmx. HTML is so passé these days.

[–]zynix 13 points14 points  (2 children)

I've found TS to be a lot of fun to work with when using a good IDE to help enforce the rules and also run tslint/eslint in the background to catch my mistakes.

With some tests to back it up, I imagine a Type Script project is pretty resilient.

One downside I noticed with TS is that you can make some pretty gnarly new types with generics/extends. Though that might also be a plus depending on what needs to be done.

[–]3tt07kjt 3 points4 points  (0 children)

I think a lot of the gnarly types in TS are there to provide type annotations to existing usage of JS. Maybe you’d use them less often in a greenfield TS project. JS is kind of the wild west.

[–]3tt07kjt 0 points1 point  (0 children)

I think a lot of the gnarly types in TS are there to provide type annotations to existing usage of JS. Maybe you’d use them less often in a greenfield TS project. JS is kind of the wild west.

[–]beforesemicolon 8 points9 points  (0 children)

Glad that HTML and CSS made the list with a bunch of other nonsense lol

[–]Darkstar197 7 points8 points  (1 child)

Social media mentions is a dumb way of measuring popularity of a programming language.

[–]Splith 0 points1 point  (0 children)

Probably JavaScript developers begging for their type safety back!

[–]akedalat 26 points27 points  (8 children)

"by social mentions"
Doesn't this indicate that it's confusing and people keep asking questions about it?

[–]kookyabird 14 points15 points  (3 children)

Really any measure of popularity is flawed in some serious way. “90% of the Internet is PHP!” Not because people are using PHP directly… Wordpress! “Java has the most questions on SO, therefore it must be used by the most people!” Or people struggle with it. Or there are tons of duplicate questions because newbies pick it up in school and don’t bother looking for answers.

And my favorite, “____ has the most articles/blog posts/videos about it!” Yeeeeah and how many of those are just AI quality regurgitations of the documentation, or other peoples posts, or highly fragmented posts about a single topic that should have been just one good sized article instead of 10 micro-blogs because the “creator” wanted to manipulate engagement and ad revenue?

It’s all a fucking joke when trying to determine popularity at such a huge scale. Unless you could ask every developer in the world what their favorite (not one they’re forced to use at their job) programming language is you’re never going to have an accurate list.

[–]Expensive-Market-605 2 points3 points  (2 children)

Unless you could ask every developer in the world what their favorite...

Maybe this is useful https://survey.stackoverflow.co/2023#technology-admired-and-desired

[–]trophicmist0 0 points1 point  (1 child)

Thing is, that's inherently bias to users of Stack Overflow too lol. Further proving their point :/

[–]drumstix42 0 points1 point  (0 children)

Flawed but at least it's a direct questions and answers, vs just "social mentions". That seems incredibly vague.

[–]lightmatter501 9 points10 points  (0 children)

Or that there are lots of people having heated debates about it on twitter.

[–]sysrage 5 points6 points  (1 child)

Absolutely. At least 30% of Python mentions are “Python sucks”…

[–]brunolm 1 point2 points  (0 children)

Are you sure that's how it works? I'm surprised Rust is not #1

[–]MKorostoff 0 points1 point  (0 children)

this is like that dumbass viral story from a while back "taylor swift's cat has a net worth of $97 million!" (the cat got some likes on instagram, and they "valued" each like to arrive at a pretend brand value, not a net worth).

[–][deleted] 4 points5 points  (0 children)

"social mentions" lol what? that's such a useless metric

https://redmonk.com/sogrady/2023/05/16/language-rankings-1-23/

[–]2017macbookpro 6 points7 points  (10 children)

Everybody I’ve ever seen hating on JS/TS was either an arrogant college student, or someone ass who clearly never worked on a production system. Every language has its place and anyone who shits on a language for being “bad” is a moron.

[–]stdmemswap[🍰] 2 points3 points  (0 children)

Fun thing is to ask them how (not why) is it bad

[–]genghisKonczie 0 points1 point  (6 children)

People hating on JS are like “if I write bad code and don’t understand what the language does, it’s bad!”

[–][deleted] 2 points3 points  (3 children)

Wowwowoow, JS does deserve the hate specially the old JS. Thar shit was garbage

[–]genghisKonczie 0 points1 point  (2 children)

Idk people are just like “if I add a string to a number it does weird stuff” like they wouldn’t cast it in any other language

[–][deleted] 1 point2 points  (1 child)

Whaaatt? that’s not the issue at all. Maybe for a beginner but old js has a shit to of issues and also a shit ton of weird coercion problems. Not to mention how nightmarish it becomes when the project gets large. Also prototypal inheritance sucks big time. Fortunately things have gotten better. The lack of types sucks, types make life so much better.

[–]steftim 0 points1 point  (0 children)

I’m still a student but from what I’ve used of older JS (the school servers required it), nested promises and queries was such a hair pulling mess. Modern JS is a saint in comparison, and TS is like the second coming of christ.

[–]randomusername0582 -1 points0 points  (0 children)

It's a bad language for professional software. Typescript is significantly better and more "self documenting"

It's like Python. It's fine for small stuff, but terrible for large scale projects due to its lack of explicit typing

[–]LukeLC 0 points1 point  (0 children)

This. In 2023, the language should be smart enough to know my intent. That's a step forward from the programmer wasting time on manually handling obvious cases--or worse, not handling them at all and making it someone else's responsibility.

It's not that hard to learn a language's implicit behaviors and design to them.

[–][deleted] 0 points1 point  (0 children)

Yeah, bunch of pussy ass bitches.

[–]gahel_music 0 points1 point  (0 children)

I see you haven't used matlab

[–]timeparser 2 points3 points  (3 children)

Is "by social mention" a good measure of what is the most popular programming language? I would have expected it to be based on how many people use this programming language in the first place.

If lots of people talk about Rust, does that mean lots of people use it?

[–][deleted] 0 points1 point  (2 children)

There is no way rust is as talked about as typescript. Why would people casually mention a systems programming language?

[–]timeparser 0 points1 point  (1 child)

It was a theoretical question example... I'm not comparing it to TypeScript

Anecdotally, I have experienced a surge of the "rewrite in Rust so that it's faster" as a widespread cultural phenomenon in the JavaScript / Web tooling ecosystem. It is not an idea that is exclusive to Rust developers as the sentiment stems from devs frustration with the current tooling landscape.

I am not a Rust developer, but we're talking about Rust, for example.

[–][deleted] 0 points1 point  (0 children)

Rewrite it in rust so it runs faster. Unless they are working at fang. Those optimizations won’t do much. Better to focus on other things

[–]xng 2 points3 points  (0 children)

Javascript reigns so supreme that they split it into with and without type hints

[–]rackmountme 2 points3 points  (2 children)

Pfffff. It's not a language. It's syntactical sugar that wraps the actual JavaScript code.

[–]VoldemortsHorcrux 1 point2 points  (1 child)

Vue is also on the list so...

[–]rackmountme 0 points1 point  (0 children)

Lmao, so is HTML now that I actually looked at it.

[–]du-dx 5 points6 points  (3 children)

I want to write JS, and the libraries I use to be written in TS.

[–]spacechimp 14 points15 points  (0 children)

"Rules for thee but not for me?"

[–][deleted]  (1 child)

[deleted]

    [–]juliob45 8 points9 points  (0 children)

    More like I want all my victims to be virgins while I got HIV

    [–][deleted]  (2 children)

    [removed]

      [–]ducklingkwak 0 points1 point  (1 child)

      What do you use, vanillajs?

      [–]WizardOfAngmar 3 points4 points  (10 children)

      I would rather stick with TIOBE index, instead of relying on social media mentions.

      Best!

      [–][deleted] 1 point2 points  (8 children)

      TIOBE is famously inaccurate and contradicts all other metrics. You've chosen the most controversial source of "popular languages." StackOverflow surveys, Octoverse, and RedMonk get pretty close to one another. TIOBE is way out of the park. It is not, "Best!"

      [–]pfmiller0 1 point2 points  (1 child)

      But at least it doesn't think html, rich text format, and markdown are programming languages.

      [–][deleted] 4 points5 points  (0 children)

      I honestly don't think there is a less important semantic to care about.

      [–]WizardOfAngmar 0 points1 point  (5 children)

      I think you misread my message. "Best!" stays for "Best Regards", I'm not claiming that TIOBE index is the best way to measure this metric, in fact you want to get all the package (Octoverse, StackOverflow, etc.) and average it out. In any case, any of these would be better than relying on "social mentions".

      Best!

      [–][deleted] -1 points0 points  (4 children)

      Alright, but "averaging it out" is not smart either. You should really just avoid TIOBE and assume whatever it says it's wrong.

      [–]WizardOfAngmar -2 points-1 points  (3 children)

      It is actually correct to average these out, since everyone of these indexes means absolutely nothing in practice. They're just numbers without a context, mere statistics collected and displayed.

      Always take them with a pinch of salt,

      Best!

      [–][deleted] -1 points0 points  (2 children)

      If three sources agree, and one source is way off. Averaging them out just makes the 3 less accurate.

      [–]WizardOfAngmar 1 point2 points  (1 child)

      Looking at top five:

      • TIOBE: Python, C, C++, Java, C#;
      • Redmonk: JavaScript, Python, Java, C#, PHP;
      • Octoverse (2022): JavaScript, Python, Java, TypeScript, C#;
      • StackOverflow: JavaScript, Python, SQL, TypeScript, Bash/Shell (intentionally removed HTML/CSS from 2nd place, since markup);

      so let's look at first Python position, shall we? It averages out as 1.75 but since we've to round it up (1.75 doesn't make sense since ranking is expressed through positive integers), we get (unsurprisingly) a 2. You can argue that since JavaScript is 6th place on TIOBE index, averaging that out will make it worse since it get a 3rd overall position. But the same argument applies to StackOverflow when rating C# and Java for example.

      That's why you've to look at all of them and go language by language. If you prefer, you can discard the highest and lowest position and keep the rest to have more precise outcome. Still you cannot discard one or the other out of the blue, unless you're doing it because of your personal taste, which is fine but it's biased.

      So, just to get back in topic, TypeScript is still far away from being more popular than JavaScript. Unless you want to believe some random rankings on the Internet.

      Best!

      [–][deleted] -1 points0 points  (0 children)

      I'm not reading this, you're trying way too hard. Take off your fedora, and go outside.

      [–][deleted] 0 points1 point  (0 children)

      Nah bro face post for the W

      [–]TheAmphetamineDream 3 points4 points  (2 children)

      I like TypeScript but this absolutely bullshit lol. The vast majority of job listings are still JavaScript. There’s zero way it surpassed JS.

      [–]avoere 6 points7 points  (0 children)

      Not where I live. Even if a job mentions JS, it's going to actually be TS.

      [–][deleted] 0 points1 point  (0 children)

      Well fortunately you can introduce typescript to js projects i mean

      [–]DIzlexic 0 points1 point  (2 children)

      but it's still javascript...?

      [–]trophicmist0 0 points1 point  (0 children)

      It's a typed superset of js yeah, the difference (I'd argue) is enough to include it separately.

      [–]dlampach 0 points1 point  (0 children)

      IMO it’s still JavaScript. It just is.

      [–]Marrk -1 points0 points  (1 child)

      Suck it JSDoc guys.

      Joking, of course. I still use JSDoc sometimes on top of typescript.

      [–]ChimpScanner 1 point2 points  (0 children)

      I use JSdoc for documentation, not types.

      [–]The_Shryk 0 points1 point  (0 children)

      OOP can’t be defeated. Confirmed

      [–]Zipz 0 points1 point  (0 children)

      Anyone know a place where I could get a crash course on TS. I’ve been thinking about learning something new

      [–]intertubeluber 0 points1 point  (0 children)

      The conclusion isn't that typescript isn't more popular than javascript, it's that "social mentions" isn't how you measure language popularity.

      [–]LastOfTheMohawkians 0 points1 point  (0 children)

      TIL python is still used in university courses

      [–]ajpiko 0 points1 point  (0 children)

      Typescript is crazy man it like, started as a way to just add some nice lil types to javascript and then it became an experiment in if whether or not we could type everything. Like imagine willitblend but willittype

      [–]Effective_Vanilla_32 0 points1 point  (0 children)

      the deranged dhh just trashed typescript. his ruby is the 15th place

      [–]IronBlossom 0 points1 point  (0 children)

      I always question about this kind of indexing. For the past 11 years I have checked tiobe index and there typescript is at number 40 https://www.tiobe.com/tiobe-index/

      [–]Puzzleheaded-Bus6626 0 points1 point  (1 child)

      TS IS JS.

      TS doesn't get published to production. It creates the JS that goes to production.

      Saying TS is a language is like saying CSS SAAS, Less, Stylus are programing languages.

      [–]incunabula001 0 points1 point  (0 children)

      Thing is that Sass/SCSS is kind of like a programming language for stylesheets.