Tools
Here is the (non exhaustive) list of the languages, libraries, applications and tools I used in the last few years.
Eclipse modeling ecosystem
- EMF (Eclipse Modeling Framework):
building tools and applications based on a structured data model, this is the core of the modeling ecosystem - Xtext:
framework for developing domain-specific languages - Xtend:
general-purpose language based on Java, best practice for code generation using the template expressions - EMF Parsley:
UI components (trees, tables, forms, views, editors) - Sirius:
to develop a graphical modeling tool easily - Graphiti:
a graphical tooling services and functions based on EMF and GEF - VIATRA:
model query and transformation infrastructure
Utilities
- Jenkins:
automation server with many plugins - Nexus:
repository for maven/gradle artifacts - SonarLint:
IDE extension to ensure code quality and security - EclEmma:
Java code coverage tool for Eclipse - Graphviz:
graph visualization software (it’s amazing!) - Wireshark:
network protocol analyzer with extension capability
General Java development
- Java 17:
latest LTS version of Java platform - Maven:
software project management tool - Spring:
most popular backand framework for Java - lombok:
Java annotations for convenient development, reducing boilerplate codes - japicmp:
For java library development (or usage) this is very advantageous: it compares two versions of a jar archive, and makes a detailed report of the results