Programming Languages
Learn to code in the language that fits your goals: Python, JavaScript, Java, C#, Go, Rust, C++ and more, with free, step-by-step roadmaps from your first program to real projects.
About Programming Languages
A programming language is how you give instructions to a computer. Different languages are designed for different jobs: Python for automation, data and AI, JavaScript and TypeScript for the web, Java and C# for enterprise software, and Go for fast backend services.
Lower-level languages such as C, C++ and Rust give you control over memory and performance, and they power operating systems, games and embedded systems. Languages like Ruby and Scala focus on developer productivity and expressive code.
Whatever you pick, the core ideas are the same: variables, functions, data structures and control flow. Learn one language well and the next is much easier. The roadmaps below cover individual languages as skills and developer roles as domains, so you can go deep on a language or follow a full career path.
Where to start
A suggested order if you are new to programming. Each step builds on the one before.
Domains
Role roadmaps for developers who work mainly in one language.
Skills
Language roadmaps you can learn on their own or alongside a domain.
Python
Programming, automation, AI, web development, scripting, and data science.
View map
JavaScript
The language of the web—DOM, ES6+, APIs, async programming, and frameworks.
View map
TypeScript
Add static typing to JavaScript for safer, more maintainable code.
View map
Java
Enterprise development, Spring Boot, APIs, backend systems, and Android foundations.
View map
C#
Build desktop, web, and game applications with C# and .NET.
View map
Go
Build fast, concurrent backend services and tools with Go.
View map
Rust
Systems programming with memory safety, performance, and zero-cost abstractions.
View map
C
Low-level programming, memory management, and the foundations of computer science.
View map
C++
Systems programming, game development, performance optimisation, and OOP.
View map
Ruby
Learn Ruby and Rails for elegant, productive web development.
View map
Scala
Functional and object-oriented programming on the JVM with Scala.
View map