As a developer, setting up a brand new computer from scratch can be quite an enduring process as the tools that we use might have complicated setups and various dependencies that might have already been forgotten over the years. With the great assortment of essential tools, it is impossible to remember the setups for each and every one of them.
In this article, I will be outlining the ideal steps for me to setting up my new computer for the software and development tools from the ground up. This, of course, includes software applications for other non-programming purposes.
Software Application
Application such as IDEs, code editors and design tools are covered in this section. Moreover, my preferred internet browser and utility software will be outlined here as well.
IDEs
The essential development environment for various kinds of projects that I am/will be using all of the time.
IDE | Programming Language |
---|---|
Visual Studio 2019 | C#, F#, VB |
Code Blocks | C, C++, Fortran |
Eclipse | Java |
PyCharm Community | Python |
IntelliJ IDEA | Java |
Android Studio | Java, Kotlin |
Unity | C# |
RStudio | R |
Unreal Engine | C++ |
Swift | Swift, Objective-C, C, C++ |
Code Editors
Code editors are similar to IDEs, but with little or no support to advanced features such as refactoring, debugging etc.
Tools
The software that aids in the development of projects, predominantly in software design, requirements gathering, analysis, security and note-taking to build tools and virtual machines just to name a few.
- Figma
- draw.io
- Wireshark
- Obsidian
- Notion
- VMWare
- Git Bash
- GitHub Desktop
- Oracle Virtualbox
- Enterprise Architect
- Postman
- TeamViewer
- Mendeley Desktop
- GeoGebra
- Anaconda
- Typora
- Adobe Illustrator
- Adobe Photoshop
- Blender
- Lightshot
- ffmpeg
- emscripten
- Github Desktop
- Azure Service Bus Explorer
- Azure Storage Explorer
VMs and Emulators
The virtual machine images that would be used for different development environment that would be exhilirating. Android Emulator are used for gaming though.
Cloud Storage
Cloud storage has been becoming a vital tool for me to keep my digital assets online and helped to conserve some space in my local machine. I have been using them extensively when I am in university to keep my assignments and lecture notes for easier accessibility.
Personal
Application that is meant for entertainment purpose, non-work related.
Browsers
My personal favourite internet browsers for surfing the internet.
Game
Core
Everything involving core of development, such as programming language compilers/intepreters and command line tools for package management and scaffolding.
Programming Language
Language | Runtime/Compiler | via Command |
---|---|---|
JavaScript | Node.js | - |
TypeScript | Deno | npm i -g typescript |
Go | Go compiler | - |
Rust | Rustup | - |
Python | Python interpreter | - |
Julia | Julia compiler | - |
D | D compiler | - |
C/C++ | GNU GCC Compiler | - |
Java | Java compiler | - |
Haskell | Haskell compiler | - |
Elm | Elm compiler | - |
Scala | Scala compiler | - |
Perl | Perl interpreter | - |
PHP | PHP interpreter | - |
Raku | Raku interpreter | - |
R | R interpreter | - |
Lua | Lua interpreter | - |
Elixir | Elixir interpreter | - |
Erlang | Erlang compiler | - |
PureScript | PureScript transpiler | npm install -g purescript |
Swift | Swift compiler | - |
Ruby | Ruby interpreter | - |
.NET (C#, F#, VB) | .NET runtime | - |
Command Line
Type | Technology | via Command |
---|---|---|
Framework/Runtime | Dotnet | - |
Framework | Angular | npm i -g @angular/cli |
Framework | Vue | npm i -g @vue/cli |
Utility | Jupyter Notebook | pip install notebook |
Package manager | Composer | - |
Package manager | Pnpm | npm install -g pnpm |
Package manager | Chocolatey | - |
Package manager | Yarn | npm install -g yarn |
Version manager | Nvm | - |
Framework | Nestjs | npm i -g @nestjs/cli |
Framework | Sailsjs | npm install sails -g |
Framework | React Native | - |
Utility | Expo | npm i -g expo-cli |
Package manager | pipenv | pip install pipenv |
Driver | Chrome Driver | - |
Database
Local database for data persistence for development projects.
Firefox Extensions
Selected developer tools extension for Firefox browser.