How To Learn Any Programming Language

How To Learn Any Programming Language



Views:102835|Rating:4.90|View Time:15:1Minutes|Likes:1899|Dislikes:40
Facebook Page:
Community:
Book:
Home:
Twitter:
Email: [email protected]

hey what's going on guys this week's video is going to be a screencast so hopefully you can get into a little more details because it can be a little longer than the regular videos last time we did a screencast those about how to become a programmer so I thought this week would be pretty cool if we talked about how to learn a programming language and this we can get a little more detailed with how to learn a language because we can actually go through a few step-by-step things of exactly what you really need to know to get you know pretty familiar with any language so let's just title this how to learn programming language and I'll try to make sure to copy and share these notes last time I lost them so I couldn't post them anywhere but this time I'll save them and just put it in the description so I think the steps that I compiled here should be pretty helpful or hopefully helpful to any language or any popular language obviously every language is different it has their own like little caveats and differences in complexities but the steps we'll go through here are some pretty general steps of what we can do to just familiarize ourselves with almost any language so let's just get started okay first thing is pretty basic is learn the language basics and what do we mean by language basics this is going to be like variable types operators basic input and output how to prompt someone to do something and how to print it out back how to print something this is pretty common every language is going to want to print something on standard out we're going to this is also basic program structure how are the file structure basic things to the language like extensions these are all really basic things you'll probably learn this like the first week you dive into any language so this is just number one I'm just going to list ABCDE it's pretty simple here but learn the language basics just so you can get around alright let's go to step two okay step two is going to be learning about basic data structures or containers to use and these are going to be pretty similar across every single language let's just list them out dictionary set list array and that's about it I think you know we can get a little crazy here but I would say almost eighty ninety percent of the things you need to do on a daily basis for most use cases these four things are going to get it done so if you don't know what these are let's just do a basic rundown dictionary is enabling you to do pretty fast look ups using unique keys just fast lookup storing of any data structure so set is a convenient data structure to ensure uniqueness for like a group of objects if you want to make sure there's no duplicates list if you have a dynamic list of things that changes in size so if you guys seeing things like lists you can add it to the front add something to the back add something in the middle so it's like a very dynamic changing type of container a race I hope everyone knows about arrays these are kind of when you know the size of something they're very fast to index they are usually continuous in memory so they have that's the basic about array so anyways these all have their special purposes but any language will have various implementations to get these things done and it's almost all you need pretty much like for a day-to-day stuff these four will get get you by alright so let's just move on to number three and sorry let's review number two learn the basic containers how the language provides them and how to use them so that's about it third point I'm going to make is learning about basic file input/output I'm just going to abbreviate IO so this is really the basics of interacting with any files and files are everywhere it's pretty much how we persist data and they're very pervasive you know if we didn't have files everything would have to exist in memory right which is pretty much impossible because that's very limited so this is going to be how to read a file in how to write a file out and there's going to be a crazy mileage for this basic concept you know and what I mean by mileage I mean like you can get really really simple with file output sorry with file i/o and you can get really really complicated with file i/o so this goes from simple reading of a text file to databases so if you just think about a file either file i/o you could just read in a really simple text file of numbers to do your homework or you could really be interacting with a really advanced database like post grass or MongoDB right like what exactly is a database so a database it's nothing it's nothing more than just a really really complicated file that you're reading and writing to and having connections open with so when you think about it if they're definitely really really complicated beasts but if you look under the hood of a database all it is is really just a file and you're just interacting with it in a really you know performance optimized and complicated way so I mean I don't want to take anything away from these things but in the end all this stuff is rooted in basic file file i/o so this is the other basic and third thing that you must understand when you're using any language so that's step three let's go on to step four okay step four for learning any language is you have to learn some basic networking using the language and this is another super common thing almost 100 percent of the time you're going to have to do some basic networking no matter what language you're using so let's just write down a couple key points of basic networking making basic HTTP requests is almost a prerequisite learn how to get posed delete etc requests overall you'll have is really good to understand how this works understand what this protocol means but there will be libraries to help you get this thing done and just learn the basics of how to do this how to set your quests properly how to handle responses so networking is so pervasive right now you know if you're not using the internet you are if you're watching this video you're using the internet so it's just a silly question and you have to know how this stuff works and this is probably the most basic way of learning basic networking with any language and I would say almost any modern language has this stuff almost built-in so you're going to come across a sooner rather than later if you want to take this a step further you can also learn some basic socket programming with your language and if you learn some basic soccer programming this is taking HTTP HTTP one step further because as you know this protocol is built on sockets and if you learn basic soccer programming how to connect listen bind on a socket that will just be even better it will give you a deeper understanding of how this works so basic networking I would say at the very least you learn how to do this part part a if you want to take it to the next level you can learn part B – but overall I also want to say that there are libraries out there to help you do this so don't try to reinvent the wheel here all these things basic networking it's done tested and highly used by so many people there are many libraries out there to let you do that alright so that's that's just step for learning some basic networking and you have to do this for any language that you're picking up alright let's go to step five all right we're on step five I don't even know how many this is pretty impromptu so I'm just going with the flow but I think step five for this is how to build your project and language so every language is going to be very different you'll be using a compiled implementation of a language or perhaps it's interpreted but overall whatever you're using you need to kind of learn the project structure and how to just organize everything so let me just give an example of what I really mean by this so let's say you're using C++ as your language okay so you'll have to learn how to build static libraries share libraries how to link your applications properly all this stuff goes into the realm of C++ if you're a C++ developer you'll know this means but what this means generally is that whatever you're using you have to learn how to build it and actually make sure your code is used so C++ will be building various libraries static or shared you'll be building various executables from application executables to testing executables and it all has to be done properly so let's just take another example if you're Python developer you'll have to figure out like how to separate out your module as well so if you're a Python developer you know some modules are distinct in that they're more execution style versus import style so if you define a few important classes and these modules how exactly do you import them and reuse them in other files if your module is more of an execution thing and it just has to be run when you want it to be run how do you structure that kind of module and how does this all play into this this all fit into sorry guys so like developing a Python project obviously is super different from developing a C++ project long story short is that whatever language you're using you need to know you know house all organized house all working just so your code can execute right so there's going to be different things per language and you have to be responsible you'll pick up obviously just how to do this and it's another basic prerequisite all right so let's just move on okay skating pretty long but we're all on to step 6 alright let's say step 6 for learning a language is we have to learn oo or functional programming paradigm tools so what do I mean by this so as you know object-oriented / functional programming are probably the two most popular programming paradigms there's probably more but we don't have time to go into it but to get any of these things done you have to learn the tools or the constructs of what makes this possible so 400 you need to learn how to use classes how to use inheritance how to use polymorphism like these words should sound familiar to you if you've learned about object-oriented programming but obviously if you don't know how to use a class in your language you're not be able to do anything object-oriented so it's just basics there right so similarly if you're using functional stuff you'll have to learn how your language uses blocks or lambdas how function pointers or callbacks work so if the language you're using is highly functional there's going to be a lot of constructs like passing and functions or various blocks to various things and each language will have subtleties of how this works so if you're doing very functional things this is going to be a prerequisite for you so either way whatever whatever programming paradigm you choose to use obviously you have to learn the tools to get it done so that's step 6 all right guys I'm kind of running out of time actually I just realized that these videos are capped at 15 minutes which I'll fix for next time but this is going to be my last point and point number seven for learning a programming language is learning the extra goodies in any language and what I mean by extra goodies is obviously every language Python people think they're the best Ruby language developers think they're the best but every language has its own bag of tricks or goodies that you can use to make it better so at this point if you learn one through six very well you can come back to here and learn the subtleties and nice things nice stuff of a new language so this is all going to be very different and some of you may like the goodies in one language but not the others let me just give you an example before we stop here like Ruby itself if you guys are a ruby developer you know that they have a lot of cool methods on enumerable types which makes some very common programming techniques extremely extremely convenient I've been using Ruby a lot recently and they have so many cool methods on the numerals enumerable types that it just makes some stuff really simple so that's just an example of one of the goodies and every language comes with their own set of them so that's my final step and if you've done one through six very well you can move on to seven alright guys if you're still watching at this point I have 30 seconds left in this video so I'm just going to conclude it here what I'm going to do is I'll take the notes and I'll just put them in the description so you can review them now but I don't have time to do a full summary of the video let me just recap what this video is about if you were to learn any language or pick up any new language these would be seven basic things that you have to understand so I hope this would be a good guide to anyone learning a new language and I hope it's general enough to help anyone so that's about it

