Vortragsreihe Programmiersprachen - Vortragsplan

Worum geht es?

Wir (Rick und Lorenz) sind fasziniert von Programmiersprachen und finden, dass man im Studium nicht genug darüber lernt. Dabei gibt es abseits von Java, C und python so viele Interessante Konzepte zu entdecken. Wir wollen euch einladen in dieser Vortragsreihe genau das zu tun. Hier gehts zur Vortragsübersicht.

Organisatorisches

Kontakt

Wir suchen noch auch noch Vorträge! Wenn du eine Sprache kannst, die noch nicht abgedeckt wird, melde dich bei uns privat oder über diesen Link. Insbesondere sind auch weibliche Vortragende willkommen und erwünscht, anders als der Vortragsplan gerade vermuten lassen mag - meldet euch gerne bei uns!

Schedule / Vortragsplan

Termin Thema Referent:in
26.04. Python Lars
03.05. Programmierparadigmen Rick
10.05. C# Vince
17.05. Bash Jake
24.05. LLVM Intermediate Representation Alexander Linne
31.05. Prolog Fabian
07.06. Clojure Martin
14.06. Mi 15.06. Javascript Lorenz
21.06. Rust Robin
05.07. Haskell Rick
12.07. Julia Doro
19.07. Sprachsammelsurium "Minisprachen" Lorenz
26.07. CSS Ole Umlauft

Python (Lars)

Nach dem TIOBE Community Index ist Python dieses Jahr das erste Mal die beliebteste Programmiersprache. Python ist nicht revolutionär, hat keine Plattformexklusivität und ist auf jeden Fall nicht die performanteste Sprache. Dieser Vortrag versucht zu erklären wie Python trotzdem Millionen Softwareentwickler überzeugen konnte.

Programmierparadigmen (Rick)

"Ein Programmierparadigma ist ein fundamentaler Programmierstil" (Wikipedia). Paradigmen werden oft durch das Design der Programmiersprache unterstützt. In diesem Vortrag gucken wir uns die geläufigsten Programmierparadigmen einmal näher an.

Der Vortrag hilft dabei die Sprachen in den folgenden Wochen besser einordnen und klassifizieren zu können. Er ist zudem einstiegsfreundlich, verlangt also nur wenige Vorkenntnisse.

C# (Vince)

C# - Eine Sprache, mal als Microsoft-Spielerei belächelt wurde, sich inzwischen aber in der Industrie als standard für viele Anwendung durchgesetzt hat. Plattformunabhängig, einfach zu benutzen und intuitiv - c# kann für nahezu jedes Projekt, von der Handy-App mit Xamarin bis zur REST-API mit asp .net core genutzt werden. In diesem Tutorial schauen wir uns vor allem letzteres an und erstellen eine moderne REST-API!

Bash (Jake)

Bash kennen sicherlich alle von euch als Shell um andere Programme auszuführen. Dass Bash als Sprache aber sehr viel mehr kann und dass man damit tatsächlich auch komplexere Skripte programmieren kann, könnt ihr in diesem Vortrag herausfinden. Eine Programmiersprache mit ein paar mächtigen Konzepten, mehreren seltsamen Eigenheiten und sehr vielen Strings.

LLVM Intermediate Representation (LLVM-IR) (Alexander)

LLVM Intermediate Representation (LLVM-IR) ist eine Sprache, die LLVM sowohl als Eingabe- als auch Zwischensprache dient. LLVM selbst ist dabei eine Sammlung von modulare, wiederverwendbaren Compiler-Komponenten und Tools. Bekannt ist LLVM vor Allem als Backend des C/C++-Compilers Clang sowie des Rust-Compilers rustc. Der originale Rust bzw. C/C++ Code wird also in LLVM-IR übersetzt und dann an LLVM weitergegeben.

LLVM-IR ist keine Sprache, die man per Hand schreiben möchte. Allerdings ist es eine Sprache, die sich sehr gut für automatisierte Source-Code-Analysen und -Transformationen eignet. Und es gibt auch gute Gründe, LLVM-IR lesen können zu wollen.

