With that statement in mind, when I am at an interview (initial phone) and they say do you know a language, is it ok for me to say yes even though I have no prior experience with it? I can go learn it after. Just wondering your thoughts.
@@JollyBeJolly Languages has not much difference .some language are functional , some languages are object oriented but to build a software we have to work on frameworks of that language and in framework there are many other things which we have to learn.
I'm new aswell my suggestion is to learn html and css just to understand how code works with the computer than move up to python and Java or c++(Java python and c++ are very much the same) but start out with html and css just to understand how the whole "coding" aspect a bit better it definitely helped me
As a beginner I am so happy to have found these rant videos. They are so encouraging to me. And as an artist, what you said at the end really resonates with me! I am having so much fun with it. Thanks for the pep talk 😊
@@GiraffeAcademy It really is, just using code instead of a paint brush and paint. Artists definitely have a different perspective to bring the table, so I’m excited to see where it takes me.
This is surprising. I am an artist too! In terms of music drawing ,sculpting, and painting. And I'm learning to code too! I'm have difficulty with it sometimes but honestly, Mike Danes videos have been the only one that explain things to me in a way that makes sense.
@@GiraffeAcademy If coding were more art than science, then there would be no well-defined concept of "better" or "worse" in coding. There would be no such thing as whether one's code executed or compiled or not. If coding were art, you could just throw random symbols together and it would be just as good as some other combination or arrangement of symbols.
I would agree but all the main languages you talked about are all OOP-ish at the very least. Of course they all have the same concepts and while for beginners it's great to learn just the fundamentals of OOP-ish, after a while, different paradigms can teach you to be a better programmer. Sure, Javascript, Python, Ruby, PHP all seem similar cause they are all the same kinda-procedural, kinda-OOP, little sprinkle of functional and all dynamic. Java, C++, Dart, C#, Kotlin are going to be the same since they are all compiled, strong-typed OOP languages with some other sprinkles. The real difference between languages isn't between twins like C# and Java or Ruby and Python who are all basically the same. The differences come when you have only ever learnt Scripted dynamic languages, - Then you learn static typed languages and you learn all about type safety, generics, templates etc. - Then you learn strong-OOP with actual inheritance, interfaces, design patterns etc. - Then you learn some functional language like Haskell, Clojure and you learn about higher-order functions, immutability, recursion instead of loops, type classes etc. - Then you go low level to pure C and learn low level memory management and pure procedural programming, learn Rust and learn about ownership memory management. Who knows what I missed in this enumeration. But yes, beginners shouldn't be intimidated by any of this.
I would love to find a course that starts to take you down this path, Mike's two rant's have been interesting to me because I've been stuck at the beginner stage, I'm decent enough at it and honestly I've not needed more. That shouldn't stop me from learning and improving. Just not really sure what path to take. The other thought that came to mind was learning I guess 'design processes' to improve code, you can tell I'm know really sure what I mean here :)
@@affieuk It depends on what makes you excited for learning. I suggest you watch a couple beginning tutorials for C/Haskell/Scala/Rust since these are (to me) the most out of the ordinary languages that can teach you about design. If you are good at dynamic languages, try a strong typed one maybe with OOP like Java and try to learn design patterns for it, if you are good on OOP, try C because it is very procedural and it helps you think like a computer, otherwise try Haskell because it will teach you to think of your programs in terms of data flow instead of sequences. If you are way up there in your pursuit of knowledge, I would suggest Scala since it is the most typesafe fusion of OOP and Functional paradigms and probably the most complicated higher level language, especially with Scala3 coming the next few months. TLDR: spend 10-15 minutes looking at tutorials on some of the stuff I enumerated and see what makes your brain go "oh damn thats cool" and dwelve deep into that
Razvan, esti roman? If yes, then what university are you studying, or what university have u studied? Do you live in Romania? Or did you move? Actually I should have asked you how old you were first.
How important is learning Linux compared to all of these languages? Is bash the same thing as learning "Linux"? I haven't seen an answer for this question yet, I'm hoping someone of your caliber could elucidate this for me.
@@andico6614 Da, sunt. I'm 23. I studied at UVT Timisoara, it's a decent university however I would say just go to university to get the diploma and try to learn what you know to be cool and worthwhile. In university you are taught way too many types of maths and way too much stuff all at once to understand it really. You can learn a language or tech that you find interesting or popular or well paid and learn other stuff on a need-to-know basis, not all at once. I'm still in Romania cause of COVID.
Totally agree. I started to realize the same exact thing while going through your courses and learning different programming languages. This is my first comment to you and I just want to thank you alot btw. You helped me alot and you're a great teacher ! I just want to become an online teacher like you very soon, and accomplish what you've accomplished, and help the community. Keep going bro.
It's because of the fact that it's everywhere that it's so trendy to shit on it. If you can't complain about something all day long it just shows that you have no clue about it. Because more spread equals more people reaching enough understanding to complain about it and even before that: getting frustrated because you have to learn it.
I think, as you yourself say, those videos were introductory (quite awesome as well!). Some of us old subscribers to you are ready for introductory topics. I don't know maybe data structures and algorithms - but I trust you more man, whatever it is throw something at us. You're a hell of a brilliant teacher keep doing what you do ( and teaching code with example problems)
This is definitely true, and in my experience, after starting out with a poorly taught community college class that threw us straight into C++, dropping out and trying to self-study and struggling, and now starting again this semester, 5 years later, in a much better instructed course, the best thing you can do for yourself is learn the concepts before you start learning any language at all. The course I'm in this semester had us strictly writing pseudocode and flowcharts for 3 weeks before introducing a programming language at all, and that has really helped me to grasp the concepts better. Now, the course is introducing C++, but we are still covering new concepts outside of the context of the language before learning how they are implemented within C++. This approach removes the barriers of syntax and confusing symbols and makes it easier to understand the concepts more deeply. That makes applying those concepts and learning a language much easier, and like you said, if you truly understand the concepts, you can implement them in any language, you just have to take the time to learn exactly how.
Awesome to hear my own thoughts said by other people. Even though I've started coding only recently, I am already overwhelmed by channels I subscribed posting same stuff like "Programming languages to learn in xxxx year", and this vid just encouraged me to dump them all and learn only things I choose to focus on.
I'm very new to coding and I'm still early on in your java course. and I gotta say this video is on point because I've been skimming through HTML on some sites and i can understand some of (very little lol) what is going on just by guessing. I was floored that this happened so quick and it has further motivated me to keep going thanks man!!
I like this kind of content, apart from teaching lessons. I appreciate the way you explain your thoughts about programming. I would like to ask Mike and everybody, as a beginner , one of the most frequent problems I've been encounting in learning a programming language is that there are so many things I would like to ask my teacher, things I don't understand, repeat some concept.... but only face to face it could be possible, while following youtube courses on my own I don't have the necessary support to immediately clarify things I don't understand.
I'm so happy to see a video like this. Learning to code well in any language makes it easier to later switch to another one and learn it's syntax since the basic concepts and logic still remain the same. I just finished studying IT last September and was confused about all the people making different suggestions about the programming language I should learn more about. I really liked Java but people kept discouraging me from it saying ''You should drop Java and go with Python, it's the hottest language on the market''. While I might agree that many job postings are for Python devs I stuck with Java and a month after graduation got a job as a Java developer. Don't regret it, love the language and it's extremely fun to work in.
I just watched your guide about c# which is 2 years old. Now I understand all the stuff when I watch other guides and it's so much easyer to learn after watching that video. you really explain everything so good and I fully understand it while it was my first video I watched. thank you maan
Wish this had been the first thing I saw. I chose to jump in with your 4 hour C#, I realise I could have picked an 'easier' one now but this is what my company likes to use so its the one I will get to put into practice. Hope the rest will follow. Thanks Mike!
Teaching with humility and empathy is hard to find. I would be fascinated to see your approach in a playlist series covering SmallTalk (Pharo, Seaside, Amber). I would definitely tune in.
ohh man so you are alive!😱 you are the best instructor on YT!! I started learning to code by watching your vid and I recommend ur course for whoever is new to programming.
I'm a professional programmer and i agree with everything you've said. If there's a language i need to learn or a new project at work I'm not worried because I know I just need the time to apply my knowledge to that language.
For learning to program, I would agree - my first two languages were Fortran and IBM mainframe assembler. I've lost count of languages I've used since. Once you have a couple languages under your belt, I would say look at the languages that make you think in different ways, as well as those that meet the needs of your problems. It's amazing what you can do if you torture code enough, but just because it works doesn't mean it's good. If you are writing code for anything real, someone is going to have to maintain it. Have mercy on them, because they may be you - and you aren't going to remember what you were thinking 5 months down the road. Writing communication protocols in COBOL can be done. Unless it's the only language you have available on a system, it shouldn't be.
I took a couple programming courses in college that were taught in Java and I'm glad we used it. I've used several languages like python, C++, Scala, Fortran, Matlab, and others, and I think I would have struggled more to get the basics if I had started with one of those instead of Java. While I don't really use Java much, having it as a foundation made the transition to other languages much smoother in a way that I don't think would have been the case for me going from, say, python to C++. Every other language I've used has fallen into one of three categories: it feels extremely similar to Java, it feels like a really sloppy and lazy version of Java, or it feels like a very limited version of Java without all the bells and whistles.
As a beginner, this video really helped me not get overwhelmed by other programming languages that I am not learning. Your tutorials are the most decent ones I have come across so far.
VERY f**king important. The amount of people (including myself) who spent time debating with themselves if they should learn programming bc they do not know where to start is mind blowing. People think coding is difficult, and it is to an extent, but not nearly as hard as people think. I wish I saw this years ago.
I'd love to see a video where you go over the common core concepts. As a current software developer student, I would be interested to see how versed I am in these concepts.
What you're missing is that the programming language itself is the easy part, it's the frameworks running on the language and where they are applied that is important. The only reason Ruby is big is because of Rails. Python is big because AI tools like Tensor Flow have traction. That's the hard part of programming is getting familiar with what all the tools and libraries off and the best practices of structuring your code around them. Plus, frameworks change within months time so its a moving target. I had to learn Java to maintain a legacy app, and the Java control structures were easy to understand. It was the lack of decent tutorials for the Spring framework that made figuring out that program a nightmare.
Coding is translating. What matters is Math, Logic and a good amount of imagination Coding is translating algorithms into programming languages. In the end everything gets translated to machine code. recently I've learnt to sit down and write pseudo-code before I program and I choose the best programming language/tools for the job later. Thank you so much for the great stuff resources put out Mike 👍 Top Tier
Thanks man. Feel better now after the video. I am complete noob and picked python as my first language but the more videos I have been watching on youtube the more confused I have been getting. now I will stay with python and try to master it first😀
It would be great to have a video explaining the core concepts that you say are common to most programming languages, and how to use them. If we understand the fundamentals of these concepts and where and when to use them, I believe It will make learning a new language just a task of learning the syntax.
dude!!! u brought me hope goddamn!! i keep saying that java is hard as hell for beginners but people criticized me! please do that video about java. do it do it! 1.2.3 i’m subscribing to this channel right now.
Very true. The programing language does not matter. What is important is to understand the problem, applying correct logic towards the solution and finally writing in proper syntax of the language you want to use. :)
As a beginner watching this video, all I could think of was “So you’re saying there’s a chance?” Lol, but seriously it was a struggle trying to pick a language. I have been teaching myself html/css for about 3 months because I want to be a front end web developer. Even though I have some confidence in my selection, there’s still this worry that I won’t be successful because I’m not learning python or something. I will be incorporating JavaScript soon. Thank you for this.
i agree with you in that coding is to understand the core concepts and lanuages differ in the syntax, but paradigm are invented to make solving certain problems that share similar properties easier. i think what beinners should realy care about is designing and problem solving. And stop comparing languages with different paradigms and applications.
Functional and Logic Programming are quite different btw, just saying. Two examples being, Haskell and Prolog from respective categories. Knowing multiple languages doesn't really matter, what matters is how many paradigms of programming languages we are familiar with and recognizing situations where a specific paradigm would be easier to express your idea in.
Maybe the best thing to do is a course that basically abstracts programming languages. A programming languages course... That just goes into everything without being specific to one language but instead giving examples using two or three languages to illustrate how similar languages are. I also think its better to learn the abstraction that way the implementation will be easier im whatever language you learn.
I peaked in my coding skills when I took Fortran in summer 1981 at local community college, ran a programmable calculator into the ground for Physical Chemistry 1983-1984 at college for my BChE Bachelor of Chemical Engineering degree, and took two semesters of C++, summer + fall, 2005, at the same community college. The more years I have put into struggling with coding, the less I know. I know less now after doing coding (I do only Python now) after 41 years of interacting with computers than I did when I took Fortran and C++ in school.
I 100% agree with this video. When I first started learning programming I thought need to learn a certain programming language like python. But all programming languages do is teach programming fundamentals that aren’t needed in a job. What is more important is the field of programming you’re wanting to get into and follow trends. If you wanna be a web developer python alone can’t build websites or if you wanna make 3D games you can’t use only this language. It’s important to know what field of programming you have the most interest in and the steps you can do to get to it. In my case I love web development and being creative in marketing. So my basic python knowledge wouldn’t help anything. I had to learn html, css, and JavaScript and frameworks in order to get good at web development. But I know people who are more interested in data science so these languages I’m learning would be worthless to data science majors. So it’s important to know which field you’ll like 👍
Agreed. With a type-safe language, you should get told immediately if you've run into a type issue, which I think would be better for learning than waiting until you actually run the program.
They're all so similar. But I do think it matters to learn a more verbose language like Java or C++ because they don't abstract as much away like Python. Although they're a pain to learn at first, it's very rewarding when you then learn something like Python because it's essentially an easier version of what you already know.
I'm currently learning Python as my first programming language, honestly, I don't care to know every programming language, I just wanna know lots of modules in Python.
I feel like programming language is just a way to solve your problems. I will still say learn python. Python helps you to worry less about syntactical errors and more on logic building. You don't have to worry about delimiter and all. If you can achieve in 10 lines what you can achieve in 50 lines in Java, why not save the time required to write extra 40 lines to hone your logic building.Yes I agree CPP is important and one must learn it but prime focus should be learning the concept. Its just like 2 books from different author to explain he same concept.
I'm starting my career in software development and starting to learn how to program and in my opinion it does not matter because if you learn the FUNDAMENTALS and have a solid foundation all the languages as Mike said have the same programing core and when you master that core it will be easier to Learn another or different languages because its using the"same fundamentals"but with different syntax and it's easier and faster to learn other languages.
Thank you for sharing this, I feel that Javascript is extremely convoluted to me and has put a damper in my learning experience. I feel that maybe if I learn Ruby/RoR (Which I want to learn anyways) I may get a good programming base.
Yeah I'll agree for beginners it's worth it to not care, start with high level and dynamic types is good to get you started. But to say that programming languages don't matter is just ignorance of what is happening in computer science. Concepts like nullable types and adding all these crazy control structures are just bs older languages do because of lack of proper abstraction. Concepts like variance, higher kinded types and value based effects, typeclasses and metaprogramming are changing the way people will think about programming in the future. These things are what can make a language more powerful with less boilerplate and less error prone. Make correct code the first time, if it compiles it works. That's what some new languages bring and that's what's important. But only after you understand the basics will you start to crave these things.
one year into this and I came to realize that the focus should be in what you want to do: frontend, backend, Data analysis, electronics... after that choosing a language its way easier
For learning the video is absolutely true, nothing to add. But real world usage: I would add one thing: For practical reasons you should absolutely check what librarys are commonly already installed on your target systems. And for that reasons we have some clear very objective winners. Python - preinstalled on (near) all Linux Distros PHP - installed on nearly everything with a web server that's bigger then a nodeMCU C# (.Net Framework) - delivered with windows updates since late Win7 I didn't name C++ because on environments that offer neither of the previously mentioned you are entering the twilight zone. You are leaving the realm where general rules apply and you need specialized solutions for your environment. You want an example, no problem: Embedded systems might lack so many libs even your C++ application might get too big [for internal memory]. Or on IBM Mainframes: They might run assembler applications so old they violate LE(Language Environment = Libs for high level languages in general) requirements completely. And that's no joking matter, existing applications might use registers they are not supposed to in LE conventions. Which means that every application sharing a CPU core with an old one will break in random ways at random times. It's not a matter of "if", but of "when" and "how bad". And Java because of Oracle and the fact that many distributions are on an on/off relationship with it because of that. +They support C# about as reliably via Mono. Because maintaining exotic or conflicting dependencys is not something a reasonable admin wants to do. Which will limit your potential user base severely.
I agree with what you say To learn a programming language is not too bad but when programmers try and use the languages documentations that’s where the problems come in The A holes who put the documentations together don’t want you to know how to really get to know and use the programming language Some one needs to re-write the documentations so people can understand and get the best out of the language
What 3 languages should one learn? One pure functional language, one object orientated language (that implements Liskov substitution correctly) and one logic orientated language (like Prolog). That's just to learn the different concepts and different ways of thinking. Then you can apply what you've learned in any language you use. And you shouldn't have much trouble to learn a new language on the go for a new project (as long as (A) the language isn't insane and (B) you already are somewhat proficient in programming at all). Don't decide which language you learn, decide which language will be ideal for the project you have to write (which often depends more on what libraries and ecosystems are available in the language than what the language itself offers).
Hi Mike. I'm a teacher and we're using one of your Pytjhon courses to learn basics with our students. If we want to move to adding a simple GUI...do you have a recommended Library...or some other suggestion for a way for the students to just create simple buttons etc. to go along with your foundations courses skills? Thanks so much for all your series - it is very helpful to both students and teachers who aren't experienced in coding!
It is so true that the language doesn't really matter. I'm half way through my bachelor in CS and have only used C and Java. We started with SQL a few weeks ago. I've never use python before, and now we got a assignment to make a application using python or rust. It took me probably about 15-25 hours of coding/learning, and now I have a fully functional GUI interface that can add, edit and delete data from a SQL database with a very user friendly interface. Fully created using SQL and python only. A week ago I knew nothing about python. I think it better to see different programming languages as different dialects instead. Because They are more like dialects. It's like if you know American English very well, you might have a little bit of trouble understanding a thick Scottish, But it won't be like trying to understand Chinese.
@Mike Dane If coding were more art than science, then there would be no well-defined concept of "better" or "worse" in coding. There would be no such thing as whether one's code executed or compiled or not. If coding were art, you could just throw random symbols together and it would be just as good as some other combination or arrangement of symbols.
programming language doesn't matter , programming instructor does matter
and mike is a great one.
Agreed!
Mike dane does matter
The best in the industry!
Yes !
Wonderful concept
*"when You know the concepts, other things are just syntax"*
Yeah totally
Yupp
With that statement in mind, when I am at an interview (initial phone) and they say do you know a language, is it ok for me to say yes even though I have no prior experience with it? I can go learn it after. Just wondering your thoughts.
@@JollyBeJolly Languages has not much difference .some language are functional , some languages are object oriented but to build a software we have to work on frameworks of that language and in framework there are many other things which we have to learn.
Except that languages themselves encourage and in many cases only allow certain concepts or paradigms.
Im a new programmer and this just gives me so much hope!
I'm new aswell my suggestion is to learn html and css just to understand how code works with the computer than move up to python and Java or c++(Java python and c++ are very much the same) but start out with html and css just to understand how the whole "coding" aspect a bit better it definitely helped me
same here
For real tho! This gives me hope too!
@@hackzgamezyt YOu learn css and html and then you go to python?why? for what reason?lol
Mike could rant about moose and I would listen to him for hours. Simply an amazing teacher
I'm a simple man. I see a Mike Dane video, I hit the like button.
understandable, Have a nice day
simp
HEY are you spidey fan ?
me too!
@@sudhakar6933 Haha yes. He's cool
there is something we can feel
with spiderman more than other heroes
As a beginner I am so happy to have found these rant videos. They are so encouraging to me. And as an artist, what you said at the end really resonates with me! I am having so much fun with it. Thanks for the pep talk 😊
People don't realize this, but coding is more of an art than a science, we need more artists who can code!!
@@GiraffeAcademy It really is, just using code instead of a paint brush and paint. Artists definitely have a different perspective to bring the table, so I’m excited to see where it takes me.
This is surprising. I am an artist too! In terms of music drawing ,sculpting, and painting. And I'm learning to code too! I'm have difficulty with it sometimes but honestly, Mike Danes videos have been the only one that explain things to me in a way that makes sense.
@@GiraffeAcademy If coding were more art than science, then there would be no well-defined concept of "better" or "worse" in coding. There would be no such thing as whether one's code executed or compiled or not. If coding were art, you could just throw random symbols together and it would be just as good as some other combination or arrangement of symbols.
When you are not a beginner you will know why some of them are bullshit.
I would agree but all the main languages you talked about are all OOP-ish at the very least. Of course they all have the same concepts and while for beginners it's great to learn just the fundamentals of OOP-ish, after a while, different paradigms can teach you to be a better programmer.
Sure, Javascript, Python, Ruby, PHP all seem similar cause they are all the same kinda-procedural, kinda-OOP, little sprinkle of functional and all dynamic.
Java, C++, Dart, C#, Kotlin are going to be the same since they are all compiled, strong-typed OOP languages with some other sprinkles.
The real difference between languages isn't between twins like C# and Java or Ruby and Python who are all basically the same.
The differences come when you have only ever learnt Scripted dynamic languages,
- Then you learn static typed languages and you learn all about type safety, generics, templates etc.
- Then you learn strong-OOP with actual inheritance, interfaces, design patterns etc.
- Then you learn some functional language like Haskell, Clojure and you learn about higher-order functions, immutability, recursion instead of loops, type classes etc.
- Then you go low level to pure C and learn low level memory management and pure procedural programming, learn Rust and learn about ownership memory management. Who knows what I missed in this enumeration.
But yes, beginners shouldn't be intimidated by any of this.
I would love to find a course that starts to take you down this path, Mike's two rant's have been interesting to me because I've been stuck at the beginner stage, I'm decent enough at it and honestly I've not needed more. That shouldn't stop me from learning and improving. Just not really sure what path to take. The other thought that came to mind was learning I guess 'design processes' to improve code, you can tell I'm know really sure what I mean here :)
@@affieuk It depends on what makes you excited for learning. I suggest you watch a couple beginning tutorials for C/Haskell/Scala/Rust since these are (to me) the most out of the ordinary languages that can teach you about design. If you are good at dynamic languages, try a strong typed one maybe with OOP like Java and try to learn design patterns for it, if you are good on OOP, try C because it is very procedural and it helps you think like a computer, otherwise try Haskell because it will teach you to think of your programs in terms of data flow instead of sequences. If you are way up there in your pursuit of knowledge, I would suggest Scala since it is the most typesafe fusion of OOP and Functional paradigms and probably the most complicated higher level language, especially with Scala3 coming the next few months.
TLDR: spend 10-15 minutes looking at tutorials on some of the stuff I enumerated and see what makes your brain go "oh damn thats cool" and dwelve deep into that
Razvan, esti roman? If yes, then what university are you studying, or what university have u studied? Do you live in Romania? Or did you move?
Actually I should have asked you how old you were first.
How important is learning Linux compared to all of these languages? Is bash the same thing as learning "Linux"? I haven't seen an answer for this question yet, I'm hoping someone of your caliber could elucidate this for me.
@@andico6614 Da, sunt. I'm 23. I studied at UVT Timisoara, it's a decent university however I would say just go to university to get the diploma and try to learn what you know to be cool and worthwhile. In university you are taught way too many types of maths and way too much stuff all at once to understand it really. You can learn a language or tech that you find interesting or popular or well paid and learn other stuff on a need-to-know basis, not all at once. I'm still in Romania cause of COVID.
LOVING these rant videos, keep em coming!
Totally agree. I started to realize the same exact thing while going through your courses and learning different programming languages.
This is my first comment to you and I just want to thank you alot btw. You helped me alot and you're a great teacher !
I just want to become an online teacher like you very soon, and accomplish what you've accomplished, and help the community.
Keep going bro.
When people roast PHP I try explaining to people that PHP is like the main backend in my country
So you have more opportunities in the job market
I started learning it and I like it so far.
@@ImmortalityYT exactly
It's because of the fact that it's everywhere that it's so trendy to shit on it.
If you can't complain about something all day long it just shows that you have no clue about it.
Because more spread equals more people reaching enough understanding to complain about it and even before that: getting frustrated because you have to learn it.
Big respect mike! Love your python tutorial, it helped me to step in from absolut zero, like from -273 celsius into coding
I think, as you yourself say, those videos were introductory (quite awesome as well!). Some of us old subscribers to you are ready for introductory topics. I don't know maybe data structures and algorithms - but I trust you more man, whatever it is throw something at us.
You're a hell of a brilliant teacher keep doing what you do ( and teaching code with example problems)
Sorry meant to say intermediate topics not introductory
I love his teaching. The best coding youtuber explaining everything in detail
This is definitely true, and in my experience, after starting out with a poorly taught community college class that threw us straight into C++, dropping out and trying to self-study and struggling, and now starting again this semester, 5 years later, in a much better instructed course, the best thing you can do for yourself is learn the concepts before you start learning any language at all.
The course I'm in this semester had us strictly writing pseudocode and flowcharts for 3 weeks before introducing a programming language at all, and that has really helped me to grasp the concepts better. Now, the course is introducing C++, but we are still covering new concepts outside of the context of the language before learning how they are implemented within C++. This approach removes the barriers of syntax and confusing symbols and makes it easier to understand the concepts more deeply. That makes applying those concepts and learning a language much easier, and like you said, if you truly understand the concepts, you can implement them in any language, you just have to take the time to learn exactly how.
Thanks for the video bro!
I started with your Html course last year and it was great, thanks once again.
keep up the momentum.
You are the best coding teacher in the world 🌎 ! I learnt lot from you. Thank you Mike !
Awesome to hear my own thoughts said by other people. Even though I've started coding only recently, I am already overwhelmed by channels I subscribed posting same stuff like "Programming languages to learn in xxxx year", and this vid just encouraged me to dump them all and learn only things I choose to focus on.
I'm very new to coding and I'm still early on in your java course. and I gotta say this video is on point because I've been skimming through HTML on some sites and i can understand some of (very little lol) what is going on just by guessing. I was floored that this happened so quick and it has further motivated me to keep going thanks man!!
dude you really cool these videos made me a big fan thanks for the phyton classes
I really enjoy what you do, thanks for the great work!
I like this kind of content, apart from teaching lessons. I appreciate the way you explain your thoughts about programming. I would like to ask Mike and everybody, as a beginner , one of the most frequent problems I've been encounting in learning a programming language is that there are so many things I would like to ask my teacher, things I don't understand, repeat some concept.... but only face to face it could be possible, while following youtube courses on my own I don't have the necessary support to immediately clarify things I don't understand.
Thank you mike for helping us soo much!
I'm so happy to see a video like this. Learning to code well in any language makes it easier to later switch to another one and learn it's syntax since the basic concepts and logic still remain the same. I just finished studying IT last September and was confused about all the people making different suggestions about the programming language I should learn more about. I really liked Java but people kept discouraging me from it saying ''You should drop Java and go with Python, it's the hottest language on the market''. While I might agree that many job postings are for Python devs I stuck with Java and a month after graduation got a job as a Java developer. Don't regret it, love the language and it's extremely fun to work in.
your way of speaking is like really friendly and I even nod here and there, because of how much I feel as if I'm talking to you in person lol
I just watched your guide about c# which is 2 years old. Now I understand all the stuff when I watch other guides and it's so much easyer to learn after watching that video. you really explain everything so good and I fully understand it while it was my first video I watched. thank you maan
thanks, u deal with info the same way I do, and I'm glad I can get stuff so straightforward
I love the rants, you're the best!
Another banger vid, thanks Mike
Wish this had been the first thing I saw. I chose to jump in with your 4 hour C#, I realise I could have picked an 'easier' one now but this is what my company likes to use so its the one I will get to put into practice. Hope the rest will follow. Thanks Mike!
I totally agree with you! Once you grab the basics of no matter what language, you are basically done with others ;)
Teaching with humility and empathy is hard to find. I would be fascinated to see your approach in a playlist series covering SmallTalk (Pharo, Seaside, Amber). I would definitely tune in.
ohh man so you are alive!😱
you are the best instructor on YT!! I started learning to code by watching your vid and I recommend ur course for whoever is new to programming.
Great advice, I do concur... Thank you for this video!
As a newbie these are golden advices. Thank you Mike.
Loved the rant! You are 100% right my man.
Hey Mike. New subscriber here. Actually it's my first time using a UA-cam account and first subscription to a channel.
You rock bro.
Ab.
am I the only one that can sit and listen to mike ''rant'' for HOURS???
Yep
certainly not.
yes
Nope.
yes
Mike, your English is soooooo CLEAR ❤
You taught me programming Mike. Thank you.
I'm a professional programmer and i agree with everything you've said. If there's a language i need to learn or a new project at work I'm not worried because I know I just need the time to apply my knowledge to that language.
For learning to program, I would agree - my first two languages were Fortran and IBM mainframe assembler. I've lost count of languages I've used since.
Once you have a couple languages under your belt, I would say look at the languages that make you think in different ways, as well as those that meet the needs of your problems.
It's amazing what you can do if you torture code enough, but just because it works doesn't mean it's good. If you are writing code for anything real, someone is going to have to maintain it. Have mercy on them, because they may be you - and you aren't going to remember what you were thinking 5 months down the road.
Writing communication protocols in COBOL can be done. Unless it's the only language you have available on a system, it shouldn't be.
Thank you Mike. Learned from many of your videos and I realized it's the same basic stuff you cover.
I took a couple programming courses in college that were taught in Java and I'm glad we used it. I've used several languages like python, C++, Scala, Fortran, Matlab, and others, and I think I would have struggled more to get the basics if I had started with one of those instead of Java. While I don't really use Java much, having it as a foundation made the transition to other languages much smoother in a way that I don't think would have been the case for me going from, say, python to C++. Every other language I've used has fallen into one of three categories: it feels extremely similar to Java, it feels like a really sloppy and lazy version of Java, or it feels like a very limited version of Java without all the bells and whistles.
As a beginner, this video really helped me not get overwhelmed by other programming languages that I am not learning. Your tutorials are the most decent ones I have come across so far.
VERY f**king important. The amount of people (including myself) who spent time debating with themselves if they should learn programming bc they do not know where to start is mind blowing. People think coding is difficult, and it is to an extent, but not nearly as hard as people think. I wish I saw this years ago.
I'd love to see a video where you go over the common core concepts. As a current software developer student, I would be interested to see how versed I am in these concepts.
I'm going into my second year in college and this gives me so much hope. Sadly my classes never use the same few langauges.
Yeah, started out with python solo and school teaches C++ so knowledge transferred over quite well. The concepts stay the same but the syntax changes
What you're missing is that the programming language itself is the easy part, it's the frameworks running on the language and where they are applied that is important. The only reason Ruby is big is because of Rails. Python is big because AI tools like Tensor Flow have traction. That's the hard part of programming is getting familiar with what all the tools and libraries off and the best practices of structuring your code around them. Plus, frameworks change within months time so its a moving target. I had to learn Java to maintain a legacy app, and the Java control structures were easy to understand. It was the lack of decent tutorials for the Spring framework that made figuring out that program a nightmare.
Coding is translating.
What matters is Math, Logic and a good amount of imagination
Coding is translating algorithms into programming languages.
In the end everything gets translated to machine code.
recently I've learnt to sit down and write pseudo-code before I program and I choose the best programming language/tools for the job later.
Thank you so much for the great stuff resources put out Mike 👍 Top Tier
😲👍 Probably the greatest thesis I've ever heard. Count me in!!! I'm with you too. LET'S RANT!!!
Thanks man. Feel better now after the video. I am complete noob and picked python as my first language but the more videos I have been watching on youtube the more confused I have been getting. now I will stay with python and try to master it first😀
It would be great to have a video explaining the core concepts that you say are common to most programming languages, and how to use them. If we understand the fundamentals of these concepts and where and when to use them, I believe It will make learning a new language just a task of learning the syntax.
Yes Mike, Coding is fun, it is a form of art, and "Code is Poetry"!
Just found your channel, love your contents Mike.
Great Video.
Love love LOVE this man!
You're a fucking legend, dude. Thank you so much, Mike!
dude!!! u brought me hope goddamn!! i keep saying that java is hard as hell for beginners but people criticized me! please do that video about java. do it do it! 1.2.3 i’m subscribing to this channel right now.
True, I write my prolog the exact same way I write my C++ programs
Yes you're right.. As long as you know the fundamentals of programming
Enjoying these videos Mike!
You've convinced me to go from python to dart as my first language because I love the idea of having my program running on multiple devices
Thx for rant. I feel better. I'll keep going in learning.
This gives me hope. I'm learning Python at a bootcamp but current work place use C#, was nervous about the learning curve for C#
Funny, that I should learn so much from the video that isn't
a coding tutorial.
Thank you again.
Very true. The programing language does not matter. What is important is to understand the problem, applying correct logic towards the solution and finally writing in proper syntax of the language you want to use. :)
Continue these kinds of rants sir! Thanksss
As a beginner watching this video, all I could think of was “So you’re saying there’s a chance?” Lol, but seriously it was a struggle trying to pick a language. I have been teaching myself html/css for about 3 months because I want to be a front end web developer. Even though I have some confidence in my selection, there’s still this worry that I won’t be successful because I’m not learning python or something. I will be incorporating JavaScript soon. Thank you for this.
i agree with you in that coding is to understand the core concepts and lanuages differ in the syntax, but paradigm are invented to make solving certain problems that share similar properties easier.
i think what beinners should realy care about is designing and problem solving.
And stop comparing languages with different paradigms and applications.
Your database design tutorial is the best,
Functional and Logic Programming are quite different btw, just saying. Two examples being, Haskell and Prolog from respective categories.
Knowing multiple languages doesn't really matter, what matters is how many paradigms of programming languages we are familiar with and recognizing situations where a specific paradigm would be easier to express your idea in.
Had to like and subscribe for such a great video
Right, Enjoy the journey!!
I WILL DEFINITLY TAKE EVERYWORD YOU SAY IT IS TRUE THANKS FOR GETTING ME STARTED IN CODING
Maybe the best thing to do is a course that basically abstracts programming languages. A programming languages course... That just goes into everything without being specific to one language but instead giving examples using two or three languages to illustrate how similar languages are. I also think its better to learn the abstraction that way the implementation will be easier im whatever language you learn.
I peaked in my coding skills when I took Fortran in summer 1981 at local community college,
ran a programmable calculator into the ground for Physical Chemistry 1983-1984 at college for my BChE Bachelor of Chemical Engineering degree, and took two semesters of C++, summer + fall, 2005, at the same community college.
The more years I have put into struggling with coding, the less I know. I know less now after doing coding (I do only Python now) after 41 years of interacting with computers than I did when I took Fortran and C++ in school.
thank you, needed this
*Very fresh perspective- Love it*
Where the differences really pop up is in making GUIs. Making console only apps I agree with you.
Exactly, that's why I think everyone should start with assembly ;)
Assembly is for _wusses,_ *microcode* is where it's at ... 🤣
Nah, bro.. Still too easy. Go for binary and become the Matrix itself!
I 100% agree with this video. When I first started learning programming I thought need to learn a certain programming language like python. But all programming languages do is teach programming fundamentals that aren’t needed in a job. What is more important is the field of programming you’re wanting to get into and follow trends. If you wanna be a web developer python alone can’t build websites or if you wanna make 3D games you can’t use only this language. It’s important to know what field of programming you have the most interest in and the steps you can do to get to it. In my case I love web development and being creative in marketing. So my basic python knowledge wouldn’t help anything. I had to learn html, css, and JavaScript and frameworks in order to get good at web development. But I know people who are more interested in data science so these languages I’m learning would be worthless to data science majors. So it’s important to know which field you’ll like 👍
Thank you sir.. you are a hero
Personally, I think a strict language is the best way to start. From Java to Python is easier than the other way around.
Agreed. With a type-safe language, you should get told immediately if you've run into a type issue, which I think would be better for learning than waiting until you actually run the program.
Awesome info bro.. It needs to be said more..
They're all so similar. But I do think it matters to learn a more verbose language like Java or C++ because they don't abstract as much away like Python. Although they're a pain to learn at first, it's very rewarding when you then learn something like Python because it's essentially an easier version of what you already know.
I'm currently learning Python as my first programming language, honestly, I don't care to know every programming language, I just wanna know lots of modules in Python.
I feel like programming language is just a way to solve your problems. I will still say learn python. Python helps you to worry less about syntactical errors and more on logic building. You don't have to worry about delimiter and all. If you can achieve in 10 lines what you can achieve in 50 lines in Java, why not save the time required to write extra 40 lines to hone your logic building.Yes I agree CPP is important and one must learn it but prime focus should be learning the concept. Its just like 2 books from different author to explain he same concept.
That’s like learning calculus 401 before calculus 101
I think you should make a series of just hour-long rants. Any topic, any subject, going on tangents, just roasting stuff that displeases you
thanks for the video. good point to discuss.
I'm starting my career in software development and starting to learn how to program and in my opinion it does not matter because if you learn the FUNDAMENTALS and have a solid foundation all the languages as Mike said have the same programing core and when you master that core it will be easier to Learn another or different languages because its using the"same fundamentals"but with different syntax and it's easier and faster to learn other languages.
On point! Definitely agree with this one
Thank you for sharing this, I feel that Javascript is extremely convoluted to me and has put a damper in my learning experience. I feel that maybe if I learn Ruby/RoR (Which I want to learn anyways) I may get a good programming base.
I feel like there is more external libraries for python, but you are right assembly all the way!!
Yeah I'll agree for beginners it's worth it to not care, start with high level and dynamic types is good to get you started. But to say that programming languages don't matter is just ignorance of what is happening in computer science. Concepts like nullable types and adding all these crazy control structures are just bs older languages do because of lack of proper abstraction. Concepts like variance, higher kinded types and value based effects, typeclasses and metaprogramming are changing the way people will think about programming in the future. These things are what can make a language more powerful with less boilerplate and less error prone. Make correct code the first time, if it compiles it works. That's what some new languages bring and that's what's important. But only after you understand the basics will you start to crave these things.
one year into this and I came to realize that the focus should be in what you want to do: frontend, backend, Data analysis, electronics... after that choosing a language its way easier
For learning the video is absolutely true, nothing to add.
But real world usage:
I would add one thing:
For practical reasons you should absolutely check what librarys are commonly already installed on your target systems.
And for that reasons we have some clear very objective winners.
Python - preinstalled on (near) all Linux Distros
PHP - installed on nearly everything with a web server that's bigger then a nodeMCU
C# (.Net Framework) - delivered with windows updates since late Win7
I didn't name C++ because on environments that offer neither of the previously mentioned you are entering the twilight zone. You are leaving the realm where general rules apply and you need specialized solutions for your environment. You want an example, no problem: Embedded systems might lack so many libs even your C++ application might get too big [for internal memory]. Or on IBM Mainframes: They might run assembler applications so old they violate LE(Language Environment = Libs for high level languages in general) requirements completely. And that's no joking matter, existing applications might use registers they are not supposed to in LE conventions. Which means that every application sharing a CPU core with an old one will break in random ways at random times. It's not a matter of "if", but of "when" and "how bad".
And Java because of Oracle and the fact that many distributions are on an on/off relationship with it because of that. +They support C# about as reliably via Mono.
Because maintaining exotic or conflicting dependencys is not something a reasonable admin wants to do. Which will limit your potential user base severely.
I agree with what you say To learn a programming language is not too bad but when programmers try and use the languages documentations that’s where the problems come in The A holes who put the documentations together don’t want you to know how to really get to know and use the programming language Some one needs to re-write the documentations so people can understand and get the best out of the language
What 3 languages should one learn? One pure functional language, one object orientated language (that implements Liskov substitution correctly) and one logic orientated language (like Prolog). That's just to learn the different concepts and different ways of thinking. Then you can apply what you've learned in any language you use. And you shouldn't have much trouble to learn a new language on the go for a new project (as long as (A) the language isn't insane and (B) you already are somewhat proficient in programming at all). Don't decide which language you learn, decide which language will be ideal for the project you have to write (which often depends more on what libraries and ecosystems are available in the language than what the language itself offers).
Hi Mike. I'm a teacher and we're using one of your Pytjhon courses to learn basics with our students. If we want to move to adding a simple GUI...do you have a recommended Library...or some other suggestion for a way for the students to just create simple buttons etc. to go along with your foundations courses skills? Thanks so much for all your series - it is very helpful to both students and teachers who aren't experienced in coding!
It is so true that the language doesn't really matter. I'm half way through my bachelor in CS and have only used C and Java. We started with SQL a few weeks ago.
I've never use python before, and now we got a assignment to make a application using python or rust. It took me probably about 15-25 hours of coding/learning, and now I have a fully functional GUI interface that can add, edit and delete data from a SQL database with a very user friendly interface. Fully created using SQL and python only. A week ago I knew nothing about python.
I think it better to see different programming languages as different dialects instead. Because They are more like dialects. It's like if you know American English very well, you might have a little bit of trouble understanding a thick Scottish, But it won't be like trying to understand Chinese.
@Mike Dane If coding were more art than science, then there would be no well-defined concept of "better" or "worse" in coding. There would be no such thing as whether one's code executed or compiled or not. If coding were art, you could just throw random symbols together and it would be just as good as some other combination or arrangement of symbols.
Code is code😂😂 really enjoyed this rant tho