Programmierer zu werden ist ein kumulativer Prozess des Aufbaus von Fähigkeiten Tag für Tag und Jahr für Jahr in einem unterhaltsamen und lohnenden Bereich (intellektuell, mental und finanziell). Dieser Leitfaden verspricht Ihnen keinen magischen Weg, um mit Leichtigkeit Programmierer zu werden, und die Abfolge der Schritte ist nicht heilig, aber er gibt Ihnen einen allgemeinen Überblick darüber, wie Sie Programmierer in einem der modernen Gebiete werden können.
Schritte
1.
Nehmen Sie an einem Einführungskurs in eine (oder alle) der folgenden Disziplinen teil:- Logik
- Diskrete Mathematik
- Programmiersprachen (vorzugsweise C++/ Java/ Python für Anfänger)
EXPERTENTIPP
Gene Linetsky, MS
Startup-Gründer und technischer Direktor Gene Linetsky ist ein Startup-Gründer und Softwareentwickler in der San Francisco Bay Area. Er arbeitet seit über 30 Jahren in der Technologiebranche und ist technischer Direktor bei Poynt, einem Technologieunternehmen, das intelligente Transaktionssysteme für Unternehmen entwickelt.
Gene Linetsky, MS
Gründer von Startups und technischer Leiter
Denke nicht, dass du studieren musst, um Programmierer zu werden. Es kann hilfreich sein, Kurse in einer Programmiersprache zu belegen, aber Gene Linetsky, Software-Ingenieur und Gründer von Start-ups, sagt: "Ob eine Programmierausbildung hilft oder nicht, ist fraglich. Versuchen Sie stattdessen, Programmieren als eine Art Praktikum zu betrachten – es geht darum, aus Ihren Fehlern zu lernen.`
2. Lernen Sie Datenbankkonzepte wie Tabellen, Ansichten/Abfragen und Prozeduren kennen. Sie können dafür jedes einfache Datenbankpaket verwenden, wie zum Beispiel:
MS-ZugriffDB VFox ProParadoxMySQL ist eine gute Datenbank zum Erlernen, da es kostenlos ist, weit verbreitet ist und auf die häufig über SQL-Abfragen zugegriffen wird3. Entscheiden Sie, welche Art von Programmierer Sie sein möchten. Programmierer fallen normalerweise in die folgenden Kategorien:
WebprogrammiererDesktop-AnwendungsprogrammiererBetriebssystemorientierter Programmierer (gebunden an ein einzelnes Betriebssystem oder eine Reihe von Betriebssystemen)Plattformunabhängiger ProgrammiererVerteilter Anwendungsprogrammierer
Bibliothek/Plattform/Framework/KernprogrammiererSystemprogrammiererKernel-ProgrammiererTreiberprogrammiererCompiler-ProgrammiererInformatiker (wissenschaftlich)
4. Lernen Sie die Technologien und Programmiersprachen in Bezug auf das Programmierfeld Ihrer Wahl. In den folgenden Abschnitten werden die Aufgaben für verschiedene Arten der Programmierung behandelt.
Methode 1 von 6: Webprogrammierung
1.
Was bedeutet Webprogrammierung. Webanwendungen sind Softwarekomponenten, die für den Einsatz an der Spitze der Internetarchitektur entwickelt wurden. Das bedeutet, dass die Anwendungen über Browser-Software wie Firefox oder Internet Explorer aufgerufen werden können. Für die Spitze der Internetarchitektur gebaut zu sein bedeutet nicht unbedingt, dass Sie eine aktive Verbindung zum Internet benötigen. Das bedeutet, dass Webanwendungen auf Standard-Webtechnologien aufbauen, wie zum Beispiel:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- IIP-Protokolle
- HTML
- XML
- kalte Fusion
- ASPI
- JSP
- PHP
- ASPI.EINFACH
2. Schauen Sie sich verschiedene Websites an, um zu erfahren, wie sie im Allgemeinen aussehen. (Klicken Sie mit der rechten Maustaste und klicken Sie dann auf Quelle anzeigen oder drücken Sie F12.) Achten Sie auf Vielfalt in Art/Inhalt der Website, nicht auf der Anzahl der Websites, die Sie anzeigen. Im Allgemeinen müssen Sie sich mindestens eine der folgenden Arten von Websites ansehen:
Websites mit Unternehmenspräsenz (gewerbliche Unternehmen, gemeinnützige Unternehmen/Organisationen, Regierungsorganisationen)Webindexierungsmaschinen (Suchmaschinen, Metasuchseiten, spezialisierte Suchmaschinen, Verzeichnisse)Data-Mining-SitesPersönliche WebsitesInformationsseiten/enzyklopädische Seiten (Wikis, Factsheets, technische Spezifikationen und Handbücher, Blogs und Tagebücher, Websites von Nachrichten- und Nachrichtenagenturen, Gelbe Seiten usw.)Soziale Medien (soziale Portale, Bookmarking-Sites, Notizen-Sites)Zusammengesetzte Websites (einschließlich anderer Kategorien wie Wikis und Blogs)3. Lernen Sie mindestens eine Brainstorming-Technik/-Methode und die Software, die verwendet wird, um diese Methode zu implementieren. Zum Beispiel: Brainstorming-Schemata und MS Visio.
4. Erfahren Sie, wie Sie eine Website einrichten. Du erstellst konzeptionelle Webdiagramme, Sitemaps und Navigationsstrukturen.
5. Machen Sie einen kurzen Kurs in Grafikdesign. Versuchen Sie, mindestens ein Bildbearbeitungsprogramm zu erlernen (optional, aber dringend empfohlen)
6. Lernen Sie die Grundlagen der Internet-Infrastruktur. Dies hat unter anderem zu tun mit einer globalen Idee von:
Zugrundeliegende Webservice-Protokolle (HTTP, FTP, SMTP und POP3 oder IMAP4)Webserver-Software (vorzugsweise für die Plattform, mit der Sie normalerweise arbeiten)Webbrowser-Software.E-Mail-Server und Client-Software7. HTML und CSS lernen. Es ist auch eine gute Idee zu lernen, wie Sie ein HTML-Bearbeitungssoftwarepaket "What You See Is What You Get (WYSIWYG)" verwenden.
8. Lernen Sie XML und XML-bezogene Technologien wie XSL und XPath kennen (optional, aber empfohlen).
9. Erstellen Sie eine einfache statische Website, bis Sie mit HTML vertraut und vertraut sind.
10. Lernen Sie eine clientseitige Skriptsprache. Die meisten Benutzer lernen JavaScript. Einige lernen VBScript, aber dies ist mit den meisten Browsern nicht kompatibel.
11. Stellen Sie sicher, dass Sie mit der erlernten clientseitigen Skriptsprache arbeiten können. Versuchen Sie, Ihr Potenzial nur mit dieser Sprache auszuschöpfen. Fahren Sie erst dann mit dem nächsten Schritt fort, bis Sie zumindest mit der clientseitigen Skriptsprache vertraut sind.
12. Lerne mindestens 1 serverseitige Programmiersprache. Wenn Sie sich auf 1 Form von Serversoftware beschränken möchten, lernen Sie eine der Programmiersprachen, die von dieser Software unterstützt werden. Wenn nicht, lernen Sie mindestens eine Programmiersprache für jede Serversoftware.
13. Erstellen Sie ein Pilotprojekt für sich selbst, nachdem Sie die serverseitige Programmiersprache gelernt haben.
14. Stellen Sie sicher, dass Sie eine eigene Website haben, und experimentieren Sie online auf Ihrer eigenen Seite.
Methode 2 von 6: Desktop-Software programmieren
1. Wissen Sie, worauf Sie sich einlassen, wenn Sie mit der Programmierung von Desktop-Anwendungen beginnen. Die meisten dieser Programmierer schreiben Code für Geschäftsanwendungen, daher ist es ratsam, sich ein Bild von der Geschäftsumgebung, ihrer Organisations- und Finanzstruktur zu machen, damit Sie viel Zeit sparen können.
2.
Erfahren Sie mehr über die verschiedenen Hardwarearchitekturen von Computern. Ein Einführungskurs in digitale Elektronik und andere Computerarchitekturen ist hilfreich; aber das könnte für den Anfang etwas zu viel sein, also lesen Sie einige einführende Tutorials (wie
Dieses hier und
Dieses hier) zuerst genug. Sie können zu diesem Schritt zurückkehren, nachdem Sie eine erste Programmiersprache gelernt haben.
3. Lerne eine Programmiersprache für Einsteiger. Fühlen Sie sich nicht so gut, eine solche Sprache zu lernen, weil Sie kein Kind mehr sind. Ein Beispiel für eine solche Programmiersprache ist Scratch. Diese Programmiersprachen können die Lernkurve etwas weniger steil machen, wenn Sie gerade erst anfangen. Aber dieser Schritt bleibt optional. Sie können dies auch für den vorherigen Schritt tun.
4. Machen Sie eine Einführung in die prozedurale, objektorientierte und funktionale Programmierung.
5. Machen Sie einen Einführungskurs in aprozedurale Programmiersprache. Unabhängig davon, welche Sprache Sie später wählen, ist ein gewisses Maß an prozeduraler Programmierung erforderlich. Außerdem wird die prozedurale Programmierung als der einfachste Einstieg angesehen, um zu verstehen, was Programmieren ist.
6. Lernen Sie mindestens eine fortgeschrittene Form der Modellierung wie UML oder ORM.
7. Beginnen Sie mit dem Schreiben einiger kleiner Konsolen- oder konsolenähnlicher Anwendungen. Sie können die Übungen in Programmierbüchern verwenden. Verwenden Sie eine Programmierumgebung, die für die Programmiersprache Ihrer Wahl geeignet ist.
8. Nehmen Sie an einem Aufbaukurs in der gewählten Programmiersprache teil. Stellen Sie sicher, dass Sie die folgenden Konzepte verstanden haben und sie relativ einfach anwenden können, bevor Sie fortfahren:
Ein- und Ausgabe von Daten an und von Benutzern des Programms.Die Logik und der Arbeitsablauf von Prozedurprogrammen.Variablen deklarieren, zuweisen und vergleichen.Konstruktionen wie If..dann..sonst und Select/switch..Fall.Schleifenkonstrukte wie While..tun, tun..während/bis, For..nächste.Syntax Ihrer Programmiersprache zum Erstellen und Aufrufen von Prozeduren und Funktionen.Datentypen und wie man sie manipuliert.Benutzerdefinierte Datentypen (Records/Structs/Units) und ihre Verwendung.Wenn Sie Sprachüberladungsfunktionen verwenden, versuchen Sie, sie zu verstehen.Die Art und Weise, wie Ihre Programmiersprache den Speicher adressiert (Zeiger, Spähen usw.).)Wenn Ihre Sprachoperatoren überladen sind, versuchen Sie es zu verstehen.Wenn Ihre Sprache Delegaten/Funktionszeiger verwendet, verstehen Sie, wie es funktioniert.9. Wenden Sie die erlernten fortgeschrittenen Techniken an.
10. Machen Sie einen Einführungskurs in mindestens 1 oder mehrere Programmiersprachen in einem anderen Programmierparadigma. Es wird empfohlen, eine Programmiersprache jedes Paradigmas zu lernen, und die meisten fortgeschrittenen Programmierer tun dies auch. Aber normalerweise beginnt man mit einer Sprache, arbeitet eine Weile damit, um sein Wissen anzuwenden und zu üben, und lernt dann eine andere. Probieren Sie einen der folgenden Programmiertypen aus:
Logikprogrammierung.Funktionale Programmierung.Objektorientierte Paradigmen.11. Versuchen Sie, die folgenden zwei Programmiersprachen zu kombinieren, die Sie gelernt haben. Stärken und Schwächen gegeneinander abwägen. Normalerweise machst du folgendes:
Nimm einfache Beispiele deiner bisherigen Arbeit in der ersten Programmiersprache und schreibe sie mit deiner zweiten Programmiersprache um.Erstellen Sie ein neues Projekt und versuchen Sie es in beiden Sprachen zu implementieren. Manchmal ist es je nach Projekt und Sprache nicht möglich, ein Projekt durchzuführen!Schreiben Sie einen Spickzettel oder eine Übersichtstabelle mit Vergleichen zwischen ähnlichen Konstrukten in den beiden Sprachen und Funktionen, die für jede der Sprachen einzigartig sind.Versuche, Möglichkeiten zu finden, Funktionen zu imitieren, die für eine der beiden Sprachen einzigartig sind, indem du die andere Sprache verwendest.12. Lernen Sie visuelle Programmierkonzepte mit einer der Sprachen, die Sie gelernt haben. Fast alle Programmiersprachen haben Versionen/Bibliotheken, die visuelle Programmierung unterstützen und andere unterstützen konsolen- oder konsolenähnliche Programmierung. Dies kann wie folgt erreicht werden:
Erhalten Sie eine Einführung in die ereignisgesteuerte Programmierung. Die meisten visuellen Programmierungen basieren bis zu einem gewissen Grad auf Ereignissen und Ereignisbehandlung (unter Verwendung der gewählten Programmiersprache).Probieren Sie so viel Desktop-Software wie möglich aus und lernen Sie zu verstehen, was die Software tut. Die meisten Softwareunternehmen bieten Betaversionen ihrer Produkte an, mit denen Sie die Software testen können. Versuchen Sie, mit der Entwicklung der Benutzeroberfläche Schritt zu halten.Lesen Sie Artikel oder Tutorials zu grafischen Benutzeroberflächen.13. Beginnen Sie, Ihr Wissen anzuwenden, indem Sie kleine Softwareprojekte entwerfen. Testen Sie Ihre Programmiererfahrung bei Problemen, mit denen Sie im Alltag konfrontiert sind. Zum Beispiel Programme schreiben, die eine große Anzahl von Dateinamen gleichzeitig ändern können, Textdateien visuell vergleichen, die Namen von Dateien in einem Verzeichnis in den Speicher oder in eine Textdatei kopieren usw. Mach es erstmal einfach.
14. Erstellen Sie ein virtuelles "Abschlussprojekt". Vervollständigen Sie dies bis zum Ende und wenden Sie die bisher erlernten visuellen Programmiertechniken an.
fünfzehn. Erweitert Ihr Verständnis des visuellen Frameworks/der Bibliothek/des Pakets, das Sie gelernt haben, bevor Sie zu fortgeschritteneren Kursen wechseln, achten Sie besonders auf Details und lernen Sie mehr Tipps und Tricks für Ihr Framework aus Online-Ressourcen.
16. Suchen und erfahren Sie mehr über andere Pakete/Bibliotheken mit Visuals für Ihre Programmiersprachen.
17. Nehmen Sie an einem Kurs in Grafik (kein Grafikdesign) teil. Dies ist sehr hilfreich für Programmierer, die attraktive Benutzeroberflächenelemente schreiben möchten.
18. Werde Spieleprogrammierer (optional). Das Programmieren von Spielen wird in den meisten Fällen als Desktop-Programmierung betrachtet. Wenn Sie planen, Spieleprogrammierer zu werden, sollten Sie mehr über Spieleprogrammierung erfahren, nachdem Sie diese Schritte befolgt haben. Ein Grafikkurs ist ein Muss für Spieleprogrammierer und die zweite Sprache der Wahl in den vorherigen Schritten sollte eine logische/funktionale Programmiersprache sein (vorzugsweise Prolog oder Lisp).
Methode 3 von 6: Programmieren verteilter Anwendungen
1. Verstehen Sie, was das Programmieren verteilter Anwendungen ist. Die verteilte Anwendungsprogrammierung wird von vielen als die am schwierigsten zu erlernende angesehen und erfordert Kenntnisse in verschiedenen Computer- und Kommunikationstechnologien.
2. Machen Sie einen kurzen Einführungskurs in Telefoniesysteme und zugehörige Hardware. Der Schritt ist optional. Aber es ist sehr nützlich, wenn Sie Netzwerktopologien verstehen möchten.
3. Machen Sie sich mit der Netzwerkarchitektur und Geräten wie Hubs, Switches und Routern vertraut.
4. Nehmen Sie an einem Kurs über Netzwerkprotokolle und ihre Grundlagen teil. Sie benötigen ein gutes Verständnis des Open Systems Interconnection (OSI)-Modells, Ethernet, IP, TCP, UDP und HTTP, bevor Sie mit der Programmierung verteilter Anwendungen beginnen können.
5. Lernen Sie XML, machen Sie sich damit vertraut.
6. Beginnen Sie mit dem Erlernen einer Shell-Skriptsprache. Unter Windows wäre das jedes Skript, das mit dem Windows Scripting Host funktioniert. Unter Linux sind dies Bash-Skripte und Perl. JavaScript wird aus folgenden Gründen für beide Systeme dringend empfohlen:
Es wird von fast jedem Scripting-Host in jedem Betriebssystem unterstützt (Windows Scripting Host unterstützt standardmäßig JavaScript, die meisten Linux-Distributionen haben ein Paket für die Unterstützung der JavaScript-Scripting-Konsole).Es wird von vielen Entwicklern als einfacher zu erlernen angesehen.Es verfügt über eine von ALGOL abgeleitete Syntax, die es einfacher macht, sich mit anderen Programmiersprachen vertraut zu machen, wenn Sie sich für eine zweite Programmiersprache entscheiden (C, C++, C#, Java und J# werden alle von der ALGOL-Syntax abgeleitet).Durch das Erlernen von JavaScript werden Sie mit der clientseitigen Skripterstellung von Webseiten vertraut, was ein sofortiger Bonus ist!7. Beginnen Sie mit der prozeduralen Programmierung mit Ihrer bevorzugten Skriptsprache. Später können Sie je nach Skriptsprache und deren Unterstützung fortgeschrittenere Programmiertechniken und -paradigmen verwenden. Alle Skriptsprachen haben einige Aspekte der prozeduralen Programmierung.
8. Verwenden Sie die Skriptsprache, die Sie gelernt haben, um Skripte zu schreiben, die die Kommunikation zwischen Computern durchführen. Erfahren Sie, was dazu nötig ist. Einfache Kommunikation reicht aus.
9. Wechseln Sie zu Desktop-Skripten/Programmiersprachen. Vorzugsweise eine Sprache mit mehreren Paradigmen wie Python. Folgen Sie einer einfachen Einführung in diese zweite Sprache. Java wird von den meisten Programmierern aus vielen Gründen als die Sprache der Wahl angesehen. Aber C# gewinnt in diesem Bereich schnell an Boden. Java und C# werden aus folgenden Gründen bevorzugt:
Sie sind objektorientierte Programmiersprachen, die Programmierer in großen Teams von Implementierungsdetails abschirmen, da beide Komponenten unterstützen (Codeblöcke, kompiliert, die eine bestimmte Aufgabe erfüllen und in anderen Programmen verwendet werden können).Sie unterstützen ereignisgesteuerte Programmierung, teilweise zusätzlich zu OO und prozeduraler Programmierung.Das Framework, auf dem die Sprache aufgebaut ist, wird verteilt (im Fall von Java).Die Verfügbarkeit vieler Standardpakete im Zusammenhang mit Netzwerken sowie Open-Source-Code und (Framework) integrierte Pakete; Das macht es Programmierern leichter, auf der Arbeit anderer aufzubauen.10. Sie konzentrieren sich mehr auf die Kernfunktionen der Sprache, insbesondere auf die, die Netzwerke unterstützen. Den Elementen der Benutzeroberfläche wie Ausgabe, Fensterdesign und -techniken sowie den Elementen der Benutzeroberfläche wird weniger Aufmerksamkeit geschenkt.
11. Nehmen Sie an einem Kurs zum Design verteilter Anwendungen und Plattformen teil. Dies kann mit Büchern, Online-Tutorials oder akademischen Kursen erfolgen. Es ist jedoch notwendig, die Architektur verteilter Anwendungen und deren Konzepte zu verstehen.
12. Erfahren Sie, wie Sie Komponenten und Dienste mit der Programmiersprache Ihrer Wahl erstellen und warten.
13. Lernen Sie eine oder mehrere der folgenden Technologien. Es wird empfohlen, dass Sie mindestens eine Einführung in jede dieser Funktionen machen. Die meisten verteilten Anwendungsprogrammierer hören nicht bei einer oder zwei Programmiersprachen auf, sondern lernen mindestens eine Programmiersprache für jedes Betriebssystem. Denn wenn Sie Ihre Anwendungen „verteilen“ wollen, müssen Sie für jedes der großen Betriebssysteme mindestens eine Version anbieten.
Common Object Request Broker-Architektur (CORBA)Simple Object Access Protocol (SOAP)Asynchrones JavaScript und XML (AJAX)Verteiltes Komponentenobjektmodell (DCOM).NET-RemotingXML-Webdienste1. Was ist Kernprogrammierung?. Core-Programmierer sind hauptsächlich fortgeschrittene Programmierer, die den Übergang vom Programmieren von Anwendungen zum Programmieren von Codeeinheiten geschafft haben, die von anderen Programmierern verwendet werden können.
2. Lernen Sie eine Programmiersprache, mit der Sie wiederverwendbare Komponenten/Pakete erstellen können, falls Sie dies noch nicht getan haben.
3. Machen Sie einen Fortgeschrittenenkurs in UML und ORM. Die meisten Bibliotheksentwickler verwenden eines oder beide davon.
4. Machen Sie einen Kurs in Software Engineering.
5. Erlernen Sie mindestens modulare, komponentenbasierte, objektorientierte und ereignisgesteuerte Programmiertechniken und -konzepte. Je mehr Programmierparadigmen und Sprachen Sie kennen, desto erfolgreicher werden Sie als Bibliotheks-/Bibliotheks-/Paketprogrammierer.
6. Erfahren Sie mehr über die verschiedenen Betriebssysteme und Frameworks, die von diesen Betriebssystemen unterstützt werden.
7. Konzentrieren Sie Ihre Bemühungen auf plattformübergreifende Frameworks, Programmiersprachen und Technologien.
8. Wenn die erlernten Programmiersprachen den ANSI/ISO/IEEE/W3C-Standardversionen entsprechen, und versuchen Sie diese zu beherrschen. Versuchen Sie, wenn möglich, den Standardcode zu verwenden.
9. Versuche, einfache, bereits etablierte Bibliotheken zu emulieren, insbesondere Open Source. Dies ist in der Anfangsphase nützlich, um Bibliotheks-/Paketprogrammierer zu werden. Beginnen Sie mit einfachen Paketen wie der Einheitenumrechnung und nicht allzu schwierigen wissenschaftlichen Berechnungen. Wenn Sie ein Student sind, nutzen Sie die Kurse ohne Programmierkenntnisse, um Gleichungen und wissenschaftliche Kerne in Programmbibliotheken zu erfassen.

10. Suchen Sie nach Open-Source-Paketen in Ihrem Bereich. Laden Sie zuerst Binärdateien/ausführbare Dateien aus dem Paket herunter. Versuchen Sie, sie zu nutzen und die Stärken und Schwächen zu finden. Wenn Sie damit fertig sind, laden Sie den Quellcode herunter und versuchen Sie herauszufinden, wie er gemacht wurde. Versuchen Sie, diese Bibliotheken/Bibliotheken oder Teile davon zu kopieren. Tun Sie das zuerst, nachdem Sie den Code studiert haben und später, bevor Sie den Code gesehen haben. Bitte versuchen Sie es später noch einmal, um diese Bibliotheken zu verbessern.
11. Lernen Sie die verschiedenen Ansätze kennen, die verwendet werden, um Komponenten an und von Programmierern zu verteilen und bereitzustellen.
Normalerweise neigen Bibliotheks-/Paketprogrammierer dazu, rekursiv und/oder iterativ zu denken, wenn sie ein Problem lösen müssen. Versuchen Sie, sich jedes Problem als eine Ansammlung kleinerer Probleme (eine Abfolge einfacherer Aufgaben) oder als einen wiederholten Prozess vorzustellen, bei dem die Größe des Problems auf kleinere Teilprobleme reduziert und diese Teilprobleme dann übereinander gestapelt werden.Bibliotheks-/Paketprogrammierer neigen dazu, zu verallgemeinern. Das heißt, wenn ihnen ein einfaches spezifisches Problem präsentiert wird, denken sie normalerweise über ein allgemeineres Problem nach und versuchen, dieses allgemeine Problem zu lösen, wobei automatisch auch das kleinere Problem gelöst wird.Methode 5 von 6: Systemprogrammierung
1. Verstehen Sie, worum es bei der Systemprogrammierung geht. Systemprogrammierer Gesicht die Wissenschaft der Programmierung, nicht mit ihrer konkreten Umsetzung. Beschränken Sie sich nicht auf eine bestimmte Plattform.
2. Befolgen Sie die ersten drei Schritte für Desktop-Programmierer.
3. Machen Sie einen Einführungskurs in Lineare Algebra.
4. Machen Sie einen Kurs in Mathematik.
5. Einen Kurs in Logik und/oder diskreter Mathematik belegen.
6. Lernen Sie verschiedene nackte Betriebssysteme kennen. Sie können dies wie folgt tun:
Erfahren Sie, wie Betriebssysteme installiert werden.Erfahren Sie, wie Sie mehrere verschiedene Betriebssysteme auf einem PC installieren (optional, aber empfohlen).Installieren Sie mehr als ein Betriebssystem. Installieren Sie nicht alle Dienstprogramme auf den Systemen; Verwenden Sie stattdessen die vom Betriebssystem bereitgestellte Barebone-Funktionalität.7. Machen Sie einen Kurs (oder lesen Sie alternativ Bücher) über Hardwarearchitektur.
8. Entwickeln Sie ein Verständnis für die anderen Computerhardware-Plattformen.
9. Versuchen Sie, sich mit der Assemblersprache der Plattform/des Betriebssystems Ihrer Wahl vertraut zu machen. Später lernst du die Montage von anderen Plattformen/Systemen.
10. Lernen Sie ANSI C und C++ zusammen mit den Konzepten der prozeduralen Programmierung.
11. Verstehen und üben Sie mit den C/C++-Standardbibliotheken auf der Plattform Ihrer Wahl. Achten Sie besonders auf die Standard Template Library (STL) und eventuell auf die Active Template Library (ATL).
12. Suchen Sie nach Online-Ressourcen, Büchern und Kursen, um die C-Variante für Ihre spezifische Plattform zu verstehen.
13. Üben Sie das Schreiben von fortgeschrittenem Code mit C und C++.
14. Erfahren Sie mehr über die erweiterte Montage.
fünfzehn. Nehmen Sie an einem Betriebssystem-Programmierkurs teil.
16. Suchen Sie nach Dokumentation auf einer bestimmten Plattform Ihrer Wahl. Dies wird einfacher, wenn Sie sich für ein Unix-basiertes Betriebssystem entscheiden. Das Verständnis des Systems, mit dem Sie arbeiten, wird Ihnen später gute Dienste leisten.
17. Üben Sie Ihr erworbenes Wissen. Erstellen Sie zuerst einige kleine Dienstprogramme. Normalerweise ist es nützlich, Folgendes zu tun:
Versuchen Sie, kleine Tools zu erstellen, die sich bereits auf Ihrem System befinden.Ich versuche, die in Betriebssystemen verfügbaren Dienstprogramme in Ihre zu konvertieren.18. Lerne die Programmiersprachen in der sinnvollsten Reihenfolge. Dies ist das einzige Feld, in dem die erste Programmiersprache wichtig ist. Lernen Sie zuerst ANSI C und nicht C++, C# oder Java und nicht D. Erst dann C lernen++.
Die Beschränkung auf C besteht darin, dass die Systemprogrammierung erfordert, dass der Programmierer mit den folgenden Konzepten vertraut ist:
Tatsächliche und vollständige Kompilierung des Quellcodes.Low-Level-Objektausgabedateien.Binärdateien verknüpfen.Low-Level-Maschinensprache/Assembly-Programmierung. Die Sprache C wird von einigen als eine verschleierte oder leichter zu erlernende Form der Assemblierung angesehen. Es unterstützt auch das Einfügen von Assembler-Code in den C-Code bei Bedarf und ist nur prozedural (genau wie Assembly).1. Was machen Informatiker?. Informatiker sind hochentwickelte Programmierer, die, anstatt an Anwendungen zu arbeiten, an der Entwicklung von Computertechnologien wie Verschlüsselung, Programmiersprachen und Data-Mining-Algorithmen arbeiten. Ohne ein akademisches Studium und viel Hingabe kann man dieses Niveau selten erreichen.
2. Holen Sie sich die wissenschaftlichen Kenntnisse, die einem vierjährigen Hochschulabschluss in Informatik entsprechen. Sie können dies tun durch:
Einen Hochschulabschluss anstreben (der naheliegendste Schritt).Verschaffen Sie sich einen Überblick über das Hochschulstudium und absolvieren Sie die verschiedenen Kurse im Selbststudium oder in separaten Kursen. Das ist theoretisch möglich, aber der erste Weg wird empfohlen.3. Wählen Sie eine Spezialisierung. Je genauer, desto besser. Dies hängt von Ihren Vorlieben ab. Hier sind einige der wichtigsten Bereiche der Informatik:
Algorithmusdesign (Suche, Sortierung, Verschlüsselung, Entschlüsselung und Fehlererkennung in der Kommunikation sind einige Beispiele)Programmiersprachen/Compilerdesign/OptimierungKünstliche Intelligenz (Mustererkennung, Spracherkennung, Natural Language Processing, Neuronale Netze)RobotikWissenschaftliche ProgrammierungArbeiten mit SupercomputernComputer Aided Design/Modelling (CAD/CAM)Virtuelle RealitätComputergrafik (Computergrafik wird normalerweise fälschlicherweise mit Grafikdesign oder grafischem Benutzeroberflächendesign verwechselt. Computergrafik ist der Bereich, in dem Sie Bilder in Computersystemen verwenden und manipulieren können.)4. Ziehe in Erwägung, einen Hochschulabschluss zu erwerben. Sie können auch einen Master oder eine Promotion anstreben.
5. Lerne als Programmierer die Technologien und Programmiersprachen, die mit deinem Fachgebiet zu tun haben.
Tipps
Egal welche Art von Programmierung Sie ausprobieren möchten oder auf welchem Niveau, Sie können jederzeit einen Kurs oder Unterricht in der Schule belegen. Lassen Sie sich nicht von Begriffen wie „Informatik“ einschüchtern.Jeder Kurs, den Sie ohne Vorkenntnisse belegen können, sollte sich auf die Grundlagen des Programmierens konzentrieren, aber fragen Sie vorher beim Tutor nach, ob es das ist, wonach Sie suchen, da Kurse wie "Computerkenntnisse" mehr auf den vertrauten Umgang mit Office-Anwendungen, etc..