IT-Berufe-Podcast

Eigenschaften und Unterscheidung von Programmiersprachen – IT-Berufe-Podcast #182


Listen Later

Um Eigenschaften und Unterscheidungsmerkmale von Programmiersprachen geht es in der einhundertzweiundachzigsten Episode des IT-Berufe-Podcasts.
Inhalt
Was ist eine Programmiersprache?
Programmiersprache: "Eine Programmiersprache ist eine formale Sprache zur Formulierung von Datenstrukturen und Algorithmen, d.h. von Rechenvorschriften, die von einem Computer ausgeführt werden können." [Herv. d. Verf.]
Bausteine von Algorithmen: Sequenz, Verzweigung (z.B. if, switch, aber auch Pattern Matching), Wiederholung (GOTO, Schleifen, Rekursion)
Turing-complete: "[...] die Eigenschaft einer Programmiersprache oder eines anderen logischen Systems, sämtliche Funktionen berechnen zu können, die eine universelle Turingmaschine berechnen kann."
Demnach sind keine Programmiersprachen: HTML/XML (Auszeichnungssprache), CSS (Stylesheet-Sprache), SQL (Datenbankabfragesprache).
Sprache vs. Plattform vs. Ökosystem
Programmiersprachen bringen meistens "eingebaute" ("native") Funktionen mit, die direkt in der Syntax der Sprache formuliert werden können:
Ein-/Ausgabe-Befehle, um Daten verarbeiten zu können
Deklaration von Variablen zum Speichern von Informationen
mathematische Funktionen wie Addition, Multiplikation usw.
Steueranweisungen für Verzweigung und Wiederholung
Möglichkeiten zur Programmunterteilung (z.B. Funktionen, Subprogramme)
Einbinden von (externen) Bibliotheken zur Wiederverwendung
Viele Programmiersprachen bringen außerdem noch eine umfangreiche Bibliothek an vorgefertigten Implementierungen (z.B. in Form von Klassen in objektorientierten Sprachen) mit. Diese Bibliothek ist bei der Einarbeitung in eine neue Sprache meist schwieriger/langwieriger zu lernen als die Syntax. Oftmals teilen sich mehrere Programmiersprachen die Bibliotheken einer gemeinsamen Plattform, z.B. der JVM bei Java und Kotlin bzw. .NET bei C# und Visual Basic.
Darüber hinaus existiert meist auch noch ein ganzes Ökosystem rund um die Sprache/Plattform:
Build-Tools, z.B. Maven, Gradle
Dependency-Management, z.B. NPM, RubyGems
Test-Frameworks, z.B. JUnit
weitere Frameworks und Libraries, z.B. Spring, Jakarta EE, Rails, Blazor
Klassifizierung/Einsatzzweck(e)
Im Alltag sind die Identifikation und Auswahl einer für das jeweilige "Realweltproblem" passenden Sprache wichtig. Viele Programmiersprachen haben Schwerpunkte bei ihrem Einsatz, weil sie für bestimmte Einsatzzwecke optimiert wurden oder dafür viele vorgefertigte Lösungen mitbringen.
Einsatzzweck: Webanwendung (z.B. PHP), App (z.B. Swift), Desktop-Anwendung (z.B. C#), Server-Anwendung (z.B. Java)
Frontend (browserseitig) vs. Backend
Scriptsprachen: geringer Programmieraufwand für schnell sichtbare Ergebnisse, oft Interpretersprachen mit dynamischer Typisierung und laxer Syntaxprüfung (z.B. Semikolons optional), Beispiele: PowerShell, PHP
Web-Programmiersprachen: bringen meist umfangreiche Bibliotheken und Frameworks für Webanwendungen mit, oftmals auch Scriptsprachen, Beispiele: PHP, Ruby, Python
Programmierparadigma
Ein Programmierparadigma gibt die grundsätzliche Art und Weise vor, wie mit einer Programmiersprache entwickelt wird. Es definiert grundlegende Herangehensweisen und Prinzipien bei der Softwareentwicklung, aber auch ganz konkrete syntaktische Vorgaben. So legt es z.B. fest, mit welchen Konstrukten das Programm hauptsächlich arbeitet (z.B. Objekte in der Objektorientierung bzw. Funktionen in der funktionalen Programmierung als sogenannte "First Class Citizens"), wie Programme modularisiert werden sollten und auf welche Art und Weise Algorithmen vorzugsweise formuliert werden sollten ("idiomatische Programmierung").
Viele Programmiersprachen sind heutzutage sogenannte Multiparadigmensprachen, bieten also Konzepte aus mehreren Paradigmen an, z.B. Objektorientierung und funktionale Programmierung. Meist haben sie aber ein definierendes Paradigma, z.B. Objektorientierung bei Java.
Imperativ vs. Deklarativ
Grundsätzlich kann man die imperative und deklarative Programmierung u...
...more
View all episodesView all episodes
Download on the App Store

IT-Berufe-PodcastBy Stefan Macke

  • 5
  • 5
  • 5
  • 5
  • 5

5

1 ratings


More shows like IT-Berufe-Podcast

View all
Chaosradio by Chaos Computer Club Berlin

Chaosradio

7 Listeners

Computer und Kommunikation by Deutschlandfunk

Computer und Kommunikation

10 Listeners

IQ - Wissenschaft und Forschung by Bayerischer Rundfunk

IQ - Wissenschaft und Forschung

46 Listeners

ZEIT WISSEN. Woher weißt Du das? by ZEIT ONLINE

ZEIT WISSEN. Woher weißt Du das?

45 Listeners

c’t uplink - der IT-Podcast aus Nerdistan by c’t Magazin

c’t uplink - der IT-Podcast aus Nerdistan

5 Listeners

Eine Stunde History - Deutschlandfunk Nova by Deutschlandfunk Nova

Eine Stunde History - Deutschlandfunk Nova

109 Listeners

Smarter leben by DER SPIEGEL

Smarter leben

50 Listeners

Kampf der Unternehmen by Wondery

Kampf der Unternehmen

16 Listeners

kurz informiert by heise online by heise online

kurz informiert by heise online

2 Listeners

Quarks Science Cops by Quarks

Quarks Science Cops

19 Listeners

Terra X History - Der Podcast by ZDF - Terra X

Terra X History - Der Podcast

9 Listeners

Aha! Zehn Minuten Alltags-Wissen by WELT

Aha! Zehn Minuten Alltags-Wissen

25 Listeners

KI verstehen by Deutschlandfunk

KI verstehen

8 Listeners

Wirecard: 1,9 Milliarden Lügen by Süddeutsche Zeitung

Wirecard: 1,9 Milliarden Lügen

3 Listeners

Passwort - der Podcast von heise security by Dr. Christopher Kunz, Sylvester Tremmel

Passwort - der Podcast von heise security

3 Listeners