In Zeiten von Legal Tech und digitaler Disruption liegt es als Jurist nicht fern darüber nachzudenken, wie man weiterhin auf dem Markt bestehen kann. Eine Möglichkeit ist es, seine Geschäftsabläufe durch die zahlreichen technischen Tools zu optimieren, um effizienter arbeiten zu können. Eine andere ist die persönliche technische Weiterentwicklung durch das Lernen einer Programmiersprache.

Warum Programmieren lernen?

Auch wenn die juristische Welt im Vergleich zu anderen Branchen noch weitestgehend von der digitalen Umwälzung verschont blieb, ist ein tiefgreifender Wandel in nicht allzu ferner Zukunft zu erwarten. Die logische Folge ist, dass man als Jurist in Zukunft entweder enger mit Programmierern zusammen arbeiten oder selbst programmieren muss. In beiden Fällen lohnt es sich zumindest grundlegende Programmierkenntnisse zu erlangen.

Zudem sind Programmieren und juristisches Arbeiten artverwandt. In beiden Fällen geht es darum Probleme logisch zu lösen, dabei präzise zu arbeiten und das beste Ergebnis mit möglichst wenigen Sätzen bzw. Zeilen von Code zu erzielen.

Welche Programmiersprache?

Es gibt nahe zu unendlich viele Programmiersprachen, von denen sich manche für den einen und manche für einen anderen Anwendungsbereich eignen. Tatsächlich ist also für die Wahl der Programmiersprache nicht entscheidend aus welcher beruflichen Branche man kommt, sondern eher wohin man möchte. Es kommt also darauf an, welche Problemstellung man durch ein Programm lösen möchte.

Da ein Überblick über alle möglichen Anwendungsbereiche den Rahmen dieses Blog-Beitrags sprengen würde, beschränkt sich dieser auf die Webentwicklung, also das Entwickeln von  Websites und webbasierten Anwendungen.

Websites

Für Anwälte in der Einzelpraxis wird es zunächst wichtig sein, in der Masse nicht unterzugehen. Dafür ist eine gute Internetpräsenz heute wichtiger denn je. Wenn man eine grundlegende, informierende Website bauen möchte, kommt man um HTML (Hypertext Markup Language) und CSS (Cascading Style Sheets) nicht herum. Während HTML für die Struktur einer Website verwendet wird, entscheidet CSS darüber, wie die Website aussieht und sich anfühlt. Insbesondere HTML ist sehr leicht zu lernen und es gibt für beide Sprachen massig gute und anfängerfreundliche Tutorials.

Webapplikationen

Soll eine Webanwendung, also eine Website, auf der Nutzer interaktive Funktionen nutzen können, entwickelt werden, ist zwischen Frontend und Backend zu unterscheiden.

Frontend

Das Frontend einer Webanwendung ist vereinfacht gesagt alles, was der Nutzer der Website tatsächlich sehen kann. Eine Webanwendung im Frontend ist nur möglich, wenn insbesondere keine Datenbank benötigt wird. Sofern bspw. Berechnungen lediglich auf Seite des Nutzers durchgeführt werden, ohne dass dabei auf den Server der Website zurückgegriffen werden muss, handelt es sich um eine Funktionalität im Frontend. In diesem Bereich ist Javascript am verbreitetsten. Durch Javascript kann die mit HTML und CSS gebaute Website dynamisch durch Nutzerinteraktionen verändert werden. Javascript wird auf unzähligen Websites genutzt und bietet sich vor allem für kleinere Webanwendungen an.

Backend

Möchte man komplexere Funktionen auf einer Website abbilden, wird eine Datenbank benötigt. Datenbanken setzen eine Programmiersprache voraus, mit der sie kommunizieren können. Dazu zählen bspw. Java, Ruby und Python.

Python wird oft als beste Einsteigersprache genannt und zeichnet sich vor allem durch seine Effizienz aus. Es gibt Unmengen an Informationsquellen für Python und eine sehr lebhafte Community.

Java ist insbesondere gut für Anwendungen mit hohem Traffic, da es sehr gut skalierbar und zuverlässig ist. Im Umkehrschluss eignet sich Java aber weniger, wenn man eine kleinere Applikation schnell auf den Markt bringen will. Darüber hinaus müssen Java-Anwendungen kompiliert werden, bevor sie ausgeführt werden können.

Ruby hat vor allem im letzten Jahrzehnt viel Aufmerksamkeit wegen seinem Framework Ruby on Rails erhalten und ist eine sehr flexible Sprache. Insbesondere mit Ruby on Rails können Web-Projekte sehr schnell und damit auch kostengünstig umgesetzt werden.

Fazit

Michael Hartl von der Learn Enough Society sieht technisches Verständnis als die neue Alphabetisierung und wichtigste Fähigkeit im 21. Jahrhundert. Selbst wenn man nie das Level eines „echten“ Programmierers erreichen wird, erleichtert einem das Lernen einer Programmiersprache einzuschätzen, was technisch umsetzbar ist und welche Ressourcen dafür benötigt werden.

Es hängt jedoch von vielen Faktoren ab, welchen Einstieg man in die Welt der Programmiersprachen wählen sollte. Ist man auf sich allein gestellt und möchte sich eine Webpräsenz aufbauen, führt nichts an HTML und CSS vorbei. Sobald man Funktionalitäten zu seiner Website hinzufügen möchte, sollte man mit Javascript beginnen.

Ist man jedoch in einem größeren Team tätig kann es auch Sinn machen direkt mit einer Backend Programmiersprache zu beginnen. Wenn man wohl auch mit keiner der genannten Sprachen etwas falsch machen würde, würden wahrscheinlich trotzdem die meisten Personen aufgrund der Einsteigerfreundlichkeit zu Python raten.

Viel wichtiger als welche Programmiersprache man lernt, ist jedoch, dass man mit dem Lernen beginnt. Stellt sich heraus, dass die gewählte Programmiersprache für den gewünschten Anwendungsbereich nicht die richtige war, kann problemlos eine neue gelernt werden. Im Kern sind die Grundsätze, die allen Programmiersprachen zugrunde liegen, die gleichen.