Thank you so much. It’s obvious that you are a great teacher. Some 😢don’t appreciate free good advice and learning as they go along. Your advice has helped me stop wondering what to do and just starting and figuring it out as I go along. I’ve come a long way with your advice. For those who appreciate learning just start a project and work on it you will learn if you put you mind and effort to work and stop whining. Thanks for your great lessons. Keep it up many of us more than 26k appreciate your great effort. Blessing to you!😊
@LearnWithHuw5 ай бұрын
Many thanks. I'm sure you'll make great progress with this positive attitude! Best wishes Huw
@kensyjolicoeur3 ай бұрын
Learning a language is the easier part; the real struggle comes when trying to master the technical complexities of frameworks and deeper systems.
@stonerhistory87423 ай бұрын
@kensyjolicoeur you are so right
@donaldjohnson85222 ай бұрын
@@LearnWithHuw Thank you I appreciate your video. I am a bigger and actually just starting with Python myself. Was interested in creating a super Mario type of a game. I only seen little bit of freecodecamp the beginner Python. I know Python isn’t ideal language for creating games. But was thinking it was a good beginner language. Plus it doesn’t hurt to give it a shot either way I will learn something
@LearnWithHuw2 ай бұрын
@@donaldjohnson8522 I've never tried creating games with Python so can't comment. But I'm sure it must be possible. Good luck! Huw
@maquindesign91586 ай бұрын
1 Data. Variables, arrays, objects etc. 2 Loops. If, while, then etc. 3 Functions. Fx name (arguments) {fx statements} 4 Call function. name(arg1, arg2) 5 Constructor 6 Class 7 Import. Import X from Y 8 Export. Export (fx) 9 Modules 10 File system Every language have these core parts.
@phat806 ай бұрын
Javascript has no file system part 😂
@hungry_khid10076 ай бұрын
@@phat80good
@scs_one6 ай бұрын
Probably you are a beginner, missed the most important parts like error handling and threading model
@phat806 ай бұрын
@@scs_one Threding is not about any language. JS, Dart are both single-threaded. I agree with error handling though.
@scs_one6 ай бұрын
@@phat80 Currently parralel processing is the essential part of any modern language, take a look the way C++ transformed, plus swift and go. I suspect you are more web oriented in terms of the languages.
@Websitedr7 ай бұрын
Doesn't matter if it's 3 hours, 3 days, 3 weeks, the point is you learn better when you're doing something.
@Radek05827 ай бұрын
So true
@StynerDevHub6 ай бұрын
❤🥳❤
@Rough_Coins6 ай бұрын
✌🏿
@MalushJ6 ай бұрын
what if it takes you 3 years to get hello world working
@seshukumarijavvaji75666 ай бұрын
Yes
@footfiles7 ай бұрын
I've coded hundreds of programs with only a few hours of experience in C#. None of them work or are finished, but nobody can out code "Hello World" better than me!
@4abrownafrica4206 ай бұрын
@@8T8KeezI can make a diode blink with arduino.
@InnerEagle6 ай бұрын
Hello world my ass, wait when you join strings to feel full achieved!
@givenkibanza6 ай бұрын
😂😂
@frederickteye6 ай бұрын
😂😂😂😂
@greeneyed-px5pd6 ай бұрын
This brought me a smile 🙂
@bayroot73857 ай бұрын
Not gonna lie, when I saw the thumbnail I thought Bill Gates's gonna teach me how to learn any programming language.
@hiddenbruh7 ай бұрын
Bro I thought the same thing 😂
@excelezeh82757 ай бұрын
This comment was part of why I clicked this video. Fairly enough Bill Gates wasn't far of as nerdy, almost the same demeanor.
@folksurvival6 ай бұрын
Why insult the man?
@philamavikane94236 ай бұрын
@@folksurvival How is that an insult?
@Gskmanjalkar6 ай бұрын
Indeed. At first instance.
@Abattoir3ach6 ай бұрын
“I have been programming since the 1980s” fellow watchers keep in mind, this information comes from an already skilled individual so if you’re just starting out your time most likely will NOT be the same.
@deborishiganguly36656 ай бұрын
Exactly what I was thinking - this is not gonna work for a noob.
@greenjupiter5 ай бұрын
Thanks
@otaborosamuyi21125 ай бұрын
Thanks so much I'm instead In learning programming I will be so happy if you can send me some basic information I will be needing thanks
@LearnWithHuw4 ай бұрын
While you are right, I should point out that this is HOW I became an experienced programmer. This approach has served me well for a very long time.
@latinobandido74714 ай бұрын
@@otaborosamuyi2112 w3schools has pretty nice learning tracks. Freecodecamp seems pretty good as well. Take your time to really understand the concepts of how and why you are coding certain things, certain ways, etc. Build things. Even if simple, build them.
@PatrickHoodDaniel6 ай бұрын
Love this and I agree with the notion of project based learning. This is how I learned programming, starting from the TRS-80 Model 1. It's the best way to learn and retain because you are actually focusing, and enjoying the process. I feel that programming is a special type of occupation (occupying your time, or as a career) that is more rewarding because of the instant gratification, you make a change and you see the results immediately, whether good or bad.
@LearnWithHuw6 ай бұрын
To be honest, it was the way almost everyone learnt in the days before the Internet. It's still the most productive way, in my opinion. Thanks for the comment. Huw
@skilz80987 ай бұрын
I taught myself C/C++ by making a full 3D Game Engine from scratch. I don't mean including an existing one, I mean creating all of the internal components, nuts and bolts and assembling them together into an integrated, cohesive and working solution. Very rewarding.
@LearnWithHuw7 ай бұрын
Taking on a big programming challenge that really pushes you to the limits is (in my view) probably the best way to learn. And what a sense of achievement you must have had at the end!
@skilz80987 ай бұрын
@@LearnWithHuw The final solution was 4 projects, three internal static libraries, and one main executable consisting of close to 100k lines across about 50 - 100 files.
@skilz80987 ай бұрын
Well, I could be exaggerating on the lines of code, it might have been at least 10-20k though. There were 2 different parsers. The main text parser for handling the level file for loading and automatically setting up and constructing the scene graph itself was at least 2k lines just for the parser function.
@jocm997 ай бұрын
Okay, now let's see: 1. Were you programming before teaching yourself C/C++? 2. Got any CS background, whatever it is? If you answer "yes" to any of these two question, then beginners should completely disregard what you just said.
@skilz80987 ай бұрын
@@jocm99 Nope, 0 background, 100% self-taught, 100% hobby of interest. I don't need to go 1/4 mil in dept to learn something I have an interest in. I just do it!
@mattg73047 ай бұрын
This is cool, BUT isn't it true to say that YOU can learn any language in about 3 hours because you have a ton of experience and know how software is built and how it's constructed, thus all you really need to learn is syntax? Which is why YOU can learn any language in 3 hours? What about the rest of us who only have 6 months, a year or 2 years of experience?
@tongpoo89857 ай бұрын
Yes it's more accurate to say that if you know one language, you can learn any other in 3 hours. Which is pretty much true unless you're going from like python to rust or something. If you know one high-level language and one low-level language, it's certainly true though
@jx38066 ай бұрын
It's all bullshit, because: What do you mean by learning a language? What do you mean by having learned a language?
@noctisocculta48206 ай бұрын
It does help reinforce the important parts of programming by making you think abstractly about how you achieve an outcome rather than using one specific tool. Usually why university programming courses have first year students use multiple languages: I had to learn Visual Basic, C#, Java, and Python. To be fair, VB, C#, and Java, are pretty much identical.
@neneodonkor6 ай бұрын
You learn by doing that's the point. The title is just for hyperbole.
@nathanhughes83546 ай бұрын
He has years of experience working within one paradigm, so he can apply this to other languages within that paradigm, he only has to get up to speed on syntax and where things are located. But if an OO programmer takes on a language in an unfamiliar paradigm, like FP, there will be a much steeper learning curve.
@crizz-j9qАй бұрын
Timestamps 00:02 - Learn programming languages effectively by working on projects, not just reading manuals. 02:16 - Setting up the programming environment is crucial for learning any language. 04:53 - Learning D programming language through trial and error. 07:23 - Creating classes and objects in programming languages like D 09:55 - Experimentation is key in learning a new programming language. 12:32 - Enforcing Privacy in D Programming Language 15:07 - Creating and manipulating arrays in programming languages 17:26 - Troubleshooting code mismatch with string recognition 19:48 - Learning a new programming language in around 3 hours 22:04 - Learning programming efficiently without overwhelm
@ANDREWMCCALL-x4iАй бұрын
THANK YOU!
@vernongrant47107 ай бұрын
Your C pointers course might have been the best programing course I have ever taken. Thanks for creating these wonderful videos for us.
@LearnWithHuw7 ай бұрын
That's very kind of you. I'm glad it was useful.
@philamavikane94236 ай бұрын
On this channel?
@LearnWithHuw6 ай бұрын
@@philamavikane9423 I teach that course on Udemy (or you can buy my book on Amazon).
@isomochyn17 ай бұрын
This is the first video I have seen/been suggested of yours. While I very much agree with the message and this way of learning a new language I was mostly happy to hear a Welsh accent after not having been back to Wales in 4 years.
@LearnWithHuw7 ай бұрын
I haven't lived in Wales for a very long time. I'm glad the accent is still there!
@bobweiram63217 ай бұрын
You mean in 3 hours and 33 minutes. You need 33 minutes to watch this video to learn how.
@LearnWithHuw7 ай бұрын
It's the first 40 years are the toughest! 😅
@bobweiram63217 ай бұрын
@@LearnWithHuw LOL!
@bobanmilisavljevic4207 ай бұрын
My version is only 22 minutes and 37 seconds! Are we watching the same thing?! 😅
@LearnWithHuw7 ай бұрын
@@bobanmilisavljevic420 Maybe I just make it *seem* longer! 😂
@skilz80987 ай бұрын
@@LearnWithHuw and the first 10 of them, did they involve pure assembly?
@tasenova27173 ай бұрын
despite your 40 years, I feel less overwhelmed already. I think with everything going on in the world, everything is discouraging in the content given, and just this one video alone, I want to start tomorrow again with a more positive and patient attitude because I'm interested and feel respected that I want to learn. I get that everyone wants to teach others their way and project themselves about how stressful coding is, but it was hard to remember the pattern based mentality i can construct and have fun doing if I just like to learn. this is a great channel
@LearnWithHuw3 ай бұрын
Many thanks. It's good to know I've been able to give you a bit of encouragement. We all need that at times! Best wishes Huw
@whi5tler6 ай бұрын
Learn any programming language in 3 hours with 30 years experience in multiple languages
@LearnWithHuw4 ай бұрын
This is how I've always learnt from the earliest days. In fact, before the adventure of the Internet, it's hos most programmers learnt. This approach is now so old it seems news again. 🙂
@Cowdog12 ай бұрын
@@LearnWithHuw - but why would you just out of the blue type char? A novice would have no idea.
@LearnWithHuw2 ай бұрын
@@Cowdog1 As I say, when you don't understand something, that's the time to look it up. If you are a complete beginner (which this video assumes you are not) I have many other videos explaining data types, variables, chars etc. Best wishes Huw
@JimNichols7 ай бұрын
So you compressed your learning, building on the extensive background you already possess then compressed all the 'exercises' into one large 'exercise' you relabeled as project. I appreciate the video it is well done and well directed at the target audience.
@greeneyed-px5pd6 ай бұрын
One line is permanently etched in my brain till the day I die, maybe even for the afterlife. It's the *'public static void main(String[] args)'* . Even though I never went ahead with Java back in the day, never made a project in it, and it's been perhaps 25 years since I touched Java, I still remember this line.
@LearnWithHuw6 ай бұрын
The stuff of nightmares! 🥴
@TraversyMedia3 ай бұрын
I agree jumping into a project is one of the best ways for many people that have some experience with another language. May not be the best for absolute beginners. Either way, enjoyed the video.
@LearnWithHuw3 ай бұрын
Thanks. Yes, I have lots of other, step-by-step videos for complete beginners. But one of the problems I've noticed which many students have is that they don't commit to writing big programs. Which is (in my opinion) by far the most productive form of study. Learning a new (2nd or 3rd language) presents the perfect opportunity. Best wishes Huw
@shygrammer6 ай бұрын
This works well for object oriented programming. Pure functional programming takes a mentality shift that's just very wild
@kosnowman2 ай бұрын
Not true, even Haskell is able to output something, I learn clojure by doing Advent of Code Day 1
@earthcitizen575 ай бұрын
Having started in the 80s myself with Basic on a Commodore 64 and later learning Pascal with an astrology project that I successfully completed, I can fully credit your learning approach. I am now retaking programming after many years of inactivity. I am excited about D.
@LearnWithHuw5 ай бұрын
I think people who learnt to program before KZbin understand this approach better than people who are used to finding everything online. Good luck with D.
@shadowwolf2255 ай бұрын
How to learn any programming language in 3 hours: 1. Know, extensively, all of the languages that it is derived from from more time coding than most viewers have lived (80's -2020's = like 40 years) . 2. Know literally everything about your IDE of choice. 3. Code in the new language until your IDE shows you that you guessed wrong and then reference the docs when it would take less time than guessing again. You're obviously an accomplished software engineer. Most people watching are not. There is NO shortcut except for having already done the hard work.
@Plagueheart4 ай бұрын
I agree, i hate these click bait videos. I've been programming since the 80s and these videos are misleading claims
@dameinmalone74803 ай бұрын
Could you recommend some good books from the time.
@shadowwolf2253 ай бұрын
@@dameinmalone7480 best book I know of is "Automate the boring stuff with Python"
@GEXDataFinance3 ай бұрын
I've been getting deep in the programming world, and figured out the usefulness of this skill to improve technically, in several scientific areas! Regards, like your channel a lot. Keep it up!
@LearnWithHuw3 ай бұрын
That's very kind of you. Many thanks.
@psiryan7 ай бұрын
The hardest part about learning to program is understanding the flow of the program, which is really the fundamental part of programming; everything else is syntax which if you are learning a language with syntactical similarities to another language you are already familiar with makes the process of learning other programming languages easier. What is more ambiguous and requires direct language experience is determining which language is appropriate for the project you are working on. The differences between many languages are sometimes very subtle but they exist for reasons.
@johnp.johnson15417 ай бұрын
you: "The hardest part about learning to program is understanding the flow of the program, " No, not at all and such belief is why most software is terrible. The hardest part is understanding workflow (and no, the kiddies' misuse of that word, which they think it means "Setting up my hotkeys") of the domain (business, missile launch and flight, etc) and capturing it in programming language expressions such that expressions do not clash and are flexible enough for real time causality differences.
@psiryan7 ай бұрын
@@johnp.johnson1541 indeed, understanding the business process workflow and transcribing it correctly into appropriate models is definitely the hardest part, and part of what I meant. I didn't speak to understanding the workflow of a business process, but the flow of the program is the implementation model of your understanding of the business process. So many people just jump into coding without really doing the first part, but once that skill is mastered and a model is made, then the coding piece is a cinch, just follow the blueprint (I might say pattern or template alla other crafts, but that would be confusing in the programming space since those are reserved words with meaning and context already applied).
@noctisocculta48206 ай бұрын
@@psiryan yeah, it really is the bigger picture / flow that matters if you're working on anything larger than a few macros (or a handful of functions, etc.) here and there. Big picture is where my programming falls apart: Project becomes overwhelmingly complex, usually due to poor organisation and laziness at the start of the project. Fine in an established project with a supporting team, not at all good for advancing my own skills or leading large new projects. Also, learning proper flow improves knowledge retention immensely. You can get up to speed pretty quickly, but if you haven't internalised the fundamentals you'll forget everything in the span of a couple months. Cheers.
@gbojinov7 ай бұрын
Love this method of learning and the choice of project is great!
@LearnWithHuw4 ай бұрын
Thank you. It's always heartening to me when I read a comment like this. I'm sure you'll make good progress. Best wishes Huw
@零云-u7e7 ай бұрын
That generally works, crash coursing. I'm a little more structured. I write the same multi-threaded skeleton with async, a type, conditional, event across languages. The next step is cli w argv, gui framework, repl. I cranked out C# Windows apps fast w custom controls, and realized, this is my process, this template/skeleton. Install, Workspace, code template, debug, compile, perf and analysis. Then roll thru other major concepts. C#, Go, TinyGo, Rust, JS, etc. It's worth the comparisons and it didn't overload me like I thought it would. This was all after leaving Windows and that proprietary baggage behind. My brain opened up.
@rodpmaia6 күн бұрын
Happy New Year Teacher!
@LearnWithHuw6 күн бұрын
Thank you. I hope you have a great new year too!
@carpediemcotidiem3 ай бұрын
00:02 Learn programming languages effectively by working on projects, not just reading manuals. 02:16 Setting up the programming environment is crucial for learning any language. 04:53 Learning D programming language through trial and error. 07:23 Creating classes and objects in programming languages like D 09:55 Experimentation is key in learning a new programming language. 12:32 Enforcing Privacy in D Programming Language 15:07 Creating and manipulating arrays in programming languages 17:26 Troubleshooting code mismatch with string recognition 19:48 Learning a new programming language in around 3 hours 22:04 Learning programming efficiently without overwhelm Crafted by Merlin AI.
@LailaInSp2 ай бұрын
thanks
@malcolmjohnston67312 ай бұрын
3 hours my ass. I teach kids. This guy has almost 50 years of experience. A beginner will take at least 3 months to begin to understand what this man is talking about. Stop fooling people in order to brag...please.
@Max_Moura6 ай бұрын
I'm definitely going to try your method the next time I want to learn a new language! It's so refreshing to see someone just dive in and start coding, even if it means making a few mistakes along the way. Your "messing about" stage is something I can definitely relate to. I've always found that the best way to learn is by doing, and this video is a great example of that. I also appreciate your emphasis on using the documentation as it's a valuable resource that shouldn't be overlooked. Thanks for sharing your knowledge and experience, Huw! 👍
@LearnWithHuw6 ай бұрын
Many thanks. I think you'll find this a fun and effective way of learning. Good luck.
@lazarus69836 ай бұрын
I recommend skimming the starter guides and quick start guides tho before doing this. They usually show you how to declare intiialize vars, definr classes and functions, and use conditional statments and loops, scopes and closures and reference passing, classes/structs, etc... Most devs arent guessing their way through 80% of new lang syntax because they dont have 40 years of developing on literally every other lang in that family. But otherwise yeah, just throw yourself into the fire. This has me inspired to make a game now
@LearnWithHuw6 ай бұрын
Go for it! Good luck.
@tariqsiddiqui66416 ай бұрын
Great video! No nonsense approach to explaining the "learning how to learn" concept. Highly recommend to anyone curious about "how to learn" a new language without using tutorials.
@LearnWithHuw4 ай бұрын
Many thanks. I'm always happy when people understand the approach I try to explain! Not everyone does (as you will see from some comments). But those who do understand this, make the effort of making these videos all worthwhile. Best wishes Huw
@savagepro90604 ай бұрын
To the silly comments, he said to learn a NEW computer language in 3 hours. That obviously means that you supposedly KNOW a language ALREADY!
@PeterBrown-b4i4 ай бұрын
What he said still isn’t true. Part of learning a language is learning the libraries and the ecosystems of that language. So maybe you can write if statements and some four loops and trivial things like that, but to really be able to tackle a non-trivial program in three hours is impossible even with 30 years of experience.
@savagepro90604 ай бұрын
@@PeterBrown-b4i Respect! But I was just quoting what he meant, not whether it was valid or not. But your argument is logical
@terryhayward79053 ай бұрын
What he said is, Quote "Learn Any Programming Language In 3 Hours!", nothing about having any experience or just a NEW language.
@savagepro90603 ай бұрын
@@terryhayward7905 if you going to LEARN any programming language, then it MUST be new
@kjeksklaus79442 ай бұрын
I know english
@jamesg85255 ай бұрын
Just when I thought I'd seen all the possible ways to code "Hello World", you come along and show me another....thanks!
@josuecharles90876 ай бұрын
To learn every language quickly, you must have a good base in algorithmics, learning to code in pseudocode.
@oreballinАй бұрын
This for me is the most relevant topic for any beginner. Not syntax, or even building projects. If one cannot think it out. Not 1 line of code is possible.
@RezaShaffaf3 ай бұрын
I love your approach. Leverage what you know from all your past experiences. Programming in new languages is all about getting familiar with syntax and control flow.
@LearnWithHuw3 ай бұрын
Absolutely. I have to say I am surprised that so many people find this a strange or unusual approach. In my experience, it's bar far the best way to learn.
@TigerWalts7 ай бұрын
I prefer to read an amount of the documentation before I start coding. The amount varies depending on my familiarity to the language. The goal isn't to understand everything but rather to get a holistic view of the language. Typically I'll start with a scan the table of contents on the book. I'll pick out the chapters on syntax and general concepts and any others that 'stand out'. These I will read through once and not stop to ponder or re-read. I want a map to the rabbit holes, not of the rabbit holes. I don't always do this this though. Sometimes you need to work on a new language and you don't have the luxury of time. If this is the case you're probably working with a large enough codebase (which has sensible naming) and you can learn the language by just reading that code.
@Walt_827 ай бұрын
Kkkkk tá vendo muito video de mapeamento idiotial 😂😂😂
@Anna_Batista-w6vАй бұрын
Project-based learning. Nice!
@clublength7246 ай бұрын
What type of audience do you think you are addressing? The language you use is so involved. Its clear that there are certain aspects/attributes that you believe that the "learner" has.What is a Module, Disc utility, Code.D IDE,Default,Compiler,Breakpoint etc and what?When are they used. Learning is a process.
@pravinshingadia73375 ай бұрын
The gist of what you say is completely true. I’ve learnt new software simply by diving in a building something with it and solving issues along the way. It really is the best way.
@LearnWithHuw4 ай бұрын
I'm glad to hear that. I am genuinely surprised at the number of comments that don't understand what I'm trying to explain in this video. Best wishes Huw
@Elizabeth-nq9ly7 ай бұрын
So to summarise the best way to learn coding languages is to just look stuff up as you go?
@LearnWithHuw7 ай бұрын
First, start to program. Then use the documentation and debugger to help you over any hurdles. But doing the actual programming (of a *real* program, not just assignments) is by far the best way to learn.
@Kelvinapplegate4 ай бұрын
@@LearnWithHuw Nike!
@SahaKrishna3 ай бұрын
Its not about learning the syntax of a programming language, learning the concept of that particular language is important. Firstly, A basic concept of compiler, interpreter, low level language and how its interacts with high level programming language is important.Its a one time learning. Then comes the core concepts - data structure, function, module, condition and loops, file system, object and threading (If applicable), resource usage. Overall, a common sense is required for example making your own logic or alogorithm, ask question to yourself - can I do it differently. This is my path : Gain curiosity > learn basis > get more interest > practice regularly > repeat > learn advance topics > apply those concepts > learn and repeat (no end) So, 3 hours or 3 years is just a number, you give time and effort , you get better results :) Happy Learning.
@Naomi-b9r3 ай бұрын
Where and how can I learn the basic concepts of compilers, low level language etc as you mentioned above as the first step?
@DuneDee6 ай бұрын
These sorts of lessons are the most enriching, in my opinion. Not just telling us to do something and telling us what it does, but allowing us to gain some insight into your mental workings by actively narrating your thoughts. Like at 5:26 where you said "I've got a writeln, let's see if I've got a readln" and then explaining that the error line disappears, indicating it's valid. I've always struggled with getting started, and needed a little nudge to get going, even during my college days. If a professor gave me a single line of code and told me to complete a project then I could do it, but if I had a blank screen in front of me I completely froze. This teaching style helps immensely, so I thank you for that.
@LearnWithHuw6 ай бұрын
Thanks. That's what I hope for!
@philamavikane94236 ай бұрын
Absolutely fantastic. Loved the video, made a lot of sense. Keep doing what you're doing, we need people like you who actually know what they're talking about!👍👍 ..the fact that you're using that vs code theme *sold🔥
@LearnWithHuw6 ай бұрын
Thanks. I'm glad you found it useful.
@jokelot52217 ай бұрын
If you are experienced programmer in one programming language, some OOP language preferably, then learning other languages is pretty much not necessary. Particualry if the language you perfected is some of the more verbose ones like Java, C++..etc. Picking up others should be easy. What programmer should focus on is to understand how to write cleaner code and best programming principles and patterns. With various AI tools nowadays, and an opportunity to experiment with the code on your IDE, learning new language is even more facilitated. So in conclusion, if you want to become a good programmer, my advice is to learn OOP principles well, best practices, pick one verbose language and learn it well, and then you can code projects in pretty much any other languange you want.
@noctisocculta48206 ай бұрын
Patterns and principles are so crucial. Don't need to be a genius or waste hundreds of hours reinventing the wheel if you already know several solutions. Of course I won't take my own advice due to laziness and ADHD, lmao.
@jokelot52216 ай бұрын
@@noctisocculta4820 I agree. To be able to be good at anything, trying it out in practice is crucial. Then you will spend time filling out holes in your knowledge and perfecting the basics to become more productive. Programming languages should be seen as tools or a mean to comunicate with the mashine and make it do something, i think a lot of tech people and programmers are overcomplicating it to much. Much more important is to understand underlying design principles and best design practices for a particular programming language, and how exactly you code is up to you. And never forget that your finest tool is your mind.
@radutaalexandru2999Ай бұрын
Great lesson for a way of learning and become motivate. Greetings from Romania Sir.
@LearnWithHuwАй бұрын
Many thanks. I'm glad it has helped. Best wishes Huw
@yorkaturr5 ай бұрын
I remember reading some books that encourage this hands-on approach. They show you a piece of code and then explain line by line what everything does instead of going through all the basic stuff about loops, conditional statements etc, which every programmer should already know about. C By Dissection comes into mind. Just reading the code works for me better than any prior explanation of what the syntax keywords and internal methods are.
@LearnWithHuw4 ай бұрын
The approach really boils down to this: you learn by doing. It's like learning a musical instrument. By all means solidify your understanding by studying theory. But if you spend all your time on theory and not much time on playing, you're never going to learn to play your instrument. Best wishes Huw
@TariIkadoi2 ай бұрын
Would you please recommend the title of the book for me
@LearnWithHuw2 ай бұрын
@@TariIkadoi I believe the book mentioned by @yorkaturr is called "C by Dissection". I'm not familiar with it myself. I think it may be out of print but seems to be available second-hand on Amazon.
@imxande69307 ай бұрын
Learn any programing language in 3h Requirements: 1- Know 10+ languages already 2- Have over 20+ years of experience
@PeterVerhas7 ай бұрын
…and in addition to that the language not be Rust.
@imxande69307 ай бұрын
@@PeterVerhas right 😅
@zombizombi5 ай бұрын
@@PeterVerhasOr Haskell... Or Scala
@PeterVerhas5 ай бұрын
@@zombizombi I was talking about programming languages
@zombizombi5 ай бұрын
@@PeterVerhas Er yeah.. me too
@lovinglife46455 ай бұрын
after watching this video i have now mastered all the languages successfully! now i am challenging all the coders and programers to come and compete with me!!!!!
@Kelvinapplegate4 ай бұрын
Good luck! 👍🙌
@user-fu8gq5xg5u15 ай бұрын
Time has changed. I never knew how to program, but recently I started to master the engine, understood the basics and began to use a chat-gpt. I give her the logic, and she writes the code for me without errors. Instead of typing hundreds of thousands of lines yourself, and then spending 5 hours looking for a [space that shouldn’t be there I'm making a game. And yesterday I did more with the gpt than I would have done alone, taking into account the errors
@Molaleni3 ай бұрын
That was beautifully done, thank you
@LearnWithHuw3 ай бұрын
Many thanks.
@randylplampin13267 ай бұрын
Try APL for a change. After three hundred hours you would still not even know what the purpose of this language was.
@prembikram16526 ай бұрын
To hack Alien Mothership.
@SomeMrMindism6 ай бұрын
APL is just a fancy Forth with a fetish for one character function names and weird precedence rules. If you parenthesize everything and change characters with legible names, APL is no more mysterious than LISP
@nealrasmussen48322 ай бұрын
Took me 2 weeks to go through K&R in 1985 and I skipped struct cause I didn't think useful. I started C by converting an Fortran pgm to C. Wrote new pgms to plot weather data graphically on a PDP. First real C job taught me to loose old bad habits. So by my 3rd year I was quite good. I could see 3-6 months for C with a good teacher. Oh, and DOS 3.3 and the MS C 6.00A compiler! 😊
@wogvorph7 ай бұрын
Is it true that light theme attracts bugs?
@gauravtejpal89017 ай бұрын
Blue light and white light attracts the most bugs. Yellow and orange lights are more bug free
@friedrichmyers7 ай бұрын
I use Light Theme. The entirety of dark mode philosophy is that You can't attract bugs when you can't see your code.
@joyajim7 ай бұрын
Huh? Really?
@Jerrel.A4 ай бұрын
Very appreciated. Thank you!
@LearnWithHuw4 ай бұрын
Many thanks.
@Dopaminedreams5003 ай бұрын
For a moment i thought Bill Gates was teaching me to code
@garycoote2 ай бұрын
lol that one really tickled me. I’m still laughing. 😂
@cosmos1980Ай бұрын
I watch these videos mainly to listen to his voice 😀. Has a nice, storyteller effect.
@LearnWithHuwАй бұрын
Thanks. 😁
@Refresh54067 ай бұрын
This is excellent advice. One lie that CS degrees and coding bootcamps often try to sell you is that you need to have a deep knowledge of a particular language/ecosystem in order to become competent at writing code in it. That's not the case. You just need to understand the basic syntax/ergonomics of it and then know how to browse documentation when you get stuck.
@krunal9210073 ай бұрын
Thank you sir, it is very useful to use as every year we are tasked to learn new tool or language.
@LearnWithHuw3 ай бұрын
Thank you.
@bart20197 ай бұрын
Not any language. Only languages that are similar enough to what you already know. Try learning Haskell, OCaml, Erlang or Rust this way... you very likely will suffer
@batlin7 ай бұрын
I've written quite a bit of Haskell, Rust and a few other "difierent" languages like Prolog, J and Forth. I think the advice here still holds, but the proportion of time spent debugging and searching the docs will be a bit higher. You definitely benefit from the suffering you mentioned. Otherwise it's too easy to spend weeks going through tutorials and books without ever "breaking out". Haskell books also tend to be very long and hard going, although Brent Yorgey's old CS notes and exercises were excellent and concise without going into silly monad analogies or "...in a category of endofunctors" prose that loses people.
@walterrutherford83215 ай бұрын
Not really. 95% will be the same sort of tasks in every language: getting input to/from the user, reading and writing files, math, various loops, subroutines or function calls, etc… You just need to learn the new language’s syntax for doing those things. and in the meantime you can probably sketch a pseudocode flowchart of what you want to do. Rarely will you come across a feature that is truly unique and then it should just take a bit of extra study to get used to it.
@AutisticCuriosityАй бұрын
Totally agree - he’s using language he already know so useless for complete beginners
@C-ErastusToe2 ай бұрын
Hi Huw, you're absolutely amazing! I took your advanced c programming course on Udemy in 2018 and it literally changed my perspective on programming and how I thought about programming! I have gone on to use those visual illustrations you used in the course to help other CS students at my University understand C when I was a tutor!
@LearnWithHuw2 ай бұрын
Wow!!! I am flattered. I am extremely pleased that my course helped you so much. It's always nice to hear from people who've gone on to bigger and better things later on. 🙂I hope you find a few things of interest in my more recent videos on KZbin too. Many thanks for the comment!
@oglothenerd7 ай бұрын
Try learning Rust with this method. 😆
@rusi62197 ай бұрын
Can you people stop pushing that rubbish language everywhere?
@drivers997 ай бұрын
@@rusi6219that was a counter-recommendation because they’re saying it’s difficult
@oglothenerd7 ай бұрын
@@rusi6219 I wasn't pushing. I was saying it is a hard language.
@friedrichmyers7 ай бұрын
@@rusi6219 fr. I have started hating it because people push it like its a cult
@friedrichmyers7 ай бұрын
@oglothenerd, you're fucking everywhere lol
@BankruptMonkey5 ай бұрын
I appreciate your teaching style here
@LearnWithHuw5 ай бұрын
Many thanks.
@sergeibatiuk34687 ай бұрын
Clickbait obviously
@LearnWithHuw7 ай бұрын
Sorry?
@sergeibatiuk34687 ай бұрын
@@LearnWithHuw Try to learn and be productive with Scala or Haskell in 3 hours. And if you think you understand something about programming you know that language alone is nothing without libraries, patterns and tools
@radicaldreamer467 ай бұрын
The video covers how Huw deals with learning languages. I don't really view Haskell or Scala to be that intimidating. If you have knowledge of the ML family, both of those languages aren't too bad to work in. Sadly both Scala and Haskell have relatively poor environments, so they languages themselves aren't too helpful in terms of interactively learning (GHCI is serviceable for small/non complex projects). As for tooling Huw shows grabbing the language environment! For most languages this gives you a decent overview of the tooling of the language. for a smalltalk or lisp environment this is all you really need as you are programming within the environment of the language. However more batch oriented languages the editor Huw was using works well enough to be productive. Patterns in particular come from experience with some style of design. If you have working knowledge of smalltalk, you have a good idea on OO design, if you've used CL you probably have a decent view on patterns that emerge in other lisps you don't know about etc etc etc. Even getting thrown into something like Erlang, you can pickup all the actor stuff quite quickly as that is all there is to learn about erlang if you are already familiar with interactive languages.
@LearnWithHuw7 ай бұрын
@@radicaldreamer46 Thanks for that thoughtful comment. Really I am trying to encourage people to gain experience of more languages through hands-on use and experimentation. As long as you already know one language, it is usually possible to make fast progress when learning another language in the way I try to explain in this video. The only real way to learn to program a language is to write programs in that language. But many people get stuck in the early stages by being bogged down in long books or tutorials. Best wishes Huw
@sergeibatiuk34687 ай бұрын
@@radicaldreamer46 Scala and Haskell are FL (functional) family rather than ML. It took me 3 hours to write a couple of programs of the "Hello, World" level initially but years to actually understand them
@LeonRamkumar5 ай бұрын
I have that same Rugby jersey, very comfy and warm.
@MartinKramer-ff5mt7 ай бұрын
Finally I met the best programmer in the world. Fortunality you are making the world shinny.
@AbdurRahim-pp2il6 ай бұрын
Thank you sir.. This has been useful..
@Skiamakhos6 ай бұрын
Definitely works well with imperative object-oriented languages. Getting the hang of functional languages & ones where immutability is the norm might be more involved - stuff like Clojure for example. Elixir too: Elixir's main strength is parallel processing, using all the cores on your machine to get stuff done a lot quicker & reliably.
@esparda072 ай бұрын
Subscribed because your voice reminds me of David Attenborough. Incredibly relaxing and interesting at the same time.
@LearnWithHuw2 ай бұрын
Ha! Well, I'd love to work on the sort of series David Attenborough makes. Sadly, nobody's offered me that job (but I'm available! 🤣). Best wishes Huw
@williambreeze26593 ай бұрын
Thanks for this!
@LearnWithHuw3 ай бұрын
Thank you!
@laithal-athary99326 ай бұрын
i code since i was in primary school and never learned in a course mostly i find my way almost like you did and i cam assure that this is the most effective way to learn a language. thank you for the efforts
@simpletongeek6 ай бұрын
I think most programs has the elements of shuffling arrays. Get the array operations down pat, and you can do most things with the language.
@MrBratkenSolov6 ай бұрын
Great tips, mr. Allen
@adarshveerSingh-t1j12 күн бұрын
thank you for sharing
@LearnWithHuw12 күн бұрын
Thank you.
@GEXDataFinance3 ай бұрын
Hoy en día somos muchos hispanohablantes, de hecho, el español se encuentra en el top 5. Gracias por el espacio. Un abrazo!
@LearnWithHuw3 ай бұрын
Gracias
@Turco9495 ай бұрын
100% agree! That is exactly how I learned scripting which I use a ton more on a daily basis. I picked a file backup project out of need, started simple and scaled it out as I learned more, made it bigger and more complex.
@LearnWithHuw4 ай бұрын
Thank you. I'm glad we agree on this! Best wishes Huw
@thezonewalker39262 ай бұрын
Taught myself how to code by building games in Unity. Now im a full time software engineer. Spend time on what you love and success will follow.
@LearnWithHuw2 ай бұрын
That's absolutely the best attitude!
@avasdv2 ай бұрын
Step one- understand assembly and cpu architecture, programming patterns and multi threading principles, kernel API oh and networking. Then yeah read about go, rust, julia etc. be able to look up the skirt of any given language
@LarsOestreicherАй бұрын
I can agree that if you know the basic programming paradigms (procedural, functional, object-oriented and declarative), then you can learn to code in most programming languages in a short time. After three hours, you may possibly write the simpler programs without much of a problem. The necessary understanding lies in that all programming languages are essentially syntactic sugar added to the paradigm itself. Learning a programming language still requires a fundamental knowledge about programming, i.e., the problem solving, structuring and not least the various programming patterns that form the base of any programming task. The problem here is that you have to have quite extensive programming experience in order to learn to code in a new programming language in this way. And, as already commented, when you have that knowledge, you also, most likely woll already learn new programming languages in very much the same way as you describe anyway. For new programmers, the time to learn a new coding language is probably much longer, and in most cases learning the deeper features of a language or a paradigm will also require longer time even for an experienced programmer. But this video is still a good think-aloud demonstration about how to approach the learning process.
@immortal_codeАй бұрын
thanks sir..
@Mus-1356 ай бұрын
Great. Create an Inventory management system next.
@MichaelMcInallyАй бұрын
Thank you!
@LearnWithHuwАй бұрын
Many thanks.
@StefaanHimpe5 ай бұрын
This kind of works because C, C++, java, javascript, rust, python, are all more or less the same type of language. Once you look at different paradigms like prolog (logic programming) and haskell (functional programming)... you will need a lot more than 3 hours (and your mind will melt a few times). It's very much worth doing though because it will also totally change your perspective on the things you thought you knew already.
@DePistolero7 ай бұрын
Apart from the outlier genious that built his own engine from zero....I've just tought myself how to make video games using another engine... using exact method you've described here and now I'm taking on rust language... Thanks feels good to get some confirmation.
@PeterAdiSaputro6 ай бұрын
Interesting and inspiring, next time I'll use the same approach to learn any new programming languages that I need or want to learn. Thanks for sharing.
@LearnWithHuw6 ай бұрын
Very glad that you found this useful!
@jwlewis777Ай бұрын
Very nice video! Your method explains the exact technique I've used to handle new languages when I attempt to accomplish a new project and or add new functions and methods to an existing project! On a side note: Right off the bat, so far I'm not impressed with D language (First I heard of it) tilde key for concatenating strings? illogical, makes no sense exclamation to get a string value from a variable? illogical, makes no sense I did somewhat like the structure and C# like aspect to it, but for me, if I can't understand what something is doing by looking at it or it doesn't make sense, I wouldn't be using it for very long. (This translates to having to look up very standard expressions, functions or methods to perform basic tasks). One of the biggest issues I have with Python and Javascript. Anyways, thank you very much for your advice and tips on learning a programming language! Very insightful and valuable!!
@LearnWithHuwАй бұрын
Many thanks. The division of opinion on this is quite striking. Some comments say "No, this is all wrong and/or impossible". Others (like you) say, "well, this is exactly how I go about it." Thanks again for the comment. Huw
@ilikerobotsalot3 ай бұрын
Where I think people are getting mixed up here with you need to have experience first for ten plus years or already fluent in so many languages first is that this is how to learn a language. How to program can come from experience or it can come from determination. The choice is yours, if you want to use this method as a new programmer it will come down to how much determination to figure things out, but the same concepts can be followed (there is always the documentation). Once you have one language and basic concepts of programming then it will become a lot easier and you will start to see patterns in the languages you encounter from then on.
@Ambohඅම්බොහ්Ай бұрын
I am just 2 weeks old in programming. I started to design a website. So I have no idea how to start it. Then I learned an HTML bit. Then CSS, Java too. I did not know there was a thing called backend. I searched what the backend is. So I noticed PHP and MSQL. Now I am learning PHP.. I keep going lol. Programming is like playing games.
@matsang20087 ай бұрын
Could you please make a video about how to plan a project and refracting into different classes for de-coupling? That would be so helpful. Most difficult part for me is planning and refracting
@LearnWithHuw7 ай бұрын
That's an interesting idea. I'll give it some thought.
@matsang20086 ай бұрын
@@LearnWithHuw Thank You. I really looking forward
@SinkeviciusArturas3 ай бұрын
thanks for lession🎉
@LearnWithHuw3 ай бұрын
Thank you!
@SomeMrMindism6 ай бұрын
The thing is... all this programming languages are Algol derived. Once you know one, you know all of them. Lisp, Haskell / other SMLs, stack based languages (APL, Forth, etc.) all have radically different programming structure you cannot equate to a C procedure. Case in point: in Haskell, "Hello world" is the *last thing* you program, because you need to understand monad first
@NemiriNabil4 ай бұрын
Good job!
@CelestialVenerableValinor6 ай бұрын
This is the principle that should be taught in college and other youtube tutorials.
@prodbyunyverse3976 ай бұрын
Yea
@GottaHussleАй бұрын
thank you very much Tripple OG Programmer Master I Appreciate You taking time out your life too bless us students with all the sauce
@LearnWithHuwАй бұрын
Thank you!
@youno132 ай бұрын
Thank you very much sir ! I'm actually thinking about studying mechanical engineering next year but I also have huge interests in the software world. Your advice will help me alot sir I appreciate your help and guidance
@LearnWithHuw2 ай бұрын
Good luck! I hope you do well. Best wishes Huw
@zombizombi5 ай бұрын
Try this approach with Rust or Haskell..
@pavelyankouski49135 ай бұрын
I learnt programming from the end, so u need the idea and result, its doesnt matter which language u need, then u just want to disassemble it. Disassembly is process of creation. And assembler language is a bit differnt language. I found that blueprints is just better system of catching everything in your head, there is new systems like "cables gl" or "Unreal Engine 4/5". Text representation definitely more complicated, for mature programmers.
@mi2595bs2 ай бұрын
It's the same that i do lol, i know PHP, C#, C++, Javascript etc - still alot more to learn. But it works very well, and the more languages you learn the easier it gets because there are so many similarities :)
@AliciaMarkoe7 ай бұрын
Thank you 🦋
@jaimeastin5 ай бұрын
I want to call this very way. Not one bit of formal training. Hack my way through what I needed to and just the more you do it then you realize that all languages have the same idea behind it and you just learned a different nuances. Learn the power on one of the other what you like more.
@jJustPlayingNZ6 ай бұрын
I've been programming for 60 years, yes really. I couldn't agree with you more. You even look a bit like I used to look 30 years ago lol
@LearnWithHuw6 ай бұрын
Must be the time travel program I wrote! 🙂 Many thanks for the comment!