This is a question I hear more than most any other. How or where can I learn to code? Well, there are quite a few resources on the internet. At this time, I wouldn’t really recommend using AI to teach you either. It is fine for learning some basic things, but it can still struggle to weave together more complex code specific to certain use cases.
The first question I usually ask is if one has any of the programming foundations and perhaps an idea of what type of coding they want to do. Do they want to be a web developer, a game designer, a data analyst, an application developer, or what?
For web development, I still highly recommend https://www.w3schools.com. It is an absolutely fantastic resource for learning beginner to intermediate web development. While it covers topics even in the advanced range, I personally think one needs to be a fairly experienced programmer with some projects under their belt before they can safely be qualified as comfortable in that arena. On this website, you can learn most all of the tools necessary for both front-end and back-end web development across a variety of languages (HTML, CSS, JavaScript, PHP, JQuery, React, NodeJS, and even some database languages).
For game development, you are looking more at C++ (Unreal can use C, C++, and sometimes C#, but primarily UScript) or C# (Unity scripting) and some derivatives/successors (with Rust gaining some popularity). Some games may even use scripts such as Godot’s GDScript (based on Python). You can learn the C-languages here for free: https://www.learn-c.org/
If you want to do data analysis and data science, I highly recommend languges such as R or Python. Python is dominant and typically more flexible for other applications should you wish to expand, however, some organizations still prefer the use of R due to the products they use for statistical analysis. https://www.learnpython.org/ and https://www.w3schools.com/r/default.asp
Note: notice how the link for R training goes to a page ending in ASP. This uses the ASP.NET framework, which you can also learn on w3schools.
Lastly, don’t forget the importance of SQL in this language! Big data usually requires some knowledge of SQL to effectively do the job.
For business intelligence, which is what I’ve primarily worked in lately, SQL is the dominant language along with Python, plus languages such as DAX and M for PowerBI, Qlik Script for the Qlik platform, MDX, VBA (Visual Basic for Applications), and perhaps others. To start, you certainly should ensure a strong foundation in SQL and getting familiar with the various tools you may use. Don’t forget the value of Excel (this same advice is good for data analysts or even data scientists)!
For general application development, if you may need to learn the .NET framework for Windows, Java, C-derivatives (primarily C++ and C#), and even some of the languages mentioned before (such as PHP, JavaScript, and some of the basics of SQL for writing and reading data from databases). https://www.learnjavaonline.org/
For mobile application development, you will benefit highly from learning Swift for the Apple ecosystem and Java, Kotlin, C++, or C#, to name the most popular, for the Android ecosystem. Swift can be learned directly from Apple, though I do prefer some traditionally paid training options (such as through Codecademy instead–though thankfully a Swift course is free).
Swift from Apple: https://developer.apple.com/swift/resources/
Swift from Codecademy: https://www.codecademy.com/learn/learn-swift
I have never developed with Kotlin, but it has a large collection of official documentation and helpful resources located here: https://kotlinlang.org/docs/getting-started.html
For “metal-level” hardware work or operating system development, you are highly suggested to learn C and even some Assembly (though it typically makes up some of the least amount of code these days, if I recall correctly). I haven’t worked with Assembly much at all, but a decent resource is likely YouTube or this website: https://www.tutorialspoint.com/assembly_programming/index.htm
If you are just starting out, just remember that having a general understanding of how programming logic works is essential for grasping any language. Once you understand the theory of programming logic, things can start to become easier to pick up. The following is a great explanation and introduction to programming logic: https://dev.to/abbeymaniak/introduction-to-programming-logic-understanding-the-basics-of-coding-64a
The fun doesn’t stop there… there are so many languages out there and I just scratched the surface. MATLAB, F#, Ruby, Perl, et cetera.
Make sure to round out your knowledge with actual mentoring and projects. For a lot of this to be successful, while what I’ve provided thus far is very helpful, I strongly suggest considering Coursera once you’ve landed on a language or perhaps two that you are most interested in–and especially if you’ve at least landed in a general programming arena. I took a game development course there and it was one of the most fulfilling courses I’ve ever taken and was incredibly fun!
College-level instruction (albeit much more affordable) here: https://www.coursera.org/


Leave a comment