Lieber Java oder C# in der Bioinformatik?

Das Ergebnis basiert auf 4 Abstimmungen

Java 75%
C# 25%

3 Antworten

Java

Bitte lies:

https://bio.informatik.uni-jena.de/wp/wp-content/uploads/2011/09/Programmiersprachen.pdf

Natürlich wäre - rein theoretisch - C# ebenso geeignet wie Java. Tatsächlich aber wirst du die Programmiersprachen nutzen müssen, die auch deine Kollegen nutzen: einfach deswegen, weil du als Bioinformatiker halt auch immer wieder (und vor allem) auf schon existierend Peogramme wirst zurückgreifen müssen.

Meine Vermutung deswegen: Wahrscheinlich wirst du recht oft auch Python nutzen müssen.

Brainchild  31.05.2020, 12:29

Da gebe ich dir Recht, nicht weil c# schlechter wäre, sondern wegen den bestehenden Bio-Bibliotheken und der Community die von Java beherrscht wird. Nur LINQ und Object Relational Mapping wie Microsoft Entity Framework würden mir fehlen. Auch an Intellisense und Refactoring Tools habe ich mich gewöhnt, schätze aber dass es Java auch hat.

1
Java

In den letzten Jahren haben sich R und Python als sehr beliebt in diesem Fachgebiet bewiesen, wobei du ganz bestimmt auch Projekte / Anwendungen finden wirst, die in irgendeiner anderen Sprache entwickelt wurden (z.B. Fortran, Ruby, PHP, JS, MATLAB) bzw. solche nutzen. Ebenso war (bzw. ist meines Wissens nach noch immer) Perl stärker vertreten, wird aber wohl von Python immer weiter verdrängt, da die Sprache doch nicht so leicht ist, wie ihr Nachfolger.

Statistiken, Datenanalysen, Datenvisualisierung und Testverfahren sind in der Bioinformatik von großer Bedeutung. Gerade zu solchen Aufgabenbereichen bieten R und Python gute Tools (z.B. ggplot2, BioPython, Bioconda, Bioconductor, Ruffus, ...). Zudem sind beide Sprachen leicht zu erlernen. Zur Steuerung einzelner Aufgaben nutzt man bevorzugt eine glue language wie Bash.

Für komplexere Anwendungen werden meines Wissens eher Java oder C/C++ verwendet. Sie haben eine gute Performance und bieten Toolkits (wie Swing, JavaFX, Qt), mit denen man grafische Oberflächen entwickeln kann (auch wieder für Datenvisualisierung und Simulation).

Dementsprechend gibt es schon einige Anwendungen und Toolsets, die auf diesen Sprachen bauen. Beispielsweise Apollo, der IGV, Avogadro, PLINK oder GROMACS (kein Zweifel, das ist nur eine winzige Auswahl).

C#

WENN Du die Wahl hast, nimm C#.

Sie sind sich zwar ähnlich, aber im Detail ist C# mMn. oft ein paar Schritte weiter, als Java. Aber das ist eine Frage des Geschmacks.

Allerdings entscheidest Du das eher selten selber, der Versucht, C# zu erzwingen, wenn die Kollegen oder vorhandene Software-Pakete Java erzwingen, dann verlierst Du.

Woher ich das weiß:Berufserfahrung – C#.NET Senior Softwareentwickler