Tech Stack: Difference between revisions
From Wiki
(Add a few more) |
(Updated for August 2022. Learnt Golang but not going to add.) |
||
(5 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 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. | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|+ | |+August 2022 (last updated) | ||
!Purpose | !Purpose | ||
!Tech Stack / Tool | !Tech Stack / Tool | ||
Line 23: | Line 31: | ||
|JetBrains Compose | |JetBrains Compose | ||
|didn't even try yet | |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 | |Cron jobs | ||
Line 36: | Line 52: | ||
|in heavy use for servers | |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. | ||
|} | |} | ||
[[ 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.
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. |