Systemprogrammierung Desktop-Anwendungen programmieren Web Programmierung Programmbibliothek-, Plattform-, Framework-, Core-Programmierung Verteilte Anwendungen programmieren Informatik
Systemprogrammierer kümmern sich um die „Wissenschaft” des Programmierens und nicht die spezifischen Anwendungsmöglichkeiten. Lege dich nicht auf eine bestimmte Plattform fest.     Hierfür solltest du verstehen,  wie Betriebssysteme installiert werden. wie man verschiedene Betriebssysteme auf einem PC installieren kann (optional, aber empfehlenswert). wie man mehr als ein Betriebssystem installiert. Installiere dabei keine Hilfspakete, sondern verwende ausschließlich die von den Betriebssystemen bereitgestellte Grundfunktionalität.   des Betriebssystems deiner Wahl. Später dann solltest du dich auch über Assembler anderer Plattformen und Systeme informieren  Beachte vor allem die Standard Template Library (STL) und eventuell auch die Active Template Library (ATL).     Dies ist einfacher für UNIX-basierte Betriebssysteme. Arbeite dich sehr genau in die Funktionsweise deines Betriebssystems ein. Erstelle zuerst kleinere Systemprogramme. Es ist normalerweise sinnvoll,  kleinere Dienstprogramme nachzugestalten, die bereits auf deinem System sind. Dienstprogramme, die auf anderen Betriebssystemen laufen, auf dein System zu migrieren. Nur hierbei ist die erste erlernte Programmiersprache entscheidend. Lerne zuerst ANSI C, nicht C++, nicht C#, nicht Java und auch nicht D. Lerne erst dann C++. Die erste Programmiersprache allein auf C festzulegen ist sinnvoll, da die Systemprogrammierung die Kenntnis folgender Konzepte verlangt:  Eigentliche und vollständige Kompilierung von Quelltext. Low-level Objekt Ausgabedateien Zusammenfügen von Binärdateien. Low-level Maschinensprache bzw. Assembler-Programmierung. Als Assembler lässt sich C einfacher erlernen. C ist wie der Assembler eine prozedurale Programmiersprache und es lassen sich in C auch Assembleranweisungen in regulären Code integrieren. Die meisten Desktop-Programmierer schreiben Code für Business-Lösungen. Es spart dir also jede Menge Zeit, wenn du dich über das Unternehmen deines Klienten und die organisatorischen und finanzielle Strukturen erkundigst. Ein Einführungskurs über digitale Schaltkreise und Rechnerarchitektur kann nützlich sein. Für einige mag dies jedoch für den Einstieg zu komplex sein. Für den Anfang reicht es auch, wenn du zwei oder drei Tutorials zu diesem Thema durcharbeitest. Du kannst dann später zu diesem Schritt zurückkehren, nachdem du deine erste Programmiersprache gelernt hast. Scheue dich nicht, eine solche Sprache zu lernen, nur weil du jetzt älter und kein Kind mehr bist. Ein Beispiel für solche Programmiersprachen ist Scratch. Solche Programmiersprachen machen es dir um einiges leichter, deine erste Programmiersprache zu erlernen. Dieser Schritt ist optional. Du kannst ihn auch vor dem vorhergehenden Schritt machen.  Kenntnisse in prozeduralen Sprachen werden dir später nützlich sein, egal für welche Sprache du dich später entscheidest. Die meisten Programmierer berichten, dass prozedurales Programmieren der einfachste Einstieg in die Welt des Programmierens ist.  Du kannst dazu die Übungen machen, die in verschiedenen Büchern über Programmiersprachen zu finden sind. Verwende dazu eine geeignete Software, um die Programme in deiner gewählten Programmiersprache zu schreiben. Gehe sicher, dass du die folgenden Konzepte gut verstehst und sie relativ einfach anwenden kannst, bevor du fortfährst:  Eingabe und Ausgabe von Information an die Anwender eines Programms. Logischer Fluss und Ausführungsfluss von Programmen, die in prozeduralen Sprachen geschrieben wurden. Deklarieren, Zuordnen und Vergleichen von Variablen. Branching durch if..then..else und select/switch..case. Loop-Anweisungen wie while..do, do..while/until, for..next. Die Syntax deiner Programmiersprache, um Prozeduren und Funktionen zu erzeugen und aufzurufen. Verschiedene Datentypen und wie man sie bearbeitet. Benutzerdefinierte Datentypen (records/structs/units) und ihre Anwendung. Befasse dich mit Funktionsüberladung, wenn deine Programmiersprache dies unterstützt. Speicherzugriffsfunktionen der Sprache deiner Wahl (Zeiger, Peeking, usw.) Arbeite dich in die Überladung von Bezeichnern ein, wenn deine Sprache dies unterstützt. Arbeite dich in Delegat- und Funktionszeiger ein, wenn deine Sprache dies unterstützt. Objekt-orientiertes Paradigma. Es wird empfohlen, eine Programmiersprache aus jedem Programmierparadigma zu lernen. So machen das die meisten Programmierer. Beginne mit einer Sprache, arbeite eine Weile damit und wende dein erlerntes Wissen an. Nachdem du einige Erfahrungen mit realen Projekten gesammelt hast, eignest du dir weitere Sprachen an. Versuche es mit Sprachen aus den folgenden Bereichen:  Logisches Programmierparadigma. Funktionales Programmierparadigma. Liste die Stärken und Schwächen einer jeden auf. Versuche dazu Folgendes:  Schreibe einige einfache Programme, die du in deiner ersten Programmiersprache geschrieben hast, noch einmal neu, aber dieses Mal in deiner zweiten Programmiersprache. Erstelle ein neues Projekt und versuche es mit beiden Programmiersprachen zu implementieren. Je nach Projekt und Sprache kann es jedoch sein, dass du das Projekt nicht mit einer der Sprachen realisieren kannst! Schreibe eine Kurzübersicht oder erstelle eine Vergleichstabelle zwischen ähnlichen Sprachkonstrukten und den Eigenheiten einer jeden Sprache. Versuche einen Weg zu finden, wie du die Funktionalitäten, die nur eine der Sprachen kennt, mit der anderen realisieren kannst. Fast alle Programmiersprachen haben Versionen oder Programmbibliotheken, die visuelle Programmierung oder das Programmieren auf der Konsole unterstützen. Die folgenden Schritte können dir dabei helfen:  Befasse dich mit ereignisorientierter Programmierung. Die meisten visuellen Sprachen bauen in gewisser Hinsicht auf Events und Event-Handling auf. Probiere so viele Desktop-Anwendungen aus, wie du kannst, und versuche zu verstehen, was jedes Programm bewerkstelligt. Die meisten Softwareentwickler bieten Beta-Versionen ihrer Produkte an, die du verwenden kannst, um die Software zu testen. Bleibe immer auf dem neuesten Stand der Entwicklungen für Benutzeroberflächen. Lies einige Artikel oder Tutorials über graphische Benutzeroberflächen durch. Versuche deine Fähigkeiten auf alltägliche Probleme anzuwenden. Du kannst zum Beispiel Programme schreiben, die viele Dateien auf einmal umbenennen, die Textdokumente visuell miteinander vergleichen, oder die Dateinamen innerhalb eines Verzeichnisses in den Speicher oder ein Textdokument schreiben. Fange klein an. Verwende dazu die visuellen Programmiertechniken, die du dir bislang angeeignet hast.   Dies ist besonders hilfreich für Programmierer, die ansprechende Benutzeroberflächen gestalten möchten. Die Programmierung von Spielen wird größtenteils zur Desktopanwendungs-Programmierung gezählt. Wenn du beabsichtigst, Spieleprogrammierer zu werden, musst du dich weiter in diese Materie einarbeiten, nachdem du diese Schritte befolgt hast. Ein Lehrgang in Grafischer Darstellung ist zwingende Voraussetzung für Spieleprogrammierer. Die zweite Programmiersprache sollte eine logische bzw. funktionale Programmiersprache sein (vorzugsweise Prolog oder Lisp). Web-Applikationen sind Softwarekomponenten, die auf der Internet-Architektur aufbauen. Das bedeutet, dass auf die Anwendungen von einem Browser wie Firefox oder Internet Explorer zugegriffen wird. Nur weil diese Anwendungen auf der Internetarchitektur aufgebaut werden, heißt dies nicht, dass man eine aktive Internetverbindung benötigt. Es bedeutet nur, dass die Web-Anwendungen mittels Webstandards entwickelt wurden, wie zum Beispiel:  HTTP FTP POP3 SMTP TCP IP-Protokolle HTML XML Coldfusion ASP JSP PHP ASP.NET Klicke mit der rechten Maustaste auf einen freien Seitenbereich und wähle dann „Seitenquelltext anzeigen“, oder drücke F12. Es kommt auf unterschiedliche Website-Typen und unterschiedliche Inhalten an, nicht allein auf die Anzahl besuchter Webseiten. Du solltest dabei mindestens eine der folgenden Webseiten-Typen besuchen:  Unternehmenshomepages und Onlinepräsenzen von gewerblichen Unternehmen, gemeinnützigen Organisationen und staatlichen Einrichtungen Webindizierungsdienste wie Suchmaschinen, Metasuchmaschinen, spezialisierte Suchmaschinen, Webverzeichnisse Data-Mining-Dienste Private Homepages Online-Enzyklopädien und Nachschlageseiten, z.B. Wikis, Verzeichnisse von Datenblättern, technischen Spezifikationen und Handbüchern, Blogs und Zeitschriften, Nachrichtenseiten, Seiten von Nachrichtenagenturen, Gelbe Seiten, usw. Soziale Webseiten, z.B. soziale Netzwerke, Social Bookmarking-Dienste, Social Notetaking-Dienste Kollaborative Seiten (dies umfasst auch einige der o.g. Kategorien, etwa Wikis und Blogs) Brainstorming-Diagramme zu erstellen. wie man Web-Diagramme, Sitemaps und Navigationsstrukturen erstellt. Versuche, dich wenigstens in ein Bildbearbeitungsprogramm einzuarbeiten (optional, aber sehr empfehlenswert) Dazu gehören unter anderem:  Grundlegende Webprotokolle (HTTP, FTP, SMTP, POP3 oder IMAP4) Webserver-Software (am besten für die Plattform, mit der du am häufigsten arbeiten wirst) Webbrowser Mail-Server und Mail-Clients Du kannst auch “What You See Is What You Get” (WYSIWYG) Programme für die HTML-Bearbeitung nutzen.   Die meisten Anwender lernen JavaScript. Andere lernen VBScript, die allerdings mit den meisten Browsern nicht kompatibel ist. Versuche, dein Potential nur mit dieser Sprache allein auszureizen. Gehe erst dann zum nächsten Schritt über, wenn du mit deiner clientseitigen Skriptsprache vertraut geworden bist. Wenn du dich auf eine Serversoftware festgelegt hast, lerne eine der Programmiersprachen, die von dieser Software unterstützt werden. Hast du dich noch nicht festgelegt, lerne mindestens eine Programmiersprache für jede Serversoftware.   Core-Programmierer sind lediglich fortgeschrittene Programmierer, die vom Programmieren von Anwendungen auf die Programmierung von Code-Einheiten umgestiegen sind, die von anderen Programmierern verwendet werden.  Die meisten Entwickler von Programmbibliotheken nutzen eine oder beide Sprachen.  Je mehr Programmierparadigmen und -sprachen du dabei abdeckst, umso erfolgreicher wirst du als Programmbibliotheks- oder Paketentwickler.   Versuche, so weit wie möglich standardisierten Code zu schreiben. Gerade in der frühen Lernphase als Programmbibliotheks- oder Paketprogrammierer kann dies von Nutzen sein. Arbeite zunächst mit einfachen Paketen wie Einheitsumrechnern und semiprofessionellen wissenschaftlichen Rechnern. Wenn du Student bist, kannst du die Gleichungen und die wissenschaftlichen Eckdaten deiner Kurse in eine Programmbibliothek zusammenfassen. Lade zunächst die Binärcodes oder ausführbaren Dateien des Pakets herunter. Verwende diese Pakete und finde ihre Stärken und Schwächen heraus. Nachdem du das gemacht hast, lade dir den Quelltext herunter und versuche herauszufinden, wie die Pakete erstellt wurden. Versuche diese Programmbibliotheken oder Teile davon selber zu erstellen. Versuche dies zunächst, nachdem du dir den Quelltext angesehen hast, und später dann, ohne den Quelltext vorher gesehen zu haben. Zu einem späteren Zeitpunkt kannst du versuchen, diese Bibliotheken zu verbessern. Programmbibliotheks- und Paketprogrammierer beleuchten ein Projekt normalerweise von allen Seiten, um alle denkbaren Probleme zu entdecken, mit denen sie konfrontiert werden können. Versuche, jedes Problem als eine Menge kleinerer Probleme, eine Abfolge einfacher Schritte, bzw. als ein sich wiederholender Prozess zu sehen, durch den das ursprüngliche Problem in kleinere Sinneinheiten zerlegt wird und diese einzelnen Herausforderungen dann hierarchisch geordnet werden. Programmbibliotheks- und Paketprogrammierer verallgemeinern häufig. Wenn sich ihnen also ein bestimmtes, einfaches Problem stellt, denken sie normalerweise an ein allgemeineres Problem und versuchen dieses allgemeine Problem zu lösen, wodurch automatisch auch das kleinere Problem gelöst wird. Dieses Teilgebiet wird von vielen gefürchtet, da es als besonders schwer zu erlernen gilt und vielfältige Kenntnisse in Computer- und Kommunikationstechnologien erfordert. Dieser Schritt ist optional, aber sehr hilfreich um Netzwerktopologien zu verstehen. Hubs, Switches und Routern. Du brauchst eine solide Grundlage über das Open-Systems-Interconnection-Modell, Ethernet, IP, TCP, UDP und HTTP bevor du verteilte Anwendungen programmieren kannst.  Unter Windows wäre dies jede Skriptsprache, die unter dem Windows Scripting Host funktioniert. Unter Linux reichen Bash-Scripte und Perl aus. Für beide Plattformen ist es sehr empfehlenswert, JavaScript zu lernen, denn:  es wird von jedem Scripting Host unter jedem Betriebssystem unterstützt (Der Windows Scripting Host unterstützt standardmäßig JavaScript. Die meisten Linux Distributionen kommen mit einem Paket, das das Programmieren mit Javascript auf der Konsole ermöglicht. es ist recht leicht zu erlernen. seine Syntax ist von ALGOL abgeleitet. Dies erleichtert dir das Erlernen anderer Programmiersprachen (C, C++, C#, Java und J# bauen alle auf der ALGOL Syntax auf). Ein nützlicher Nebeneffekt ist, dass du dich gleichzeitig mit der clientseitigen Programmierung von Webseiten vertraut machst! Später kannst du dann fortgeschrittene Programmiertechniken und -paradigmen deiner Skriptsprache verwenden. Alle Skriptsprachen beinhalten gewisse prozedurale Programmierelemente. Einfache Kommunikationen reichen aus. Arbeite dazu einen kurzen Einführungskurs durch. Für viele Programmierer ist Java die Programmiersprache Nummer eins. C# ist allerdings rasch auf dem Vormarsch. Java und C# sind aus den folgenden Gründen zu bevorzugen:  Sie sind objekt-orientierte Programmiersprachen, die Programmierer in größeren Teams von den Implementationsdetails abschirmen, da sie Komponenten (vorkompilierte Codeeinheiten, die eine bestimmte Aufgabe erfüllen und in anderen Programmen verwendet werden können) unterstützen. Sie unterstützen ereignisgesteuerte Programmierung und zum Teil auch objektorientierte und prozedurale Programmierung. Das Framework, auf dem die Sprache aufbaut, ist von Haus aus verteilt (im Fall von Java). Es gibt viele vorgefertige Pakete für die Netzwerkarbeit, sowohl Open-Source-Lösungen als auch in das Framework integrierte Pakete. Dies erleichtert es Programmierern, auf der Arbeit anderer aufzubauen. Überspringe Themen wie Ausgabe, Fensterdesign und -techniken und andere Einzelheiten über Benutzeroberflächen. Lies dazu entsprechende Bücher, arbeite Online-Tutorials durch oder besuche einen Kurs an der Hochschule. Ein Verständnis der Architektur von verteilten Anwendungen und ihrer Begriffe ist wichtig.  Es wird empfohlen, dass du dir zunächst für alle Grundkenntnisse verschaffst. Die meisten Programmierer von verteilten Anwendungen belassen es nicht dabei, nur eine oder zwei Sprachen zu lernen, sondern lernen mindestens eine Programmiersprache für jedes der großen Betriebssysteme. Das kommt daher, dass sie für “verteilte” Anwendungen für jedes der großen Betriebssysteme eine Version bereitstellen sollten.  Common Object Request Broker Architecture (CORBA) Simple Object Access Protocol (SOAP) Asynchronous JavaScript and XML (AJAX) Distributed Component Object Model (DCOM) .NET Remoting XML Web Services Informatiker sind fortgeschrittene Programmierer, die daran arbeiten, Computertechnologien wie Verschlüsselungen, Programmiersprachen und Data-Mining-Algorithmen zu entwickeln, anstatt lediglich Anwendungen zu programmieren. Dieses Niveau erreicht man selten ohne Fleiß und ein Hochschulstudium. Dazu kannst du:  ein Informatikstudium aufnehmen (dies ist der Regelfall). dir die Studienpläne eines Informatikstudiums ansehen und die Kurse entweder im Selbststudium erarbeiten oder als eigenständige Kurse belegen. Theoretisch ist dies eine Möglichkeit, aber praktisch solltest du dich eher für die zuvor genannte Variante entscheiden. Je spezieller, desto besser. Dies hängt natürlich von deinen Präferenzen ab. Hier ist eine Auflistung der größten Teilgebiete der Informatik:  Entwicklung von Algorithmen (z.B. Suchen, Ordnen, Verschlüsselung, Entschlüsselung und Fehlerdetektion in Kommunikationen) Programmiersprachen, Compilerentwicklung, Optimierung Künstliche Intelligenz (Mustererkennung, Spracherkennung, Sprachverarbeitung, neurale Netzwerke) Robotik Wissenschaftliches Programmieren Supercomputing Computer Aided Design und Computer Aided Modeling (CAD/CAM) Virtuelle Realität Computergrafik (nicht zu verwechseln mit Grafikdesign oder dem Design von grafischen Benutzeroberflächen. Computergrafik ist ein Teilgebiet der Informatik, das sich mit der computergestützten Erzeugung und Bearbeitung von Grafiken in Computersystemen befasst). Vielleicht möchtest du einen Master oder gar einen Doktor in Informatik machen? 
Mache dich mit dem Gebiet der Systemprogrammierung vertraut. Folge den ersten drei Schritten für die Programmierung von Desktopanwendungen. Belege einen Einführungskurs in Linearer Algebra. Belege einen Kurs in Analysis. Belege einen Kurs in Logik und/oder Diskreter Mathematik. Arbeite dich in verschiedene “bare-metal” Architekturen ein. Belege eine Kurs über Rechnerarchitektur (oder lies dir alternativ dazu ein Buch zu diesem Thema durch). Entwickle eine Verständnis für die unterschiedlichen Computerhardwareplattformen. Gewinne ein grundlegendes Verständnis von der Assemblersprache der Hardwareplattform, bzw. Lerne ANSI C und C++, einschließlich der Konzepte des prozeduralen Programmierens. Verstehe, wie C/C++ Standardprogrammbibliotheken auf der Plattform deiner Wahl erstellt werden. Suche nach Online-Ressourcen, Büchern und Lehrgängen, um die Eigenheiten von C auf deiner speziellen Plattform kennen zu lernen. Schreibe komplexeren Code mit C und C++. Arbeite mit komplexeren Assemblern. Belege einen Kurs über die Erstellung von Betriebssystemen. Lies dir die Dokumentation der Plattform deiner Wahl durch. Wende dein angeeignetes Wissen an. Lerne Sprachen in der Reihenfolge, in der sie dir am nützlichsten sind. Mache dir klar, worum es sich bei der Programmierung von Desktop-Anwendungen handelt. Informiere dich über die verschiedenen Rechnerarchitekturen. Lerne eine Programmiersprache, die für Anfänger, beziehungsweise Kinder geeignet ist. Lies eine Einführung zu prozeduralen, objekt-orientierten und funktionalen Programmierparadigmen. Belege einen Einführungskurs in einer der prozeduralen Programmiersprachen. Lerne mindestens eine fortgeschrittene Modelliertechnik, wie etwa UML oder ORM. Beginne damit, kleinere Konsolenanwendungen oder ähnliche Anwendungen zu schreiben. Belege einen Fortgeschrittenenkurs für deine gewählte Programmiersprache. Wende die fortgeschrittenen Techniken an, die du gelernt hast. Belege einen Einführungskurs in mindestens einer weiteren Programmiersprache aus einem anderen Programmierpradigma. Versuche, die beiden Programmiersprachen, die du bisher gelernt hast, miteinander zu vergleichen. Lerne visuelle Programmierung mit einer der Sprachen, die du beherrschst. Wende dein Wissen auf kleinere Softwareentwicklungsprojekte an. Stelle dir deine eigene “Abschlussprüfung”. Baue deine Kenntnisse über die Visual Library aus, mit der du dich bisher beschäftigt hast, indem du fortgeschrittene Kurse besuchst, besonders auf jedes einzelne Detail achtest und dir Tipps und Tricks für dein Visual Framework aus Online-Tutorials abschaust. Halte nach anderen Programmbibliotheken für visuelle Elemente für deine Programmiersprache Ausschau, und befasse dich mit ihnen. Belege einen Kurs in Grafischer Darstellung (nicht Grafikdesign). Werde ein Spieleprogrammierer (optional). Mache dich damit vertraut, was zur Web-Programmierung gehört. Schaue dir viele unterschiedliche Webseiten an, um herauszufinden, wie sie grundsätzlich aufgebaut sind. Lerne mindestens eine Brainstorming-Methode und verwende eine Software wie MS Visio, um damit z.B. Mache dich mit dem Strukturieren von Webseiten vertraut, d.h. Mache einen Grafikdesign-Crashkurs. Erlerne die Grundzüge der Internet-Infrastruktur. Lerne HTML und CSS. Lerne XML und XML-verwandte Technologien, wie etwa XSL und XPath (optional, aber empfehelnswert). Erstelle einfache, statische Webseiten, bis du vertraut und sicher im Umgang mit HTML bist. Lerne eine clientseitige Skriptsprache. Mache dich mit der clientseitigen Skriptsprache vertraut. Erlerne mindestens eine serverseitige Programmiersprache. Erstelle ein Pilotprojekt für dich allein, sobald du die serverseitige Programmiersprache beherrschst. Erstelle deine eigene Webseite und entdecke, was du mit deiner eigenen Seite machen kannst. Mache dich damit vertraut, was Core-Programmierung ist. Lerne eine Programmiersprache, die es dir erlaubt, wiederverwendbare Komponenten oder Pakete zu erstellen (falls du das nicht schon gemacht hast). Belege einen Kurs über UML und ORM. Belege einen Kurs über Softwareentwicklung. Beschäftige dich zumindest mit modularen, komponentenbasierten, objekt-orienterten und ereignisgesteuerten Programmiertechniken und Begriffen. Lerne mehr über die unterschiedlichen Betriebssysteme und Programmiergerüste, die von diesen Betriebssystemen unterstützt werden. Lege dein Hauptaugenmerk beim Lernen auf plattformunabhängige Programmiergerüste, -sprachen und -technologien. Wenn die Programmiersprachen, die du bisher gelernt hast, die ANSI-, ISO-, IEEE-, W3C-Standards unterstützen, beherrsche diese Standards. Versuche, einfache, bereits etablierte Programmbibliotheken nachzugestalten, insbesondere Open-Source-Bibliotheken. Suche nach Open-Source-Paketen in deinem gewünschten Feld. Lerne die verschiedenen Herangehensweisen, mit denen Programmierer die Komponenten verteilen und verwenden. Befasse dich mit dem Programmieren von verteilten Anwendungen. Arbeite eine kurze Einführung in Telefoniesysteme und ihre Hardware durch. Mache dich mit Netzwerkarchitekturen und -geräten vertraut, wie z.B. Belege einen Kurs über Netzwerkprotokolle und -grundlagen. Lerne XML. Lerne eine Shell Skriptsprache. Nutze anfangs nur die prozedurale Programmierung deiner ersten Skriptsprache. Schreibe in deiner Skriptsprache Skripte für Maschine-Maschine-Kommunikationen. Steige auf eine Desktop-Programmiersprache um, am besten auf eine Multiparadigmen-Programmiersprache wie Python. Beschränke dich zunächst auf die Kernfunktionen der Sprache, insbesondere auf solche für die Netzwerkunterstützung. Belege einen Kurs über die Entwicklung von verteilten Anwendungen und Softwarearchitekturen. Mache dich damit vertraut, wie man Serviced Components und Windows-Systemdienste mit deiner gewählten Porgrammiersprache erstellt. Beherrsche eine oder mehrere der folgenden Technologien. Informiere dich, was ein Informatiker macht. Erarbeite dir die wissenschaftlichen Grundlagen, wie man sie in einem grundständigen Studiengang Informatik erhält. Wähle ein Spezialgebiet. Überlege dir, einen weiterführenden Studiengang zu belegen. Lerne die Technologien und Programmiersprachen, die zu deinem gewählten Fachgebiet gehören.
https://www.wikihow.com/Become-a-Programmer https://www.wikihow.com/Become-a-Programmer https://www.wikihow.com/Become-a-Programmer https://www.wikihow.com/Become-a-Programmer https://www.wikihow.com/Become-a-Programmer https://www.wikihow.com/Become-a-Programmer
System Programming Desktop Application Programming Web Programming Library/Platform/Framework/Core Programming Distributed Applications Programming Programming Science