Ein Programmierer zu werden ist ein kumulativer Prozess, der Tag für Tag und Jahr und Jahr für Jahr aufbaut und die Programmierung lustig und lohnt sich (geistig, spirituell und finanziell). Dieser Anleitung verspricht nicht, eine magisch einfache Möglichkeit, Programmierer zu werden, und die Reihenfolge der Schritte ist nicht heilig, aber Sie erhalten einen allgemeinen Umriss, wie ein Programmierer in einem der modernen Programmierfelder wird.
Schritte
1.
Nehmen Sie einen einführenden Kurs in einem (oder allen von ihnen) der folgenden Disziplinen ein:- Logik
- Diskrete Mathematik
- Programmiersprache (Nehmen Sie eine Rolle in die verschiedenen Programmierparadigmen ein, beginnend von sequentiellen / prozedur zu objektorientiert, nach funktionaler und logischer Programmierung. Bevorzugt Ruby / Python / Pascal für Anfänger und nach einigen guten Verstehens tiefer in c ++ / c # / java)
Expertenkipp
Gen Linetsky, MS
Startup-Gründer & Engineering DirectorGene Linetsky ist ein Startup-Gründer- und Software-Ingenieur in der San Francisco Bay. Er hat seit über 30 Jahren in der Tech-Branche tätig und ist derzeit der Director of Engineering in Pynt, einem Technologieunternehmen, das Smart Point-of-Sale-Terminals für Unternehmen gebaut hat.
Gen Linetsky, MS
Startup-Gründer & Engineering Director
Fühlen Sie sich nicht so, als müssten Sie einen kodierenden Grad verdienen müssen. Während der Einnahme von Kursen in einer Programmiersprache kann hilfreich sein, Gene Linetsky, Software-Ingenieur und Startup-Gründer, sagt: "Es ist eigentlich fragbar, ob ein Grad weh tut oder hilft. Denken Sie stattdessen an die Programmierung als eine Ausbildung - es ist meistens daran, aus Ihren Fehlern zu lernen."

2. Erlernen Sie Datenbankkonzepte wie Tabellen, Ansichten / Abfragen und Prozeduren. Sie können ein einfaches Datenbankpaket verwenden, um dies zu tun, z
Ms ZugangDb vFox ProParadoxMySQL ist eine gute Datenbank, um zu erfahren, da es frei ist, allgemein verwendet, und Datenbanken werden allgemein mit SQL-Abfragen zugegriffen
3. Entscheiden Sie sich, welche Art von Programmierer Sie sein möchten. Programmierer fallen im Allgemeinen unter einen der folgenden Kategorien:
WebprogrammiererDesktop-AnwendungsprogrammiererBetriebssystem (OS) orientierter Programmierer (gebunden an ein einzelnes Betriebssystem oder ein einziges Betriebssystem oder ein Satz von Betriebssystemen)Platform-unabhängiger ProgrammiererVerteilter Anwendungen-ProgrammiererBibliothek / Plattform / Framework / Core-ProgrammiererSystemprogrammiererKernel-ProgrammiererTreiberprogrammiererCompiler-ProgrammiererWissenschaftler programmieren
4. Erlernen Sie die Technologien und Programmiersprache, die sich auf Ihr Programmierbereich der Wahl befinden. In den folgenden Abschnitten werden die Aufgaben für verschiedene Programmierarten abgebrochen.
Methode 1 von 6:
Web Programmierung
1.
Wissen, welche Webprogrammierung beinhaltet.Webanwendungen sind Softwarekomponenten, die auf der Spitze der Internet-Architektur arbeiten konzipiert werden. Dies bedeutet, dass die Anwendungen über eine Webbrowser-Software wie Firefox oder Internet Explorer aufgerufen werden. Auf der Spitze der Internetarchitektur erstellt zu werden, erfordern nicht unbedingt eine aktive Verbindung zum Internet. Dies bedeutet, dass Webanwendungen auf Standard-Web-Technologien aufgebaut sind, wie z
- Http
- FTP
- Pop3
- Smtp
- TCP
- IP Protokolle
- Html
- XML
- Kühlfusion
- Asp
- JSP
- PHP
- Asp.NETZ

2
Durchsuche Viele diverse Websites, um darüber zu erfahren, wie sie normalerweise aussehen. (Rechtsklick, dann auf Quelle anzeigen oder drücken Sie F12.) Suchen Sie nach Vielfalt in der Art / Inhalte der Website, nicht die Menge der besuchten Websites. Im Allgemeinen müssen Sie mindestens eine von jeder der folgenden Arten von Websites besuchen:
Unternehmensgegenstandsstandorte (kommerzielle Konzerne, gemeinnützige Unternehmens- / Organisationen, staatliche Organisationen)Web-Indexierungsmotoren (Suchmaschinen, META-Suchstandorte, spezialisierte Suchmaschinen, Verzeichnisse)Data Mining-SitesPersönliche WebsitesInformations- / enzyklopädische Seiten (Wikis, Datenblätter, technische Spezifikationen und Handbücher Auflistungsverzeichnisse, Blogs und Zeitschriften, Nachrichten- und Nachrichtenagenturen, gelbe Seiten usw.)Soziale Sehenswürdigkeiten (soziale Portale, Lesezeichenstätten, Notizseiten)Collaborative-Sites (hierzu gehören andere oben erwähnte Kategorien wie Wikis und Blogs)
3. Erfahren Sie mindestens eine Brainstorming Technik / Methode und eine Software, die zur Implementierung dieser Methode verwendet wird. Zum Beispiel: Brainstorming-Diagramme und MS-Visio.

4. Machen Sie sich mit der Website-Strukturierung vertraut.Dies erstellt konzeptionelle Webdiagramme, Site-Maps und Navigationsstrukturen.

5. Machen Sie einen Absturzkurs zum Grafikdesign. Versuchen Sie, mindestens ein Grafik-Bearbeitungs- / Manipulationssoftware-Paket zu erlernen (optional, aber stark empfohlen)

6. Erlernen Sie die Grundlagen der Internetinfrastruktur. Dies beinhaltet das Erhalten einer Grundidee von:
Base Web Services-Protokolle (HTTP, FTP, SMTP und POP3 oder IMAP4)Webserver Software (vorzugsweise eine für die Plattform, an der Sie meistens arbeiten werden)Web-Browser-Software.E-Mail-Server und Clientsoftware
7. Lernen Sie die HTML- und CSS-Sprachen. Sie möchten auch das bekommen "Was Sie sehen, ist das, was Sie bekommen (WYSIWYG)" Softwarepaket zum Bearbeiten von HTML.

8. Erlernen Sie XML- und XML-verwandte Technologien, z. B. XSL und XPath (optional, aber empfohlen).

9. Erstellen Sie einfache statische Websites, bis Sie mit der Umgebung vertraut sind Html.

10.
Erlernen Sie eine clientseitige Skriptsprache. Die meisten Benutzer lernen jаvascript. Etwas lernen
Vbscript, Dies ist jedoch nicht mit den meisten Browsern kompatibel.

11. Machen Sie sich mit der kundenseitigen Skriptsprache vertraut, die Sie gelernt haben. Versuchen Sie, Ihr Potenzial nur mit dieser Sprache zu erreichen. Gehen Sie nur zum nächsten Schritt, nachdem Sie sich zumindest mit Ihrer clientseitigen Skriptsprache vertraut gemacht haben.

12. Erfahren Sie mindestens eine serverseitige Programmiersprache. Wenn Sie sich entscheiden, sich auf eine Server-Software einzuschränken, lernen Sie eine der von dieser Software unterstützten Programmiersprachen ein. Wenn nicht, lernen Sie mindestens eine Programmiersprache auf jeder Server-Software.

13
Erstellen Sie ein Pilotprojekt für sich selbst, nachdem Sie die serverseitige Programmiersprache erlernten.

14
Methode 2 von 6:
Desktop-Anwendungsprogrammierung
1.
Wissen Sie, was Sie mit der Desktop-Anwendungsprogrammierung einsetzen.Die meisten Desktop-Programmierer schreiben Code für Business-Lösungen, sodass eine Idee von Unternehmen, ihre Organisations- und Finanzstruktur, ein großes Erhalten
Zeitersparnis.

2.
Erfahren Sie mehr über die verschiedenen Computer-Hardware-Architekturen. Ein Einführungsniveau in
digitale Schaltungen Design und ein anderes in
Rechnerarchitektur ist nützlich - aber einige sehen es jedoch als fortgeschritten für einen Startpunkt, sodass zwei oder drei Tutorial-Artikel (z. B
Dieses hier und
Dieses hier) könnte ausreichen. Dann können Sie später zu diesem Schritt zurückkehren, nachdem Sie Ihre erste Programmiersprache erfahren haben.

3. Erlernen Sie einen Einstiegsstufen (Kinder) Programmiersprache. Seien Sie nicht schüchtern, um eine solche Sprache zu lernen, nur weil Sie älter sind als als "Kind". Ein Beispiel für diese Programmiersprachen kann kratzt werden. Diese Programmiersprachen können den Schmerz lindern, um Ihre erste Programmiersprache enorm zu erlernen. Dieser Schritt ist jedoch optional. Es kann auch vor dem vorhergehenden Schritt erfolgen.


5. Nehmen Sie einen einführenden Kurs in einem der Prozedurprogrammiersprachen. Egal in welcher Sprache Sie spart, um Ihre Wahlsprache zu sein, es erfordert eine prozessurale Programmierung auf einem beliebigen Niveau. Die prozedurale Programmierung wird auch von den meisten Programmierern berichtet, um die am einfachsten zu bedienen, um die Idee der Programmierung im Allgemeinen zu erhalten.

6. Erlernen Sie mindestens eine fortschrittliche Modellierungstechnik wie UML oder ORM.

7. Seit schreiben Sie einige kleine Konsolen- oder Konsolen-ähnliche Anwendungen.Sie können gemeinsame kleine Übungen in der Programmiersprache Bücher nutzen. Wählen Sie dazu ein Tool zum Schreiben von Programmen in der Programmiersprache, in die Sie schreiben.

8. Nehmen Sie einen fortgeschritteneren Kurs in der gewählten Programmiersprache. Stellen Sie sicher, dass Sie die folgenden Konzepte gut verstehen, und dass Sie sie mit relativer Leichtigkeit anwenden können, bevor Sie nach vorne gehen:
Informationen an Benutzer eines Programms eingeben und ausgeben.Der logische Fluss und der Ausführungsfluss von Programmen in Verfahrenssprachen.Anklagen, Zuordnen und Vergleich von Variablen.Verzweigungs-Programmierkonstrukte wie z..dann..sonst und auswählen / wechseln..Fall.Schleifenkonstrukte wie während..tun, tun..während / bis, für..Nächster.Ihre Programmiersprache Syntax zum Erstellen und Anrufen von Verfahren und Funktionen.Datentypen und manipulieren sie.Benutzerdefinierte Datentypen (Aufzeichnungen / Strukturen / Einheiten) und deren Verwendung.Wenn Ihre Sprache unterstützt Überlastungsfunktionen, es verstehen.Der Speicherzugriffsmethoden Ihrer Wahlsprache (Anhänger, spähen etc.)Wenn Ihre Sprache unterstützt Operatoren überlastet, es verstehen.Wenn Ihre Sprache Delegierte / Funktionszeiger unterstützt, verstehen Sie es.
9. Wenden Sie die fortgeschrittenen Techniken an, die Sie gelernt haben.

10. Nehmen Sie einen einführenden Kurs in mindestens einem mehr Programmiersprache In einem anderen Programmierparadigma. Es wird empfohlen, eine Programmiersprache jedes Paradigma zu lernen, und die meisten fortschrittlichen Programmierer tun Sie jedoch in der Regel mit einem, funktionieren für eine Weile, die Ihr Wissen anwendet und sie praktizieren, und lernen Sie das andere später, nachdem Sie bereits ein echtes hatten -Life Erfahrung in der Programmierung.Versuchen Sie eine der folgenden Sprachbereiche:
Logik-Programmierparadigm.Funktionelles Programmierparadigm.Objektorientiertes Paradigma.
11. Versuchen Sie, die beiden bisher gelernten Programmiersprachen zu vergleichen. Bewerten Sie die Stärken und Schwächen jedes einzelnen. Normalerweise erfolgt dies von:
Einfache Muster Ihrer frühzeitigen Arbeit in der ersten Programmiersprache und schreiben Sie sie mit der zweiten Programmiersprache erneut.Erstellen eines neuen Projekts und versuche es mit beiden Sprachen umzusetzen. Je nach Wahl der Projekt- und Sprachen können Sie das Projekt möglicherweise nicht in einer der Sprachen implementieren!Schreiben eines Cheat-Blatt- oder Summary-Tabellenvergleichs zwischen ähnlichen Konstrukten in den beiden Sprachen und Funktionen, die für jede der Sprachen eindeutig sind.Versuchen Sie, Wege zu Mimic-Funktionen zu finden, die für eine der beiden Sprachen mit der anderen Sprache eindeutig sind.
12. Lernen visuell Programmierkonzepte mithilfe eines der gelernten Sprachen. Fast alle Programmiersprachen verfügen über Versionen / Bibliotheken, die die visuelle Programmierung und andere unterstützen, die die Konsole oder die konsolenartige Programmierung unterstützen. Dies kann erreicht werden durch:
Erhalten Sie eine Einführung in die ereignisgesteuerte Programmierung. Die meiste visuelle Programmierung setzt auf ein gewisser Ebene auf Ereignisse und Ereignisse ab (mit der Programmiersprache, die Sie auswählen).Versuchen Sie es mit so vielen Desktop-Software wie möglich und verstehen Sie, was die Software tut. Die meisten Softwareentwicklungsunternehmen bieten Beta-Testversionen ihrer Produkte an, mit denen Sie die Software testen können. Bleiben Sie auf dem neuesten Stand der Benutzeroberfläche Fortschritte.Lesen Sie einige Artikel oder Tutorials auf grafischen Benutzeroberflächen.
13. Beginnen Sie mit dem Anwenden Ihres Wissens über kleine Softwareprojekte, die Sie entwerfen. Versuchen Sie, Ihre Programmierkompetenz auf Probleme anzuwenden, die Sie in Ihrem täglichen Leben ansprechen. Schreiben Sie beispielsweise Programme, die Dateien in Masse umbenennen, speichert Textdateien visuell, kopiert die Namen von Dateien in einem Verzeichnis in die Speicher- / Textdatei, und solche Dinge. Halten Sie es zunächst einfach.

14. Einen virtuellen erstellen Abschlussprojekt. Führen Sie dies bis zum Ende ab und wenden Sie die Techniken der visuellen Programmierung an, die Sie bisher gelernt haben.

fünfzehn. Erweitern Sie Ihr Verständnis des von Ihnen gelernten visuellen Rahmens / der Bibliothek / das Paket, das Sie gelernt haben, indem Sie fortgeschrittene Kurse annehmen, zusätzlich auf Details und Erlernen mehr Tipps und Tricks für Ihren Rahmen aus Online-Ressourcen.

16. Suchen Sie nach anderen Paketen / Bibliotheken von visuellen Elementen für Ihre Programmiersprachen und erfahren Sie sie.

17. Nehmen Sie einen Kurs in Grafiken (nicht Grafikdesign). Es ist sehr hilfreich für Programmierer, die ansprechende Benutzeroberflächenelemente schreiben möchten.

18.
Erwägen Sie, ein Spielerprogrammierer zu werden (optional).Spiel Die Programmierung gilt in den meisten Teilen der Teile, der Desktop-Programmierung. Wenn Sie vorab werden, ein Spielerprogrammierer zu werden, müssen Sie mehr über die Game-Programmierung erfahren, nachdem Sie diese Schritte fertiggestellt haben. Ein Grafikkurs ist ein Muss für Game-Programmierer und die zweite Wahlsprache in den vorhergehenden Schritten sollte eine logische / funktionale Programmiersprache sein (vorzugsweise Prolog oder Lisp).
Methode 3 von 6:
Verteilte Anwendungen Programmierung
1.
Programme verteilte Anwendungen programmieren. Verteilte Anwendung Die Programmierung gilt von vielen als einer der schwierigsten zu lernen und erfordert vielfältiges Wissen in Computer- und Kommunikationstechnologien.

2. Machen Sie eine Geschwindigkeitseinführung in Telefonie Systeme und ihre Hardware. Dieser Schritt ist optional. Es ist jedoch sehr nützlich, Netzwerktopologien zu verstehen.

3. Machen Sie sich mit Networking-Hardware-Architekturen und -geräten wie Hubs, Switches und Routern vertraut.

4.
Nehmen Sie einen Kurs in Networking-Protokollen und Wesentlichen. Sie brauchen ein gutes Verständnis der
Open Systems Interconnection (OSI) Modell, Ethernet, IP, TCP,
UDP und http, bevor Sie mit der Programmierung verteilter Anwendungen starten.

5. Erlernen Sie die XML-Sprache und vertraut sich mit ihm vertraut.

6. Beginnen Sie mit dem Lernen einer Shell-Scripting-Sprache. Für die Windows-basierte Programmierung wäre das jedes Skript, das mit Windows Scripting-Host arbeitet. Für Linux-basierte Programmierung reichen Bash-Skripts und Perl aus. jаvascript wird in beiden Plattformen aus folgenden Gründen dringend empfohlen:
Es wird von fast jedem Skripthost in einem beliebigen Betriebssystem unterstützt (Windows Scripting Host unterstützt jаvascript standardmäßig, die meisten Linux-Distributionen verfügen über ein Paket für jаvascript-Scripting-Konsolen-Support.).Es gilt, von vielen Entwicklern einfacher zu erlernen.Es verfügt über eine abgeleitete Algol-Syntax, die Sie mit viel mehr anderen Programmiersprachen vertraut, wenn Sie eine zweite Programmiersprache auswählen müssen (C, C++, C #, Java und j # alle haben Algol abgeleitete Syntax).Durch das Lernen von jаvascript vertraut Sie sich mit dem Client-Side-Scripting von Webseiten mit einem Bonus-Nebenwirkung vertraut!
7. Wenden Sie nur die prozedurale Programmierung mit Ihrer Skriptsprache der Auswahl an. Später können Sie weitere erweiterte Programmiertechniken und Paradighs entsprechend Ihrer Skriptsprache verwenden und was er unterstützt. Alle Scripting-Sprachen verfügen auf einigen prozessuralen Programmieraspekten auf einem beliebigen Niveau.

8. Verwenden Sie die Skriptsprache, die Sie gelernt haben, um Skripts zu schreiben, die Kommunikation zwischen den Maschinen ausführen. Erfahren Sie, was dafür notwendig ist. Einfache Kommunikation reicht aus.

9.
Machen Sie einen Transfer auf eine Desktop-Skript- / Programmiersprache. Vorzugsweise eine, die eine mehr-paradigm-Sprache ist, wie z
Python. Machen Sie eine einfache Einführung in diese zweite Sprache. Java wird von den meisten Programmierern in Betracht gezogen, um aus vielen Gründen die Sprache der Wahl zu sein. In diesem Bereich ergibt sich jedoch C # ein Momentum. Java und C # sind aus folgenden Gründen bevorzugt:
Sie sind objektorientierte Programmiersprachen, die Programmierer in großen Teams aus der Implementierungsdetails schützen, da beide Komponenten unterstützt (Codeeinheiten, vorkompiliertes Gerät, das eine bestimmte Aufgabe ausführen und in anderen Programmen verwendet werden kann).Sie unterstützen die ereignisgesteuerte Programmierung sowie die OO- und Prozedurprogrammierung auf einiger Ebene.Der Rahmen, auf dem die Sprache aufgebaut ist, wird von der Natur vertrieben (im Fall von Java).Die Verfügbarkeit vieler bereitgestellter Pakete, mit denen Sie sich befassen Networking, Sowohl als Open-Source-Code als auch eingebaute Rahmenpakete - dies macht es den Programmierern leichter, auf der Arbeit anderer aufzubauen.
10
Konzentrieren Mehr zu den Kernmerkmalen der Sprache, insbesondere derjenigen, die Netzwerke unterstützen. Beachten Sie weniger Aufmerksamkeit auf Benutzeroberflächenelemente wie Ausgabe, Fensterdesign und Techniken sowie Benutzeroberflächenelemente.

11. Nehmen Sie einen Kurs über verteilte Anwendungen Design und Architekturen. Dies kann mit Büchern, Online-Tutorials oder akademischen Kursen erfolgen. Das Verständnis der Architektur von verteilten Anwendungen und seiner Konzepte ist jedoch erforderlich.

12. Erfahren Sie mehr über das Erstellen von Serviced-Komponenten und Dienstleistungen Verwenden Sie Ihre Programmiersprache der Wahl.

13. Lernen Sie eine oder mehrere der folgenden Technologien. Es wird empfohlen, dass Sie mindestens eine Einführung in alle bekommen. Die meisten verteilten Anwendungs-Programmierer stoppen nicht in einer oder zwei Programmiersprachen, erfahren jedoch mindestens eine Programmiersprache in jedem Betriebssystem. Das ist, wenn Sie möchten, dass Ihre Bewerbung sein soll "verteilt", Sie sollten eine Version davon zumindest für jedes große Betriebssystem bereitstellen.
Gemeinsamer Objektanforderungs-Broker-Architektur (Corba) Einfache Objektzugriffsprotokoll (SEIFE)Asynchrones jаvascript und XML (Ajax)Verteiltes Komponentenobjektmodell (Dom).Netto-RemotierungXML-WebdiensteMethode 4 von 6:
Bibliothek / Plattform / Framework / Core-Programmierung
1. Wissen, welche Kernprogrammierung ist.Kernprogrammierer sind lediglich fortgeschrittene Programmierer, die die Übertragung von Programmieranwendungen auf Programmiercodeeinheiten erstellt haben, die von anderen Programmierern verwendet werden sollen.

2. Erlernen Sie eine Programmiersprache, die das Gebäude wiederverwendbare Komponenten / Pakete unterstützt, wenn Sie dies noch nicht getan haben.

3. Nehmen Sie einen fortgeschrittenen Kurs in UML und ORM. Die meisten Bibliotheksentwickler verwenden einen oder beide von ihnen.

4. Einnehmen Softwareentwicklung.

5. Erfahren Sie zumindest modulare, komponentenbasierte, objektorientierte und ereignisgesteuerte Programmiertechniken und -konzepte. Je mehr Programmierparadigmen und Sprachen, die Sie abdecken, desto erfolgreicher werden Sie als Bibliotheks- / Paketprogrammierer.

6. Erfahren Sie mehr über die verschiedenen Betriebssysteme und Programmier-Frameworks, die von diesen Betriebssystemen unterstützt werden.

7. Fokussieren Sie Ihre Lernbemühungen auf plattformunabhängige Frameworks, Programmiersprachen und -technologien.

8.
Wenn die Programmiersprachen, die Sie bisher gelernt haben, haben Ansi/
ISO/
Ieee/
W3c Standardversionen, Master the Standards. Versuchen Sie, den Standardcode, wann immer möglich, verwenden.

9. Versuchen Sie, einfache, bereits etablierte Bibliotheken zu etablieren, insbesondere offene Quellen. Dies ist nützlich in der frühen Phase, um ein Bibliotheks- / Paketprogrammierer zu werden. Beginnen Sie mit einfachen Paketen wie Einheiten Umwandlung und mittlere wissenschaftliche Berechnungen von Paketen. Wenn Sie ein College-Student sind, nutzen Sie Ihre nicht programmierenden Kurse, indem Sie versuchen, ihre Gleichungen und wissenschaftlichen Kern als Bibliotheken umzusetzen.

10. Suchen und ausprobieren Sie Open-Source-Pakete in Ihrem Programmbereich. Download Binaries / Executables des Pakets zuerst. Versuchen Sie, es zu benutzen und seine starken und schwachen Punkte zu finden. Nachdem Sie das getan haben, laden Sie die Quelle herunter und versuchen Sie herauszufinden, wie es fertig ist. Versuchen Sie, diese Bibliotheken oder Teile von ihnen neu zu erstellen. Tun Sie zunächst das, nachdem Sie den Code gesehen und später gesehen, bevor Sie den Code sehen. Versuchen Sie in späteren Phasen, diese Bibliotheken zu verbessern.

11. Erfahren Sie die unterschiedlichen Ansätze, die verwendet werden, um Komponenten an Programmierer zu verteilen und bereitzustellen.
Normalerweise neigen die Programmierer Bibliothek / Paket dazu, rekursiv und / oder iterativ von allen Problemen zu denken, mit denen sie präsentiert werden. Versuchen Sie, jedes Problem als eine Sammlung kleinerer Probleme zu betrachten (eine Folge von einfacheren Aufgaben) oder als wiederholter Prozess, um den Bereich der Problems für kleinere Abkope zu reduzieren und dann diese Skope aufeinander zu stapeln.Bibliotheks- / Paketprogrammierer neigen dazu, zu verallgemeinern. Das heißt, wenn sie mit einem einfachen spezifischen Problem präsentiert wird, denken sie in der Regel an ein allgemeineres Problem und versuchen, dieses allgemeine Problem zu lösen, das automatisch den kleineren lösen wird.Methode 5 von 6:
Systemprogrammierung
1. Verstehen, welche Systemprogrammierung mit sich ergibt.Systemprogrammierer umgehen mit die Wissenschaft Programmierung nicht die spezifischen Implementierungen davon. Binden Sie sich nicht an eine bestimmte Plattform.

2. Folgen Sie den ersten drei Schritten für Desktop-Anwendungen Programmierer.

3. Nehmen Sie einen einführenden Kurs in lineare Algebra.

4. Einnehmen Infinitesimalrechnung.

5. Nehmen Sie einen Kurs in logischer und / oder diskreter Mathematik.

6. Stellen Sie sich den verschiedenen nackten Betriebssystemen vor. Dies kann erfolgen von:
Erhalten Sie eine Idee, wie Betriebssysteme installiert sind.Lernen wie to Installieren Sie verschiedene Betriebssysteme auf einem PC (optional, aber empfohlen).Installieren von mehr als einem Betriebssystem. Installieren Sie keine helfenden Pakete auf den Systemen- und verwenden Sie stattdessen die von den Betriebssystemen bereitgestellten nacktenfunktionalitäten.
7. Nehmen Sie einen Kurs (oder alternativ, lesen Sie Bücher) auf Computerhardwarearchitektur.

8. Entwickeln Sie ein Verständnis der verschiedenen Computer-Hardware-Plattformen.

9. Holen Sie sich eine einführende Einarbeitung mit dem Montagesprache der Hardware-Plattform / Betriebssystem der Wahl. Sie erfahren später die Montage anderer Plattformen / -systeme.

10. Erlernen Sie die Ansi C- und C ++ - Sprachen, zusammen mit den Konzepten der prozeduralen Programmierung.

11.
Verstehen und üben Sie C / C ++ Standardbibliotheken auf der Plattform der Wahl.Achten Sie besonders auf die Standard-Vorlagenbibliothek (
Stecken) und möglicherweise aktive Vorlagenbibliothek (
Atl).

12. Suchen Sie online Ressourcen, Bücher und Kurse, um das C-Geschmack Ihrer spezifischen Plattform zu verstehen.

13. Praxis Erstellen von fortgeschrittenem Code mit C und C++.

14. Erfahren Sie mehr fortgeschrittene Montage.

fünfzehn. Nehmen Sie einen Kurs in Betriebssysteme.

16. Finden und lesen Sie Dokumentationen Ihrer spezifischen Plattform der Wahl.Dies ist einfacher, wenn Sie ein UNIX-basiertes Betriebssystem auswählen. Das System verstehen, mit dem Sie später sehr gut arbeiten werden.

17. Üben Sie Ihr erworbenes Wissen. Erstellen Sie zuerst kleine System-Dienstprogramme. Es ist normalerweise nützlich, um:
Versuchen, kleine Werkzeuge neu zu erstellen, die bereits auf Ihrem System vorhanden sind.Versuchen, die Hilfsprogramme in anderen Betriebssystemen an zu bedienen.
18. Lernen Sie Sprachen in der hilfreichsten Reihenfolge.Dies ist der einzige Ort, an dem die erste Programmiersprache ankommt. Erlernen Sie ansi c zuerst, nicht c ++, nicht c #, nicht java und nicht d. Dann lerne C++.
Die Einschränkung der ersten Sprache in C und C allein ist, dass die Systemprogrammierung die Systemprogrammierung erfordert, dass der Programmierer mit den folgenden Konzepten vertraut ist:Echte und vollständige Kompilierung des Quellcodes.Objektausgabedateien auf niedrigem Niveau.Binaries verknüpfen.Low-Level-Maschinensprache / Montageprogrammierung. Die C-Sprache soll ein getarter / leichter, der Montage von einigen zu lernen. Es unterstützt auch das Einfügen von Montage-Sprachcode im Code, wann immer Sie möchten, und es ist nur prozedural (wie Montage).Methode 6 von 6:
Programmierwissenschaft
1. Wissen, was ein Programmierwissenschaftler tut.Programmierwissenschaftler sind sehr fortschrittliche Programmierer, die anstatt an der Entwicklung von Anwendungen an der Entwicklung von Computing-Technologien wie Verschlüsselung, Programmiersprachen und Data Mining-Algorithmen zu arbeiten. Diese Ebene wird selten ohne akademische Studie und Engagement erreicht.

2. Sammeln Sie das wissenschaftliche Wissen, das einem vierjährigen Grad in der Informatik entspricht. Dies kann entweder erfolgen, entweder von:
Einen tatsächlichen akademischen Grad (was normalerweise passiert).Die Umrisse der Kurse für einen solchen Abschluss von einem der modernen Universitäten und nehmen Sie die Kurse entweder durch Selbststudium oder als separate Kurse ein. Dies könnte theoretisch erreicht werden, aber der empfohlene Pfad ist der erste.
3. Bestimmen Sie ein Spezialgebiet. Je spezifischer, desto besser. Dies hängt von Ihren Präferenzen ab. Hier ist jedoch eine Liste einiger der wichtigsten Themen in der Computerprogrammierwissenschaft:
Algorithmus-Design (Suchen, Sortierung, Verschlüsselung, Entschlüsselung und Fehlererkennung in Kommunikation sind einige Beispiele)Programmiersprachen / Compiler-Design / OptimierungKünstliche Intelligenzfelder (Mustererkennung, Spracherkennung, natürliche Sprachverarbeitung, neuronale Netze)RobotikWissenschaftliche ProgrammierungSuper ComputingComputergestütztes Design / Modellierung (CAD / CAM)Virtuelle RealitätComputergrafiken (Computergrafiken werden in der Regel falsch mit grafischem Design oder grafischem Benutzeroberflächen-Design verwechselt. Computergrafiken ist das Feld des Studiums, wie Sie Grafiken in Computersystemen darstellen und manipulieren.)
4. Erwägen Sie, einen höheren akademischen Grad zu erhalten.Möglicherweise möchten Sie einen Master-Abschluss oder eine Promotion verfolgen.

5. Erlernen Sie die Technologien und Programmiersprache, die sich auf Ihr Programmierbereich der Wahl befinden.
Tipps
Egal welche Art von Programmierung Sie versuchen, oder in welchem Level, in welcher Ebene Sie sein möchten, in Betracht ziehen, den Unterricht in der Schule oder in der lokalen Community College einzunehmen. Seien Sie nicht von Begriffen eingeschüchtert, wie z "Informatik." Jede Klasse, in die Sie einsteigen können, ohne Voraussetzungen, sollten sich darauf konzentrieren, die Grundlagen der Programmierung zu lehren, aber vorher mit dem Ausbilder oder einem Berater zu überprüfen, um sicherzustellen, dass es das ist, was Sie suchen, wenn Sie suchen, als die Klassen mögen "EDV-Kenntnisse" kann sich mehr darauf konzentrieren, mit Büroanwendungen und dergleichen vertraut zu sein.