AP2_FIAE - Entwurf kundenspezifischer Softwareanwendungen - Auswahl-geeigneter-Programmiersprachen

Deck: AP2_FIAE Kategorie: Entwurf kundenspezifischer Softwareanwendungen Subkategorie: Auswahl-geeigneter-Programmiersprachen Anzahl Karten: 39


Was sind Projektanforderungen und was sind Umfeldaspekte?::Projektanforderungen und Umfeldaspekte beziehen sich auf Schlüsselfaktoren wie Leistung und Effizienz, Sicherheit, Entwicklungszeit, plattformübergreifende Entwicklung, Bibliotheken und Ökosystem, die bei der Auswahl einer Programmiersprache berücksichtigt werden müssen.

Welche Aspekte der Leistung und Effizienz sind bei der Auswahl der Programmiersprache wichtig?::Hochleistungsanwendungen wie Spiele oder Datenanalysetools benötigen oft Sprachen, die nahe an der Hardware operieren, wie C oder C++.

Welche Aspekte der Sicherheit sind bei der Auswahl der Programmiersprache wichtig?::Anwendungen, die mit sensiblen Daten arbeiten, profitieren von Sprachen mit starken Typsystemen und Sicherheitsfeatures, wie Rust oder Ada.

Welche Aspekte der Entwicklungszeit sind bei der Auswahl der Programmiersprache wichtig?::Für Projekte mit straffen Zeitplänen oder Prototyping könnten Sprachen mit einer schnellen Entwicklungszeit wie Python oder Ruby bevorzugt werden.

Welche Aspekte der plattformübergreifenden Entwicklung sind bei der Auswahl der Programmiersprache wichtig?::Für Anwendungen, die auf mehreren Betriebssystemen laufen sollen, sind Java, Python oder Web-Technologien (HTML, CSS, JavaScript) oft eine gute Wahl.

Welche Aspekte des Ökosystems sind bei der Auswahl der Programmiersprache wichtig?::Manchmal entscheiden die verfügbaren Frameworks und Bibliotheken, weil sie den Entwicklungsaufwand erheblich reduzieren können.

Welchen Einfluss haben die Teamfähigkeiten und Präferenzen bei der Auswahl einer Programmiersprache?::Das Können und die Vorlieben des Entwicklerteams spielen eine signifikante Rolle, da ein Team in einer bestimmten Sprache schneller und effektiver arbeiten kann als in einer neuen Sprache.

Welche Rolle spielen Lizenzierung und Kosten bei der Auswahl einer Programmiersprache?::Einige Sprachen oder Entwicklungswerkzeuge können Lizenzgebühren erfordern. Freie und Open-Source-Sprachen bieten oft einen Kostenvorteil und fördern die Zusammenarbeit.

Welchen Aspekt der langfristigen Wartbarkeit sollte man bei der Auswahl der Programmiersprache berücksichtigen?::Die langfristige Wartbarkeit des Codes ist für Lebensdauer und Projektkosten entscheidend. Sprachen, die klaren, lesbaren und modularen Code fördern, sind oft einfacher zu warten. Dokumentation und Community-Unterstützung sind weitere Aspekte.

Welche Aspekte der Kompatibilität und Integration sollte man bei der Auswahl der Programmiersprache beachten?::Die Fähigkeit, sich nahtlos mit anderen Systemen, Software oder Bibliotheken zu integrieren, kann die Entscheidung stark beeinflussen. Einige Sprachen bieten bessere Unterstützung für bestimmte Datenbanken, Web-Dienste oder Kommunikationsprotokolle.

Welche Aspekte der Skalierbarkeit sollte man bei der Auswahl der Programmiersprache berücksichtigen?::Für Projekte, die potenziell eine große Anzahl von Benutzern oder Anfragen bedienen müssen, ist die Skalierbarkeit des Codes entscheidend. Sprachen, die Parallelität oder asynchrone Operationen unterstützen, können hier Vorteile bieten.

Was ist das imperative Programmierparadigma?::Im imperativen Paradigma wird genau beschrieben, wie Dinge getan werden sollen. Die Programmablaufsteuerung erfolgt durch Anweisungen, die den Zustand des Programms verändern.

Nenne Beispiele für imperative Programmiersprachen.::Beispiele für imperative Sprachen sind C, C++ und Java.

Was sind Charakteristiken des imperativen Programmierparadigmas?::Charakteristiken sind: befehlsorientiert, Verwendung von Schleifen und bedingten Anweisungen zur Kontrollflusssteuerung, Variablen speichern Zustandsinformationen.

Was ist das funktionale Programmierparadigma?::Im funktionalen Paradigma werden Probleme als eine Reihe von Funktionen gelöst. Der Fokus liegt auf den zu berechnenden Werten und nicht auf Zustand oder änderbaren Daten.

Nenne Beispiele für funktionale Programmiersprachen.::Beispiele für funktionale Sprachen sind Haskell, Scala und Erlang.

Was sind Charakteristiken des funktionalen Programmierparadigmas?::Charakteristiken sind: Unveränderlichkeit von Variablen, Funktionen höherer Ordnung, Rekursion als primäre Schleifen-Technik.

