amp; Formatsamp; Formatsamp; Formatsamp; Formatsamp; Formatsamp; Formatsamp; Formatsamp; Formatsamp; Formatsamp; Formatsamp; Formatsamp; Formats

Languages & Formats

Item Notes

abnf

Augmented Backus-Naur Form, is based on ENBF but defines its own syntax and derivation rules. It is used in many IETF RFCs (the standards in the Internet).

asciidoc

The original Asciidoc. Superseded, at leaat in my work, by the Asciidoctor dialect and tool chain

asciidoctor

The newer version of Asciidoc. There are some changes to the actual language. It still is a great combination of initial simplicity (write documents fast) and functionality (a lot of features). Tool chain works very well, very good for automation.

antlr

The language to define a grammar (lexer and parser) of the tool of the same name. I use it since version 2, current version is 4. It is based on EBNF.

bash

Here is a discussion on bash as a programming language stackoverflow.

bibtex

Language to define reference entries in a bibliographic database, which is then processed by BibTeX or Biber. Use for TeX and LaTeX documents. See also wikipedia.

css

Occasionally, I need to edit style sheets for HTML documents, e.g. this site.

csv

More a format than a language, simply lines with entries separated by an a priori defined character (usually a tab or comma).

ebnf

Extended Backus-Naur Form, a notation used to specify context-free grammars. It is the basis for antlr and other parser-generation environments. It is also used widely to express grammars outside tools.

gradle

Internal DSL in Groovy. Base for the gradle build/make system. Of course used in the gradle specifications for several builds

graphml

XML-based language to describe graphs in terms of nodes and edges. I use that as an intermediate langauge, created from specifications, then process it with graphic tools (such as yED).

html

I use html in many cases and parts of my work, for example if it is the easiest to just write a document in it or generating html for documentation. See also whatwg.

java

My Main programming langauge. I had started with assembler, then did C, then C++ (in the middle also some functional programming, but not very successful), then moved to Java. Still with it.

javadoc

More a notation or format than a language, to write in-file documentation for Java classes. In some projects I am using the Asciidoctor Doclet.

javascript

I wrote full applications, some libraries, and actionable functions in JavaScript. But more out of necessity than of actual interest.

json

Data serialization language. Simple, easy to use (edit, exchange, process), supported everywhere. Still using it a lot.

latex

Wrote my first LaTeX document a very long time ago, and it still compiles the same way it did on the first day. This longevity is one interesting aspect of LaTeX. The others: start simple but never be limited by the system later, superior type setting (including fonts, tables, layout), superior for automation (and extension), superior for references in documents (including headings, references, acronyms, index). Some drawbacks: the language looks, today, rather strange and there is a learning curve for using the tool chain.

md

Markdown, used in some Wiki pages and project documents. Simple language, but I prefer Asciidoctor.

php

Started with php for interactive web pages, wrote an online shop in it once, then a framework for the SKB. Still using it for some smaller tasks, but generally not anymore for larger projects.

pom

More a notation than a language: the internal of a Maven POM file. Can be a bit messy, and requires understanding of the build process as well. Overall not that hard to write even complicated workflows. The main problems are usually in the plugins, not the POM file.

python

For everything that is too hard in bash, e.g. processing YAML and JSON files.

sgml

Started with SGML as intermediate document language. It was superseded then by XML. The W3C maintains a page with SGML resources.

st

Actually ST or stringtemplate, the notation beyond the library (or tool) of the same name. Probably the best template system there is (language and library).

svg

The webs main vector graphic language, XML-based. I draw everything in SVG, sometimes also editing the XML base document.

tex

The system underlying LaTeX. I use some commands from TeX, but usally stay in the LaTeX level.

uml

I use UML mainly for class diagrams and sequence charts, no longer for larger systems or code generation.

xdoc

One of the document language supported by the Apache Maven Site plugin. I use this one for the main static sites, where no includes are required. It is essentially XML-based but also allows inline-HTML.

xml

The dominant language for documents of all sorts, right?

xtend

As they say: Java just better. This is the programming language used in XText. Integrates nicely in any Java project (seamless!).

xtext

A DSL generation framework. It comes with their own language, essentially based on EBNF and ANTLR. I use it for some DSL projects.

yaml

A data serialization (or definition) language, superset of JSON. I use it exclusively in the data for my SKB (acronyms, references). Easy to author and process.