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.
@@JollyAZ 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
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.
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.
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 guess it depends on what a person means by knowing multiple languages. That they can write hello world in them or follow a tutorial? That doesn't show much, but it can show that they aren't afraid to look outside their box and have recognized the similarities. Does it mean you've implemented major end-user projects in those languages? That has value. That they have mastered them all? It depends on the person's intelligence and time spent programming. Usually that becomes a Jack of all trades and master of none, except hopefully the one or few you are currently regularly using. In practice you will be a "polyglot" doing full stack web development. Even for front-end only should know a form of JS for scripting the web events, some CSS processor if you want to get fancy or stay clean with CSS, and of course everything HTML5. To do back-end you might be able to stay with JS, but are likely going to use some other "scripting" or compiled language and you're likely to get exposed to SQL real quick unless you want to hide from it with an ORM. I agree that for a beginner the most important thing is to just learn. I believe there are better languages for learning, but if a student can't give up on thinking their first 30 days of programming is going to get them a six figure job so it can't be in theoretical language Y, then it doesn't matter how superior Y is for learning to program. For the experienced, the true student of the art of coding, you owe it to yourself to expand your mind and learn about programming from at least a few different perspectives. You should experience the difference between imperative and declarative programming to solve problems. Learn the strengths and weaknesses of procedural, functional, and object-oriented programming so that you aren't just using a hammer for everything. As a front end web developer you'll get exposed to events and probably stream processing on the back end. Also learn about state machines.
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.
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
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.
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.
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 👍
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.
Anyone that says programming language doesn't matter hasn't used many languages deeply/thoughtfully enough. Some languages make it easy to express most anything and capture most any pattern. Others are make it much more difficult to capture some patterns and express some things. After 45 years of programming over 20 languages I know good and well language matters. OO is NOT in all languages. Neither are decent macros. Neither is support for more functional style. Your argument only touches the LCD of languages. Maybe there is less difference for a beginner but I doubt that very much too. I have taught beginners both c++ and python for example. Python is hugely easier to teach and get people productive in. Just having a REPL or not makes a HUGE difference. There is a lot of truth that language determines thought including for programmers.
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. :)
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 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
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.
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.
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.
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 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 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.
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!!
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!
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.
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.
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.
The most important language newbies need to learn is business/domain language. THAT is the hard language.... Dude.... I just got me degree in Software Development I'm ready and have joined a Finance company. And now... I have no idea what's happening. Because the domain is what really matters hear. You, with your brilliant degree - now have to apply it to the real world... It's fun! And never answer a business person with tech speak.
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.
@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.
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.
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.
Nnnnnno. I'm programming in Visual Basic and BASIC has come a long, long way. You can do for loops in parallel now. You can essentially do a SQL-style query against your in memory data structures. It's got all the object oriented stuff, too. Heaven help us when quantum computers start getting popular.
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.
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.
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.
Language flexing is for managers. There are some application quirks which make some languages difficult to adapt. But I've always considered it a matter of preference. Or, as I tell my manager, I prefer C# because it doesn't require me to think. Funniest part is he's an AWK fanboi. =^-^=
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😀
The biggest difference between programming languages is efficiency and size, using c to create a program is totally different than using javascript with tons of dependencies and libraries
If that would be the case we would all be writing assembly code. Devs usually don't pick the most efficient language, but rather the language they are most efficient with.
@@ChumX100 that depends on the use case i'd say, there is quite a big difference even between c++ and c when reading in gigabytes of lines in and doing operations on them
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.
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.
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.
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!
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).
I asked a professor this very question in university. His answer paralleled what you said here very much. It doesn't matter, just understand how programming logic works and you're fine.
I am a beginner programmer but even I see this. I learned Pascal in highschool, I learned C for one semester in university and now I am taking a java course. It is all the same shit, especially when it comes to the basics, but even when it comes to building a simple desktop app like a chess app the only real difference between building it in Java vs building it in C++ is that Java has swing and awt libraries. Yes, Java has garbage collection but I have made the chess app in Java in such a way that I use all the memory that I allocate on the heap until the program ends, so you wouldn't even do the garbage collection in C++ in that case because you will be using all that allocated memory until you exit the chess program and then when the chess program terminates, it gives back that memory to the OS anyway. The point is, if there were swing and awt libraries for C++ then the C++ version of the chess program that I have made in Java would be exactly the same as the Java version with a few minor differences in syntax. People who are yet to start programming often times don't understand this. I didn't understand it either, neither did anyone in my class back in highschool. We were all annoyed that we were being taught a dead language such as Pascal. However, now after I have studied a C/C++ and Java for a couple of months, I completely changed my mind. It is all the same shit.
i mean it kinda matters if you are looking to be an employee, because companies need you to know a specific language, they dont care if you can learn it in two weeks, they just want to see it in your curriculum or you are out...at least that´s how things are in Mexico, but i guess it´s the same in other places
Well, it depends. It doesn't matter in relation to what? Because in relation to getting a job, you won't find any if you learn Brainfuck, Rockstar, or probably even something serious like Haskell. I get your point tho: in relation to technique, they are all more or less the same. Same concepts.
The challenge for me as a beginner has been to find an instructor that is able to communicate the concepts in a way that matches my learning style. Or is it that they are not good communicators? Also find the resources that are up to date, since I don't want to learn using for example a course based on a very old revision level of the language of interest. To me that is also important. Like I'm now inclined to learn F# but the material I find is using version 4, and F# is now up to revision 6. That is what I mean. Am I wrong?
Couldn't agree more. This might be a big call but I think it shows Mike has a bit of a shallow appreciation of what the experience of a real, everyday coder is like. So someone who does, not teaches :-). The actual syntax doesn't matter, of course. When I first came across Python (after learning with VB and Java, and working in those and C#) I thought it was impossibly ugly and stupid. Now I do most of my coding in Python, and get annoyed with other languages. Syntax is largely irrelevant though, it's the concepts. What are not irrelevant are the libraries - core and high-quality 3rd party. But there is another critical aspect to this - experience. If you have the reflexes, built up over years of "I need to sort this map/dict" or "i need this as a tree" and you just write it because you know what the high performance data structures and libraries are, awesome. Unless you are at the fringes and you are creating code for embedded or 10s of thousands of nodes, small perf differences don't matter, so the language is irrelevant. If, however, you don't immediately know what implementation of a data structure or algorithm to use then you need to turn to stackoverflow, and that is where the differences are absolutely HUGE. In general in Python you have the obligatory now irrelevant "before Python 3.5 you do X" and the useful "now you do X, Y or Z". Clear, concise, quick. You learn something. Javascript? There are 17 different ways, depending on the platform, and you need super-complicated preprocessors that completely transform your code for it to run at all. There are multiple competing, often incompatible systems and frameworks so you can throw away half of the examples you encounter - you try it and realise it was more trouble than it was worth and you rewrite everything anyway. It's intimidating and the people are often arrogant, it is incredibly sectarian. A lot of this comes from it's origins and how the largest tech companies seem to be continually swinging their dicks at each other (first Microsoft, now Apple and Google seems to have heaps of totally random things that their devs won't implement for reasons that normal people will never understand (whereas the others do it just fine)). Then you have TS, which is objectively a lot better but again requires a huge amount of extra effort, that unless you're doing full time frontend coding is hard to justify. It's hard to justify not doing it too though. But want to do anything with user interaction today and you will either need to completely reimplement for several platforms, or you go with JS. So we are prisoners. So yes, the language actually does matter.
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.
@@JollyAZ 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
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
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.
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.
Mike could rant about moose and I would listen to him for hours. Simply an amazing teacher
dude you really cool these videos made me a big fan thanks for the phyton classes
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.
am I the only one that can sit and listen to mike ''rant'' for HOURS???
Yep
certainly not.
yes
Nope.
yes
I guess it depends on what a person means by knowing multiple languages. That they can write hello world in them or follow a tutorial? That doesn't show much, but it can show that they aren't afraid to look outside their box and have recognized the similarities. Does it mean you've implemented major end-user projects in those languages? That has value. That they have mastered them all? It depends on the person's intelligence and time spent programming. Usually that becomes a Jack of all trades and master of none, except hopefully the one or few you are currently regularly using.
In practice you will be a "polyglot" doing full stack web development. Even for front-end only should know a form of JS for scripting the web events, some CSS processor if you want to get fancy or stay clean with CSS, and of course everything HTML5. To do back-end you might be able to stay with JS, but are likely going to use some other "scripting" or compiled language and you're likely to get exposed to SQL real quick unless you want to hide from it with an ORM.
I agree that for a beginner the most important thing is to just learn. I believe there are better languages for learning, but if a student can't give up on thinking their first 30 days of programming is going to get them a six figure job so it can't be in theoretical language Y, then it doesn't matter how superior Y is for learning to program.
For the experienced, the true student of the art of coding, you owe it to yourself to expand your mind and learn about programming from at least a few different perspectives. You should experience the difference between imperative and declarative programming to solve problems. Learn the strengths and weaknesses of procedural, functional, and object-oriented programming so that you aren't just using a hammer for everything. As a front end web developer you'll get exposed to events and probably stream processing on the back end. Also learn about state machines.
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.
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
I love his teaching. The best coding youtuber explaining everything in detail
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
Mike, your English is soooooo CLEAR ❤
You are the best coding teacher in the world 🌎 ! I learnt lot from you. Thank you Mike !
Big respect mike! Love your python tutorial, it helped me to step in from absolut zero, like from -273 celsius into coding
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
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.
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!
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.
You said it right! Programming Languages don't matter a lot.
Yes you're right.. As long as you know the fundamentals of programming
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 👍
Bro really just woke up and chose to make the world a better place.
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.
Anyone that says programming language doesn't matter hasn't used many languages deeply/thoughtfully enough. Some languages make it easy to express most anything and capture most any pattern. Others are make it much more difficult to capture some patterns and express some things. After 45 years of programming over 20 languages I know good and well language matters. OO is NOT in all languages. Neither are decent macros. Neither is support for more functional style. Your argument only touches the LCD of languages. Maybe there is less difference for a beginner but I doubt that very much too. I have taught beginners both c++ and python for example. Python is hugely easier to teach and get people productive in. Just having a REPL or not makes a HUGE difference.
There is a lot of truth that language determines thought including for programmers.
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. :)
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 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
Another banger vid, thanks 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.
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.
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.
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.
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 totally agree with you! Once you grab the basics of no matter what language, you are basically done with others ;)
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.
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
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.
Thank you mike for helping us soo much!
😲👍 Probably the greatest thesis I've ever heard. Count me in!!! I'm with you too. LET'S RANT!!!
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 bro!
I started with your Html course last year and it was great, thanks once again.
keep up the momentum.
You're a fucking legend, dude. Thank you so much, Mike!
thanks, u deal with info the same way I do, and I'm glad I can get stuff so straightforward
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!!
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!
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.
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.
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.
You taught me programming Mike. Thank you.
The most important language newbies need to learn is business/domain language. THAT is the hard language.... Dude.... I just got me degree in Software Development I'm ready and have joined a Finance company. And now... I have no idea what's happening. Because the domain is what really matters hear. You, with your brilliant degree - now have to apply it to the real world... It's fun! And never answer a business person with tech speak.
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.
True, I write my prolog the exact same way I write my C++ programs
@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.
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.
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.
and from my experience JavaScript became easy to learn because i learned C first
Where the differences really pop up is in making GUIs. Making console only apps I agree with you.
Hey Mike. New subscriber here. Actually it's my first time using a TH-cam account and first subscription to a channel.
You rock bro.
Ab.
Despite how far computers have come, besides the syntax, these languages are exactly the same as I used as a kid in 1983 with my Commodore 64's BASIC.
Nnnnnno. I'm programming in Visual Basic and BASIC has come a long, long way. You can do for loops in parallel now. You can essentially do a SQL-style query against your in memory data structures. It's got all the object oriented stuff, too.
Heaven help us when quantum computers start getting popular.
Loved the rant! You are 100% right my man.
Yes Mike, Coding is fun, it is a form of art, and "Code is Poetry"!
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.
Funny, that I should learn so much from the video that isn't
a coding tutorial.
Thank you again.
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.
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.
I’ll wait for the JavaScript topic😁
😂
Same😀
+1
I also bro
He already made a video about JavaScript.
Language flexing is for managers. There are some application quirks which make some languages difficult to adapt. But I've always considered it a matter of preference. Or, as I tell my manager, I prefer C# because it doesn't require me to think. Funniest part is he's an AWK fanboi. =^-^=
Right, Enjoy the journey!!
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😀
As a newbie these are golden advices. Thank you Mike.
The biggest difference between programming languages is efficiency and size, using c to create a program is totally different than using javascript with tons of dependencies and libraries
If that would be the case we would all be writing assembly code. Devs usually don't pick the most efficient language, but rather the language they are most efficient with.
@@ChumX100 that depends on the use case i'd say, there is quite a big difference even between c++ and c when reading in gigabytes of lines in and doing operations on them
@@ChumX100 assembly doesnt necessarily makes the program faster C and C++ compilers do a great job at optimizing the code
Thank you Mike. Learned from many of your videos and I realized it's the same basic stuff you cover.
I really enjoy what you do, thanks for the great work!
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.
Sir you are the greatest programming instructor I ever met.💝💝💝
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.
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.
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.
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!
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).
I love the rants, you're the best!
I asked a professor this very question in university. His answer paralleled what you said here very much. It doesn't matter, just understand how programming logic works and you're fine.
Best teacher for programming for beginners this guy is top level teacher
I am a beginner programmer but even I see this. I learned Pascal in highschool, I learned C for one semester in university and now I am taking a java course. It is all the same shit, especially when it comes to the basics, but even when it comes to building a simple desktop app like a chess app the only real difference between building it in Java vs building it in C++ is that Java has swing and awt libraries. Yes, Java has garbage collection but I have made the chess app in Java in such a way that I use all the memory that I allocate on the heap until the program ends, so you wouldn't even do the garbage collection in C++ in that case because you will be using all that allocated memory until you exit the chess program and then when the chess program terminates, it gives back that memory to the OS anyway. The point is, if there were swing and awt libraries for C++ then the C++ version of the chess program that I have made in Java would be exactly the same as the Java version with a few minor differences in syntax.
People who are yet to start programming often times don't understand this. I didn't understand it either, neither did anyone in my class back in highschool. We were all annoyed that we were being taught a dead language such as Pascal. However, now after I have studied a C/C++ and Java for a couple of months, I completely changed my mind. It is all the same shit.
This guy is a fucking hero
As a beginner, I am so lucky to meet you Mike
i mean it kinda matters if you are looking to be an employee, because companies need you to know a specific language, they dont care if you can learn it in two weeks, they just want to see it in your curriculum or you are out...at least that´s how things are in Mexico, but i guess it´s the same in other places
Ok... Pick one [ Common Lisp | Forth | Prolog | SmallTalk | Self ]
Well, it depends. It doesn't matter in relation to what? Because in relation to getting a job, you won't find any if you learn Brainfuck, Rockstar, or probably even something serious like Haskell.
I get your point tho: in relation to technique, they are all more or less the same. Same concepts.
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
The challenge for me as a beginner has been to find an instructor that is able to communicate the concepts in a way that matches my learning style. Or is it that they are not good communicators?
Also find the resources that are up to date, since I don't want to learn using for example a course based on a very old revision level of the language of interest. To me that is also important. Like I'm now inclined to learn F# but the material I find is using version 4, and F# is now up to revision 6. That is what I mean.
Am I wrong?
Would really like to see a video for the "In one video" series about Go (Golang)
Yei Sas. I messed it up.
Pou se re alexandre
Nothing to do with the video but you are one of the programmers that explain really good, but also you are very handsome!.
I WILL DEFINITLY TAKE EVERYWORD YOU SAY IT IS TRUE THANKS FOR GETTING ME STARTED IN CODING
But frameworks, libraries and ecosystems matter A LOT
Couldn't agree more. This might be a big call but I think it shows Mike has a bit of a shallow appreciation of what the experience of a real, everyday coder is like. So someone who does, not teaches :-). The actual syntax doesn't matter, of course. When I first came across Python (after learning with VB and Java, and working in those and C#) I thought it was impossibly ugly and stupid. Now I do most of my coding in Python, and get annoyed with other languages. Syntax is largely irrelevant though, it's the concepts. What are not irrelevant are the libraries - core and high-quality 3rd party. But there is another critical aspect to this - experience. If you have the reflexes, built up over years of "I need to sort this map/dict" or "i need this as a tree" and you just write it because you know what the high performance data structures and libraries are, awesome. Unless you are at the fringes and you are creating code for embedded or 10s of thousands of nodes, small perf differences don't matter, so the language is irrelevant. If, however, you don't immediately know what implementation of a data structure or algorithm to use then you need to turn to stackoverflow, and that is where the differences are absolutely HUGE. In general in Python you have the obligatory now irrelevant "before Python 3.5 you do X" and the useful "now you do X, Y or Z". Clear, concise, quick. You learn something. Javascript? There are 17 different ways, depending on the platform, and you need super-complicated preprocessors that completely transform your code for it to run at all. There are multiple competing, often incompatible systems and frameworks so you can throw away half of the examples you encounter - you try it and realise it was more trouble than it was worth and you rewrite everything anyway. It's intimidating and the people are often arrogant, it is incredibly sectarian. A lot of this comes from it's origins and how the largest tech companies seem to be continually swinging their dicks at each other (first Microsoft, now Apple and Google seems to have heaps of totally random things that their devs won't implement for reasons that normal people will never understand (whereas the others do it just fine)). Then you have TS, which is objectively a lot better but again requires a huge amount of extra effort, that unless you're doing full time frontend coding is hard to justify. It's hard to justify not doing it too though. But want to do anything with user interaction today and you will either need to completely reimplement for several platforms, or you go with JS. So we are prisoners. So yes, the language actually does matter.