In diesem Vortrag schauen wir uns an, wie ein Compiler im allgemeinen aufgebaut ist, was LLVM in diesem Kontext leistet, wieso LLVM-IR eine dafür bestens geeignete Sprache ist und was man selbst damit alles machen und daraus lernen kann.

Prolog (Fabian)

Logische Programmierung ist sicherlich für die meisten eines der am wenigsten vertrauten Programmierparadigmen. Dabei kann das durchaus spannend sein, denn darin lassen sich Probleme ganz anders ausdrücken, als in prozeduralen, objektorientierten oder sogar funktionalen Sprachen. In diesem Vortrag gucken wir uns die Logische Programmiersprache Prolog und ihre zugrundeliegende Theorie zunächst theoretisch an und lösen damit im Anschluss ein kleines Rätsel.

Clojure (Martin)

Lisp, das ist eine Sprachfamilie, die vielleicht mal in den 80ern bei Akademikern relevant war. Heutzutage kann sie nicht länger echten Mehrwert bieten und fristet ein Nischendasein unter prätentiösen Hackern mit einer Vorliebe für ungewöhnliche Klammersetzung. Zumindest liegt diese Annahme nahe.

Dass Lisp aber (noch) nicht tot ist, zeigt ein Blick auf Clojure. Hierbei handelt es sich um einen modernen Lisp-Dialekt, der aus vergangenen Fehlern lernt und von der Nähe zur Java-Plattform profitiert.

Wir schauen uns an, warum Clojure gleichzeitig elegant und pragmatisch sein kann, für welche Probleme es sich eignet, und was Lisp heute noch herkömmlichen Programmiersprachen voraus hat. Und weshalb prätentiöse Hacker mehr Spaß mit ihrem Rechner haben.

JavaScript (Lorenz)

JavaScript - die Sprache, die das World Wide Web von reinen Textseiten in richtige interaktive Anwendungen verwandelt hat. Ob man das gut findet oder nicht - auf dem Weg dahin ist eine Menge passiert und die Sprache von vor 2009 entspricht kaum mehr der Sprache von heute. Modernes JavaScript (und seine Abwandlung TypeScript) kann durchaus eine nutzbare Programmiersprache sein, hat aber vor allem viele interessante und ungewöhnliche Konzepte zu bieten, die wir uns in diesem Vortrag angucken.

Rust (Robin)

segmentation fault wer kennt sie nicht, diese elendige Fehlermeldung beim Entwickeln in C (oder schlechtem C++). Aber das ist nunmal der Preis, den man zahlen muss, wenn man “nah an der Hardware” sein will, oder? Die Programmiersprache Rust zeigt, wie es möglich ist Effizienz, Sicherheit und Produktivität zu vereinen, ganz ohne segfaults. Nicht ohne Grund ist sie seit 2015 die beliebteste Sprache in der StackOverflow Developer Survey.

CSS (Ole Umlauft)

Um genau zu sein ist CSS (Cascading Style Sheets) keine Programmiersprache, sondern wie der Name schon sagt eine Stylingsprache, um das Web attraktiver zu gestalten und somit die Usability und User Experience zu erhöhen. In diesem Vortrag widmen wir uns den Grundlagen, plus einer kleinen Einführung zu HTML.

Haskell (Rick)

Haskell - jede Sprache bringt mit sich ihre Meinung dazu wie Code aussehen sollte. Effizient, sicher, einfach zu verstehen oder zu schreiben, etc. Einige sind dabei etwas zurückhaltender und andere sind wie Haskell. Steigt mit uns in eine exzentrische Welt, in der mathematik alles beschreibt, Sicherheit über Nutzbarkeit geht und der Compiler weiß, was das beste für dich ist. Wenn man ihn nur noch verstehen würde.

Julia (Doro)

TODO

Sprachsammelsurium "Minisprachen" (Lorenz)

Kleine Programmiersprachen sind verbreiteter als man denkt. Sie werden für Konfigurationen, in der Schule und oft als Skripting-Engines für alles von Grafikeditoren bis Computerspiel-KIs verwendet. In diesem Vortrag gucken wir uns gleich mehrere davon an, gucken was sie so können, wo man sie findet und wie man sie selbst nutzen kann.