Freie Software für das Studium

Achtung! Dieser Text ist noch eine Baustelle, bitte nicht in die Löcher fallen oder stolpern, Danke.

Hier soll eine Liste mit freier Software entstehen, die für das Informatikstudium nützlich ist. Diese Zusammenstellung ist nicht nur für Linux-Benutzer interessant weil vieles davon auch unter anderen Betriebssystemen verfügbar ist.

Editoren

Text ist einer der wichtigsten Grundbausteine für Informatiker, ob es sich nun um Quelltext, Dokumentation oder Konfigurations- oder sonstige Daten handelt. Textdateien sind flexibel, universell und "zukunftssicher". Sie lassen sich mit verschiedensten Werkzeugen bearbeiten, schon vorhandenen oder selbstgeschriebenen. Es gibt sehr viele Texteditoren und teilweise recht fanatische Debatten darüber, welcher denn nun der bessere ist. Das muss letztendlich jeder selbst entscheiden.

Die beiden Klassiker sind Emacs bzw. XEmacs und vi bzw. vim bzw. gvim. Beide sind sehr mächtig und erweiterbar und haben, zum einen wegen ihres Funktionsumfangs und zum anderen ihrer "eigentümlichen" Bedienung, eine recht steile Lernkurve. Was sich allerdings auszahlt wenn man sich erst einmal eingearbeitet hat.

Etwas intuitiver lassen sich die Editoren bedienen, die mit den beiden grossen Desktop-Umgebungen GNOME und KDE geliefert werden: GEdit und Kate/KWrite. Der Funktionsumfang ist nicht so hoch, aber alles nötige um Quelltexte zu bearbeiten ist vorhanden: Syntax-Highlighting für viele Sprachen, Zeilennummern und hervorheben von Klammern gehören zur Grundausstattung. Zum schreiben von [[Haskell]]-Programmen oder Skripten sind diese Editoren durchaus geeignet.

[Konsole: jed, nano]

IDEs

Bluefish
ist eine GTK-basierte IDE
CodeBlocks
Eine C++ IDE
Eclipse
die große java IDE
Emacs
mehr als nur ein Editor
Vim
Vim ist das Schweizer Taschenmesser unter den Editoren. Sehr gewöhnungsbedürftig, aber auch sehr mächtig.
kdevelop
ein KDE IDE
andere
SciTE, Scintilla

Textverarbeitung / Textsatz

Kile
ist ein KDE Latex Editor, mit Syntaxhighlighting und Autovervollständigung
LaTeX
Ähnlich wie HTML eine Auszeichnungssprache für Text. Spart echt Zeit und Nerven im Gegensatz zu einer normalen Textverarbeitung, weil man sich nicht um das Layout des Dokuments kümmern muss, sondern dem Interpreter nur sagen muss, was Überschriften ect. sind. Der Interpreter stylt dann alles so wie es am besten Aussieht. Mögliche Ausgabeformate sind .dvi und .pdf Ideal für Dokumente mit mathematischem Inhalt.
LyX
WYSIWYG Editor für latex
TeXmacs
noch ein WXSIWYG Editor für latex
LibreOffice
freies Officepacket (Textverarbeitung, Tabellekalkulation, Präsentationsprogramm usw.)

Versionsverwaltung

GIT
verteilte Versionskontrolle auf Steroiden. Entwickelt zur Verwaltung des Linuxkernels
Mercurial
wie git, nur langsamer, weil in Python
CVS
der Dino unter den Versionskontrollsystemen (leider hat er nur sein Aussterben nicht mit bekommen)
SVN
zentralisierte Versionkontrollsystem, mit theoretischen Branching Fähigkeiten

Mathematik

PyLab
mächtige Numerikumgebung in Python, bestehend aus NumPy, SciPy, Matplotlib und IPython. Sieht sich als Alternative zu Matlab.
sage
Eine Sammlung von freier Mathe-Software, basierend u.a. auf python, Octave, Maxima und anderen. Im Vergleich zu PyLab eher auf reine Mathematik ausgerichtet (Algebra, Zahlentheorie, Kombinatorik, …)
SymPy
Ein symbolisches Computeralgebrasystem für Python
Octave
Programmpaket für numerische Mathematik, das (weitestgehend) mit Matlab kompatibel ist. Wichtig für CoMa.
R
Programmiersprache für statistische Berechnungen aus dem GNU Projekt.
Axiom
freies Computeralgebrasystem
FreeMat
eine Programmierumgebung
Maxima
ein Compueralgebrasystem in Common Lisp
Scilab
weiteres Numerik Porgrammpaket (Stark an Matlab angelehnt, aber weniger kompatibel als Octave)

Compiler

GCC
Gnu Compiler Collection. Kompiliert unteranderem C, C++, Objectiv-C, Ada und Frotran
clang
C, C++ und Objective-C Compiler aufbauend auf der LLVM Compilerplatform
Javac
Java Compiler
GHC
Glasgow Haskell Compiler ist der weitverbreiteste und Feature-recihste Haskellcompiler.