The Programming Language Guide
Вставка
- Опубліковано 16 тра 2024
- This is NOT another annoying top 10 programming language video. We will talk about how programming languages work including low-level & high-level, compiled, interpreted, etc. We will also talk about some of the popular languages and what they are good for.
👇 Website & Courses:
traversymedia.com
💖 Show Support
Patreon: / traversymedia
PayPal: paypal.me/traversymedia
👇 Follow Me On Social Media:
Twitter: / traversymedia
Instagram: / traversymedia
Linkedin: / bradtraversy
💻 Programing Language Crash Courses:
Rust - • Rust Crash Course | Ru...
C# - • Build a C# .NET Applic...
Go - • Go / Golang Crash Course
Python - • Python Crash Course Fo...
JavaScript - • JavaScript Crash Cours...
Kotlin - • Kotlin Crash Course
PHP - • PHP Front To Back [Par...
Ruby (Ruby on Rails) - • Ruby On Rails Crash Co...
Timestamps:
0:00 - Intro
1:02 - Low-Level vs High Level
1:43 - Machine Language
2:28 - Assembly Language
3:24 - General Purpose Languages
3:52 - C Language
4:47 - Compiled vs Interpreted
6:30 - C++
7:26 - Rust
8:46 - High Level, Interpreted Languages
9:23 - Java
10:50 - Statically Typed vs Dynamic
12:03 - Kotlin
12:58 - C#
14:40 - Go
16:00 - Python
17:20 - Ruby
18:54 - JavaScript
20:58 - PHP
22:37 - Swift
23:35 - Outro - Наука та технологія
As someone who did struggle for 1 year to learn, I had to come here to say: the best way to learn are books that have interactive content. Those that make you practice what they teach on еach chapter.
And that's what you need as a beginner: practice instead of complex subjects and concepts. Focus on learning your first programming language and everything else will be much easier once you learn.
Edit: For those asking, the books that made me learn were "Javascript In Less Than 50 Pages" and "Head First Javascript Programming".
Stack Overflow saved me. rotflmao
I have seen this comment on other videos about programming languages haha, nice
Basically documentation
exactly, I had the same issue, I literally had to write my own curriculum as I couldn't find anyone that could teach it for beginners. This was when I was learning C#. The problem with all these courses, they actually don't teach you anything. They just tell you, great now build this simple function, good luck, and then you're just sitting there going WTF are you on about? Instead, I spent days going through books and videos and grabbing bits and pieces, threw it all into Github, I then consulted with a Project Manager to work out the best framework to manage my learning and learned how to use GitKraken to help me oversee my code. Best experience ever.
As a beginner you need to be hand fed most of the stuff at the start so you understand what the code is doing, then you can start writing your own stuff. Instead, it's in reverse, you're told to write your all your own programs and you know nothing lol.
Disagree. And such a generic answer. Like, books? Really? Is that your tip for beginners? C'mon.
Great vid Brad. I'm a retired University Lecturer, I taught programming for 20 years. IMO you've given a great and unbiased intro to modern programming languages. As you said, you can't cover everything.
For anybody reading who wants to dig deeper, here are a few suggested considerations
- Library support. This is one thing that drives the popularity of Python, and is the bedrock of C and C++.
- Object Oriented or not? OO is not just one concept: every language has it's own concept of OO.
- A few languages that Brad had to leave out: Pascal (mentioned), Fortran, Cobol (yes people still use it).
- Other programming paradigms. Lisp and Prolog are worth learning: they teach you different ways to think.
- Stability. Is the language / framework / environment owned by a corporation that can change it at any time, or is it a Standard?
Getting off Brad's topic, here are some other things to consider.
- Test Driven Development. Check it out, along with criticisms.
- Prototyping / Agile. They are not the same. Check out criticisms. Is Agile a passing fad?
- Learn about preconditions, invariants, post conditions. Read Meyer Object Oriented Software Construction.
- Read Stroustrup The C++ Programming Language. You'll learn heaps, not just C++.
- Learn about debugging. Write your code to be debugable, along with testable.
And now a caution: I've only seen one of Brad's vids and he seems to be thorough and trustworthy. Many other programming UA-camrs (and online tutorials) are not, I've seen plenty who just sprout ignorant opinions and wrong "facts". Tutorials are good to get you started, but don't rely on a single source. When you really want to know something, go to (as they say) the source. The official documentation, the original author, the official website.
Final advice: learn multiple languages. Experiment. Write your own interpreter. Have fun :-)
Thanks for sharing your wisdom and experience , will be useful :)
Thanks professor
One thing I think is missing in programming courses is adding new functionality into previous (home)works - which is how it works in real life jobs. Until then you can't appreciate proper coding style and software patterns and so on. Maybe even same project once with your own implementations (to know how it works) and once with maximizing standard libraries (to know how you could avoid bugs from previous project :D) and similar...
@@miroslavmikus6480 Sounds like you have attended one of my classes :-)
Students would build up a significant project (2000 to 3000 lines of code) incrementally through the 13 week semester. If that sounds like a lot, well, yes it was! It was an elective subject that had high student demand because of the great skills they learned.
@@europa818 Who is "we"?
I didn't mention Java.
Congratulations Brad for being one of the favourite developers on the State of JavaScript survey 2021❤️❤️
Thanks!
Yeah!
Love the t-shirt Brad! Thanks for another useful video. As a self-taught beginner I'm glad I bumped into you in one of the many many rabbit holes I found myself lost in this year. You've played a huge part in helping me navigate the labyrinth of the web dev / programming scene, and taught me CSS and JS. Always great content, no fluff and to the point. Whenever my brain is ready to cram in some more, you're one of my go-tos and I keep learning thanks to you. Respect.
Almost thought you made one of those top programming language clickbait videos. Good thing I was wrong ! :)
Nope. I wanted it to be objective and to help people understand more about programming languages. Top 10 lists are nonsense.
@Kenny Yip Coding
I haven't seen brad do click baits, bro.
All tech -youtubers make these every year 😅 But THIS video is not one of them, it's a very neat rundown and comparison of the most used languages. Well made 🤘🏻
@Kenny Yip Coding You'll never find Brad stooping to click baiting brother. He has a pretty sold rep.
Appreciate all the content you push out for us Brad!
All of his videos are excellent. You may want to subscribe to the channel if you're looking for this type of info.
These types of videos are very helpful to people who are just getting into or back into software development, or people whose careers have been very siloed. Both apply to me, so thank you.
Hands down you're the best crash course teacher I've ever had the pleasure of knowing. Just wanted to take the time to show my appreciation and admiration for everything you do for us.
Very insightful. Thank you for this. I really needed to know this coding history and you just summarized it with precision. Awesome.
I never found the quality content, and well explainable video like this for programing languages. Thanks so much! Your video is very useful.
This is literally the best guide to programming languages i've ever seen!!...thank you so so much!
A well paced delivery! Lots of info succinctly presented with good audio. No background music is a big plus for me.
Great video! You cover many important details about how languages work, and their respective levels. This video is a must watch for anyone getting into coding 💯
progrminng c+++ jva
Thanks Brad this was very helpful,I have heard many people discouraging from learning PHP
As always, excellent video, Brad! :) Keep up the fantastic work!
The 1st ever program I wrote was in machine code using hexadecimal instructions and memory addresses. That was for Intel's 8086 processor :) -- part of an "electronics instrumentation" module for a Bachelor's degree in Physics, way back in 1996!
You wrote in binary?!!?
@@silloo2072 The real boss 😂
No, he wrote in Hex, but that's as close to binary as it gets for people I guess.
I learned the assembly language of the 8051 microcontroller in school and it was one of the most useful things I've ever learned regarding technology, cause it absolutely changed the way I understood everything about the way a computer works, and it's given me a huge advantage in university, no matter what programming language.
Great video Brad!Thanks a lot for what you've been doing and creating!
Thank you for this information, noted all of it down and it might be helpful for me to choose what to learn and aware of the other programming languages and yes learnt new things too.
Im studying product design ans just trying to understand how coding works without becoming a developer myself. Breakdowns like this are great! Thanks man!!
Thank you, very informative. Would you possibly make a video detailing which software careers use certain languages? (For example, machine learning careers and what languages they should learn or full stack development and languages needed) that would be very helpful as well!
Thank you, Brad. This is very helpful for a beginner like me.
So many of these languages have come such a long way, even in the last 5 years. It's remarkable. I really have to give props to the JVM team specifically. They have really done an incredible job adding features, allowing more languages to be run on the virtual machine.
And the Java language developers as well have been really putting in the work since Java 8 implementing some seriously fantastic functional paradigms into the core language and really modernizing the language while being extremely considerate not to bloat the language.
Great info Brad. Watching your videos is always time well spent.
Your videos are so helpful. Thank you!
Very helpful and insightful especially to those of us just starting out. Thanks man
Thank you so much for this Video it Really helps to clear some things up!
I didn't see COBOL :( most people say its a dead language, buts its so powerful.
Thanks Brad
I got a job as a react js developer fresher just following your videos
Keep sharing front end videos
🙏❤️❤️
Oh Brad!!! You never fail to deliver. Thanks Boss. God bless you. With love from Nigeria.
Thank you for this amazing video and for breaking it into bits.
Informational as always, thanks a lot Brad.
Thanks Brad, much appreciated!
Thanks a lot for this video, it was really helpful and well presented!
I've used assembly language, Fortran, Cobol, PL/1, Pascal, VB Script, C++, C# and several others. C# is easily the best environment. Also, there is another language between assembly code and machine code. It called micro code and defines the CPU functionality.
Youre a genius, hopefully I can get to your level one day
Definitely appreciate you talking about web assembly, recently found out about it and it seems like it could be awesome
Great video Brad! Everything was really well explained
Sorry to see you didn't mention Elixir at all. Also a really good Python framework to use which is faster and more modern than Django and Flask is FastAPI.
it's on 13th
Since he didn't mention Lisp I think everything else is behind on the queue.
@@gimlam5909 World is not ready for LISP dude. I love emacs and syntax seems annoying once you understand it, everything make sense. Ditch kotlin why not build android app in clojure.
Best content for programmers, thanks for the wonderful presentation. Neat slides 🙂
I am Learning programming for the last 3 years right after high school I skip college and Brad ( Traversy Media ) is the best instructor for programming, and web development. I am done he's javascript course it was amazing after this I don't have to learn every single language from scratch I just need to learn the basic syntax. after all of this now work in Flutter, Web Dev, Starting Unity, all of this because of him ThankYou Brad ❤️
Thanks for the Guide really helped me and I found the language for myself thank you !
If you want to learn Swift, it has evolved a lot over the years. It can compile to Linux, Windows and WebAssembly. It's used for scripts, backends, etc. The most common use case remains apps for Apple Platforms ofcourse.
C# can also contain unsafe C code, which is where they often put code that needs to be performant. While mainly statically typed, it also supports a dynamic keyword. I use it for code that 'plugins' at runtime.
Dam
Awesome topic! Great to have you share your insights on these languages and their use cases. Popcorn worthy! 🍿🥤
Great explanation! Would you recommend a coding boot camp for someone wanting to start a new career in web dev, etc.? Or some other educational route?
6:45 "C++ is object oriented". C++ supports OO development but a lot of C++ code is written that isn't OO.
I just realized I made it sound like it has to be OOP. Thank you
Originally the purpose of C++ was "C with classes". It has only become more and more functional in newer versions, but in most of it's lifespan C++ was used with OOP in mind.
Thanks. Very useful to show people an objective view on the different languages.
Thanks for the fantastic overview!
What a awesome video on Languages on The International Mother Language Day! After hearing about them, I choose C++ and Go for general purpose.
Go is great.
C++ is like having a life goal to become an astronaut. Not easy, but with time and strong determination it can be learned.
great vid like always, can you make in the future some C#/NET Projects ?
Great content, tnanks a lot! Means a lot. Would like to see some devops build/deploy and automation strategies .. Thanks take care.
Thanks a bunch, very informative
PHP was also my first language I really learned! (with Actionscript being the first language I ever used - together with what was then known as Macromedia Flash).
Just sad to see that PHP gets so much hate nowadays, I think it's really come a long way in the last decade(s?) and certainly deserves better.
P.S.: maybe a short introductory course to PHP 8 by the legendary Mr. Traversy himself would open a few eyes (although I do see why that wouldn't be a priority as there ARE - as outlined in this video - great alternatives out there)
My first true programming language was Action script 3.0 as well. I made some pretty terrible websites back then lol
I use PHP daily for my work and I hate it very much. The nail in the coffin for me is its syntax. Even clean code looks very ugly compaired to other languages. But this is just a personal bias of mine. The language is powerful, but also very ugly.
ActionScript taught me OOP. I miss Flash. If only CSS could evolve into a Flash-like system.
Thank you brad 🔥
Great video as always Brad. One suggestion for this video is that I wished you included something like Haskell and then quickly described the difference between OOP vs FP. As it stands now the video is a bit biased towards OOP languages.
valuable + on point . thanks for great content
Thank you Brad, sir, for all the wonderful UA-cam tutorial videos you have been making and I am following, I have also taken and completed some of your Udemy courses since 2019, they have vastly improved my skills and understanding as a Frontend Web Developer, thank you sir :) Just a request, could you make a tutorial video on the new CSS Cascade Layers please? Thank you.
new setup looking nice bro
Hi brad
Thanks for all the amazing knowledge that you give for free. I just wanted to ask if you could provide these slides ( that mostly your videos have ). It would be amazing.
Thank you.
Brad, your videos have been so helpful to me, I have never seen you do any tutorials on Java ? Do you do Java or have any Java tutorials ?
I write machine code. I’m just built different
Thank you for this video!
Hi! Thank You for such understandable video. 🤓🤝
Thank you, very helpful
Great video as always - thank you for making this! But why not include Dart?
Today I seem to be among the first views of traversy uploaded videos. Nice one. Thumbs up
I LOVE the shirt man. I have a son that is on the spectrum, and I sometimes wish people would understand that they see the world differently
You took the words right out of my mouth. Gonna see if I can find one like it for myself.
Great shirt!
this is a GREAT video. thank you!
I bought my first computer in 1979. It was an Atari 400 and it came with an Atari Basic language cartridge. So many people use to make fun of this version of Basic, in person and in magazines, that I thought maybe I should have bought a different computer. But I learned Atari Basic anyway. It's funny now in 2023 to find out that the design of Atari Basic was a bit ahead of its time. Atari Basic would check the syntax of a line typed in and would throw an error showing were the mistake was made. At the same time it would compile the line into bytecode, including the variable names. They would be assigned a token and that 1 byte token would replace the variable in the bytecode. That's how Atari Basic variables names could be 127 characters long with every character being significant but only using 1 byte in the bytecode.
Started with BASIC in late 80's, and passed by a bunch of languages, now I use PHP and Python regularly.
I already know all of this but it was entertaining to watch so thanks :)
Very positive video. Well done!
Assuming type does not have to be because of dynamic typing. In languages like for example Golang, they have type inference which assumes type but is still compiled. I think java also uses "var" for type inference.
What's important to understand about assembly language is that it's a direct 1:1 with machine code. When you program in assembly you are also explicitly programming in machine code, since every opcode has a defined mnemonic. The programmer choses the required mnemonic (and operand if required) for each statement. The assembler simply looks up each opcode from each mnemonic, adding appropriate operands when present. It's a virtually instant process.
Compilation is entirely different. What is very frequently overlooked when dealing with compiled languages is that feeding the same source code (in the same IDE on on the same PC) through different compilers will almost always produce different machine code. This can have a very significant bearing on executable size and execution speed. One compiler may also introduce bugs in the machine code that are not picked up till much later.
It's highly recommended, particularly for C/C++ programmers, to have an expert level ability in assembly language. Only then will you be fully able to critically analyse/troubleshoot/debug any assembly produced from the compilation process. A C/C++ programmer with little/no assembly skills is handicapped to extremes - yes, they can code in C/C++ but absolutely no, their debugging will be spectacularly lacking.
Hey Brad Can you do some tutorials on System design btw new intro looks dope
phenomenal video, thank you
Could you make a video about a methodology to follow when you’re an experienced developer and you want to learn a new language/framework for freelancing? Of course you can’t charge your client for learning… so what is your strategy in that case? Do you try to build something on your own before finding some work? At what point do you feel confident enough with that new tech? Thx
Thanks Brad. As always loved it. Love shirt mate, can buy them on line?
This is a great video! I feel like this is one of the only guides that is 100% honest and factual
Hey Brad. Excellent video as always. I noticed in the Ruby slide that you consider Rails as one of the best frameworks out there. Have you ever heard of Elixir and the phoenix framework? Elixir is a programming language that looks very similar to Ruby but it uses the Erlang Beam virtual machine. It is honestly a really cool programming language and the phoenix framework is also very nice to work with.
Spread the Elixir gospel!
@@ianwanyeki8386 I'm doing my best. Putting comments on big dev youtube channels
This is great, the one thing I think it's important to mention when talking about machine code and assembly is how different CPU architectures have completely different instruction sets. Other than that, this is great!
Just finish your Mern tutorial last night. It was amazing thank you so much Brad
Awesome. Congrats on finishing it. It's not easy to complete a course or series.
I have always said to beginners that unless you are developing your own software where you get to pick your stack, the best programming language for you to start out with are the one that the companies in your area are hiring you to code in.
Cause what you want is to get your foot in the door.
After you do it for years then it really doesn’t matter cause what matters is _can you solve problems_ ?
The language then doesn’t matter as much cause you can eventually learn any other language.
Thanks Brad!!! 🔥
Nice programming languages overview for general entry purposes.
Do you plan an overview over specialized so called domain specific languages:
automation & robotics (Siemens S7), data science (R), mathematics (Mathematica, MAPPLE, MathLab), CAD/ECAD (Verilog) etc.
Hi Brad, can you share with your list of most favorite frameworks please. #3 is Jango as we already know
Thanks for this update Brad, insightful. I was expecting to find Dart on list though, Kindly share thoughts. Wilson Kutegeka-Kampala Uganda
The reason why Ruby is so cool is that you can embed it in, lets say, a C++ project super easily, to provide a domain specific language for users to customise the behaviour of the software.
Like AutoLISP?
Thanks🎉 for the breakdown 8:37
Great video Travis.
Thanks for your amazing teaching thanks I love your teaching.
Sir can you give advice on language to learn in 2022 that offer high payment and places you in the technology high ends?
I code in Javascript, but one really big problem, the integers. It only has 53 bit integer precision. It needs the ability to make reliable 64 bit or higher calculations. There is BigInt, but it's useless because it can't be converted back into a normal number
Thks for your video. Have just started Kotlin. Good language but still far from typescript in terms of productivity. But it makes life easier when creating android apps
Nice introduction. 💙
I still have to master the basics of CSS and JS but after that I plan on learning Ruby. Not sure where I'll go after that, as there are three options in the running for me, at this moment in time: Go, Python and Rust.
Please do a video on type of programming language means functional programming, object oriented programming things like that also some paradigm must be cool to see that
another great video thank you
Excellent summary.
14:00 I would correct only a little thing about C#, it has in the later iteration of the language and its ecosystem transitioned to a Multi-Platform language now, it's not specifically tied to Windows for making desktop apps anymore.
multiplatform is still a painful and neglected side of dotnet tho. maui for example doesnt support windows's biggest competitor, linux.
Brad, were you looking to do another Javascript course or will you wait on that until next year?
One of my favorite tricks is naming a JavaScript file with the PHP extension, .php, and then embeddeding PHP in the JavaScript file - makes for great variable assignment using values strored in a database. let myage=""; The