Best resources to learn programming?

My friend wants to learn to code, and I want to help him however I can, but it’s been a while since I’ve used tutorials geared towards complete beginners, and I’m not really aware of what’s out there anymore – can you point me to some solid resources? Paid or free, doesn’t matter. I’m just trying to find the best resources available. Where would you start as a complete beginner?

He’s very familiar with computers as a power user, but doesn’t know anything about writing code, if that helps. I should also mention that I told him if he should learn one thing, it’s Javascript (I know, it’s not the most elegant language, but it’s the language of the web and it will be necessary). I’m thinking he should learn Python as well, as it’s super-friendly to beginners and powerful enough to do cool things.

Thanks in advance!

3 Likes

He should start with Javascript. I have some data - will prepare/format and publish it there. When he’ll learn the basics - I can teach him on practical tasks that i’m doing in my "Coding school" project diary

3 Likes

Thanks Arthur! So what I’m really looking for is a resource that will teach him the basics when I’m not around. Once he learns those, the sky’s the limit. I can spend one day a week teaching him the basics myself, but he needs some good online resources or books that will help him learn during the rest of the week.

Do you know of any good resources for complete beginners? Ideally, something that teaches the concepts of variables, loops, conditionals, etc…like I said, he’s a total newbie when it comes to writing code.

quick reply:

5 Likes


Two decent resources.

5 Likes

Still un-processed, but can help: https://github.com/ChickenKyiv/awesome-dev-stuff/blob/master/docs/courses.md

1 Like

Great recommendation. Codecademy will give really good focus. They should certainly combine with the many tutorials available on youtube (however pick wisely)

2 Likes

me learning only when my hands durty. so reading/watching youtube not work for me. I can do reading/youtube when i’m lazy or scared to start but I remembering things only when I did it 5 times myself.


So, when first time I setup my local Zend Framework env - i broke my Ubunty 5 times.


I use git - because i’m scared to lose some of my work - this habit was essential when my team code few WordPress websites simaltaneusly - and with WP - you can only track everything and pray to Gods.


So for me - I think all courses are the same. But Treehouse I like.
And for coding - only “ass hours” working.

1 Like

JavaScript is the best language according to me, as it has a lot of scope and it is not going to degrade or hide in near future. If one is able to learn JavaScript fundamentals then it can become easy for them to learn all the frameworks available in the market of JavaScript. I am listing some resources where one can start learning JavaScript
-> https://javascript.info/
-> https://developer.mozilla.org/en-US/docs/Web/JavaScript

3 Likes

1 Like

Hah, “speed” is a good one. Really, Python itself is slow compared to C++, but you can always use the FFI (foreign function interface) with native C code to make things just as fast. Unless you’re working on real-time applications, games, simulations, etc. I don’t see any reason to use C++ over Python.

2 Likes

I prefer code academy for beginner tutorials, all online, and free. Can test you code as well with help provided. Multiple languages supported.

I’ve many languages under my belt, the best advice I can give is after you have worked through a tutorial, start coding. Find a simple project and go from there. Other good resources, there are w3schools for language syntax and stackoverflow for help.

For languages, I used C/C++ for a long time, perl, php (LAMP stack), a little java and many other languages. My current favorite is Python 3. Like javascript, really gaining in popularity. Now one of the top languages. Has very simple syntax and a lot of very cool shortcuts. Many suggest Java but I feel to heavy on objects for a beginner. Python also a general purpose language, not only for data science as some believe.

The easiest way to start is download and install Anaconda. Has many modules not found in the stock install. Don’t need to spend as much time trying to learn pip to install something not in the base package. Also, Anaconda has a great integrated development environment included called Spyder. Much better than the base Idle editor. Sure, you can pip to install Spyder but Anaconda makes it easy.

To take the next step, can subscribe to a number of online courses like Udemy. List price is high, they have a lot of sales < $10, and coupons. Some free content as well. Everything from beginners to advanced to special topics like data science, AI and parallel programming. Udemy is just one example, others as well.

3 Likes

Depends on what you are doing. If you have an application that doesn’t require speed, Python is quick and easy to use. I do a lot if rest calls, manipulate json and push back up to a site like Akamai. The entire process to move a traffic endpoint is < 15 seconds.

If you need speed for number crunching, video, etc nothing beats C or C++. However, a pointer issue can cause days of troubleshooting to track down what is stomping on memory and crashing your program. For languages like Python, for compute heavy applications like Deep Learning and image processing, there are cross platform C++ extensions as well. Years ago, could do similar with Machine language extensions in C.

Other great thing about a compiled language is to hide sensitive source code in binary. Sure can still be disassembled unless encrypted but better than having text files accessible.

(teaser: JS)

1 Like

I started my coding life from Google and CodeProject. You will find some helpful and great sample codes or projects for beginners.

1 Like

i put all things at one post: "Coding school" project diary

why to pick js as main language

full report: https://alist.co/report

For starters, Python is the way to go. Schools are teaching Python. it is high-level programming learning, where you can spend time on building data structure and writing algorithms. Instead of figuring out and getting basic things to work.