A developer without an understanding of their environment is a carpenter without the knowledge of his workshop.
Some things you should know before coding are:
- PATH: What is it, how is it used, and how to modify it
- Linux: how to make a file executable
- Terminal: how to launch one on your OS with only your keyboard
After learning Python, learn the difference between set, dict, list
and learn about generators
in Python
Lastly in Python, learn about the argparse
module and create a sample terminal app with support for boolean flags and --flag arg
Database: PostgreSQL, use a managed PostgreSQL in production. Reason being no bullshit.
Backend: ASP.NET Core. Reason being no/less headaches
Install Visual Studio (C#, ASP.NET, WinUI, and C++)Frontend: either ASP.NET Core's Razor pages (HTML + C#) or whatever web framework you want such as React
When creating ASP.NET app, select Web App template if you want to use Razor pages or Web API for SPAs
Need to learn basic SQL while working on a project
Project idea: SSR blogging website with database schema upgrades and production deployments
Twitter meta tags
Responsive Web Design The Checkbox Hack React (JSX): A JavaScript framework for creating complex UIsIf the desktop app only requires simple system API calls such as storage, then use Tauri
My Tauri & React TemplateWhen utilizing system APIs per operating system, I would suggest learning the native technology (Windows - WinUI, macOS - SwiftUI/Appkit, KDE - Qt)
Qt (warning: C++) In a rush and know Python? Use PySimpleGUIDon't use react-native, use Kotlin Jetpack Compose for Android and SwiftUI for iOS
You will need Android Studio and if targeting iOS you will also need a Macbook to install XCode
Although no great tutorials exist that I know of, C & C++ is essential to this day
Visual Studio: Windows C++ IDE and Compiler Clang: C & C++ Compiler GCC compiler for Windows Make for Windows GNU Core Utils for WindowsAn IDE stands for Integrated Development Environment (Code Editor), not relevant to know this though
Visual Studio Code: Multi-Purpose IDE Visual Studio (C#, ASP.NET, WinUI, and C++) IntelliJ: Multi-Purpose IDE IntelliJ Python Plugin IntelliJ Atom OneDark Theme Windows Terminal