Welcome To HB CodeLink
This self study website will guide you to learning programming in line with the HB CodeLink curriculum.
Programming Languages
The 2 officially used languages are Python and JavaScript. We will be mostly using Python in this tutorial. Here is a list of other programming languages you might want to use.
C++
Benefits: Fast, Widely Used, Great for desktop and game development Drawbacks: Much higher learning curve then other languages Download: https://isocpp.org/
Java
Benefits: Great for OOP, Good for Desktop and Mobile development, Amazing Job Market Drawbacks: Very verbose and slower than other languages Download: https://java.com
Python
Benefits: Easy to learn, Widely used, Great for AI and Machine Learning Drawbacks: Extremely slow, no strict types
JavaScript/TypeScript
Benefits: Easy to learn, Widely used, can be used to make any applications Drawbacks: Very slow, need TypeScript for error checking Download: https://nodejs.org
Rust
Benefits: Extremely Fast, Great type checking, Modern, Great for any desktop or Server side app, Endorsed by Sachkeerat Drawbacks: Not a fully mature language and reduced job market
Download: https://www.rust-lang.org/
Go
Benefits: Quite fast, Great developer experience, great for server applications, backed by Google Drawbacks: Not as much support, while being slower than rust
Download: https://go.dev/
Swift
Benefits: Easy to learn, Great developer experience, Amazing for iOS apps, made by Apple Drawbacks: You need a Mac to develop Swift apps, Only used for iOS and macOS
Download: https://www.swift.org/
C
Benefits: Trusted for 40 years, Blazing fast, Used by many companies, great for OS and making your own language Drawbacks: Extremely Old, Poor memory management and high learning curve
Download: https://gcc.gnu.org/ or https://clang.llvm.org/
Resources
These resources are NOT language specific, but are still great
W3 Schools
Geeks For Geeks
The Odin Project
Programming With Mosh
Bro Code
FreeCodeCamp
LeetCode
HackerRank
MDN Web Docs
Microsoft Learn
Jet Brains Academy
IDEs/Editors
These IDEs will be ranked by learning curve, price, features and community support. We highly recommend VSCode or JetBrains (Make sure to apply a student).
VS Code
Learning Curve (5/10) Features (8/10) Price ($0) Community Support (10/10)
JetBrains IDE
Learning Curve (7/10) Features (10/10) Price ($0 for Students) ($800 per year otherwise) Community Support (9/10)
Links: https://www.jetbrains.com/
Free student plan: https://www.jetbrains.com/community/education/#students
Click Apply and click University Email address. Make sure to USE YOUR PDSB EMAIL FOR SIGNUP
Vim/NeoVim
Learning Curve (10/10) Features (7/10) Price ($0) Community Support (8/10)
Link: https://neovim.io/
Notepad ++
Learning Curve (2/10) Features (5/10) Price ($0) Community Support (4/10)
Link: https://notepad-plus-plus.org/
Zed
Learning Curve (4/10) Features (7/10) Price ($0) Community Support (4/10)
Link https://zed.dev/
Visual Studio
Learning Curve (8/10) Features (10/10) Price ($0) Community Support (9/10)
XCode
Learning Curve (8/10) Features (8/10) (Only iOS/macOS apps) Price ($0) Community Support (6/10)
Eclipse (No)
Learning Curve (7/10 but why would you learn Eclipse?) Features (0/10) Price ($0 but why) Community Support (0/10)