Was wird unter Big Data verstanden ? Bennen und beschreiben Sie die vier Dimensionen (oder vier V’s) von Big Data.
Big Data bezieht sich auf umfangreiche, vielfältige, schnell generierte und oft unstrukturierte Datenmengen. Die vier V's sind:
Volumen (Volume):
Große Datenmengen.
Vielfalt (Variety):
Unterschiedliche Datenarten.
Geschwindigkeit (Velocity):
Schnelle Datenerzeugung und -verarbeitung.
Verlässlichkeit (Veracity):
Qualität und Genauigkeit der Daten.
Definieren Sie die Begriffe Daten, Information und Wissen aus IT-Sicht und finden Sie dazu ein kleines Beispiel.
Daten - Syntaktik:
- Bestimmt durch erlaubte Zeichen wie a-z, A-Z, 0-9.
- Kombination von Zeichenvorrat und Syntax ergibt Daten.
- Beispiele: Integer-Datenelement 181 auf einem Datenträger.
Information - Semantik:
- Interpretation und Bedeutung von Daten.
- Beispiel: 181 als Größe von Herrn Mustermann.
Wissen - Pragmatik:
- Kontextbezogene Nutzung von Information.
- Beispiel: Verwendung der Durchschnittsgröße zur Parkbankkonstruktion.
Was bedeutet „NoSQL“-Datenbank ? Könnten Sie bitte kurz den Begriff ‚In-Memory‘ Datenbank erklären ?
NoSQL steht für Not Only SQL
Klasse von nicht-relationalen Datenspeicherungssystemen
haben normalerweise kein fixes Schema
viele NoSQL-Lösungen weisen eine oder mehrere ACID Anforderungen auf
(A=Atomicity, C=Consistency, I=Isolation, D=Durability)
Eine In-Memory-Datenbank speichert den gesamten Datensatz im Hauptspeicher, was zu schnelleren Datenzugriffen im Vergleich zu traditionellen Datenbanken führt, bei denen Daten auf Festplatten gespeichert werden.
Wie können in C# prinzipiell Datentypen konvertiert werden ? Welche wäre die sichere Form der Konvertierung ?
Implizite Konvertierungen sind sicher, Datenverluste sind deshalb ausgeschlossen. Dabei kann stets nur der kleinere der beiden Datentypen direkt in einen größeren umgewandelt werden.
Explizite Typkonvertierungen sollten stets mit Vorsicht angewendet werden, wobei man sicher sein muss, dass die Wertebereiche zur Laufzeit nicht überschritten werden.
Erläutern Sie den Client-Server-Architekturstil.
Jede Komponente kann Dienstleistungen anderer Komponenten über definierte Schnittstellen in Anspruch nehmen.
Server : bieten Dienste an
Clients : nehmen Dienste in Anspruch
Komponenten können sowohl Clients als auch Server-Rollen übernehmen
Interaktion erfolgt auf Request-Response Interaktionen
Was wird unter einer Community-Cloud, was unter einer Hybrid-Cloud verstanden?
Hybride Cloud:
Kombination aus Private Cloud und Public Cloud
Nutzung von zusätzlichen Ressourcen aus der Public Cloud bei hoher Last
Freigabe von Ressourcen, wenn Sie nicht mehr benötigt werden
Community-Cloud:
nichtöffentlich, von mehreren Organisationen mit ähnlichen Anforderungen geteilt , z.B. branchenspezifisch
Betrieb wiederum durch die beteiligten Organisationen oder extern gut für Organisationen, die die Isolation einer Private Cloud brauchen, für die der Betrieb allein aber nicht rentabel ist.
Aus welchen beiden prinzipiellen Bestandteilen setzt sich .NET zusammen ? Erklären Sie die wichtigsten Merkmale dieser Bestandteile und welche Aufgaben diese haben. Welches Ziel wird damit verfolgt?
Laufzeitumgebung: führt Programme aus
Klassenbibliothek: Sammlung selbstständiger Programmierkomponenten
Laufzeitumgebung und Klassenbibliothek bieten eine gemeinsame Basis für die Softwareentwicklung mit dem Ziel einer sprach-und plattformneutralen Anwendungsentwicklung
Was wird mit Microservices adressiert und was unterscheidet generell Microservices von layerbasierten Architekturen ? (vertikal vs. horizontal)
Adressierung:
Organisiert Anwendungen in kleine, unabhängige Dienste (Microservices)
Unterschied zu layerbasierten Architekturen:
Vertikal vs. Horizontal:
Microservices (Vertikal): Aufteilung nach Geschäftsfunktionen.
Layerbasierte Architekturen (Horizontal): Aufteilung nach Schichten (Präsentation, Logik, Datenbank).
Welche wichtigen Kriterien/ Eigenschaften haben Microservices (ganz grob) und wann würden Sie Microservices zum Einsatz bringen ?
Kriteren/Eigenschaften:
jeder Service organisiert eine begrenze Menge von Business-Funktionen
haben ihren eigenen Lifecycle, entstehen oft in einem (agilen) Projekt-Team
... dadurch gut geeignet für die agile Vorgehensweise
laufen immer in einem eigenen Prozess,
folgen dem Ansatz der losen Kopplung, d.h. Absolute Vermeidung von synchroner Kommunikation.
Microservices wann anwenden ?
Abgrenzbare E-Commerce-Anwendung
klassische Portale, die unterschiedliche Funktionen zusammenführen müssen
Ergänzung einer monolithischen Anwendung
Microservices ist ein Ansatz zur Modularisierung von Software. Microservices nutzen als Module einzelne Programme, die als eigene Prozesse laufen. Nennen Sie drei Aspekte der Microservices – Architektur.
Ein Programm soll nur eine Aufgabe erledigen
Programme sollen zusammenarbeiten können.
Nutzen eine universelle Schnittstelle
Was kennzeichnet objektorientierte Sprachen?
In objektorientierten Sprachen werden Variablen und Funktionen zum Zugriff und zur Manipulation kombiniert und in Objekten gekapselt.
Es wird verbunden was zusammengehört. Aber es wird verborgen, was nicht für jeden relevant ist.
Was sind Programmierparadigmen?
Programmiersprachen können mehrere Paradigmen unterstützen.
Imperative Programmierung : (Abfolge von Befehlen, die der Computer in der angegebenen Reihenfolge ausführen soll). (Wie)
Deklarative Programmierung: (Beschreibung der Eigenschaften des gewünschten Ergebnisses). (Was)
Prozedurale Programmierung (Programme werden in Prozeduren (Funktionen) aufgeteilt Sichtbarkeit: global oder lokal.)
Objektorientierte Programmierung (Programme bestehen aus miteinander kommunizierenden Objekten.)
Welche Netzwerktopologien kennen Sie? Nennen Sie deren Vor- und Nachteile
Sternförmig:
Vorteile:
der Ausfall eines Endgerätes hat keine Auswirkung auf den Rest des Netzes
Hohe und verschiedene Übertragungsraten sind möglich. Leicht erweiterbar
leicht verständlich, leichte Fehlersuche, einfaches Routing im Sternverteiler.
Nachteile:
Durch Ausfall des Verteilers wird Netzverkehr unmöglich
(Token) Ring:
Deterministische Rechnernetzkommunikation ohne Paketkollisionen – Vorgänger und Nachfolger sind definiert. Alle Stationen arbeiten als Verstärker.
Alle Rechner haben gleiche Zugriffsmöglichkeiten,Garantierte Übertragungsbandbreite, Reguläre Topologie, daher leicht programmierbar
Der Ausfall eines Endgerätes kann dazu führen , dass die gesamte Netzkommunikation unterbrochen wird.
Bus:
Geringe Kosten. Einfache Verkabelung und Netzerweiterung. Es werden keine aktiven Netzwerkkomponenten benötigt.
Datenübertragungen können ziemlich leicht abgehört werden.
Eine Störung des Übertragungsmediums an einer einzigen Stelle im Bus blockiert den gesamten Netzstrang.
Es kann zu jedem Zeitpunkt immer nur eine Station Daten senden.
Baum:
Der Ausfall eines Endgeräts hat keine Konsequenzen. Große Entfernungen realisierbar.
Bei Ausfall eines Verteilers ist der ganze davon ausgehende (Unter)Baum des Verteilers nicht mehr erreichbar
Was sind Subnetze und warum werden diese angewendet ?
Subnetze sind Teilnetze innerhalb eines größeren Netzwerks, bei denen eine Teilmenge von IP-Adressen verwendet wird.
Anwendung:
Effiziente Ressourcennutzung: Ermöglichen die effiziente Verwendung von IP-Adressen durch Unterteilung größerer IP-Adressbereiche.
Segmentierung: Erlaubt die Aufteilung eines großen Netzwerks in kleinere, besser verwaltbare Einheiten.
Verbesserte Sicherheit: Begrenzt die Ausbreitung von Netzwerkverkehr und erhöht die Sicherheit durch Segmentierung.
Welcher Unterschied besteht zwischen CSMA/CA und CSMA/CD ?
CSMA/CD für kabelgebundene Ethernet-Netzwerke mit Kollisionsdetektion.
CSMA/CA für drahtlose Netzwerke mit Kollisionsvermeidung durch vorherige Belegungsprüfung und zufällige Wartezeit.
Wie funktioniert CSMA/CD ?
CSMA/CD (Carrier Sense Multiple Access with Collision Detection) ist ein Zugriffsprotokoll für Ethernet-Netzwerke. Computer überwachen das Übertragungsmedium auf eine freie Leitung (Carrier Sense), bevor sie Daten senden. Wenn zwei Computer gleichzeitig senden und eine Kollision erkannt wird, stoppen beide die Übertragung und versuchen es nach einer zufälligen Wartezeit erneut (Collision Detection).
Welche Vorteile bringt die Nutzung einer Bridge in einen Netzwerk ?
Segmentierung: Logische Aufteilung des Netzwerks.
Kollisionsreduktion: Verringert Kollisionen durch Segmentierung
Verschiedene Netzwerke: Verbindet unterschiedliche Netzwerktypen für verbesserte Konnektivität.
Was ist ein Broadcast ?
Ein Broadcast erlaubt es eine Nachricht gleichzeitig an alle Teilnehmer eines Netzwerks zu verschicken. Der Absender muss keinen Empfänger explizit angeben
Erläutern Sie den Aufbau einer IPv4-Adresse an einem Beispiel. Erläutern Sie den Aufbau einer IPv6-Adresse
IPv4-Adresse:
32 Bits, in vier Oktetten aufgeteilt (z. B. 192.168.1.1).
Jedes Oktett repräsentiert einen Wert von 0 bis 255.
Eine IP-Adressen unterteilt sich in die Netzadresse und die Adresse des in diesem Netz befindlichen Rechners.
IPv6-Adresse:
128 Bits, in acht Blöcken zu je 16 Bits aufgeteilt (z. B. 2001:db8:85a3::8a2e:370:7334).
Jeder Block als vier Hexadezimalziffern, mit optionalen Nullen und Doppelpunkten für Lesbarkeit.
Entwickelt aufgrund der begrenzten IPv4-Adressen und bietet eine immense Anzahl von möglichen Adressen.
Welche Formen von Vermittlung in Rechnernetzen haben Sie kennen gelernt ? (Leitungsvermittlung, Paketvermittlung !)
Leitungsvermittlung:
Exklusive Nutzung einer Kommunikationsleitung während der gesamten Kommunikation.
Direkte Verbindung zwischen Sender und Empfänger.
Häufig in traditionellen Telefonnetzen.
Paketvermittlung:
Daten werden in kleine Pakete aufgeteilt und individuell über das Netzwerk gesendet.
Jedes Paket kann unterschiedliche Wege nehmen und wird am Ziel wieder zusammengesetzt.
Effizientere Nutzung von Netzwerkressourcen.
Gängiges Modell in modernen Computernetzwerken, wie dem Internet.
Was ist die Hauptaufgabe vom Domain Name System im Internet ! (Beispiel)
Hauptaufgabe: Beantwortung von Anfragen zur Namensauflösung:
Umsetzung von Domainnamen in IP-Adressen (forward lookup)
Umgekehrte Auflösung von IP-Adressen in Namen (reverse lookup)
Welche Aufgabe hat ein DHCP (Dynamic Host Configuration Protocol)-Server ? (Vergabe der IP-Nummern, Leasing !)
DHCP ist ein Protokoll, um IP-Adressen in einem TCP/IP-Netzwerk zu verwalten und an die anfragenden Hosts zu verteilen
In welchen Phasen erfolgt eine verbindungsorientierte Kommunikation?
Datenaustausch in drei Phasen:
Verbindungsaufbau (connect, set-up)
Sender spricht den Empfänger an, sendet Authentifizierungsdaten und verlangt den Verbindungsaufbau
Uni- oder bidriektionaler Datenaustausch (date transfer)
Verbindungsabbau (disconnect)
Beispiel: Telefonieren
Anrufen = connect
Abnehmen = Kommunikationserlaubnis
Stimme = Authentifizierung
Gespräch = Datenaustausch
Auflegen = disconnect
Was bedeutet verbindungslose und verbindungsorientierte Paketvermittlung (Kommunikation) ? Worin unterscheiden sich diese ?
Verbindungsorientiert:
Es wird erst eine Verbindung zwischen Quellhost und Zielhost aufgebaut, dann erst werden die Pakete vermittelt. Die einzelnen Pakete gehen i.d.R. beim Zielhost in der gleichen Reihenfolge ein, wie sie zuvor vom Quellhost geschickt wurden.
Verbindungslose:
einzelne Pakete werden zum Quellhost in einer vorgegebenen Reihenfolge abgeschickt allerdings können die Pakete beim Zielhost in einer völlig anderen Reihenfolge ankommen.
Unterschiede:
—> Verbindungsorientierte:
vorherige Verbindungsaufbau; fester Pfad für die Übertragung
Garantierte Reihenfolge, Zustellung und erfolgreiche Übertragung
—> Verbindungslose:
Keine vorherige Verbindung; unabhängige Paketübertragung
Keine Garantien für Reihenfolge oder Zustellung
Welche Verbindungsart wird i.d.R. beim Streamen oder Durchführen von Video-Konferenzen genutzt ?
Breitband-Internetverbindung
Beschreiben Sie das ISO-OSI-Referenzmodell anhand seiner Schichten. Machen Sie dazu eine kurze Skizze.
Definition über 7 Schichten: Informationsaustausch zwischen den verschiedenen Schichten für Nutzer unsichtbar
Schicht 1: Bitübertragungsschicht
—> Übertragung von Bits über Kommunikationskanal
Schicht 2: Sicherungsschicht
—> Übertragung von Datenrahmen (Frames), Empfangsbestätigung, Erkennung & Verhinderung von Übertragungsfehlern und Datenstau
Schicht 3: Vermittlungsschicht
—> Übertragung von Paketen, Vermittlung Verbindung von Sender zu Empfänger
Schicht 4: Transportschicht
—> Übertragung von Datensegmenten, erste Endpunkt-zu-Endpunkt- Verbindung (Kommunikation zwischen Quelle und Empfänger)
Schicht 5: Sitzungsschicht
—> Übertragung und Synchronisation von Daten
Schicht 6: Darstellungsschicht
—> Übertragung von Daten, Berücksichtigung von Syntax, Kompression (MP3) und Verschlüsselung
Schicht 7: Anwendungsschicht
—> Übertragung von anwendungsspezifischen Daten, Kommunikation zwischen Anwendungen/Diensten wie E-Mail
Was ist eine Mac-Adresse ? Auf welcher Schicht wird diese benötigt bzw. ausgewertet ?
Jede Netzwerkschnittstelle eines Gerätes, das am Ethernet- Netzwerk betrieben wird, (z.B. Netzwerkkarten im PC oder Ethernet-CP-Baugruppen in einer SPS), haben eine weltweit eindeutige Ethernet-Adresse → MAC-Adresse (Media AccessControl) dient dazu, die einzelnen Teilnehmer im Ethernet- Netzwerk zu identifizieren bzw. anzusprechen.
—> Schicht 2: Sicherungsschicht
Erläutern Sie das Schichtenmodell betrieblicher Anwendungssysteme und ordnen Sie jeder Schicht mögliche Umsetzungstechnologien zu.
Schichten verteilter Anwendungen:
Präsentationsschicht
—> Visualisierung der Anwendung für den Nutzer
Stellt die Schnittstelle zum Anwender dar (GUI)
Anwendungslogikschicht
—> “Datenverarbeitung” je nach Geschäftsbereich
Abildung der Anwendungslogik durch Bearbeitung und Beantwortung der Anfragen des Clients
Datenhaltungsschicht
—> Datenzugriffsschicht, Datenspeicher
Zugriff und Verwaltung der Daten der Anwendung
ASP.NET und ADO.NET
ASP.NET:
(ActiveServerPages) ist eine auf .NET basierende Bibliothek (d.h. Bündelung von Techniken) für die Programmierung von Webseiten, Webanwendungen und Webservices.
ADO.NET:
ist ein Application Interface (API)
Um es nutzen zu können: Implementierung (Treiber) notwendig !
ADO besteht aus zwei Konzepten:
Connected Layer → Methoden, um auf der Datenbank selbst zu operieren
Disconnected Layer → operiert wird auf einer lokalen Kopie (Selectionsabfragen)
Was wird unter dem Begriff “Objektorientierung” verstanden ?
ein Denkansatz, bei dem Programme als Menge von über Nachrichten kooperierenden Objekten organisiert werden und jedes Objekt Instanz (Ausprägung) einer Klasse ist.
Weiterentwicklung einer benutzerdefinierten Datenstruktur, ähnlich den menschlichen Denkstrukturen
Im Unterschied zur ‚klassischen‘ strukturierten Programmierung → Objekt = Daten + Algorithmen, d.h. Zusammenfassung von Daten und Funktionalitäten
Erläutern Sie die Begriffe Datenkapselung, Polymorphie und Vererbung.
Datenkapselung:
Verbergen der inneren Struktur eines Objekts
Polymorphie (Vielgestaltigkeit):
eine gleichnamige Methode kann auf unterschiedliche Objekte angewendet werden.
Vererbung:
Objektklassen können als Basis für andere Klassen dienen; die abgeleiteten Klassen „erben“ die Elemente der Ursprungsklasse → in C# initiiert über Doppelpunkt, Beispiel : class PKW : Fahrzeug
Erläutern Sie den Begriff “Vererbung” anhand eines C# Sourcecode-Beispiels
class Fahrzeug { public void Starten() { } }
class Auto : Fahrzeug { public void Hupen() { } }
// Nutzung
Auto meinAuto = new Auto();
meinAuto.Starten(); // Erbt von Fahrzeug
meinAuto.Hupen(); // Eigene Methode
Beschreiben Sie die Begriffe “Klasse” und “Objekt”. Finden Sie hierzu ein Beispiel und erläutern Sie dieses in C#-Notation.
Klasse:
Eine Vorlage oder ein Bauplan für Objekte.
Definiert Eigenschaften (Variablen) und Methoden (Funktionen).
Objekt:
Eine Instanz einer Klasse.
Repräsentiert eine konkretes Ding oder eine Entität.
Welche Sichtbarkeiten / Zugriffsmodifikatoren von Klassen, Methoden und Eigenschaften sind Ihnen bekannt ? Was bedeuten diese ?
Public: unbeschränkt
Protected: innerhalb der Klasse und der darauf abgeleiteten Klassen
Internal: innerhalb des aktuellen Objektes
Internal Protected: innerhalb des aktuellen Projektes oder der abgeleiteten Klasse
Private: nur innerhalb der Klasse
Beschreiben Sie den Lebenszyklus eines Objektes anhand eines Beispiels in C#.
Referenzierung - eine Objektvariable wird deklariert, sie verweist momentan noch auf null
CKunde kunde1;
Instanziierung - Objektvariable zeigt auf einen konkreten Wert
kunde1 = new CKunde() ;
Initialisierung - Datenfelder der Objektvariable werden gefüllt
kunde1.anrede = “Frau”;
Arbeiten mit dem Objekt - es wird auf Eigenschaften und Methoden des Objektes zugegriffen
label1.text = kunde1.adresse();
Zerstören - Objekt wird deferenziert, der belegte Speicherplatz wird wieder freigegeben
kunde1 = null;
Warum ist ein Fehlerhandling so wichtig ? Welche Möglichkeiten im C# Umfeld haben Sie kennen gelernt ?
Fehlerhandling gewährleistet die Stabilität und Zuverlässigkeit von Anwendungen durch die Behandlung unerwarteter Situationen.
Fehlerbehandlung mit try und catch, um zur Laufzeit ! des Programms Abstürze zu verhindern. (Just-in-Time-Compiler)
Wie sieht der allgemeine Aufbau eines C#-Programms aus ?
Der allgemeine Aufbau eines C#-Programms umfasst:
1. Namespaces:
- Definition von Namespaces zur Organisation von Code.
2. Klassen:
- Definition einer Klasse als Hauptbaustein des Programms.
3. Main-Methode:
- Einstiegspunkt des Programms, wo die Ausführung beginnt.
4. Anweisungen:
- Anweisungen innerhalb der Main-Methode, die die eigentliche Logik des Programms enthalten.
Welche Basis-Datentypen haben Sie kennen gelernt ?
Und wie erfolgt die Deklaration von Variablen ?
Deklaration von Variablen:
Deklaration: muss immer explizit erfolgen, d.h. sie müssen vor dem Gebrauch mit einem Datentyp innerhalb von Methoden- und Anweisungsblöcken deklariert werden
Deklaration erfolgt unter Verwendung spezieller Schlüsselwörter
Nach der Deklaration muss den Variablen ein Wert zugewiesen werden (!), andernfalls verweigert der Compiler die Arbeit → es erfolgt keine automatische Vorinitialisierung !
Welches sind die wichtigsten Fenster im Developer Studio und welche Funtkionen stellen diese im Groben bereit ?
Code-Editor:
Hier wird der Quellcode bearbeitet und geschrieben.
Visueller Editor:
Ermöglicht die visuelle Gestaltung von Benutzeroberflächen oder anderen visuellen Elementen.
Projektmappen-Explorer:
Zeigt die Struktur des Projekts und der Dateien an.
Eigenschaftsfenster:
Zeigt die Eigenschaften des ausgewählten Elements im Projekt an.
Toolbox:
Enthält eine Sammlung von Steuerelementen, Werkzeugen und Komponenten, die in der Entwicklung verwendet werden können.
Fehlerliste
Erleichtert das Auffinden und Beheben von Fehlern im Code.
Wie sieht die Architektur eines klassischen C#-Programmes aus ?
besteht aus:
using Bibliothek
namespace NAME {} der Anweendung
class NAME {Kopf und Rumpf einer Klasse}
static void main () {Kopf und Rumpf der ersten Methode}
MethodenNAME1 {Kopf und Rumpf weiterer Methoden}
Wie können Sie ihr Projekt um Funktionalität, z.B. von anderen, parallel arbeitenden Gruppen, erweitern ? Welche Schritte sind durchzuführen ?
(Hinzufügen —> Vorhandenes Element - Übung 3, KPI-Bibliothek)
Kontakt mit der Gruppe aufnehmen und Code erhalten.
In Visual Studio Projekt öffnen.
Klicken Sie mit der rechten Maustaste auf das Projekt -> "Hinzufügen" -> "Vorhandenes Element".
Wählen Sie die Dateien aus und fügen Sie sie hinzu.
Überprüfen, anpassen und integrieren.
Build und Test durchführen.
Projektdokumentation aktualisieren.
Bei Bedarf Versionskontrolle aktualisieren.
Welche Formen bezüglich des Einsatzes von Programmiersprachen für dynamische Programmiersprachen haben Sie kennengelernt ? Beschreiben Sie diese bitte anhand einer Skizze.
Welches sind die Vor- und Nachteile dieser Formen ?
Clientseitige Programmierung:
-> moderne Webbrowser habne die Möglichkeiten, selbst Benutzeranfragen zu qualifizieren
Vorteile: Schnelle Interaktion, Entlastung des Servers.
Nachteile: Begrenzte Datenverarbeitung, Sicherheitsrisiken.
Serverseitige Programmierung:
-> Anfragen, die der Client dem Server stellt, werden von serverseitigen Programmen für den Client bedarfsgerecht aufbereitet
Vorteile: Mehr Leistung, Datenverarbeitung, Datenbankinteraktion, Sicherheit.
Nachteile: Höhere Serverlast, langsamerer Entwicklungsprozess.
Was versteckt sich hinter dem Begriff HTML5?
HTML5 : (fünfte Fassung der Hypertext Markup Language)
bezeichnet die clientseitigen Techniken hinter Webseiten.
HTML5 liefert Technologien für moderne Websites des sog. „Web 2.0“,
stellt für Audio und Video eine eigene Semantik zur Verfügung,
Sammelbegriff für HTML, CSS und JavaScript.
Spezifikation ist kompatibel zu den älteren Standards HTML3 und HTML4 sowie XHTML
C# hat sich als .Net-Sprache etabliert. Welche Vorteile haben Sie für die Anwendung von C# kennengelernt?
gute Entwicklung für Internet- und Windows-Applikationen,
wird in vielen Informationssystemen, vor allem im Ingenieursbereich, als Schnittstelle angeboten (z.B. Inventor, SAP .Net-Connector)
Standard !! (anders als VB und VBA Microsoft)
plattformunabhängig ! (Handy, PDA, Spielkonsolen etc.)
ermöglicht die Erstellung von Client- und Server-Applikationen und den Zugriff auf Datenbanken
hat einen Wiedererkennungseffekt zum VB(A),
erlaubt die Erstellung von (Web-)Diensten unter SOA#Paradigmen ( Internet der Dienste)
viele Techniken sind im Rahmen des IDE (Integrated Development Environment) wiederverwendbar
Programmiersprachen können durch einen Interpreter oder einen Compiler in Maschinencode übersetzt werden.
Welche Vorteile bringt jede Übersetzungsmethode mit sich?
Compiler:
allgemein schnellere Ausführung
ursprünglicher Code in der Regel nicht mehr rekonstruierbar Schutz des Quelltextes
breiter Einsatz für Programmierung von Betriebssystemen, Anwendungsprogrammen: C, C++, C#, Pascal/Delphi, FORTRAN
Interpreter:
langsamere Ausführung wegen Aufwand für Übersetzung
Laufzeitfehler durch Syntaxfehler möglich Quelltext des Programmes bleibt sichtbar: kein Schutz, aber offen für beliebige Anpassungen durch Dritte
Aber: plattformunabhängige Programme (überall wo Interpreter läuft)
Einsatz im Web, als Skriptsprachen zur Ausführungssteuerung
Perl, PHP, JavaScript, VBScript, Python, Visual Basic
Zuletzt geändertvor einem Jahr