Welcome to the official programming language tier list for 2021 I've always seen  a bunch of these tier lists online. I thought it would be kind of fun to make one in  area that I have some expertise in. Well, those of you who aren't familiar with  Tier lists, it's just a simple rating system where s is the best, F is the worst, and  then A, B, C and D are kind of in the middle. Keep in mind that the tier list is  relative, so just because something is a D tier or F tier doesn't necessarily mean it's bad. It just means it's bad relative to something that's an S tier. Before we  begin to make this a little less subjective, I'm going to state the criteria that I'm  using ahead of time. There's a lot of factors that I'm going to consider when I'm  writing these languages, but I wanted to tell you which are going to be zero  impact, medium impact and high impact of the rating that I give it for zero  impact. The first thing is capabilities. Now keep in mind this does not mean what is a language good or bad at this just means what can a language do? And the  reason this has no impact is because every language on this list can technically  do everything. The second thing is gonna have no impact is going to be who's  the author and or the steward of the language. This means that whether it's  Microsoft, Facebook, or just some third party or a group of people, it has  absolutely no impact on the rating of the language. And the last thing that's  gonna have no impact is my personal feelings about a language. I'm gonna stick only to objective truths and observations when I rate a language. The one thing  that's gonna have a medium impact is raw performance. Actually, I'm gonna  switch this to low because although performance is important, it's becoming  increasingly common for us to trade away performance for ease of use. The  reality is that some of the most popular languages on planet Earth are also  relatively the slowest in terms of what's the highest impact. The first thing is  going to be language features. Language features mostly refers to the things  that the language implements that makes your life as a developer easy. This  also refers to the language composition and syntax accessibility is going to be  the second thing that's going to have high impact, and it's going to refer to how  easy it is to get going with a language. And the last thing, and perhaps the most  important, is going to be the use case variety, and it's going to refer to the  likelihood that you can use that particular language to solve a problem. Now that we have the criteria, let's write some languages. So we're going to start off with  Dart. And Dart is a D tier language, so Dart is kind of this language that nobody  really asks for it and doesn't really address any new issues. It kind of feels like  going in that Google created in house to solve an in house problem, and then  they release it to the public, the only place where I ever see it really getting uses with flutter, which makes sense, because flutter is also a Google product. Next  one's gonna be rust. And Rust is a solid A tier. I really wanted rust to be s tier,  but it really lacks in accessibility. The language is very difficult to write. That said  it pretty much has to be difficult to write, because that's how it gets its memory  safety guarantees. Rust solves a unique problem in that it's both fast like C and 

C ++, but without the dangers of manual memory allocation, and it does so  without sacrificing performance by way of a garbage collector. The next  language is going to be c, and this is 100% an S tier language. There's several  reasons why C is an S tier language, and the first and foremost is that it  underpins almost all of computing. Not only is most operating systems written in  C, but most of these languages have interpreters or compilers that are, or were  at one point, written in C. Besides that, it's a language that's almost 50 years old and has had a couple changes over the years, but has remained largely  unchanged. Although it's common today to use newer compilers which support  newer C standards, it's also possible to write an entire operating system using  the standard from 1989. C is probably one of the only languages, if not the only,  language, where the language designer, in this case, Dennis Ritchie may he  Rest in peace, got the language correct the first time. Next is Objective C, and  this is definitely an F tier language. Objective C was an apple solution to an  apple problem. It's very poorly put together. It's very hard to write. Its syntax is  very awkward. However, it was, of course, very popular, because it was the  main language for Apple development up until 2014 which brings us to Swift this was the language that replaced Objective C, and this is a C tier language. Swift  was the language that replaced Objective C for Apple development, and as a  language, it's actually quite nice. The reason doesn't earn a rating higher than C  tier is simply because it's not really used outside of Apple development. Like  other languages on here, it has the capability to do more people just don't use it  for anything else. Next language up is TypeScript, and this is a C tier language  in 2021 TypeScript is really just JavaScript with types. A while back, TypeScript  used to be JavaScript with types and a ton of extra features in syntax. If I was  doing a tier list from about five years ago, I would probably put TypeScript at an  A tier, possibly even an S tier. But as JavaScript continued to get more and more modern, the differences between the two really shrunk and it made TypeScript  less useful. Now I guess we'll do JavaScript, which is 100% an S tier language.  JavaScript really is ubiquitous in 2021 it's very modern. It's very easy to write.  It's very easy to get started with. Additionally for better or worse, it's solidified its  place in the web browser. It seems like anywhere you go or anywhere you turn,  there's JavaScript there. Next one we'll do is C sharp, and I decide that this is a  B tier language. C sharp is a really well put together language, and I see it as a  good alternative Java, if you're on the Windows side, or even if you're not, as  long as you're using Visual Studio, it's pretty easy to get started with too.  Overall, it's a solid language, and I would choose it over other languages.  They're similar in type any day of the week. Next up is Perl, and this is going to  be a C tier language. This is a language which is pretty old, and it's changed a  lot over the years, and in some places, it's used a ton, but in other areas, it's not  used at all, you know, but nobody's choosing it for new development, and it's not really doing anything that you can't get elsewhere. Next up is Python, and this is 

