Programming Languages Tier List 2024

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 130

  • @TebaremCoding
    @TebaremCoding 2 місяці тому +69

    change your smoke detector batteries please

    • @TheOnlySaneAmerican
      @TheOnlySaneAmerican 27 днів тому +2

      Yeah, especially since he isn't black.

    • @FreakyNasser
      @FreakyNasser 21 день тому +1

      عنصرية

    • @0o29k2
      @0o29k2 5 днів тому +2

      @@TheOnlySaneAmerican that was just cringe

  • @bity-bite
    @bity-bite Місяць тому +21

    Finally, someone who is not living under a rock and doesn't think C# is as bad as Java is

  • @enerjiCS
    @enerjiCS 2 місяці тому +31

    c++ below Lua is insane lol

    • @mathletedev
      @mathletedev  2 місяці тому +5

      😂 C++ is awesome but I'm not a huge fan of OOP in general lolol

    • @deshraj-tiwari
      @deshraj-tiwari 2 місяці тому +10

      C++ is basically Rust--
      AND
      Lua is used to configure the greatest editor on this planet.
      I agree with him 👍

    • @dtar380
      @dtar380 Місяць тому +2

      @@deshraj-tiwari Nah, C++ lets you burn your PC to ashes, you can not do that with rust, thats the whole point of rust, which in my opinion makes it unfunny, because wheres the excitement if you dont know if the next line will make your PC explode

    • @UnVFunLimited
      @UnVFunLimited 10 днів тому

      Actually Rust is a wannabe C++ which it will never be able to

    • @Super-qr7wm
      @Super-qr7wm 5 днів тому

      @@UnVFunLimited tbf if it didnt try to be so different in some aspects it would be a good c++ variant

  • @katungiyassin9947
    @katungiyassin9947 3 дні тому +1

    The moment he put Go in S-tier I new this is the best tier least.

  • @MaxJM711
    @MaxJM711 2 місяці тому +3

    I actually found myself agreeing with the tierlist for like 90% of reasons. I wouldn't put Java so low though, but I don't blame you for having trauma with it after using it for robotics, that just sounds stupidly cumbersome/overkill lmao

  • @terencewlc
    @terencewlc 4 дні тому +4

    Java is F totally agree 👍
    Gleam should be S tier, the OTP is insane...

    • @mathletedev
      @mathletedev  4 дні тому +2

      I think Gleam is still a little young, since its standard library is missing some key utils. Appreciate the comment!

    • @katungiyassin9947
      @katungiyassin9947 3 дні тому

      ​@@mathletedevtotally agree

  • @SkegAudio
    @SkegAudio Місяць тому +1

    any chance you might share your nix/os theme/font?
    based ranking btw :)
    rust was my first lang back in 2018. (it's still my #1 lang btw) And even though I am an AI eng, I would say that rust has helped me tremendously in being (memory) safety conscious with other system languages.

    • @mathletedev
      @mathletedev  Місяць тому

      Sweet dude! All my configs are at github.com/mathletedev/nix-home; you can check out my NixOS stuff there. The theme I'm using is called "Cappuccin", they have a GitHub with a lot of cool stuff.

  • @blzrL
    @blzrL 2 місяці тому

    based ass tier list, i agree big time!
    And fellow based neovim lua lover, hell yeah! And is that neovide!?
    But damn wasn't expecting to see a setup so similar, other than Xorg and DWM, AND such an accurate tier list, subbed!

  • @enissayalt1692
    @enissayalt1692 Місяць тому +4

    If java is similar to C++ in terms of OOP and you don't like object oriented nature we can say you put java in F because it's java and C++ in A because it's C++ lmao

    • @mathletedev
      @mathletedev  Місяць тому +1

      Good point; I put C++ at A since it's still reminiscent of C, and I might also be biased since C++ was my competitive programming language. Other than that, I find it more fun to write C++ than Java, but that's just a preference.

  • @roccociccone597
    @roccociccone597 Місяць тому

    At work we had to migrate some python services to something faster as python was the bottleneck. We considered c#, go and rust but ended up going with Go. I had worked with all three of these languages but Go felt like the best choice. A year later we have not regretted our decision to pick Go

  • @mathletedev
    @mathletedev  2 місяці тому +6

    Sorry I haven't been posting lately! I'm really busy, but I thought this would be a fun video to make in the midst of college apps season. Hope y'all enjoy!

  • @emonadeo
    @emonadeo Місяць тому +1

    I see Lua ranked so highly in a lot of these tier list videos and I just don't understand why. It is so frustrating to work in because the editor tooling isn't that great so I have to endlessly dig through readmes to know what functions of a library take what arguments. It's the same reason why I dislike Python and JS so much. 3rd party functions that behave different depending on if you input strings, integers, tables or arrays. What does it do and return? Does it error? What am I missing here? Please someone explain, it makes me feel so stupid ;-;

    • @mathletedev
      @mathletedev  Місяць тому +2

      I like Lua party because of Neovim bias 😂 but also because it's just a simple language. The reason software (like Neovim, Redis, game engines) embed Lua is because it has super minimal syntax and features. Lua isn't designed to build massive projects, it's a quick and simple solution for allowing customisation, and it really excels in its field. It's the same reason I put Go really high; a "niche" language that spikes in a single use case. Thanks for the question!

    • @_start
      @_start Місяць тому

      it is fully embeddable, there are no vm managed languages that achieve this, this in turn means writing native code or bindings is a breeze, additionally embedding it directly into your C/C++ application is also very easy. Lua provides coroutines, if you look at the implementation you will see there are no faster alternatives to their implementation, this is all insanely good for interpreted language. Also Lua has a jit implementation which is the fastest there is and the most minimalistic, sometimes keeping the codebase simple really pays off and the proof is in whole gaming industry using it especially popular software such as text editors, terminals, multimedia players, etc... Also interpreted languages or jited languages that are executed by a virtual machine do not have types, their values do, this is why we call them dynamically typed, make no mistake Typescript is Javascript with linter on top of it. My recommendation for compiled language would always be C, all of the usefull code is written in it and it is the only language with fully stable ABI.

  • @SilasDuarte-e9k
    @SilasDuarte-e9k 2 місяці тому +8

    C# its great, but Visual Studio being Windows-only, forces you to pay for something like Rider if you are using MacOS or Linux. Go is a simple language that you can write without the advanced features of an IDE and outperforms C# and Java in some situations, it creates single-file statically linked binaries by default. So, there is not reason to use Java or C# if you're not currently getting paid for it.

    • @mathletedev
      @mathletedev  2 місяці тому +1

      I 100% agree! This is a personal tier list, and I wouldn't have put C# that high had I not used it as an intern. I spent a summer building a web server with C# professionally, so I'm looking at it with rose-tinted glasses 😂

    • @paca3107
      @paca3107 Місяць тому

      c# is pretty nice, but golang stole my heart. imo go its the best choice for backend stuff.

    • @andrry_armor
      @andrry_armor Місяць тому +2

      You can use Visual Studio Code for Mac, but I actually use VS code on Windows, too

    • @mathletedev
      @mathletedev  Місяць тому

      ​@@andrry_armorI think Silas is talking about Visual Studio the IDE, not VSCode the editor. Visual Studio is Windows-only 👍

    • @roccociccone597
      @roccociccone597 Місяць тому

      I wouldn't use VS nor VS Code if they paid me to. Both are awful but VS is the worst thing I've had the displeasure of working with, mainly because it meant using Windows for development, which is horrendous.

  • @u9vata
    @u9vata Місяць тому +7

    Rust is like B-tier for me... I had high hopes but not only its a cult, but it is much less useful than people claim...

    • @mathletedev
      @mathletedev  Місяць тому +2

      Valid. I like Rust because it has a lot of unique tools for making code robust, like traits, enums, options, etc. that other languages don't have. This wasn't supposed to be a tier list on usefulness, more what languages are interesting to me. I do agree with your points though!

    • @u9vata
      @u9vata Місяць тому +3

      @@mathletedev rust enums are the good part... although every other language would call them not enums but tagged union (my language I am making also calls it such).
      I think though that they can be made better. For example literally the "enum" part of them... they should more act like a real union than an enum as current way is a bit more error prone and clumsy - but I still think its much better than other languages just I aim for even better 🙂
      I am also huge proponent of "errors as values" and its good part of rust too. They had a little mistake though to not have the right syntax sugar in my opinion... Like this should be language level thing so for example then you can make destructors return errors (and things that does not have return values for other reasons in your language design to return errors).
      The borrow checker however is the weakest part. I literally prefer C++ with the Muratori style to it any day... that is instead of thinking about many small objects on heap, think about mass-allocating and then handling bulk of those / SOA vs. AOS ways etc... If you do that well, you pretty much have 100% memory safety even in regular C (and a bit more in C++). Its not even "modern C++" but a "different modern style than the standard comitee says" and coming from games mostly.... Also RAII is very useful in this.
      + the so much focus on 100% memory safety is a bad thing... I am working on a language which adds similar but 90% safety net like rust but does not need a borrow checker and neither any runtime or perf loss....
      I am growing more and more sure that Rust was a step in an evolution in rethinking native code safety and modernizing native development - but its not the end solution and is really just B-tier. It helps you code better C++ and helped progress some other languages, but it misses the real point and exchange that with a religious belief in that memory safety is all that counts. I am sure its not...
      Also the language is very awfully resistant for prototyping and refactors - while it invokes a lot of whiteboard planning masturbation in projects. It starts to remind me of PL/1 and such things that were being advertised as "the thing" and probably I would trust ADA software or Eiffel or "Altelier B" software still much more to be honest...

    • @mathletedev
      @mathletedev  Місяць тому +1

      Totally agree! I think you're right that Rust is just moving towards wise memory management, but it's kinda clunky how it handles stuff right now (RAII is great in C++, but I kinda prefer it baked into the compiler itself). I haven't tried Zig, but the gist I get is that it's C but fixing some of its mistakes.
      I'd still maintain Rust in S tier, maybe because I've built most projects with it and have some bias 😂 But do let me know how your new language goes! I'd love to see how it works.
      I appreciate the in-depth reply!

    • @u9vata
      @u9vata Місяць тому

      @@mathletedev > RAII is great in C++, but I kinda prefer it baked into the compiler itself
      ^^Then you should love my language design I work on indeed. It is a bit more than RAII in my case, but very built-in to the language 🙂
      > I haven't tried Zig, but the gist I get is that it's C but fixing some of its mistakes.
      Things I dislike about zig:
      - syntax (maybe subjective)
      - defer could have been better (I have ideas that I implement in mine)
      - It did not work for me with musl and a specific embedded arm chipset right in the only project I was aiming to really use it in production and it would make sense to utilize the nice cross compilation they provide.... But I've read it was a known case and according to what I read was rare.
      Things I like:
      - Zig metaprogramming is literally king. Maybe Jai can have similar (the JonBlow lang) and although my language literally has its compiler built around an interpreted meta-program that makes it easy for me to write compilers and thus they also have huge smart macros and possibility for DSLs, I must admit that possible zig comptime is just.... more clear and have more utility. I think Jai and Zig comptime will be both better suited for average people even though mine might be better suited for serious frameworks and such.
      - Okay... defer is not that bad - I actually like the direction, just know better 🙂. But much better than borrow checker yes.
      - Interop with C is like magic. Cross compilation and acting as a C compiler too (when not my specific case) is awsome magic.
      - They have better defaults than C.
      - They are nearly as lean as C.
      But I am not about selling you Zig. When it comes out however try out my toy language called "BASED" - you will find it on this name but just like JonBlow I prefer working on it in secret until the main parts really work and in-place so it have conceptual integrity. There is a little group of close friends with whom I share the design from time to time and in the meantime work on the compiler which is too much not-yet-done anyways🙂

  • @a-yo9312
    @a-yo9312 29 днів тому

    You built a compiler wow that's awesome

  • @dolorsitametblue
    @dolorsitametblue Місяць тому

    I like this list, but I would put Rust and C++ a bit lower, mainly because of their syntax.
    Also try Nim. I bet you'd really like it. It is easy to write and read like Python, has speed of C and type system of Rust.

  • @deshraj-tiwari
    @deshraj-tiwari 2 місяці тому +4

    How do you sound so good 😭

    • @mathletedev
      @mathletedev  2 місяці тому +3

      I'm using like a $3 mic 😂

    • @pique6813
      @pique6813 Місяць тому

      @@mathletedevcan u please tell me what mic u use ?

    • @mathletedev
      @mathletedev  Місяць тому +1

      ​@@pique6813Uhh I don't know, I randomly found it in my garage haha

    • @deshraj-tiwari
      @deshraj-tiwari Місяць тому +2

      ​@@mathletedev☠️

  • @IoannisHorgos-bv1in
    @IoannisHorgos-bv1in 2 місяці тому

    What plugin are you using for the smooth cursor movement in nvim?

    • @mathletedev
      @mathletedev  2 місяці тому

      Ah, that's neovide.dev

    • @NotLiamH
      @NotLiamH 2 місяці тому +1

      He uses neovide which is a gui for neovim. Which can't be run in a teminal but instead a gui that emulates neovim with smooth animations.

  • @alst4817
    @alst4817 20 годин тому

    Completely agree with your tier list man. Maybe apart from Rust, don’t think it deserves the top spot- too finicky!

  • @pietraderdetective8953
    @pietraderdetective8953 Місяць тому

    If you love C that much, than you'll feel at home with Zig.
    They got the same 1:1 code structure.

  • @fhudufin
    @fhudufin 2 місяці тому +1

    2:47 replace your smoke detector batteries 😭

  • @SalarianStudios
    @SalarianStudios Місяць тому

    nice tier list even though i dont fully agree because i love OOP but thats just personal preference :)

  • @d-cw8xm
    @d-cw8xm День тому

    is it bad that im learning java at school (only beginner level the first 2 semesters)

    • @mathletedev
      @mathletedev  День тому

      No, I think Java is a perfectly fine beginner's language because many people use it - there's a huge Java community to answer your questions. I would, however, suggest expanding your toolbox with other languages once you have a solid understanding of Java!

  • @JoFSa
    @JoFSa 29 днів тому

    Rust is just as much an OOP language as C++ is. Although the original definition of OOP was different, I think now it just means you support polymorphism and encapsulation. Both Rust and C++ support, but don't force you to use, polymorphism (static and dynamic) and encapsulation; they just achieve it in different ways. C++ doesn't even force you to use anything more than code that is almost identical to C; but if you only throw in, say, std::vector, surely that makes it better than C!

    • @mathletedev
      @mathletedev  29 днів тому

      Yup! I like how Rust implemented OOP with structs and traits; it's more intuitive to me 😄 Maybe I still have some PTSD from writing hundreds of linked lists / binary trees with C++ OOP, but C++ is still a great language!

    • @JoFSa
      @JoFSa 29 днів тому

      @@mathletedev I've never coded anything in Rust, so I don't have an opinion on anyone's preference for it. When it comes to C vs C++, I have my own PTSD dealing with some very ugly C codebases. I do think any serious software developer should learn C though; at least spend a couple of weeks with it. I wouldn't think there is too much OOP about linked lists or binary trees - unless you were writing it to look like Java or something. Have you written a double-linked list in Rust?

  • @brdevll
    @brdevll 4 дні тому

    java in F: instant like and subscribe

  • @aaravdudeja
    @aaravdudeja 2 місяці тому

    I am a complete beginner and am starting with c and cpp... How should i move forward?

    • @aaravdudeja
      @aaravdudeja 2 місяці тому

      i also know basic python

    • @mathletedev
      @mathletedev  2 місяці тому +1

      I think C is an amazing language to begin with since it teaches a lot of fundamental concepts. I would learn a web framework such as React or Svelte, since building a website gives you much faster visual feedback than something like a CLI app. Or if you're interested, you can look into making a Discord bot with Python, which was a really cool project for me.

  • @kng1433-g4x
    @kng1433-g4x 2 місяці тому

    Should've added python breaking changes and maintenance hell.

  • @JohnnyThund3r
    @JohnnyThund3r 26 днів тому

    You've convinced me... Go is the future of programing. It's C for normies... you can probably train a chimpanzee to program in it!

  • @RealRedXGames
    @RealRedXGames 2 місяці тому

    What's the operating system called?

    • @mathletedev
      @mathletedev  2 місяці тому

      It's GNU/Linux, running NixOS. I might make a setup video soon!

  • @codecaine
    @codecaine 29 днів тому

    I like nim but it is not as popular but you can get stuff done fast.

  • @TheOnlySaneAmerican
    @TheOnlySaneAmerican 27 днів тому +1

    I hate python indentation syntax. I like curly braces defining code brackets.

  • @mndtr0
    @mndtr0 2 дні тому

    And all of that almost dead due to AI because english gonna be the only programming language everyone need and programmers will be obsolete and replaced by AI...

  • @ptarslatinum2806
    @ptarslatinum2806 Місяць тому +1

    रस्ट मेंशंड ! लेट्स गो |

  • @demon4874
    @demon4874 Місяць тому

    7:12 these two are identical💀

  • @tys_san
    @tys_san 2 місяці тому

    bro is craving for a good mic

    • @igorthelight
      @igorthelight Місяць тому

      Or use "Equalizer APO" and tweak your mic ;-)
      Not the same as buying something professional but it makes your mic sound better

  • @sadiulhakim7814
    @sadiulhakim7814 Місяць тому

    It is weird that you hate OOP but you like c#

  • @ustav_o
    @ustav_o 3 дні тому

    go s tier, instant like and sub acquired

  • @josephp.3341
    @josephp.3341 2 місяці тому +13

    Don''t understand why Java and C# on different tier levels. They're the same thing.

    • @mathletedev
      @mathletedev  2 місяці тому +12

      Imo C# performs better in terms of ecosystem and backing, which is why I ranked it higher

    • @Stabruder
      @Stabruder Місяць тому +7

      There really not the same at all

    • @multivitamin7
      @multivitamin7 Місяць тому +1

      Java's tooling is worse for one

    • @bity-bite
      @bity-bite Місяць тому +3

      Not the same. C# is years ahead of Java in almost every single aspect now

  • @everythingcouldbesimplify818
    @everythingcouldbesimplify818 2 місяці тому +3

    Typescript above Javascript seriously? Java F wtf, Rust and GO S tier wtf, you still have a lot to learn in the industry, but time will teach you well

    • @mathletedev
      @mathletedev  2 місяці тому

      Haha, I am very much still a beginner, I've just spent a lot of time with Rust/Go/TS, so there may be some bias 🤷‍♂️
      It's more of a tier list of what I enjoy vs. actual industry stuff, but I should've made that more clear. Thanks for your input!

    • @everythingcouldbesimplify818
      @everythingcouldbesimplify818 2 місяці тому

      @@mathletedev okay, it's just your opinion, and I just reacted with WTF lol, but I only have to say Java is not that bad and Rust and Go is not that good.

    • @jencruz21
      @jencruz21 Місяць тому +7

      I mean TS is better than JS in every possible way lol

    • @josephp.3341
      @josephp.3341 20 днів тому +1

      @@jencruz21 Typescript is literally just an alternative syntax for JSDoc. Most overhyped trash I've ever seen. In fact, anything that touches JS is pretty awful. Lipstick on a pig type situation.

  • @wyattcallister2388
    @wyattcallister2388 2 місяці тому

    I’m surprised C# made it that high on your list.

    • @mathletedev
      @mathletedev  2 місяці тому

      (Copying my other reply)
      This is a personal tier list, and I wouldn't have put C# that high had I not used it as an intern. I spent a summer building a web server with C# professionally, so I'm looking at it with rose-tinted glasses 😂

    • @rankarat
      @rankarat Місяць тому

      It should be higher

    • @mathletedev
      @mathletedev  Місяць тому

      Oh wait Wyatt!!! I didn't see your name! 😂

  • @axhraf7712
    @axhraf7712 Місяць тому

    how is C above C++?

    • @mathletedev
      @mathletedev  Місяць тому +1

      Imo I don't really like how C++ put a sorta band-aid solution on C for classes; I like C, but C++ feels like it's doing too much. This is just a tier list of what I personally enjoy coding in, not how the languages fare in the industry.
      Have a nice day!

  • @boonytoons7968
    @boonytoons7968 7 днів тому

    I LOVE IT!!!

  • @荻野憲一-p7o
    @荻野憲一-p7o 32 хвилини тому

    Tear List なら、C++ が断突の一位。

  • @sowoul_
    @sowoul_ 2 місяці тому +2

    tell me you dont know python without telling me you dont know python.
    Just because you chose to use libraries for a project instead of writing your own versions of it, thats not on python. Plus, the fact you said python is used for only data amd ml means you never really explorede the language either way. Read about django maybe?

    • @sowoul_
      @sowoul_ 2 місяці тому +1

      Also java being F tier?
      What?
      Java has consistantly been one of the most used languages on the planet. Good luck building a industry grade webapp with C or C++, theres a reason why java and python remain the top languages in almost every sector.
      YOU cant code. So, maybe try learning more.
      Its pretty simple, python if you want something done fast.
      Java if you wanna get something done slow and steady.

    • @Александр-ф9в4ю
      @Александр-ф9в4ю 2 місяці тому +3

      LOL! Write your own libraries in one of slowest language in the world. Thanks, it's good to see you know ONLY know python 😂

    • @Israel220500
      @Israel220500 2 місяці тому

      ​@@Александр-ф9в4юLanguages are not slow, implementations are. If you want performance, you can use PyPy or the C FFI

    • @sowoul_
      @sowoul_ 2 місяці тому

      ​@@Александр-ф9в4ю ?
      I dont see your point here. We use Java and Python at my job, which is a pretty big company.
      Also, about python being slow, the other guy covered most of it, but yea, native python is slow.......if you are running loops of like e7. Till there, its sub 10 miliseconds, which is good enough for most website.
      And if you do need a larger query, just use a faster language for that part, python allows that using jpype, thats why things like machine learning and youtube searches work my guy. At least learn about the languge before hating on it.
      Theres a reason why websites like instagram and youtube use python yk, and trust me, they have better programmers than you lmao.
      Also if you are gonna fanboy languages, which one do you code in, because chances are, I can code in it better than you can,

    • @mathletedev
      @mathletedev  2 місяці тому +1

      I think for me, writing Python doesn't feel really "fun", which is most of the reason I write code. Django is a great web framework, though I would rather use Go for web stuff in general since it was designed for that. I appreciate your feedback! 🫡

  • @stormyz_mc
    @stormyz_mc 2 місяці тому

    bro put java F tier, why everyone is against java lol that's a really good and solid language

    • @mathletedev
      @mathletedev  2 місяці тому +1

      I had PTSD from AP CS so there's that 😂

    • @enerjiCS
      @enerjiCS 2 місяці тому

      @@stormyz_mc because it forces OOP, which is really cumbersome. good for large scale business applications, horrible for personal projects. also strings not being a wrapper class for a primitive is a crime. id put it in B tier 🤪

    • @adambickford8720
      @adambickford8720 2 місяці тому

      Trendy or uneducated are the only correct answers.

    • @stormyz_mc
      @stormyz_mc 2 місяці тому

      @@enerjiCS OOP being forced is not a problem when you have incredible IDEs like IntelliJ.

    • @enerjiCS
      @enerjiCS Місяць тому

      @@stormyz_mc that speaks more about the tooling than the language

  • @ahmoin
    @ahmoin 2 місяці тому +3

    average programming youtuber tier list

  • @whistlindevspace
    @whistlindevspace 20 днів тому

    javascript great if only they fix alot from the root...

  • @charrdamathnerd380
    @charrdamathnerd380 2 місяці тому +2

    Yo face reveal? kinda hot ngl

  • @scoliosissy
    @scoliosissy Місяць тому

    Java hate 😭

  • @satisfyingly1
    @satisfyingly1 Місяць тому

    Skill issue 😂😅

  • @Andreas4696
    @Andreas4696 2 місяці тому

    Thenealwangagen

  • @borisoid
    @borisoid 2 місяці тому

    NixOS!

  • @adambickford8720
    @adambickford8720 2 місяці тому +1

    Glad i skipped to the end to see this was a waste of time

  • @sadiulhakim7814
    @sadiulhakim7814 Місяць тому

    yeah, java is really bad

  • @cavespider12
    @cavespider12 7 днів тому

    this list sucks lil bro just retire 💀

  • @tuanva6484
    @tuanva6484 Місяць тому

    This guy is too young and his opinion is trash 😂

  • @mal.angenommen
    @mal.angenommen 2 місяці тому

    Dislike for Java to F tier... Wtf

  • @igorthelight
    @igorthelight Місяць тому

    About interesting languages - try Odin ;-)
    It's another "C++ but better" but it's really interesting!