Notes
My approach for setting up a new PC
Quick list of software and tools that will be installed in my new development environment

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.

IDEProgramming Language
Visual Studio 2019C#, F#, VB
Code BlocksC, C++, Fortran
EclipseJava
PyCharm CommunityPython
IntelliJ IDEAJava
Android StudioJava, Kotlin
UnityC#
RStudioR
Unreal EngineC++
SwiftSwift, 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.

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

LanguageRuntime/Compilervia Command
JavaScriptNode.js-
TypeScriptDenonpm i -g typescript
GoGo compiler-
RustRustup-
PythonPython interpreter-
JuliaJulia compiler-
DD compiler-
C/C++GNU GCC Compiler-
JavaJava compiler-
HaskellHaskell compiler-
ElmElm compiler-
ScalaScala compiler-
PerlPerl interpreter-
PHPPHP interpreter-
RakuRaku interpreter-
RR interpreter-
LuaLua interpreter-
ElixirElixir interpreter-
ErlangErlang compiler-
PureScriptPureScript transpilernpm install -g purescript
SwiftSwift compiler-
RubyRuby interpreter-
.NET (C#, F#, VB).NET runtime-

Command Line

TypeTechnologyvia Command
Framework/RuntimeDotnet-
FrameworkAngularnpm i -g @angular/cli
FrameworkVuenpm i -g @vue/cli
UtilityJupyter Notebookpip install notebook
Package managerComposer-
Package managerPnpmnpm install -g pnpm
Package managerChocolatey-
Package managerYarnnpm install -g yarn
Version managerNvm-
FrameworkNestjsnpm i -g @nestjs/cli
FrameworkSailsjsnpm install sails -g
FrameworkReact Native-
UtilityExponpm i -g expo-cli
Package managerpipenvpip install pipenv
DriverChrome Driver-

Database

Local database for data persistence for development projects.

Firefox Extensions

Selected developer tools extension for Firefox browser.