Programmierung Unter GNU/Linux Für Einsteiger
Total Page:16
File Type:pdf, Size:1020Kb
Programmierung unter GNU/Linux fur¨ Einsteiger Edgar 'Fast Edi' Hoffmann Community FreieSoftwareOG [email protected] 7. September 2016 Programmierung (von griechisch pr´ogramma Vorschrift\) bezeichnet die T¨atigkeit, " Computerprogramme zu erstellen. Dies umfasst vor Allem die Umsetzung (Implementierung) des Softwareentwurfs in Quellcode sowie { je nach Programmiersprache { das Ubersetzen¨ des Quellcodes in die Maschinensprache, meist unter Verwendung eines Compilers. Programmierung Begriffserkl¨arung 2 / 35 Dies umfasst vor Allem die Umsetzung (Implementierung) des Softwareentwurfs in Quellcode sowie { je nach Programmiersprache { das Ubersetzen¨ des Quellcodes in die Maschinensprache, meist unter Verwendung eines Compilers. Programmierung Begriffserkl¨arung Programmierung (von griechisch pr´ogramma Vorschrift\) bezeichnet die T¨atigkeit, " Computerprogramme zu erstellen. 2 / 35 Programmierung Begriffserkl¨arung Programmierung (von griechisch pr´ogramma Vorschrift\) bezeichnet die T¨atigkeit, " Computerprogramme zu erstellen. Dies umfasst vor Allem die Umsetzung (Implementierung) des Softwareentwurfs in Quellcode sowie { je nach Programmiersprache { das Ubersetzen¨ des Quellcodes in die Maschinensprache, meist unter Verwendung eines Compilers. 2 / 35 Programme werden unter Verwendung von Programmiersprachen formuliert ( kodiert\). " In eine solche Sprache ubersetzt\¨ der Programmierer die (z. B. im Pflichtenheft) " vorgegebenen Anforderungen und Algorithmen. Zunehmend wird er dabei durch Codegeneratoren unterstutzt,¨ die zumindest Teile des Programmcodes auf Basis von Modellen (die im Entwurf entstanden sind) automatisch erzeugen. Zu den weiteren Aufgaben von Programmierern z¨ahlen zum Beispiel das Testen (Entwicklertest) seines Programms, das Erstellen der Softwaredokumentation usw. Programmierung Konzepte der Softwareentwicklung 3 / 35 Zunehmend wird er dabei durch Codegeneratoren unterstutzt,¨ die zumindest Teile des Programmcodes auf Basis von Modellen (die im Entwurf entstanden sind) automatisch erzeugen. Zu den weiteren Aufgaben von Programmierern z¨ahlen zum Beispiel das Testen (Entwicklertest) seines Programms, das Erstellen der Softwaredokumentation usw. Programmierung Konzepte der Softwareentwicklung Programme werden unter Verwendung von Programmiersprachen formuliert ( kodiert\). " In eine solche Sprache ubersetzt\¨ der Programmierer die (z. B. im Pflichtenheft) " vorgegebenen Anforderungen und Algorithmen. 3 / 35 Zu den weiteren Aufgaben von Programmierern z¨ahlen zum Beispiel das Testen (Entwicklertest) seines Programms, das Erstellen der Softwaredokumentation usw. Programmierung Konzepte der Softwareentwicklung Programme werden unter Verwendung von Programmiersprachen formuliert ( kodiert\). " In eine solche Sprache ubersetzt\¨ der Programmierer die (z. B. im Pflichtenheft) " vorgegebenen Anforderungen und Algorithmen. Zunehmend wird er dabei durch Codegeneratoren unterstutzt,¨ die zumindest Teile des Programmcodes auf Basis von Modellen (die im Entwurf entstanden sind) automatisch erzeugen. 3 / 35 Programmierung Konzepte der Softwareentwicklung Programme werden unter Verwendung von Programmiersprachen formuliert ( kodiert\). " In eine solche Sprache ubersetzt\¨ der Programmierer die (z. B. im Pflichtenheft) " vorgegebenen Anforderungen und Algorithmen. Zunehmend wird er dabei durch Codegeneratoren unterstutzt,¨ die zumindest Teile des Programmcodes auf Basis von Modellen (die im Entwurf entstanden sind) automatisch erzeugen. Zu den weiteren Aufgaben von Programmierern z¨ahlen zum Beispiel das Testen (Entwicklertest) seines Programms, das Erstellen der Softwaredokumentation usw. 3 / 35 Wasserfallmodell Extreme Programming Scrum Prototyping Testgetriebene Softwareentwicklung Programmierung Entwicklungsmodelle 4 / 35 Extreme Programming Scrum Prototyping Testgetriebene Softwareentwicklung Programmierung Entwicklungsmodelle Wasserfallmodell 4 / 35 Scrum Prototyping Testgetriebene Softwareentwicklung Programmierung Entwicklungsmodelle Wasserfallmodell Extreme Programming 4 / 35 Prototyping Testgetriebene Softwareentwicklung Programmierung Entwicklungsmodelle Wasserfallmodell Extreme Programming Scrum 4 / 35 Testgetriebene Softwareentwicklung Programmierung Entwicklungsmodelle Wasserfallmodell Extreme Programming Scrum Prototyping 4 / 35 Programmierung Entwicklungsmodelle Wasserfallmodell Extreme Programming Scrum Prototyping Testgetriebene Softwareentwicklung 4 / 35 Struktogramm bzw. Nassi-Shneiderman PAP GUI-Prototyping bzw. Mockups Programmierung Zus¨atzliche Werkzeuge und Helfer 5 / 35 PAP GUI-Prototyping bzw. Mockups Programmierung Zus¨atzliche Werkzeuge und Helfer Struktogramm bzw. Nassi-Shneiderman 5 / 35 GUI-Prototyping bzw. Mockups Programmierung Zus¨atzliche Werkzeuge und Helfer Struktogramm bzw. Nassi-Shneiderman PAP 5 / 35 Programmierung Zus¨atzliche Werkzeuge und Helfer Struktogramm bzw. Nassi-Shneiderman PAP GUI-Prototyping bzw. Mockups 5 / 35 Programmierung Beispiel eines Nassi-Shneiderman-Diagramms 6 / 35 Programmierung Beispiel eines Nassi-Shneiderman-Diagramms 6 / 35 Fruher¨ machte man's auf der Konsole Heute gibt es komfortable IDEs Programmierung Entwicklungsumgebungen (IDEs) 7 / 35 Heute gibt es komfortable IDEs Programmierung Entwicklungsumgebungen (IDEs) Fruher¨ machte man's auf der Konsole 7 / 35 Programmierung Entwicklungsumgebungen (IDEs) Fruher¨ machte man's auf der Konsole Heute gibt es komfortable IDEs 7 / 35 Programmierung Entwicklungsumgebungen (IDEs) Fruher¨ machte man's auf der Konsole Heute gibt es komfortable IDEs 7 / 35 Programmierung Entwicklungsumgebungen (IDEs) Fruher¨ machte man's auf der Konsole Heute gibt es komfortable IDEs 7 / 35 Texteditor Compiler bzw. Interpreter Linker Debugger Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ... Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Programmierung Entwicklungsumgebungen (IDEs) 8 / 35 Texteditor Compiler bzw. Interpreter Linker Debugger Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ... Programmierung Entwicklungsumgebungen (IDEs) Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: 8 / 35 Compiler bzw. Interpreter Linker Debugger Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ... Programmierung Entwicklungsumgebungen (IDEs) Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Texteditor 8 / 35 Linker Debugger Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ... Programmierung Entwicklungsumgebungen (IDEs) Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Texteditor Compiler bzw. Interpreter 8 / 35 Debugger Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ... Programmierung Entwicklungsumgebungen (IDEs) Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Texteditor Compiler bzw. Interpreter Linker 8 / 35 Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ... Programmierung Entwicklungsumgebungen (IDEs) Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Texteditor Compiler bzw. Interpreter Linker Debugger 8 / 35 weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ... Programmierung Entwicklungsumgebungen (IDEs) Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Texteditor Compiler bzw. Interpreter Linker Debugger Quelltextformatierungsfunktion 8 / 35 Programmierung Entwicklungsumgebungen (IDEs) Integrierte Entwicklungsumgebungen verfugen¨ in der Regel uber¨ folgende Komponenten: Texteditor Compiler bzw. Interpreter Linker Debugger Quelltextformatierungsfunktion weitere hilfreiche Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung, ... 8 / 35 In erster Linie sind integrierte Entwicklungsumgebungen hilfreiche Werkzeuge, die dem Softwareentwickler h¨aufig wiederkehrende Aufgaben abnehmen, einen schnellen Zugriff auf wichtige Funktionen bieten, mit denen die Arbeits(zwischen)ergebnisse verwaltet und in sp¨atere Bearbeitungsfunktionen direkt uberf¨ uhrt¨ werden k¨onnen. Der Entwickler wird dadurch von formalen Arbeiten entlastet und kann sich ganz auf seine eigentliche Aufgabe, die Softwareentwicklung/Programmierung konzentrieren. Programmierung Entwicklungsumgebungen (IDEs) 9 / 35 einen schnellen Zugriff auf wichtige Funktionen bieten, mit denen die Arbeits(zwischen)ergebnisse verwaltet und in sp¨atere Bearbeitungsfunktionen direkt uberf¨ uhrt¨ werden k¨onnen. Der Entwickler wird dadurch von formalen Arbeiten entlastet und kann sich ganz auf seine eigentliche Aufgabe, die Softwareentwicklung/Programmierung konzentrieren. Programmierung Entwicklungsumgebungen (IDEs) In erster Linie sind integrierte Entwicklungsumgebungen hilfreiche Werkzeuge, die dem Softwareentwickler h¨aufig wiederkehrende Aufgaben abnehmen, 9 / 35 Der Entwickler wird dadurch von formalen Arbeiten entlastet und kann sich ganz auf seine eigentliche Aufgabe, die Softwareentwicklung/Programmierung konzentrieren. Programmierung Entwicklungsumgebungen (IDEs) In erster Linie sind integrierte Entwicklungsumgebungen hilfreiche Werkzeuge,