Programming languages
“Any nitwit can understand computers. Many do.” — Ted Nelson
Table of contents
Ruby
Version managers
Java
Which Version of JDK Should I Use?
Avoid | Why |
---|---|
| Oracle JDK is no longer free for commercial use while OpenJDK update roadmap lags behind other flavors. |
Consider | Why |
| Bellsoft and Zulu provide OpenJFX binaries for JavaFX developers. However, CI/CD pipelines do not usually support these flavors. |
Prefer | Why |
| Maintained by Eclipse Foundation with timely updates, LTS releases and free for commercial use. |
Project managers
Avoid | Why |
---|---|
| Maven project is configured with XML files which are statically typed. |
Prefer | Why |
| Gradle has usable built-in plugins out of the box. |
Version managers
In a Gradle project, the modern solution to lock specific Java versions is by using the Toolchains.
Avoid | Why |
---|---|
| SDKMAN! is a universal version manager that supports multiple languages not limited to Java. |
Prefer | Why |
| Specific Java switcher command for Arch Linux. |
JavaScript
Package managers
Consider | Why |
---|---|
| PNPM and Yarn perform better but are not as widely adopted as NPM. |
Prefer | Why |
| NPM is installed by default in many Linux distributions. |
Python
Avoid | Why |
---|---|
| Anaconda allows users to install packages with dependencies but comes with a lot of unnecessary applications and not free for commercial use. |
Prefer | Why |
| Use the official Python distribution with PIP to install packages. |