Tech Stack: Difference between revisions

From Wiki
(Add some more tools)
(Updated for August 2022. Learnt Golang but not going to add.)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page documents my choice of tech stack to build various kinds of applications.  
This page documents my choice of tech stack to build various kinds of applications. Only things relevant to me are documented. This doesn't cover the list of all the technologies I can use or have used. There are some languages, frameworks and tools that I don't want to use anymore.  


Of course, the choice would change from time to time. Perhaps, a tech radar is a better format for this, but it might be overkill just to document my preferences.
Of course, the choice will change from time to time. Perhaps, a tech radar is a better format for this, but it might be overkill just to document my preferences.


I'm only documenting things that are relevant to me.  
Ignoring environments where there's not much of a choice of programming language, like web browsers and mobile operating systems.
 
* I see no point listing HTML, CSS, SQL, JavaScript, Kotlin and Swift.
* It's worth mentioning that I prefer Kotlin over Java and Swift over Objective C.
* I have no intention of learning TypeScript.
* I don't usually go low-level enough to use Rust. Nim compiled to C is adequate for my performance needs.


Also, ignoring environments where there's not much of a choice of programming language, like web browsers and mobile operating systems.
{| class="wikitable sortable"
{| class="wikitable sortable"
|+December 2021
|+August 2022 (last updated)
!Purpose
!Purpose
!Tech Stack / Tool
!Tech Stack / Tool
Line 50: Line 54:
|Source forge
|Source forge
|GitLab
|GitLab
|mostly for the built-in CI/CD system
|mostly for the built-in CI/CD system. See [[Free Software/Hosting]]
|-
|-
|VCS (bazaar)
|VCS (bazaar)
Line 60: Line 64:
|
|
|-
|-
|Terminal
|Shell
|byobu
|nushell
|ignore the underlying terminal and just use byobu
|I don't see the need for a terminal multiplexer anymore.
|}
|}
[[ Category:SoftwareDevelopment ]]

Latest revision as of 06:49, 16 August 2022

This page documents my choice of tech stack to build various kinds of applications. Only things relevant to me are documented. This doesn't cover the list of all the technologies I can use or have used. There are some languages, frameworks and tools that I don't want to use anymore.

Of course, the choice will change from time to time. Perhaps, a tech radar is a better format for this, but it might be overkill just to document my preferences.

Ignoring environments where there's not much of a choice of programming language, like web browsers and mobile operating systems.

  • I see no point listing HTML, CSS, SQL, JavaScript, Kotlin and Swift.
  • It's worth mentioning that I prefer Kotlin over Java and Swift over Objective C.
  • I have no intention of learning TypeScript.
  • I don't usually go low-level enough to use Rust. Nim compiled to C is adequate for my performance needs.
August 2022 (last updated)
Purpose Tech Stack / Tool Comments
Web applications Elixir on Phoenix barely used. Only makes sense if building multi-node actor systems
Scripting language Babashka (Clojure-like) in heavy use for simple scripts used everyday
Number crunching Nim language didn't really use for compute intensive tasks yet
Desktop applications JetBrains Compose didn't even try yet
Simple web server Python FastAPI just for the asyncIO. Make sure to use it with an ASGI server.
Database SQLite try using it as much as possible, PostgreSQL otherwise
Cron jobs systemd timers using on servers mostly
Editor/IDE Doom Emacs in heavy use as a daily driver
Operating System Debian in heavy use for servers
Source forge GitLab mostly for the built-in CI/CD system. See Free Software/Hosting
VCS (bazaar) git
VCS (cathedral) fossil
Shell nushell I don't see the need for a terminal multiplexer anymore.