33 Replies to “How To Learn Any Programming Language”

  1. Brad Tway

    What do you mean by keys in the dictionary portion? I have not really done any programming before and am slightly confused.

  2. Kola Aderinto

    God bless you for providing this road map. Many people want to learn how to program but they can't and may never be able to do so, not only because they lack the motivation and perseverance, but simply because they dont know what to learn and when to learn it.

  3. Edney Helenedossantos

    Well this is practically impossible… ..ive been trying for so long, and its not for me, im amazing at infrastructure but at programming i suck

  4. Qloud qloud

    just stumbled across this, currently learning python and C#, your tips helped me orient my compass, thank you so much.

  5. David Cantin

    Nice video man, the constant clicking and moving the mouse for no reason is killing me though lol. Not good for ADHD lol.

  6. Isaac

    Nice list. I liked that you included Databases and Networking. Some stuff I came across that struck me as "universal" topics/concepts that are often used:
    1. String IO/Manipulation (know the language's "string" class well)
    2. Regular expressions & regex syntax, globbing (useful to know for scripting tasks)
    3. How to work with dates/time (know how the language represents date/time, e.g., Python's datetime module)
    4. Argument Parsing (for command-line applications)
    5. Unit Testing/Testing Framework (moving beyond simply invoking your functions to test it)
    6. Generating log files (best learned in the context of Python and C#/.NET)
    7. File-system manipulation (how to programmatically move around e.g., Python's OS module)
    8. Syntax for multidimensional arrays
    9. Design patterns for the kind of software you're writing

  7. Crystal

    Exactly what I was looking for. I'm actually studying Kotlin. And I'm doing well with the code thus far, but Idk what it all means or how to apply it. So, I'm trying to pick up programming basics, structure, concepts, etc. I think it would help me more with my "courses." I'm teaching myself, so I have to figure it all out on my own with the help of YT, SkillShare, and Udemy. Very good video for a complete newbie like me. Lol I think my head is spinning, but I love a challenge. This might be the most challenging thing I've taught myself so far! I have no programming or java experience. I'm relying on the Force and a lot of coffee and videos😂

  8. peethx

    Great videos, but anyway what do you think about frameworks? I realized frameworks hide lots of things of languages and adds lots of stuffs in the same time. Sometimes I feel I have to learn a "new language" when I pick up a new framework.

  9. Weerapong Vadsoongnern

    Have got to say I'm really enjoy watching video mate. You've explained things very clearly and most importantly fascinating and interesting.
    I am just a beginner of learning the algorithm and any things in basic.
    I had no professional computer skills whatsoever but I am really interested to learn all these processes.
    Well keep up the good work! I'm pretty sure sooner or later success will be gradually arrived onto your palms.

  10. David Servias

    I love your videos. Could you tell me what software are you using to make screen cast Screencast videos with your talking head in the corner?

  11. waheeda aman

    Hi guys am looking for software (language software) like translation language to language examples Chinese to English.

Leave a Reply

Your email address will not be published. Required fields are marked *