Was ist das objektorientierte Programmierparadigma?::Objektorientierte Programmierung (OOP) modelliert Software als eine Sammlung von Objekten mit Datenfeldern, die durch Methoden manipuliert werden können.

Nenne Beispiele für objektorientierte Programmiersprachen.::Beispiele für objektorientierte Sprachen sind Python, Ruby und C#.

Was sind Charakteristiken des objektorientierten Programmierparadigmas?::Charakteristiken sind: Klassen und Objekte, Vererbung, Kapselung von Daten und Methoden.

Was ist das deklarative Programmierparadigma?::Im deklarativen Paradigma wird festgelegt, was getan werden soll, ohne den genauen Ablauf zu spezifizieren. Es erfolgt eine Trennung von Logik und Steuerung.

Nenne Beispiele für deklarative Programmiersprachen.::Beispiele für deklarative Sprachen sind SQL, HTML und Prolog.

Was sind Charakteristiken des deklarativen Programmierparadigmas?::Charakteristiken sind: Trennung von Logik und Steuerung, nicht prozedural, oft kürzere und prägnantere Syntax.

Was ist das ereignisgesteuerte Programmierparadigma?::Ereignisgesteuerte Programmierung ist ein Paradigma, bei dem der Programmfluss durch Ereignisse wie Benutzereingaben, Sensoren oder Nachrichten gesteuert wird.

Was sind Charakteristiken des ereignisgesteuerten Programmierparadigmas?::Charakteristiken sind: Ereignisschleifen, Callback-Funktionen, hohe Skalierbarkeit bei vielen gleichzeitigen Verbindungen.

Was sind die Hauptmerkmale von kompilierten Programmiersprachen?::Kompilierte Sprachen wie C, C++ oder Rust erfordern einen Schritt der Kompilierung vor der Ausführung, bei dem der Quellcode in Maschinencode für die CPU übersetzt wird.

Was sind Vorteile von kompilierten Programmiersprachen?::Vorteile sind: Geschwindigkeit, Möglichkeit zur Optimierung, Sicherheit durch Übersetzung in Maschinencode.

Was sind Nachteile von kompilierten Programmiersprachen?::Nachteile sind: Plattformabhängigkeit, bei Änderungen ist eine Neukompilierung nötig und der Entwicklungszyklus wird verlangsamt.

Was sind die Hauptmerkmale von interpretierten Programmiersprachen?::Interpretierte Sprachen wie Python, JavaScript oder Ruby werden nicht in Maschinencode übersetzt, sondern von einem Interpreter Anweisung für Anweisung ausgeführt.

Was sind Vorteile von interpretierten Programmiersprachen?::Vorteile sind: Plattformunabhängigkeit, Flexibilität bei Änderungen ohne Neukompilierung, einfachere Syntax.

Was sind Nachteile von interpretierten Programmiersprachen?::Nachteile sind: Langsamere Performance, höherer Ressourcenverbrauch durch Laufzeitanalyse.

Für welche Anwendungsfälle eignen sich kompilierte Sprachen?::Kompilierte Sprachen eignen sich für leistungsintensive Anwendungen wie Spiele, Systemsoftware oder wenn Hardware direkt kontrolliert werden muss.

Für welche Anwendungsfälle eignen sich interpretierte Sprachen?::Interpretierte Sprachen sind ideal für Webentwicklung, Skripting und schnelle Prototypentwicklung, wo Flexibilität und Plattformunabhängigkeit wichtiger sind als Ausführungsgeschwindigkeit.

Was sind domänenspezifische Sprachen (DSLs)?::Domänenspezifische Sprachen (DSLs) sind spezialisierte Programmiersprachen, die auf eine bestimmte Art von Problemen ausgerichtet sind, z.B. für Finanzen, Webentwicklung oder Datenbankmanagement.

Nenne Beispiele für domänenspezifische Sprachen (DSLs).::Beispiele für DSLs sind SQL für Datenbankabfragen, CSS für Webseiten-Styling und RegEx für Mustererkennung und Textmanipulation.

Was sind Vorteile von domänenspezifischen Sprachen (DSLs)?::Vorteile sind: Erhöhte Produktivität und Effizienz, bessere Wartbarkeit, Fehlerreduktion durch Fokus auf spezifische Aufgaben.

Was sind Low-Code-Plattformen?::Low-Code-Plattformen ermöglichen es Entwicklern und Nicht-Entwicklern, Anwendungen mit wenig bis gar keinem traditionellen Coding zu erstellen, indem sie visuelle Entwicklungsumgebungen und wiederverwendbare Komponenten bereitstellen.

Was sind Hauptmerkmale von Low-Code-Plattformen?::Hauptmerkmale sind: Visuelle Entwicklungsumgebungen, wiederverwendbare Komponenten, Integration und Anbindung an andere Systeme.

Was sind Vorteile von Low-Code-Plattformen?::Vorteile sind: Schnellere Entwicklung, höhere Zugänglichkeit auch für Nicht-Entwickler, Flexibilität durch Technologieunterstützung und Anpassungsmöglichkeiten.