going to be an A tier language. Python was another language that I really  wanted to be an S tier, but there's two reasons why I didn't put it there. The first  is that having indentation control how a program runs makes the language  clunky to use. And the second is that Python was originally created as a general  purpose language, and I think that sometimes Python is being shoehorned into  things that it wasn't ordinarily designed for. Although I understand why that's  happening, it's because Python has risen to the top as one of the most popular  languages on the planet, so it's tempting to try to use it for everything. Next up is PHP, and this is going to be a D tier language. For those of you who know me  well, know that I was a PHP developer for about 12 years, so my heart really  wants PHP to be like an A tier language. Although it's very easy to use and very  easy to get started with, there's two major things that make it a D tier The first is  that it really has no use case outside of web development. And the second is the languages is really bad. The problem is that early versions of PHP were really,  really bad, but they've tried to make it so older versions of PHP are compatible  with the newest version of PHP. So basically the 2021, version of PHP inherits  all of the shortcomings of the 1998 version of PHP. Next up is a Lua, and this is  going to be a D tier language as well, although it's nothing too terribly wrong with the language itself, it just doesn't have that many use cases. There's really not a whole lot to say about it. Next up is going to be Kotlin, and this is a C tier  language. Kotlin was a really, really big improvement over Java, but it's not  really used in a ton of places right now. It's mostly used with Android. I think if  Kotlin can position itself as a true successor to Java in all use cases, then it  could definitely be a B tier language, and then obviously Java is going to be a D  tier language, right below Kotlin. Honestly, Java is just really not that interesting  anymore, and that's because the real technology that's interesting with Java is  going to be the Java Virtual Machine. The thing is, Java produces JVM  compatible byte code, which can then be ran on the JVM. But there's also about  12 other languages and implementation implementations that also produce JVM compatible byte code. So why use Java when you can use one of the other 12  to produce the same performant program as Java code. Although Java is still  very popular and it's going to be around for decades to come, because there's  so much talent that knows how to write Java, but the language itself, it's still a D  tier. Next is c ++, and this is going to be a B tier language. I wasn't really sure  where to put c ++. Obviously, it's a super set of C, so it doesn't solve any new  problems, but it is very, very comprehensive, and it adds a lot of additional  features not found in C. However, you do still inherit all of the dangers of C.  However, the use cases for C ++ are quite vast. You can find it in operating  systems, high performance computing and also video game design. Next up is  going to be go, and this is going to be a C tier language. So go is another  project from Google that they designed internally for web servers and then  released to the public. Go has a really great concurrency model, but not much 

else. Its syntax is very awkward and not super intuitive, and it doesn't really aim  to solve any problem that's not already solved elsewhere. So it's hard to rate it  higher than a C tier and last but not least, Ruby, which is going to be a B tier  language, Ruby is kind of an interesting language. It's really well put together,  and it's popular with general purpose programming, but it really got its popularity through Ruby on Rails with web development. Ruby syntax is really concise,  almost too concise. Sometimes that makes it kind of hard to read, but overall, a  good language that excels at both general purpose programming and also web  development, and then search for my list, hopefully I was able to keep it as  objective as possible and keep in mind that this is just a relative tiering. So just  because something is a D tier, it doesn't make it awful. It just means that it's not  as good as something that's s tier. I'm sure it's gonna be tons of comments  about my list here. So if you have those, please leave them below in the  comments. I'm interested in if you think I got it right, if you think I got it wrong, or  any other comments or feedback that you might have. Thanks for watching, and  I'll see you in the next video. 



آخر تعديل: الاثنين، 3 فبراير 2025، 8:52 ص