The type of programming languages you need to know depends heavily on what you are doing with them and what task you're trying to complete. So in this video I focused on the different types of languages to hopefully give you an idea of the value in learning different programming paradigms. Once you've learned the paradigms picking up new languages is simple and you can learn them as you need to!
Each language I learned had a specific purpose and use case: -C# for backend, games, AR/VR -Javascript for frontend stuff -Golang because it's cool -Python for quick scripts like spamming my friends on discord
I'm a (very) old programmer and now I teach programming. I like your way of expressing the differences between types of languages, it was very concise. The first language I learned was Fortran and professionally the first language I used was Assembler. In my degree program, I use C/C++ as the base language with the most emphasis for my students partly for the reasons you listed, and some others such as flexibility and the ability to explore areas that require more low level involvement. I have even my IT oriented students and developer oriented students learn Java for the exposure to some of the differences and ensure they have good opportunities for employment, not to mention the exposure to GUI programming. We have been using JavaScript in our Web Programming Languages course (among others). SQL is required of everyone for their data base requirement. So that more or less covers declarative and scripting. We are adding Python as a way of introducing programming languages concepts and, of course, for it's use in Data Science fields. In our Theory class we use Lisp & Prolog - students write very simple programs in them - so they see other approaches. We do require some work in parallel programming (C++ & Java) because of the concepts and as greater use will be made of super computers, that's how much of the speed is gained. So I agree with your choices, they are ones we have been using and my students are successful in their careers.
What I learnt is that if you have a strong hold on logic building and computational thinking and you really know how things work rather than just syntax, than programming language is just a tool...
Here’s a Data Point Job: jr. Embedded Software Engineer Languages I use: C - Bread and Honey Language C++11 - good for higher level design. Mainly use it as “C with classes” and more standard libraries. Python - Mainly as a scripting or glue language. Nothing super complex Make/bash/etc - Good system tools and for being the “glue”. Basically a learn as you needed scenario Verilog/VHDL - Not really a “pure” programming language persay but has similarities. Good to know in my position even if I don’t write it much. Languages I want to learn: Java - Why not, plus good to know Go - System Sofrware team uses it so understanding would be good Rust - Has high potential for future mainstream use in the embedded world More Python - I need to understand more in depth to really take advantage of pythons benefits Modern C++ - Most uses of c++ I see don’t really take advantage of the vision and the direction the language is going. I’ve mainly learned it as C with Classes but with each iteration since C++11 they are really moving away from that.
I think c# would be a good option. The thing I like about c# is it has the best testing tools, you can make just about anything in c#(games in unity, backend by asp.net core, mobile apps by Xamarin, Frontend by blazor, desktop application by WPF, machine learning in ml.net). And It's quite fast. In benchmarks, it performs better than java. My top 3 languages would be c++, c# and Python.
You should learn what is beneficial for you. Learn and master 2-4 languages only rather than jumping and learning multiple languages just make your resume look great. You will never be happy doing that, and programming was meant to give developers happiness!!
I cannot explain my gratitude to you. I'm a freshman in high school rn, and you've helped me with your videos since I started programming. You're channel has everything I ever wanted to learn. Thank you. Literally nobody's more informative than you.
Learn C and learn various assembly languages and everything else will be super easy. Myself, HP67, UCSD-pSystem, MODULA-2,, Delphi, C, C++, MS macro assembly, also 6502 and 68000, Java, JavaScript , FPC/Lazarus, Python, SQL etc. Once you get the logic down it is not hard.
Big fan Tim... I learnt programming only by watching your videos... they are so good and i am learning more and more languages as now i am in love with programming... all thanks to you bud😄😄
I consider myself an amateur hobby programmer, however, I earned some money selling my programs. I also consider my level of programming in all my known languages intermediate or below that. I've learned first Basic (C64), then QBasic, after that Turbo Pascal. When I reached 14 I've learned Free Pascal, then Delphi. When I was 18, I've learned Visual Basic. When I was 27, I've learned C# and XAML, and also some SQL. After that, I have started to learn Python thanks to your videos. For some reason, I really want to learn Fortran, I can't tell why. I can't write a decent program in any of those languages, I just love them. I usually write industry applications to help me during my work, and some of them could be sold. But I work in a completely different industry, I just have a passion to code. I plan to use Python for an autonomous toy car which learns to drive using ultrasonic and machine learning.
I recommend adding a scripting language to your belt for automation and administration of your systems. Examples are bash (very popular), zsh (better bash), PowerShell (especially if you use a Windows machine + it integrates with the .NET framework)
Our High School Syllabus decided to do this very weird thing that kinda syncs with your recommendation: We started off with one semester of understanding problem solving and then coding in python and excel (the very simplistic one), but they decided to teach us python by having us make projects in turtle. After this, they went on to simply teaching us python fundamentals, after which they taught us basic informatics in python, the whole thing lasting a year and a half. Following this, they decided to to spend a year and a half on Java, JavaFX and Android app development. After this long period, they went back to python for a year where they (are to) teach us data analytics and AI. Following this, they (are to) teach us Data Structures in Java for another half year and then teach us SQL for half a year and then computer security for the last half a year. They way they go about is so surprisingly gruesome that ppl just dropped the module until from 180 only 30 were left.
this is my first time watching you i wanted to learn python and asked my big brother who knows python and he recommended you after a few days i will start your python beginner tutorial great video btw i am pretty sure you use pycharm while i use visual studio is it ok
Nice overview Clojure is an easier way to learn pure functional programming. It works in a JVM and is easier to start with. Like other functional langages it works well with data manipulation and data science. IMHO it takes more than 2 hours to fully understand the functional programming mindset. As long as your program is more than 20 lines, you are probably wrong :-) Scala is also a great way to learn functional programming as well as a bunch of other langages concepts. There is a great Coursera specialisation covering Scala as a functional langage. Prolog is pretty old, however practicing prolog is useful for a lot of nowadays rule based engines. For instances drools or rete use a similar system to express business rules. Declarative automation tools (make, ant, chef, terraform) implement tasks dependencies as rules and requires the same mind shift than prolog.
Many of my friends also ask me the same question and I always tell them them you need none... if you can communicate in English you can do all the programming in the world this is the beauty of programming community, they are fully welcome to new people even though many are antisocial, and they are always happy to help you as long as you can communicate the problem easily, this is why programmers find it hard to leave programming, cus the community is just so beautiful.
Would you consider making a video on... Which data structures we should be using while handling certain types of data? Like sometimes Dictionaries are more efficient than Lists and maybe sometimes Tuples are while handling certain types of Data...So if you could make video on this it would be nice.. Thanks Tim 😁
If you don't use JavaScript you may find yourself in the future having to at least learn a little of this. I think any developer should touch JavaScript (even if just learning a little bit of it). I'm going for Python, JavaScript and C++. But probably something like: high (eg. Py, Js, etc), 'kinda high and kinda low' (eg. Java, C# etc.) and 'low' (eg. C, C++, going lower is probably too old), I'm not a pro but as I see it (in other words-my opinion) you should go for one from each section starting from High (because it's easier and you won't have to be stressed all time, then you go slowly lower) if you're to learn about 3 languages. Again, this is all just how I see it, some people will disagree, so I suggest researching more as well
Hey tim, in your latest desk setup video your keyboard was very different from the one in this video ( with rgb and all), which one is it? And probably make a review??
If you were in Windows: which minimalistic C programming configuration would you suggest ? I mean, which Editor, Compiler, Linker, Debugger...etc . The idea is avoiding IDE in order to learn better. Thanks
I use Python for making my Algorithm or Flowchart and Then Use it in Java for my School Projects and I use C# because I love game development in Unity😁. I try to master only this three but I know HTML and QBASIC a little.
What's your thought about Scala? Functional cum Object Oriented. Very popular with Big Data Engineers. Best thing is, it runs on JVM, so can inter-operate with Java seamlessly.
My hiring manager, who hired me for a position using a language I don’t even know, said as soon as you know atleast two being introduced to one that your unfamiliar with you’ll still be able to read the programs
One dynamic language and one static language is enough for web development. I wonder if "techwithtim" coupon code can stack with current Black Friday sale of AlgoExpert.
I would say though at least in their first year of learn self development new developers should focus on one programming language/one framework or similar. I see to many new people trying to learn everything in their first year and not being able to get good at any.
Hey tim after python I was looking to get into golang recently, Didn't really see any mention of the language here. Wanted to know your thoughts on the language like is it worth pursuing,etc
It really depends in two factors. 1) what do you want to do 2) what do they look for in the area that you live. If there is more jobs in Django in your area than become a Django guru, if there is more jobs in Laravel than learn Php/Laravel, same goes to Java/Spring, Node, C#/ dot Net etc etc for the backend part. It would be good to know at least one frontend framework as well like Angular, React or Vue (my suggestion to learn first)
@@vjorihoxha1115 yeah, in my country React is more ok for frontend. I want to become a backend developer, so I think i have to master my Django. Actually the knowledge of front's frameworks is also needed. Anyways thank you for ur response, and sry if u find any mistakes in my english😅it is not my native language :)
C# and c++ are the most used programming languages in game Dev so you definitely need to learn them if you take that path. Also Java and C# are used a lot in enterprise level applications
@@migueldomingos4570 Yes, that is true. For real jobs and work one need to learn these languages. They are mainstream. But for hobby projects I find more interesting the languages I wrote above.
The type of programming languages you need to know depends heavily on what you are doing with them and what task you're trying to complete. So in this video I focused on the different types of languages to hopefully give you an idea of the value in learning different programming paradigms. Once you've learned the paradigms picking up new languages is simple and you can learn them as you need to!
Is dart a good programming language?
U changed that gaming chair
I sell mine that gaming chair was hurting my back so bad
@@sanjayrajasreeraja3456 sure, but it is at it's best usecase is cross plataform apps with flutter
@@migueldomingos4570 ikr but talking abt potential it is great because it is being supported by Google right?
Hey tim can you make a video on how to type fast while coding?
Each language I learned had a specific purpose and use case:
-C# for backend, games, AR/VR
-Javascript for frontend stuff
-Golang because it's cool
-Python for quick scripts like spamming my friends on discord
Answer: All you need.
Agreed!
@@TechWithTim I don't deserve this heart, sir :(
Or all the company needs 😂😂😂
Basically, yes.
Bro, I just enjoy watching your videos. You are like the Netflix for programmers.
Wow, thanks!
I'm a (very) old programmer and now I teach programming. I like your way of expressing the differences between types of languages, it was very concise. The first language I learned was Fortran and professionally the first language I used was Assembler. In my degree program, I use C/C++ as the base language with the most emphasis for my students partly for the reasons you listed, and some others such as flexibility and the ability to explore areas that require more low level involvement. I have even my IT oriented students and developer oriented students learn Java for the exposure to some of the differences and ensure they have good opportunities for employment, not to mention the exposure to GUI programming. We have been using JavaScript in our Web Programming Languages course (among others). SQL is required of everyone for their data base requirement. So that more or less covers declarative and scripting. We are adding Python as a way of introducing programming languages concepts and, of course, for it's use in Data Science fields. In our Theory class we use Lisp & Prolog - students write very simple programs in them - so they see other approaches. We do require some work in parallel programming (C++ & Java) because of the concepts and as greater use will be made of super computers, that's how much of the speed is gained. So I agree with your choices, they are ones we have been using and my students are successful in their careers.
What I learnt is that if you have a strong hold on logic building and computational thinking and you really know how things work rather than just syntax, than programming language is just a tool...
Here’s a Data Point
Job: jr. Embedded Software Engineer
Languages I use:
C - Bread and Honey Language
C++11 - good for higher level design. Mainly use it as “C with classes” and more standard libraries.
Python - Mainly as a scripting or glue language. Nothing super complex
Make/bash/etc - Good system tools and for being the “glue”. Basically a learn as you needed scenario
Verilog/VHDL - Not really a “pure” programming language persay but has similarities. Good to know in my position even if I don’t write it much.
Languages I want to learn:
Java - Why not, plus good to know
Go - System Sofrware team uses it so understanding would be good
Rust - Has high potential for future mainstream use in the embedded world
More Python - I need to understand more in depth to really take advantage of pythons benefits
Modern C++ - Most uses of c++ I see don’t really take advantage of the vision and the direction the language is going. I’ve mainly learned it as C with Classes but with each iteration since C++11 they are really moving away from that.
I think c# would be a good option. The thing I like about c# is it has the best testing tools, you can make just about anything in c#(games in unity, backend by asp.net core, mobile apps by Xamarin, Frontend by blazor, desktop application by WPF, machine learning in ml.net). And It's quite fast. In benchmarks, it performs better than java. My top 3 languages would be c++, c# and Python.
True dat, eventually add C to it
Yeah C# is good for all you mentioned but it is very bad in mobile app development
Damn I currently know how to program with Cpp and Python, maybe gonna learn html and JavaScript and C# next ¯\_(ツ)_/¯
You should learn what is beneficial for you. Learn and master 2-4 languages only rather than jumping and learning multiple languages just make your resume look great. You will never be happy doing that, and programming was meant to give developers happiness!!
I Am 10 Years Old And I Learned 13 Programming Languages
@@ahmedthegreat3973 wow! where do you work ? Is it necessary to know that many languages to be in the race ?
Exactly. Be a master of a few rather than jumping around each language and mastering none.
@@cpwithsundar No Its Not Necessary. But Its Great To Know More Than One Language I Recommend 3 Till 6. What Do You Mean By Where I Work?
@@cpwithsundar I Work In My House On My Computer
I cannot explain my gratitude to you. I'm a freshman in high school rn, and you've helped me with your videos since I started programming. You're channel has everything I ever wanted to learn. Thank you. Literally nobody's more informative than you.
Just learn what you need to know. I use Python for AI and c#/c++ for game development.
I've been thinking about this for a while
And now you've uploaded this video
Thank you so much
Thank you so much Tim, thanks to you i have a clear goal now, i'm starting with Python, then Java and then C++, i can finally start studying
Learn C and learn various assembly languages and everything else will be super easy. Myself, HP67, UCSD-pSystem, MODULA-2,, Delphi, C, C++, MS macro assembly, also 6502 and 68000, Java, JavaScript , FPC/Lazarus, Python, SQL etc. Once you get the logic down it is not hard.
Big fan Tim... I learnt programming only by watching your videos... they are so good and i am learning more and more languages as now i am in love with programming... all thanks to you bud😄😄
You are the only person I suggest to people who asks me which programming TH-camr should I watch.
I consider myself an amateur hobby programmer, however, I earned some money selling my programs. I also consider my level of programming in all my known languages intermediate or below that. I've learned first Basic (C64), then QBasic, after that Turbo Pascal. When I reached 14 I've learned Free Pascal, then Delphi. When I was 18, I've learned Visual Basic. When I was 27, I've learned C# and XAML, and also some SQL. After that, I have started to learn Python thanks to your videos. For some reason, I really want to learn Fortran, I can't tell why. I can't write a decent program in any of those languages, I just love them. I usually write industry applications to help me during my work, and some of them could be sold. But I work in a completely different industry, I just have a passion to code. I plan to use Python for an autonomous toy car which learns to drive using ultrasonic and machine learning.
Just start a project & learn the code that is needed for it
How many programming languages do you need to know?
*YES*
When you hit like even before the video starts
Big up tim 💪
MVP
I was reluctant to give the video a like because the number of likes is 666
One! C++ or C, can do it all 😊
Technically assembly, but as much as I live hacking in assembly, I do have other things to do😊
I recommend adding a scripting language to your belt for automation and administration of your systems. Examples are bash (very popular), zsh (better bash), PowerShell (especially if you use a Windows machine + it integrates with the .NET framework)
You have a good point of view of C, dealing with Linux is much easier when you understand C, Linux is very related whit C.
Tim is the best programming youtuber
and you're the best subscriber ;)
Thanks for the video!
I have been looking for a video like this. Thank you tim!😊👍
Thanks for the advice Tim! Really appreciate it
Our High School Syllabus decided to do this very weird thing that kinda syncs with your recommendation:
We started off with one semester of understanding problem solving and then coding in python and excel (the very simplistic one), but they decided to teach us python by having us make projects in turtle. After this, they went on to simply teaching us python fundamentals, after which they taught us basic informatics in python, the whole thing lasting a year and a half. Following this, they decided to to spend a year and a half on Java, JavaFX and Android app development. After this long period, they went back to python for a year where they (are to) teach us data analytics and AI. Following this, they (are to) teach us Data Structures in Java for another half year and then teach us SQL for half a year and then computer security for the last half a year. They way they go about is so surprisingly gruesome that ppl just dropped the module until from 180 only 30 were left.
this is my first time watching you i wanted to learn python and asked my big brother who knows python and he recommended you after a few days i will start your python beginner tutorial great video btw i am pretty sure you use pycharm while i use visual studio is it ok
as long as you know what you are doing, it doesn't matter even if you use notepad lol (don't tho)
Good! The languages that I'm learning so far are the ones that you're recommending in this video (except for Python, which I plan to learn next)...
Nice overview
Clojure is an easier way to learn pure functional programming. It works in a JVM and is easier to start with. Like other functional langages it works well with data manipulation and data science. IMHO it takes more than 2 hours to fully understand the functional programming mindset. As long as your program is more than 20 lines, you are probably wrong :-)
Scala is also a great way to learn functional programming as well as a bunch of other langages concepts. There is a great Coursera specialisation covering Scala as a functional langage.
Prolog is pretty old, however practicing prolog is useful for a lot of nowadays rule based engines. For instances drools or rete use a similar system to express business rules. Declarative automation tools (make, ant, chef, terraform) implement tasks dependencies as rules and requires the same mind shift than prolog.
Tim make video on how to get into competetive programming which language should we use. Etc..
Make video on it all about competitive programming
Many of my friends also ask me the same question and I always tell them them you need none... if you can communicate in English you can do all the programming in the world this is the beauty of programming community, they are fully welcome to new people even though many are antisocial, and they are always happy to help you as long as you can communicate the problem easily, this is why programmers find it hard to leave programming, cus the community is just so beautiful.
use reddit pages like /r learnpython to ask questions usually , stackoverflow is kinda bad place for asking
Would you consider making a video on... Which data structures we should be using while handling certain types of data? Like sometimes Dictionaries are more efficient than Lists and maybe sometimes Tuples are while handling certain types of Data...So if you could make video on this it would be nice.. Thanks Tim 😁
If you don't use JavaScript you may find yourself in the future having to at least learn a little of this. I think any developer should touch JavaScript (even if just learning a little bit of it).
I'm going for Python, JavaScript and C++. But probably something like: high (eg. Py, Js, etc), 'kinda high and kinda low' (eg. Java, C# etc.) and 'low' (eg. C, C++, going lower is probably too old), I'm not a pro but as I see it (in other words-my opinion) you should go for one from each section starting from High (because it's easier and you won't have to be stressed all time, then you go slowly lower) if you're to learn about 3 languages. Again, this is all just how I see it, some people will disagree, so I suggest researching more as well
I'm so glad I found this channel!
Hey tim, in your latest desk setup video your keyboard was very different from the one in this video ( with rgb and all), which one is it? And probably make a review??
If you were in Windows: which minimalistic C programming configuration would you suggest ? I mean, which Editor, Compiler, Linker, Debugger...etc . The idea is avoiding IDE in order to learn better. Thanks
I want Tim to have a smile on his face!
Seeing him from last 1year , he don't smile .
@@harshkashyap9787 haha no man he does 😂😂😂😂
Hes the second davie 504
@@sharonvictoria8417 I need BASS!
He is a programmer... What do you think?
tim's computer walpaper looks sick !!
Nice new monitor bg tim!
Thanks!
Thanks for this excellent video!
really hit us with that linus tech tip segue
I use Python for making my Algorithm or Flowchart and Then Use it in Java for my School Projects and I use C# because I love game development in Unity😁.
I try to master only this three but I know HTML and QBASIC a little.
You're so cool man i m watching you from morocco north africa.
I want to thank you for all ur amazing advice
Great content, I only see a great future for you Tim, thanks again
Thank you, Tim! 🔥💯
What's your thought about Scala?
Functional cum Object Oriented.
Very popular with Big Data Engineers.
Best thing is, it runs on JVM, so can inter-operate with Java seamlessly.
What mic do you use? The audio quality is good
Check description! But thanks :)
you missed assembler
I am not first
I am not last
But when Tim uploads video
I click fast
Thanks, Tim. I'm a Filipino fan.
Love from INDIA❤️❤️
My hiring manager, who hired me for a position using a language I don’t even know, said as soon as you know atleast two being introduced to one that your unfamiliar with you’ll still be able to read the programs
Thank you @Tech With Tim
What do you think about Xamarin Forms?
I'm gonna learn Python,c# and c++
I just wanted to know this and you have uploaded video 😀
What do you think about GoLang as a potential future of programming ?
Why does declarative programming sound like machine learning
Make a video on roadmap of full stack engineer which are the technologies you should learn as a full stack engineer
One dynamic language and one static language is enough for web development.
I wonder if "techwithtim" coupon code can stack with current Black Friday sale of AlgoExpert.
What's the difference between algoexpert and codeforces
But what about English??
Please conduct a QNA sessions TIM💖
Btw my fav youtuber and inspiration
Good idea! Maybe one for 500k?
Yes really need a Q&A session! ❤
@@TechWithTim yay!
@@TechWithTim My God TIM replied I'm so blessed today May be becoz 2mrw is my birthday
This made my day😘❤💖
Is Golang worth learning?
Bash or Rust?
*Many languages but only one God !......ie. (Conditionals)* 😊👍
"oR yOu jUSt wANTEd tO hEaR mORE oF mY vOiCe"
I would say though at least in their first year of learn self development new developers should focus on one programming language/one framework or similar. I see to many new people trying to learn everything in their first year and not being able to get good at any.
Any chance you can make a video on how to read python docs and/or other module docs. I get so lost trying to get those things.
All needed for project.
Nice video to talk about tim, young children need to here this
Amazing explanation
I studied c first now learning java, i know html and css
@@DSCuber-28-01-2019 did i said it is program language? 🤔
Love ur vids ❤️
You are my programming inspiration 💗💗
Would you consider C# .Net to be the same sort of strongly typed language as Java?
Yep!
LOl nick is an instructor at Algoexpert.
very thanks for your video helping
Kotlin instead of Java?
Thanks YOU for every thing which you do?i have question why i need react with django and django it's enough to be high levels in web .
React is front end, Django is backend.
I Am 10 Years Old And I Learned 13 Programming Languages
Hey tim after python I was looking to get into golang recently, Didn't really see any mention of the language here. Wanted to know your thoughts on the language like is it worth pursuing,etc
Tim made a playlist for Golang.
@@rakshitpuri4192 yes I have been following that. I wanted to know the background of the language as he explained in the video about other languages.
Only two Python and Go
Tim has a new chair !!!!!
good video, as always
Nice vid!
What do I need to know besides Django+PostgreSQL to become a web developer?
It really depends in two factors. 1) what do you want to do 2) what do they look for in the area that you live. If there is more jobs in Django in your area than become a Django guru, if there is more jobs in Laravel than learn Php/Laravel, same goes to Java/Spring, Node, C#/ dot Net etc etc for the backend part. It would be good to know at least one frontend framework as well like Angular, React or Vue (my suggestion to learn first)
@@vjorihoxha1115 yeah, in my country React is more ok for frontend. I want to become a backend developer, so I think i have to master my Django. Actually the knowledge of front's frameworks is also needed. Anyways thank you for ur response, and sry if u find any mistakes in my english😅it is not my native language :)
To learn: Dynamic: Ruby, Python, Julia - Static: D, Go, Rust, Nim, V, OCaml (But I would not learn C, C++, C# and Java)
C# and c++ are the most used programming languages in game Dev so you definitely need to learn them if you take that path. Also Java and C# are used a lot in enterprise level applications
@@migueldomingos4570 Yes, that is true. For real jobs and work one need to learn these languages. They are mainstream. But for hobby projects I find more interesting the languages I wrote above.
I really like your every video. Every video is very very good
Learn CLISP , the most fun I have ever had in learning it....
Informative, 😊
but cpp is faster and comes into handy from time to time!
how many do You know?
Fact : reality is far away from these youtube videos by experience
I wish Haskell was on the list of functional langs tho :( Haskell is pretty awesome
Tim can you do a tutorial on how to create our own modus for python using C..
Python and Java
Is C# good to learn as the first programming language?
It's perfect.
Definitely not it's a bit hard for beginners i suggest JS instead