This is an experiment to try setting up basic technical requirements with different languages.
I want to reflect on the different difficulties i faced, and deliberately run into issues
I want to try:
- installing a certain version of the language, does it need a virtual env like python?
- installing a library, it there a package manager
- versioning dependencies
- setting up a logger, and then trying to setup a json structured logger
- importing code from another file, or module
- doing a http request
- parsing json to a domain object
- write a test
- setup a lint, or formatter
- deploying it to a server
This is focused more on the programmer experience just as much as the language. So i think more modern languages will have a better programmer experience such as rust, and golang. I think node, and older languages like python, and maybe c and c++ will be bad.
Languages I want to look at:
- python
- node, TypeScript
- rust
- go
- java
- kotlin
- elixir
- c
- c++
- zig
- julia
- ruby
- scala
- swift
- php
- shell
- c#
- Dart
- bun
- deno
- perl
- Ocaml