Wouldn't computer science (Software) be considered engineering? Because at NC State it is considered an engineering degree but not sure if it applies to other colleges. P.S. Not to confuse it with Computer engineering (hardware).
@@brandontruong3110 Not for my case at least. My father wanted me to study to become a mechanic engineer. But when I applied to college I secretly changed it to computer science. He was mad, I was happy. Still a family disgrace for now (mechanic engineer has been my family tradition for 3 or 4 generations or so).
@@blasttrash If you mean package manager for C++ then Conan and vcpkg, if build tools then CMake, Ninja, Meson. If you want to learn makefiles then pick up a tutorial and start building any C or C++ code you write with GNU Make and IMO if it's C++ you're writing then CMake straightaway.
@@sukraatahluwalia5137 so package managers and build tools are different in c++? Like in java maven can do both for example. And if we have these build tools in c++, what are make files for? I thought make files were essentially build tools themselves
@@shabman8979 Because some people feel a need to boost their self-esteem with smug scoffing at stuff they don't personally use or prefer (or likely, in this case, even understand the need for)
4:47 Top 3 Languages for Coding Interviews (FAANG) 1. Python 2. Java 3. C++ 8:00 Top 3 Languages for "Building Cool Stuff" 1. JavaScript 2. Java 3. Swift *Leet coding - important, even when you don't know what "git" is or what build files are (Left these timestamps for myself)
Interesting. Here in Sweden, 95% of the companies I apply to are all about C#. So I would add to everyone watching this to also pay attention to regional differences in this regard if you're interested in getting a job at a tech company. Regardless, the general questions in this video to ask yourself when choosing which languages to learn still apply.
JavaScript, Python and Java are the most widely used programming languages in Sweden. In terms of ranking, the top 10 ranked programing languages are: Java, Python, JavaScript, C#, C++, PHP, Swift, MATLAB, Scala, Objective-C, respectively. - The Swedish market of IT service
Thank you for this! I'm going to take your advice and learn the top 3 for FANG. I have a few friends who work in the big ones and I've always wanted to get into it. I spend way too much time playing puzzles and dragons haha. If you could make a video about comparing FRONT END vs BACK END and if that has any impact on the hiring process - that would be epic!!
Javascript is an extremely beautiful and expressive language. I used to hate it with a passion. But there are some expressions you can do in it that just blow your mind.
@@user-sw1wq8lh2w C++ is not OOP. C++ is multi-paradigm language. It means it can do OOP and also other paradigms. Also when you start out with OOP and then learn PURE FUNCTIONAL programming you start to understand and respect OOP again. Because functional is nice, but not practical. So the best solution is to use OOP combined with sprinkles of Functional programming. Try to seperate them correctly though.
@@jabjav-c3y we had some javascript cultist in a blender discord going on and on how blender should use javascript instead of python.Which was alright enough till he started going into the people looking for python help for their addon/script that they needed to get blender to do for them.
You are right, python is not usually used to teach programming at uni. However, there are exceptions. Python is used in the introductory course in the MIT for CS. And it was also used at my uni at an engineering degree (not computer science though).
Programming Language is just like an Axe and Data Structures are the Art of cutting trees. You should have your own Axe based upon your tree whether it is very hard or soft.
@@TheFuentes5551 First find a top rated courses on data structure and algorithm on udemy. You can get those courses for free if you google them. After having good grasp on them starting implementing them using java or Python.
Kind of late here, but I would also recommend C# for people starting to code. You don't have to manage memory and there's plenty of support, including Microsoft's own (IMO really good) documentation. It's very useful for any folks wanting to get into game development, as Unity uses C# and Unreal Engine uses C++ , which is similar enough to C# to learn afterwards. You don't need to worry about the crappy syntax and randomness that C++ throws at you, but you get all, and often more, features, and many solutions to problems that are given in C++ can be easily adapted to the language. Windows Forms is also a great way to get started with building desktop applications, as it's a simple framework to get into, while being adequately powerful.
So many C but all compiled to C sharp so which one should we start with. I already learn A B just need to leran C so I move to D E F G H I K L M N O P Q R S T U V X Y Z when I reach Z I'll be burned out!
C++ is my first language because i learned a bit of it in school. After that i started learning everything on my own on the internet. In high school they teach literally the basics until year 11(which is the last year because in year 12 we are supposed to learn sql) only a few stuff will be new. Not even sure when will we see pointers. But hey i am in the second half of year 9 and we just finished arrays so i guess that is good. But yes in the end i do agree that learning c++ first would be pretty good because it makes the rest seem easy :)
If you ask me I would say C language. It might be pretty old language but it has been the base for many, which we are seeing right now. It might be a bit hard to learn compared to python, java and other such languages but if you are able to code anything with C then you are good to go with any language.
@@spraz3r348 I recommend learning Processing (processing.org/). It's a dialect of Java, but will introduce you to most essential programming concepts. Plus, it's easy to see immediate results so it's really gratifying. At the end of the day, any programming language you decide to learn will be beneficial. People spend so much time deliberating about which language to learn that they never really get anywhere. So just pick something and dedicate a few months to becoming proficient at it.
We learned C++ at uni. I learned python one summer for an internship and kept with it. Def agree with your points especially with verbose C++. Great vid! Edit: ahhh I used Django that summer too!
@@osemudiame123 me too, i love the put everything in compile time thought. You can do almost anything with C++. You can build amazing abstractions that only cost you what you use. Soon alot more tools are added to the language that makes us make better abstractions. For example: Modules, Concepts, Compile time reflection, Meta-classes. C++ is amazing and evolving. It's also great for multi-core processors. And soon RISC-V is around the corner with alot of cores. And C++ works great on that. Also for webassembly C++ is an amazing choice.
One of the few really informative videoes I've seen on this topic. Subbed! I (have to) use Java at school. Although I dont find it fun, and a bit bloated, I agree that it's a good way to teach important core concepts. I've recently started CTF-ing, though, and Java seems inferior in throwing together quick scripts on the fly to solve some of the problems i meet there, compared to Python. Is it recommended learning two languages in parallell? I would really like to get a decent understanding of Python for CTF-scripting, but have Java as my main focus as it's what we use in uni. Any thoughts would be greatly appreciated!
Taught python in my intro course, and c++ in my intermediate Comp Sci and also data structures course. Not sure why java was not the language we had to learn like the other schools in the area, but oh well. Great points in the vid! I’d definitely say python is amazing and is rightfully a top language.
That point you mentioned about choosing the right language for the right purpose in order to find support is so important and true cz especially as a beginner if u have no support u are kinda compelled to let down after long hours spent not finding answers to issues u ran into. That would make u think programming isn’t made for u cz u’re not good enough when in many cases that ain’t true.
This is my first time on your channel. I like the fact that you talk very honest. I’m a Newbie. Great example with tic tac toe, to explain front & back end, and storage You gotta new Subscriber! 👍🙏
UA-cam has gradually changed their backend language to golang. The best language is always the one that accomplishes your project in terms of time, speed and not burns your server down.
BRO, thank you so much for the insight. I have a master in biology, i work in biotech and forensics, and i feel i want to learn python and R for the future because of the need for AI and machine learning in regard to optimization and development in these fields. REGARDS!
Solid advice. Personally, for the future I'm interested in learning Kotlin and Rust, they will probably replace Java and C++ eventually, or at least be on par rivals.
@@khanhchung4103 Yeah, that's true. They'll always be legacy code, but when it comes to new projects, there is a possibility for Rust to win out over C++ in years to come.
Perfect video for anyone who has this question that which language to learn for which purpose ! My path was 8085, 8086 controller in parallel of C and C++ in college and later Java and C# as an electives. C++ is best language to start and perfect reasoning given by you. Robert Lafore's book is one of the best for C++
Java or C++ teach you way more than python (about object programming, types etc.) but it's maybe too much for a beginner. If I should recommend one language it would be Javascript (witch is quite a big bite to learn properly .. and it has basically infinite ecosystem).
I’m really enjoying this channel a lot! Just discovered it a few days again. I would like your advice on something. Naturally, the answer to this question will ultimately depend a lot on how quickly someone can learn programming. My question is this: “Is 40 years old too late to learn programming from scratch, for example SQL, and still make it in the tech world and land a good paying position?” Part of me is discouraged, because I didn’t start trying to learn programming in my mid-twenties or even early 30’s. I’m not expecting to become a hot-shot at Google, but I’m wondering if I have a fair chance to nail something solid at my age in the future.
If you want to pass interview, learn c++ (just for interview only) If you want to excel in current job places, learn python or Java. Why I pick c++ over others for interview? 1. Many sources code written in C++ 2. Less modules (less imaginations) -> easily ace during white-boarding 3. Plain code in C++ 4. Java or C++ can be easily to be understood
After working for years with Java, I'm really enjoying learning Kotlin. It doesn't have as steep a learning curve as Scala or Clojure (pure funcional languages). Instead, it feels like an improvement over Java, with some very welcome features, such as the usual syntactic sugar (with the ability of creating DSLs, a neat feature), extension functions (no more Util classes), better functional programming support (at least more than lambdas and streams), etc... I'm mostly using it for personal projects, still figuring out the Kotlin way of doing things, embracing these improvements to write more concise code. It's fun :)
My list goes as this: 1.Java 2.C++ 3.Python After that, it’s whatever interests you (Swift for iOS development, JavaScript for web development, etc etc) Now here are the reasons for why I chose these 3 languages particularly. 90% of the Fortune 500 companies use Java, which makes it almost mandatory to know it if you wanna get into a big company. With the JVM, Java is a very versatile and high performance language used in many aspects of software development. Like Joma said, C++ is great for graphics and if you know the language, it is easier to transition to other languages from it but it doesn’t have as high of an interest and popularity as Java. And Python is at number 3 because of its great versatility and ease of work, which as Joma said, makes a great language for interviews. That’s the order in which I learned them but I’m not in no way biased. Plus, if you haven’t already noticed by Joma’s videos, Python is good for data science.
1.Java - For business and versatility. 2.C++ - For screaming speed and low level HW stuff 3.Python - for ML, AI, or Web 4. JavaScript - for browser based apps
this is not based on better or best but based on questions asked. Some read that because more questions asked as they are hard, confusing and not matured. I am experienced JS developer and yes it is true for JS, more people ask about JS questions on SO because it is shit language and nobody understand it easily. Thats why there is typescript makes things easier for devs. Microsoft has it is own forum for C# and VB. People prefer to ask questions there more. Because SO is full of arrogant idiot devs and editors. Newbie guy asks a dumb question because he doesnt simply understand. he is getting downvoted, closed question and scolded. On Msdn forums you are motivated with good answer. MS own developers are checking questions and answering with good support. why would you ask on SO? Same goes for mobile development there is Xamarin forum where you get better help than SO without nobody scolds you for your super dumb newbie question.
I think the LAMP stack is still plenty viable for personal web projects... especially given the extensive documentation on the internet and due to the fact that most pet projects won't need the extreme availability that may be supported on the MEAN stack and I think the more secure infrastructure of LAMP will actually be more useful...
8:20 Hey man, I came to that conclusion on my own while trying to make my own browser extensions, and then found that many other people feel the same way. Although I honestly have nothing against Javascript or Javascript developers, they're far stronger than I. I'm probably just smooth brained when it comes to JS. Edit: Love the video by the way.
Started programming because I wanted to do math and statistics. I was amazed by the for loops and if elif statements because I saw endless possibilities in python. I felt hyped creating a program to calculate pi and optimise it but later I started creating games and dvelving into networking and I realise what a lie I have been living in. I don't want to get a stupid degree when I can learn every programming language because I enjoy it. I would much rather program instead of school and I am already equally or more addicted to programming then gaming. I am now going to learn java as my second language a proper object orientated language.
I have been working in software development for more than 20 years now and I have to say that this was a very good video, very good advice about the languages. I agree that Javascript is a very good language to learn, than you can extend that knowledge to also learn Typescript as well.
I started actually programming a year or two ago and I remember after spending 3 months learning python, I thought I was ready for machine learning. Yeah python literally became some ancient codex as soon as I tried ml. But I will say this; python is really fun and interesting just because of the data analysis you can do. Im 16 so I've never got to use it in a work environment but it's just so much fun to parse random webpages and screw around. I've probably broken some laws but oh well.
Hey Joma, Greetings. Great YT channel, nicely edited. I'm subscribed because content is great. You're very knowledgeable, honest and cool. Kudos Joma cool!
@@jeanpierre5941 Don't need syscalls since everything has a browser now, slow as shit didn't stop Java so it isn't stopping JS, and JS can eat integers up to 2^53. ;)
4:40 - In my case, my company is telling me that I am a Senior grade developer in technical terms, but that they can not move me from Junior because I tell my opinions too much, saying that I am too "implosive". Basically telling me to shut up. I will not change who I am for ANY company. If they don't want my honesty, I am starting to think that this is definitely not the right company for me. What do you think @Joma Tech ?
Honestly, even if you love doing what you are, you're still working so it's not your free time. And if you're doing more work and better work for junior developer pay I would switch companies if I was in your place. I myself I'm a junior developer I got a job 7 months ago I'm getting a hang of it and company has been great and already gave me a raise after 6 months but ya, when I start doing more work and better work than a regular junior I'm expecting my pay to raise. I do love doing this as my job. But it's still a job it's not my free time. And I don't like staring at a monitor for 8 to 8 and a half sometimes 9 hours a day. So yea.
Bruh literally the 4 languages I have practiced the most on the side with science degree in college and the things he said... getting my opinions confirmed lmao
An observation I want to add : I hear people say learn python for machine learning all the time. I think people want to learn machine learning only after they look at the high salary , not knowing that you can't just get into machine learning like you can with being a developer. Machine learning and ai is still treated as a traditional science , engineering field, not a programming field. You'll most likely need a master's degree to get hired .
I would disagree. I think for beginners they should do python first so they don’t trip up on malloc and garbage processes. Then C follow by C++. Especially with little guidance c can be real beast. I remember pointers in function took forever to understand
Most people start with Python then they never want to learn C. My friend was a case. C is an easy language to learn (not using) even though you have to do memory management manually. Not only that, understanding memory helps me a lot what going on under computers.
@@Belgarathe As someone who writes C++ in production, I would say if one wants to write C++ then there's no need to learn C first. C++ especially since C++11 and now with 17 ( and 20 coming soon) has become a very, very different beast compared to C. Good practices in C++ are way different compared to C, you learn C then you will have to unlearn a lot of C style of coding when writing C++. The only benefit I can think of from C is pointers , but lets' face it, any competent C++ book will teach raw pointers first anyway and then move to smart pointers.
Usually, it is not you who choose which programming language to learn (unless you want to become a degree-less programmer). For example, I studied engineering in two different universities (in two different countries) and both taught me programming in C++ and Matlab. However, the thing that I voluntarily chose to learn myself, and turned out to be important for my career, is Linux. In fact, universities unfortunately do not teach Linux at all, so do yourself a favour and self-learn Linux and, in the meantime, leave the programming language choice to the curriculum of your university.
This video is accurate. At the end of my CS degree, I had learnt all the common programming languages and could learn any new language in about a day (1 day for the basics and 2 days to be proficient). Like he said, programming languages aren’t important to professionals, because we know all of them, and it doesn’t take long to learn new ones. It’s the libraries, frameworks and support available for whatever you’re trying to program that matter because it means you don’t have to write your own 😂
im a doctor and currently learning python since medicine gets more and more influenced by you guys (number of papers surged involving machine learning etc. pp.)
Scheme and C are used as starting languages because they are tight and minimalists. That mean you will only need a few days to know everything the languages offers. Mastering it is another story altogether; but the less time you have to learn specials syntaxs, the more time you can dedicate to learn to use your toolbox. With experience you might wear more and more toward a tight, small, well behaved toolbox anyway. That's why all the language end up looking the same: you're better of sticking to the core and avoiding any special constructs and eye candy.
Boy oh boy! I have been watching shorts on this channel without subscribing until this one. I just both subscribed AND clicked on the like button. Sold!
One question for a complete beginner? Learned the basics of Python, should I keep specialising on it or learn the basics of some others too(Java, SQL, etc).. Quantitative Economics student here
If your curriculum requires you to learn all the other things, do so. Otherwise, I'd say depth is more important than width for a beginner, because when you get to expand your skills later it's far more easier if you have a indepth understanding of a specialised technology
I started with a language barely anyone uses, moved on to a language that barely anyone uses and now I‘m using a language that barely anyone uses. I think I‘m eligible for all three categories!
Hi Joma. I enjoy your UA-cam video. I am pretty good with visual basic. I have exposure to Java and I believe I can learn other languages quickly if necessary. My work requires the use of Autocad, and I develop plenty DLL files to use with this application. However I would like to branch off on my own and develop my own cad program. Can you guide me in an approach to solving my problem? Research on the internet is not clear.
I’m a 3rd year mechanical engineering student doing an emphasis on mechatronics. My degree barely skims the surface of CS, like I had to take 1 intro to C++ course for my degree but that’s it. I saw that a lot of my peers knew how to code, and I was had mostly forgotten what I learned from C++. So with the quarantine I started learning JavaScript and I’ve been working on a discord bot. Next I plan on doing a web app.
I earned a bachelor's and MBA but went back because the job prospects were too good to ignore. While the hours can be insane, it is just a good idea to have a computer science degree and learn about technology.
@@ryzen7428 well my friend you are completely misinformed , are you sure you can learn completely from Google because I know I can't , if you think you can just answer my question - how to configure vs code for C++17 in Ubuntu or any Linux distro Even the official website of vs code lacks this sufficient documentation, how's that. Also yet another question - should you upgrade your Linux kernel, that would compromise the stability of the graphics driver of Nvidia how's that
I have a pretty specific question. What language(s) would you recommend purely for game development? Specifically I want to be able to make animations and implement cool fight choreography and allow my imagination to work and emulate my creativity as accurately as possible. I'm not in the market to learning coding yet, but it's something I would like to get into one day. I'd like to start as a hobby or curiosity and see where it goes.
I'm an embedded software engineer and from my limited experience I would say 1) c/c++ 2) rust 3) python although I could be swayed to switch rust and c
Him: 95%... are lying to yourself and want to make that your career so you can make money Me: *Im just a 12 year old kid that just wants show my friends that I’m better than them...*
I'd like to add something about, "Build Stuff Part" I would have replaced Swift and/or Java with C#, since with .Net Framework and .Net Core, you can make a whole application with just C# for backend (MVC and WebAPI) and frontend, Razor which is used for MVC, but okay in MVC if you want AJAX you will need JavaScript but in .Net Core 3.0, Blazor was released it uses web assembly. And Blazor is basically just like Angular and ReactJS but you'll be writing in C# which I think is better than writing it in JavaScript. Also C# has Xamarin which you can use to make Android and iOS apps, also C# has WPF, UWP and WinForm. So you already have Web application, mobile application and desktop application covered. On top of that it's really easy to make window services with C#. And .Net Core can run on Linux and few .Net Framework projects as well if you use Momo on Linux, and I mean Microsoft supports C# so it's not going to die any time soon, and I'll keep going it has Azure which makes hosting and deployment super easy. EDIT: Forgot to mention Unity, it uses C# as well, now you have game development as well.
Nice one, but clearly this is a common thing that people don't know. And also putting swift in top 3 on web apps is really a ridiculous thing, he clearly is locked down in a small island and don't know what is happening in other techs
My school required intro to programming first, which taught in C++. Then intro to C# and C# advanced were the only required language classes. I elected to take Intro and advanced C++, Python and Intro/Advanced Java as well. Im not entirely sure what i want to work on yet so i wanted to be as well rounded as possible.
@@denyss5962 Python is for automation, machine learning, algorithm and AI stuffs. Java is for making applications and softwares. C++ is same like Java but harder and for blazing fast performance workloads. Am I right?
Dad explained what programming means to me, and told me that they make less money than avarage and I started liking it and liking it until it became my passion and now I know Unity c#, Roblox Lua, discord.js, C++, python, html. Only then to realise being a programmer can get you rich
Asian career path:
1. Doctor
2. Engineer
3. Family disgrace.
Wouldn't computer science (Software) be considered engineering?
Because at NC State it is considered an engineering degree but not sure if it applies to other colleges.
P.S.
Not to confuse it with Computer engineering (hardware).
@@brandontruong3110 CS IS NOT ENGINEERING!!!!
@@brandontruong3110 Not for my case at least. My father wanted me to study to become a mechanic engineer. But when I applied to college I secretly changed it to computer science.
He was mad, I was happy.
Still a family disgrace for now (mechanic engineer has been my family tradition for 3 or 4 generations or so).
That’s Old fashioned thinking
You forgot lawyer
joma: "If you're watching this video, you're a beginner"
me whos just a bored programmer who wants to watch vidios: :(
lol
your pfp sir makes me laugh very much
@@QQFQFQFQFQFUWQBFJWB Wide Linus
All true programmers have wide Linus as their pfp
@@henrylecompte4533 I do on my other account does that count lol?
I'm not one of the 95% lying to themselves... I've always only been interested in the money.
Good luck
@@michaeljohnmagistrado1166 thanks. I have an interview coming up.
@@andrewnixon5872 so did you get it?
@@dogeraid5937 ...
I hope more then 5% aren't in it for the money :/
become a god at C++ and earn the right to look down on every other language
wym boi
this is the way
Yes this is the way to gain pleasure
No learn machine code and look down at the entire world
but it is a bad thinking.
My first programming language was C++, after that other languages seems like easypeasy. That's why I love C++.
hey do you know where to learn about make files and stuff? Also is there a C++ equivalent of Maven(or Gradle or npm)?
@@blasttrash If you mean package manager for C++ then Conan and vcpkg, if build tools then CMake, Ninja, Meson. If you want to learn makefiles then pick up a tutorial and start building any C or C++ code you write with GNU Make and IMO if it's C++ you're writing then CMake straightaway.
@@sukraatahluwalia5137 so package managers and build tools are different in c++? Like in java maven can do both for example. And if we have these build tools in c++, what are make files for? I thought make files were essentially build tools themselves
Have you ever try Haskell, or Rust???
@@quangtung2912 I heard many times, but i haven't tried. After cpp learnt java and python. Java for Android and python for data science.
For the Lazy:
1. Python
2. Java
3. C++
but srsly, watch the reasoning for each one.
@robizzlor yes why not
@@Rohan122 everyone uses brainfuck.
Or atleast i do.and i fucking hate it.
@robizzlor don't understand how it's funny when C++ is a very good language
@@shabman8979 Because some people feel a need to boost their self-esteem with smug scoffing at stuff they don't personally use or prefer (or likely, in this case, even understand the need for)
Thanks
*Makes top 3 programming languages video
*Has 4 in thumbnail
Okay then keep your secret
Arrays starts at 0
@@arthurserafim1400 😂😂
@@arthurserafim1400 omg 😂😂😂
😂😂
😂😂😂
4:47 Top 3 Languages for Coding Interviews (FAANG)
1. Python
2. Java
3. C++
8:00 Top 3 Languages for "Building Cool Stuff"
1. JavaScript
2. Java
3. Swift
*Leet coding
- important, even when you don't know what "git" is or what build files are
(Left these timestamps for myself)
Thanks
This is actually one of the best one of these videos I’ve seen. No rambly “follow your passion” BS, thanks man
Interesting. Here in Sweden, 95% of the companies I apply to are all about C#. So I would add to everyone watching this to also pay attention to regional differences in this regard if you're interested in getting a job at a tech company. Regardless, the general questions in this video to ask yourself when choosing which languages to learn still apply.
Malmö = Danmark
JavaScript, Python and Java are the most widely used programming languages in Sweden. In terms of ranking, the top 10 ranked programing languages are: Java, Python, JavaScript, C#, C++, PHP, Swift, MATLAB, Scala, Objective-C, respectively.
- The Swedish market of IT service
Interesting, over here in Iceland it seems c++ and python are the winners, especially in my field
That part. Around me everyone wants Java, but if I expand to statewide it's either C, C# or Python with a sprinkling of Javascript.
You are damn right! here in Poland. Java and javascript are on top for web development
Thank you for this! I'm going to take your advice and learn the top 3 for FANG. I have a few friends who work in the big ones and I've always wanted to get into it. I spend way too much time playing puzzles and dragons haha. If you could make a video about comparing FRONT END vs BACK END and if that has any impact on the hiring process - that would be epic!!
looking back at this now 😂
This didn't age well
@@loyaljakes why?
this didn't age well
Javascript is an extremely beautiful and expressive language. I used to hate it with a passion. But there are some expressions you can do in it that just blow your mind.
I agree with point of learning C++. Easy to learn a new languages after you’ve learn the fundamental OOP concepts. Great video 👌👍
Also hard to unlearn OOP when you realize it's problematic.
@@user-sw1wq8lh2w C++ is not OOP. C++ is multi-paradigm language. It means it can do OOP and also other paradigms. Also when you start out with OOP and then learn PURE FUNCTIONAL programming you start to understand and respect OOP again. Because functional is nice, but not practical. So the best solution is to use OOP combined with sprinkles of Functional programming. Try to seperate them correctly though.
@@HermanWillems OOP should be a last resort. Simple is always better. Only use OOP if necessary.
I love this guy: "shut up, stop regurgitating what you've read on the internet and have your own opinions for christ's sakes!"
But still, you should not listen to some random tech "expert" and instead get to know what you want to do.
literally what I think when I see some massive circle jerk thread about javascript.
@@jabjav-c3y we had some javascript cultist in a blender discord going on and on how blender should use javascript instead of python.Which was alright enough till he started going into the people looking for python help for their addon/script that they needed to get blender to do for them.
Better than all of the other videos out there. Thanks for being honest, this video has helped me to think about what languages to learn.
I love how he explains why he ranks everything. Very comprehensive!
You are right, python is not usually used to teach programming at uni. However, there are exceptions. Python is used in the introductory course in the MIT for CS. And it was also used at my uni at an engineering degree (not computer science though).
It makes sense. Python is extremely popular among non CS people. They just want the code, they don't care about memory management or performance
Despite this video being 4 years old, I can see that you have the skill to captivate the audience and avoid making the information dull.
Yeh😊
Programming Language is just like an Axe and Data Structures are the Art of cutting trees. You should have your own Axe based upon your tree whether it is very hard or soft.
Where to begin learning about Data Structures?
@@TheFuentes5551 First find a top rated courses on data structure and algorithm on udemy. You can get those courses for free if you google them. After having good grasp on them starting implementing them using java or Python.
Kind of late here, but I would also recommend C# for people starting to code. You don't have to manage memory and there's plenty of support, including Microsoft's own (IMO really good) documentation. It's very useful for any folks wanting to get into game development, as Unity uses C# and Unreal Engine uses C++ , which is similar enough to C# to learn afterwards. You don't need to worry about the crappy syntax and randomness that C++ throws at you, but you get all, and often more, features, and many solutions to problems that are given in C++ can be easily adapted to the language. Windows Forms is also a great way to get started with building desktop applications, as it's a simple framework to get into, while being adequately powerful.
So many C but all compiled to C sharp so which one should we start with. I already learn A B just need to leran C so I move to D E F G H I K L M N O P Q R S T U V X Y Z
when I reach Z I'll be burned out!
Kudos for starting with that the answer depends on who asks... also, clear classification, solid reasoning, nice visual elements. A good one, grats.
So glad I found this channel... I don't know a lot of tech people or programmers around my peers, I hope your videos take me far
Seriously the most informative programming languages video I've ever seen. Keep up the nice work!
C++ should be taught as the first language to help students understand how computer really works :)
C++ is my first language because i learned a bit of it in school. After that i started learning everything on my own on the internet. In high school they teach literally the basics until year 11(which is the last year because in year 12 we are supposed to learn sql) only a few stuff will be new. Not even sure when will we see pointers. But hey i am in the second half of year 9 and we just finished arrays so i guess that is good.
But yes in the end i do agree that learning c++ first would be pretty good because it makes the rest seem easy :)
noo!! to understand how computer really works -> asm should be the first language :))
I got taught c++ first in our school
If you ask me I would say C language.
It might be pretty old language but it has been the base for many, which we are seeing right now.
It might be a bit hard to learn compared to python, java and other such languages but if you are able to code anything with C then you are good to go with any language.
rn my school is teaching us python
"i want to program so that i could be ahead once i start computer science next year as a freshmen"
dude are you spying on me
Learn java and object orientated programming if you want to be ahead in your 1ss year in CS
@Boris Petrov i started learning python but in the university next year they will teach us java cause the exam are about java. What should i do?
same im going into highschool next year
@@spraz3r348 I recommend learning Processing (processing.org/). It's a dialect of Java, but will introduce you to most essential programming concepts. Plus, it's easy to see immediate results so it's really gratifying. At the end of the day, any programming language you decide to learn will be beneficial. People spend so much time deliberating about which language to learn that they never really get anywhere. So just pick something and dedicate a few months to becoming proficient at it.
@@_lemonny processing is javascript not java
On the have fun category you should totally learn C#, it’s used for Unity and it’s used for so much other stuff too
We learned C++ at uni. I learned python one summer for an internship and kept with it. Def agree with your points especially with verbose C++. Great vid!
Edit: ahhh I used Django that summer too!
Vanessa Hernandez As a electronics engineer I think C/C++ is bae
const string&
@@osemudiame123 me too, i love the put everything in compile time thought. You can do almost anything with C++. You can build amazing abstractions that only cost you what you use. Soon alot more tools are added to the language that makes us make better abstractions. For example: Modules, Concepts, Compile time reflection, Meta-classes. C++ is amazing and evolving. It's also great for multi-core processors. And soon RISC-V is around the corner with alot of cores. And C++ works great on that. Also for webassembly C++ is an amazing choice.
One of the few really informative videoes I've seen on this topic. Subbed! I (have to) use Java at school. Although I dont find it fun, and a bit bloated, I agree that it's a good way to teach important core concepts. I've recently started CTF-ing, though, and Java seems inferior in throwing together quick scripts on the fly to solve some of the problems i meet there, compared to Python. Is it recommended learning two languages in parallell? I would really like to get a decent understanding of Python for CTF-scripting, but have Java as my main focus as it's what we use in uni. Any thoughts would be greatly appreciated!
Taught python in my intro course, and c++ in my intermediate Comp Sci and also data structures course. Not sure why java was not the language we had to learn like the other schools in the area, but oh well. Great points in the vid! I’d definitely say python is amazing and is rightfully a top language.
That point you mentioned about choosing the right language for the right purpose in order to find support is so important and true cz especially as a beginner if u have no support u are kinda compelled to let down after long hours spent not finding answers to issues u ran into. That would make u think programming isn’t made for u cz u’re not good enough when in many cases that ain’t true.
Wow,, this is one of my favourite video!!
“When you hear it repeatedly, then you get to understand” is personal highlight!
This is my first time on your channel. I like the fact that you talk very honest. I’m a Newbie. Great example with tic tac toe, to explain front & back end, and storage
You gotta new Subscriber! 👍🙏
UA-cam has gradually changed their backend language to golang. The best language is always the one that accomplishes your project in terms of time, speed and not burns your server down.
BRO, thank you so much for the insight. I have a master in biology, i work in biotech and forensics, and i feel i want to learn python and R for the future because of the need for AI and machine learning in regard to optimization and development in these fields. REGARDS!
MAK 4891 Python will fit well with you
Why I just found this channel... you're what I needed this whole time for some encouragement and advice
For the encouragement part you mean touching boobs?
Hey it’s being for 1 year did u get a job?
@@amranmohamed377 did he get it ?
Solid advice. Personally, for the future I'm interested in learning Kotlin and Rust, they will probably replace Java and C++ eventually, or at least be on par rivals.
Sean Kelly Nah. I don't know about Java but replace C++? then you have to rewrite almost the entire world of software
@@khanhchung4103 Yeah, that's true. They'll always be legacy code, but when it comes to new projects, there is a possibility for Rust to win out over C++ in years to come.
@@khanhchung4103 Obviously what he said can only refer to new projects, not maintaining and expanding old ones. Duh!
Please make a video about which frameworks are better for specific type of work, would really appreciate it. Love your videos ❤️
This video really makes me appreciate that I was/am taught all of these at uni!
Java was my first language and picking up Python is pretty simple since the syntax isn't as restricting
Damn, that must've been very sad 😭
Perfect video for anyone who has this question that which language to learn for which purpose !
My path was 8085, 8086 controller in parallel of C and C++ in college and later Java and C# as an electives. C++ is best language to start and perfect reasoning given by you.
Robert Lafore's book is one of the best for C++
Thanks Joma! This really helps a lot, Blessings!
Java or C++ teach you way more than python (about object programming, types etc.) but it's maybe too much for a beginner.
If I should recommend one language it would be Javascript (witch is quite a big bite to learn properly .. and it has basically infinite ecosystem).
it took lots of scrolling to find javascript in this comment section. thank you
I learned C++/Python Self. At university i learned first years C. and after Java, Java, and more Java ... I prefer C++, Python, Java
usthb??
@@ilyesmilyesm2576 MB
Yacine BENAFFANE depends, C# good too, and html if you think is a language.
I’m really enjoying this channel a lot! Just discovered it a few days again. I would like your advice on something. Naturally, the answer to this question will ultimately depend a lot on how quickly someone can learn programming. My question is this: “Is 40 years old too late to learn programming from scratch, for example SQL, and still make it in the tech world and land a good paying position?” Part of me is discouraged, because I didn’t start trying to learn programming in my mid-twenties or even early 30’s. I’m not expecting to become a hot-shot at Google, but I’m wondering if I have a fair chance to nail something solid at my age in the future.
My first language that I really learned was Java, then C# (basically the same), then C++.
Thank you my friend! You solved all my questions in my mind! 👍
I just wanna learn this because my fictional characters are smart, so I need to be too.
ua-cam.com/channels/D4dZVe8gc80z_A7RFqCn0Q.html
If you want to pass interview, learn c++ (just for interview only)
If you want to excel in current job places, learn python or Java.
Why I pick c++ over others for interview?
1. Many sources code written in C++
2. Less modules (less imaginations) -> easily ace during white-boarding
3. Plain code in C++
4. Java or C++ can be easily to be understood
Perfect to the point explained! The exactly relatable video to a CS fresher I would say !!
After working for years with Java, I'm really enjoying learning Kotlin. It doesn't have as steep a learning curve as Scala or Clojure (pure funcional languages).
Instead, it feels like an improvement over Java, with some very welcome features, such as the usual syntactic sugar (with the ability of creating DSLs, a neat feature), extension functions (no more Util classes), better functional programming support (at least more than lambdas and streams), etc...
I'm mostly using it for personal projects, still figuring out the Kotlin way of doing things, embracing these improvements to write more concise code. It's fun :)
There is so much fact in this one video than anything I've ever seen. Take my word for it as a CS bachelor's graduate
14:40 *Universal truth.*
Its just an opinion
My list goes as this:
1.Java
2.C++
3.Python
After that, it’s whatever interests you (Swift for iOS development, JavaScript for web development, etc etc)
Now here are the reasons for why I chose these 3 languages particularly. 90% of the Fortune 500 companies use Java, which makes it almost mandatory to know it if you wanna get into a big company. With the JVM, Java is a very versatile and high performance language used in many aspects of software development. Like Joma said, C++ is great for graphics and if you know the language, it is easier to transition to other languages from it but it doesn’t have as high of an interest and popularity as Java. And Python is at number 3 because of its great versatility and ease of work, which as Joma said, makes a great language for interviews. That’s the order in which I learned them but I’m not in no way biased. Plus, if you haven’t already noticed by Joma’s videos, Python is good for data science.
1.Java
- For business and versatility.
2.C++
- For screaming speed and low level HW stuff
3.Python - for ML, AI, or Web
4. JavaScript - for browser based apps
Java is trash.
Stackoverflow ranked languages something like this in 2018
1. Javascript
2. Python
3. Go
4. Java
this is not based on better or best but based on questions asked. Some read that because more questions asked as they are hard, confusing and not matured. I am experienced JS developer and yes it is true for JS, more people ask about JS questions on SO because it is shit language and nobody understand it easily. Thats why there is typescript makes things easier for devs.
Microsoft has it is own forum for C# and VB. People prefer to ask questions there more. Because SO is full of arrogant idiot devs and editors. Newbie guy asks a dumb question because he doesnt simply understand. he is getting downvoted, closed question and scolded. On Msdn forums you are motivated with good answer. MS own developers are checking questions and answering with good support. why would you ask on SO?
Same goes for mobile development there is Xamarin forum where you get better help than SO without nobody scolds you for your super dumb newbie question.
I think the LAMP stack is still plenty viable for personal web projects... especially given the extensive documentation on the internet and due to the fact that most pet projects won't need the extreme availability that may be supported on the MEAN stack and I think the more secure infrastructure of LAMP will actually be more useful...
8:20 Hey man, I came to that conclusion on my own while trying to make my own browser extensions, and then found that many other people feel the same way. Although I honestly have nothing against Javascript or Javascript developers, they're far stronger than I. I'm probably just smooth brained when it comes to JS.
Edit: Love the video by the way.
Started programming because I wanted to do math and statistics. I was amazed by the for loops and if elif statements because I saw endless possibilities in python. I felt hyped creating a program to calculate pi and optimise it but later I started creating games and dvelving into networking and I realise what a lie I have been living in. I don't want to get a stupid degree when I can learn every programming language because I enjoy it. I would much rather program instead of school and I am already equally or more addicted to programming then gaming. I am now going to learn java as my second language a proper object orientated language.
"JavaScript is the only language that u can use to build an end to end app"
is that true? why are you quoting
yeah, it is actually pretty much true as I am a javascript developer and I can do both client and server with single language..
I have been working in software development for more than 20 years now and I have to say that this was a very good video, very good advice about the languages. I agree that Javascript is a very good language to learn, than you can extend that knowledge to also learn Typescript as well.
I started actually programming a year or two ago and I remember after spending 3 months learning python, I thought I was ready for machine learning. Yeah python literally became some ancient codex as soon as I tried ml. But I will say this; python is really fun and interesting just because of the data analysis you can do. Im 16 so I've never got to use it in a work environment but it's just so much fun to parse random webpages and screw around. I've probably broken some laws but oh well.
I laughed so hard throughout this video. You make this field of coding entertaining and fun. Stay blessed ❤️
Yeah the one that made me laugh is the boobies one
@@adamalaa6784 1:30 lol for sure
Hey Joma,
Greetings. Great YT channel, nicely edited. I'm subscribed because content is great. You're very knowledgeable, honest and cool. Kudos Joma cool!
It's obviously Assembly, FORTRAN and Pascal. Those are the most happening languages right now.
Don't forget COBOL!
What about Visual Basic?
Best video that shows right path. Thanks Joma.
1. JavaScript. It's eating everything. *The End.*
Agree
@Luis CG I would have too, _a couple years ago._ The thing is, you'll need another language to get that initial job like: JS, Java, C++, etc.
Teh script, can’t make syscalls, slow as shit, can’t eat integers. :)
JavaScript can create a web alone without HTML
+
It can also create apps and games
@@jeanpierre5941 Don't need syscalls since everything has a browser now, slow as shit didn't stop Java so it isn't stopping JS, and JS can eat integers up to 2^53. ;)
I just watch this vids for the memes. This man is comedic gold.
and info, dont forget that..
4:40 - In my case, my company is telling me that I am a Senior grade developer in technical terms, but that they can not move me from Junior because I tell my opinions too much, saying that I am too "implosive". Basically telling me to shut up.
I will not change who I am for ANY company. If they don't want my honesty, I am starting to think that this is definitely not the right company for me.
What do you think @Joma Tech ?
Honestly, even if you love doing what you are, you're still working so it's not your free time. And if you're doing more work and better work for junior developer pay I would switch companies if I was in your place. I myself I'm a junior developer I got a job 7 months ago I'm getting a hang of it and company has been great and already gave me a raise after 6 months but ya, when I start doing more work and better work than a regular junior I'm expecting my pay to raise. I do love doing this as my job. But it's still a job it's not my free time. And I don't like staring at a monitor for 8 to 8 and a half sometimes 9 hours a day. So yea.
Bruh literally the 4 languages I have practiced the most on the side with science degree in college and the things he said... getting my opinions confirmed lmao
8:20 is fucking gold
An observation I want to add : I hear people say learn python for machine learning all the time. I think people want to learn machine learning only after they look at the high salary , not knowing that you can't just get into machine learning like you can with being a developer. Machine learning and ai is still treated as a traditional science , engineering field, not a programming field. You'll most likely need a master's degree to get hired .
fred d exactly, machine learning requires very good math and statistics knowledge.
Your videos are very helpful! I always look forward to seeing more content from you!
Thank you for the guidelines!
if you want to start go for:
1. start with c
2.go to c++
3.after that any other language is easy and amazing
I would disagree. I think for beginners they should do python first so they don’t trip up on malloc and garbage processes. Then C follow by C++. Especially with little guidance c can be real beast. I remember pointers in function took forever to understand
Most people start with Python then they never want to learn C. My friend was a case. C is an easy language to learn (not using) even though you have to do memory management manually. Not only that, understanding memory helps me a lot what going on under computers.
@@Belgarathe As someone who writes C++ in production, I would say if one wants to write C++ then there's no need to learn C first. C++ especially since C++11 and now with 17 ( and 20 coming soon) has become a very, very different beast compared to C. Good practices in C++ are way different compared to C, you learn C then you will have to unlearn a lot of C style of coding when writing C++. The only benefit I can think of from C is pointers , but lets' face it, any competent C++ book will teach raw pointers first anyway and then move to smart pointers.
Usually, it is not you who choose which programming language to learn (unless you want to become a degree-less programmer). For example, I studied engineering in two different universities (in two different countries) and both taught me programming in C++ and Matlab. However, the thing that I voluntarily chose to learn myself, and turned out to be important for my career, is Linux. In fact, universities unfortunately do not teach Linux at all, so do yourself a favour and self-learn Linux and, in the meantime, leave the programming language choice to the curriculum of your university.
This video is accurate. At the end of my CS degree, I had learnt all the common programming languages and could learn any new language in about a day (1 day for the basics and 2 days to be proficient). Like he said, programming languages aren’t important to professionals, because we know all of them, and it doesn’t take long to learn new ones. It’s the libraries, frameworks and support available for whatever you’re trying to program that matter because it means you don’t have to write your own 😂
What did you learned at first?
You simplified it a lot for the newbies, amazing video bro!!
im a doctor and currently learning python since medicine gets more and more influenced by you guys (number of papers surged involving machine learning etc. pp.)
So, 3 years later, did you learn it, or did you quit? 😄
😂😂@@yavornestorov
Scheme and C are used as starting languages because they are tight and minimalists. That mean you will only need a few days to know everything the languages offers. Mastering it is another story altogether; but the less time you have to learn specials syntaxs, the more time you can dedicate to learn to use your toolbox.
With experience you might wear more and more toward a tight, small, well behaved toolbox anyway. That's why all the language end up looking the same: you're better of sticking to the core and avoiding any special constructs and eye candy.
"Why is PHP not on the list for web apps?" - Zuckerberg
They hate it
cuz react
Facebook has some php modules but they have build some compailer to translate php to c. So ciao php
Because php is crap
In my opinion lol
@@RicoEumaGreatestOfAllTime why ?
Glad to see you back with real info Joma :)
"Oh yeah and i quit my job" still laughing for that one XD
You the best bro!
Boy oh boy! I have been watching shorts on this channel without subscribing until this one. I just both subscribed AND clicked on the like button. Sold!
One question for a complete beginner? Learned the basics of Python, should I keep specialising on it or learn the basics of some others too(Java, SQL, etc).. Quantitative Economics student here
If your curriculum requires you to learn all the other things, do so. Otherwise, I'd say depth is more important than width for a beginner, because when you get to expand your skills later it's far more easier if you have a indepth understanding of a specialised technology
I started with a language barely anyone uses, moved on to a language that barely anyone uses and now I‘m using a language that barely anyone uses. I think I‘m eligible for all three categories!
Can I know what language it is? Fortran? Pascal? Basic?
Hi Joma. I enjoy your UA-cam video. I am pretty good with visual basic. I have exposure to Java and I believe I can learn other languages quickly if necessary. My work requires the use of Autocad, and I develop plenty DLL files to use with this application. However I would like to branch off on my own and develop my own cad program. Can you guide me in an approach to solving my problem? Research on the internet is not clear.
I’m a 3rd year mechanical engineering student doing an emphasis on mechatronics. My degree barely skims the surface of CS, like I had to take 1 intro to C++ course for my degree but that’s it. I saw that a lot of my peers knew how to code, and I was had mostly forgotten what I learned from C++. So with the quarantine I started learning JavaScript and I’ve been working on a discord bot. Next I plan on doing a web app.
Thanks a lot bro! Some of the information available can be daunting when you are first starting out but eventually you understand.🙋
I earned a bachelor's and MBA but went back because the job prospects were too good to ignore. While the hours can be insane, it is just a good idea to have a computer science degree and learn about technology.
I'm learning Java then python then html and the c++
Switch c++ and html. HTML is too hard, first learn c++...
Good to you bro
@@renn.or.something it was a joke...
@@romkagm7756 i didnt aim it for you
The best advice I've heard in my life. Thanks a lot
Sir Could you please make a video explaining the resources you use to learn or enhance your programming skills
@@ryzen7428 well my friend you are completely misinformed , are you sure you can learn completely from Google because I know I can't , if you think you can just answer my question - how to configure vs code for C++17 in Ubuntu or any Linux distro
Even the official website of vs code lacks this sufficient documentation, how's that.
Also yet another question - should you upgrade your Linux kernel, that would compromise the stability of the graphics driver of Nvidia how's that
@@ryzen7428 so how do you choose between them ?
I'm glad that I started with the one that build cool stuff. Thanks :)
I have a pretty specific question. What language(s) would you recommend purely for game development? Specifically I want to be able to make animations and implement cool fight choreography and allow my imagination to work and emulate my creativity as accurately as possible. I'm not in the market to learning coding yet, but it's something I would like to get into one day. I'd like to start as a hobby or curiosity and see where it goes.
I'm an embedded software engineer and from my limited experience I would say 1) c/c++ 2) rust 3) python although I could be swayed to switch rust and c
You can see four languages on the preview, cause Joma starts count from 0)
Him: 95%... are lying to yourself and want to make that your career so you can make money
Me: *Im just a 12 year old kid that just wants show my friends that I’m better than them...*
Lol, you sound like an anime character
We have the same interest I see...
me: just a (almost) 12 year old kiddo that likes doing computery shit
Im a 13 year old who wants to make money, that's it
no man ur future more importante than ur friends
I'd like to add something about, "Build Stuff Part" I would have replaced Swift and/or Java with C#, since with .Net Framework and .Net Core, you can make a whole application with just C# for backend (MVC and WebAPI) and frontend, Razor which is used for MVC, but okay in MVC if you want AJAX you will need JavaScript but in .Net Core 3.0, Blazor was released it uses web assembly. And Blazor is basically just like Angular and ReactJS but you'll be writing in C# which I think is better than writing it in JavaScript. Also C# has Xamarin which you can use to make Android and iOS apps, also C# has WPF, UWP and WinForm. So you already have Web application, mobile application and desktop application covered. On top of that it's really easy to make window services with C#. And .Net Core can run on Linux and few .Net Framework projects as well if you use Momo on Linux, and I mean Microsoft supports C# so it's not going to die any time soon, and I'll keep going it has Azure which makes hosting and deployment super easy.
EDIT:
Forgot to mention Unity, it uses C# as well, now you have game development as well.
Nice one, but clearly this is a common thing that people don't know.
And also putting swift in top 3 on web apps is really a ridiculous thing, he clearly is locked down in a small island and don't know what is happening in other techs
My school required intro to programming first, which taught in C++. Then intro to C# and C# advanced were the only required language classes. I elected to take Intro and advanced C++, Python and Intro/Advanced Java as well. Im not entirely sure what i want to work on yet so i wanted to be as well rounded as possible.
4:53
python
java
c++
You're not even helping people, it's different depending on what they want to do
@@denyss5962 Python is for automation, machine learning, algorithm and AI stuffs. Java is for making applications and softwares. C++ is same like Java but harder and for blazing fast performance workloads. Am I right?
Careful. He is a hero❤️❤️
Dad explained what programming means to me, and told me that they make less money than avarage and I started liking it and liking it until it became my passion and now I know Unity c#, Roblox Lua, discord.js, C++, python, html. Only then to realise being a programmer can get you rich