6 manieren om programmeur te worden

Inhoudsopgave:

6 manieren om programmeur te worden
6 manieren om programmeur te worden

Video: 6 manieren om programmeur te worden

Video: 6 manieren om programmeur te worden
Video: Как перепроверить власть через зажигание в вашем автомобиле 2024, Mei
Anonim

Programmeur worden is een cumulatief proces dat je vaardigheden dag na dag en jaar na jaar opbouwt, en programmeren kan leuk en lonend zijn (mentaal, spiritueel en financieel). Deze gids belooft niet een magisch gemakkelijke manier te zijn om programmeur te worden, en de volgorde van de stappen is niet heilig, maar je krijgt een algemeen overzicht van hoe je een programmeur kunt worden in een van de moderne programmeergebieden.

Stappen

Word een programmeur Stap 1
Word een programmeur Stap 1

Stap 1. Volg een introductiecursus in een (of alle) van de volgende disciplines:

  • Logica
  • Discrete wiskunde
  • Programmeertaal (deelnemen aan de verschillende programmeerparadigma's, beginnend van sequentieel/procedureel tot objectgericht, na functioneel en logisch programmeren. Bij voorkeur Ruby/Python/Pascal voor beginners en na enig goed begrip dieper in C++/C#/Java gaan)

DESKUNDIGE TIP

Gene Linetsky, MS
Gene Linetsky, MS

Gene Linetsky, MS

Startup Founder & Engineering Director Gene Linetsky is a startup founder and software engineer in the San Francisco Bay Area. He has worked in the tech industry for over 30 years and is currently the Director of Engineering at Poynt, a technology company building smart Point-of-Sale terminals for businesses.

Gene Linetsky, MS
Gene Linetsky, MS

Gene Linetsky, MS

Oprichter Startup & Engineering Director

Heb niet het gevoel dat je een codeerdiploma moet halen.

Hoewel het volgen van cursussen in een programmeertaal nuttig kan zijn, zegt Gene Linetsky, een software-engineer en oprichter van startups:"

Word een programmeur Stap 2
Word een programmeur Stap 2

Stap 2. Leer databaseconcepten zoals tabellen, views/query's en procedures

U kunt hiervoor elk eenvoudig databasepakket gebruiken, zoals:

  • MS-Access
  • DB V
  • Fox Pro
  • Paradox
  • MySQL is een goede database om te leren, omdat het gratis is, veel wordt gebruikt en databases vaak worden geopend met SQL-query's
Word een programmeur Stap 3
Word een programmeur Stap 3

Stap 3. Bepaal wat voor soort programmeur je wilt zijn

Programmeurs vallen over het algemeen onder een van de volgende categorieën:

  • web programmeur
  • Desktop applicatie programmeur

    • Besturingssysteem (OS) georiënteerde programmeur (gekoppeld aan een enkel besturingssysteem of een reeks besturingssystemen)
    • Platformonafhankelijke programmeur
  • Gedistribueerde applicaties programmeur
  • Bibliotheek/platform/framework/kernprogrammeur
  • Systeemprogrammeur

    • Kernel programmeur
    • Driver programmeur
    • Compiler programmeur
  • Programmeur wetenschapper
Word een programmeur Stap 4
Word een programmeur Stap 4

Stap 4. Leer de technologieën en programmeertalen met betrekking tot uw programmeergebied naar keuze

In de volgende secties worden de taken voor verschillende soorten programmering opgesplitst.

Methode 1 van 6: Webprogrammering

Word een programmeur Stap 5
Word een programmeur Stap 5

Stap 1. Weet wat webprogrammeren inhoudt

Webapplicaties zijn softwarecomponenten die zijn ontworpen om bovenop de internetarchitectuur te werken. Dit betekent dat de applicaties toegankelijk zijn via een webbrowsersoftware zoals Firefox of Internet Explorer. Om bovenop de internetarchitectuur te worden gebouwd, is niet per se een actieve verbinding met internet vereist. Het betekent dat webapplicaties bovenop standaard webtechnologieën worden gebouwd, zoals:

  • HTTP
  • FTP
  • POP3
  • SMTP
  • TCP
  • IP-protocollen
  • HTML
  • XML
  • koude fusie
  • ADDER
  • JSP
  • PHP
  • ASP. NET
Word een programmeur Stap 6
Word een programmeur Stap 6

Stap 2. Blader door veel verschillende websites om meer te weten te komen over hoe ze er gewoonlijk uitzien

(Klik met de rechtermuisknop en klik vervolgens op Bron weergeven of druk op F12.) Zoek naar diversiteit in het type/inhoud van de website, niet het aantal bezochte websites. Over het algemeen moet u ten minste een van elk van de volgende typen websites bezoeken:

  • Bedrijfsaanwezigheidssites (commerciële bedrijven, non-profit bedrijven/organisaties, overheidsorganisaties)
  • Webindexeringsmachines (zoekmachines, metazoeksites, gespecialiseerde zoekmachines, directory's)
  • Sites voor datamining
  • Persoonlijke sites
  • Informatieve/encyclopedische pagina's (wiki's, datasheets, technische specificaties en handleidingen met directory's, blogs en tijdschriften, sites van nieuws- en persbureaus, gele pagina's, enz.)
  • Sociale sites (sociale portals, bladwijzersites, sites voor het maken van aantekeningen)
  • Samenwerkingssites (dit omvat andere hierboven genoemde categorieën, zoals wiki's en blogs)
Word een programmeur Stap 7
Word een programmeur Stap 7

Stap 3. Leer ten minste één brainstormtechniek/-methode en een software die wordt gebruikt om die methode te implementeren

Bijvoorbeeld: brainstormdiagrammen en MS Visio.

Word een programmeur Stap 8
Word een programmeur Stap 8

Stap 4. Raak vertrouwd met het structureren van websites

Dit is het maken van conceptuele webdiagrammen, sitemaps en navigatiestructuren.

Word een programmeur Stap 9
Word een programmeur Stap 9

Stap 5. Volg een spoedcursus grafisch ontwerp

Probeer ten minste één softwarepakket voor grafische bewerking / manipulatie te leren (optioneel, maar sterk aanbevolen)

Word een programmeur Stap 10
Word een programmeur Stap 10

Stap 6. Leer de basis van de internetinfrastructuur

Dit omvat het verkrijgen van een basisidee over:

  • Basisprotocollen voor webservices (HTTP, FTP, SMTP en POP3 of IMAP4)
  • Webserversoftware (bij voorkeur een voor het platform waar u het meest aan gaat werken)
  • Browsersoftware op het web.
  • E-mailserver en clientsoftware
Word een programmeur Stap 11
Word een programmeur Stap 11

Stap 7. Leer de HTML- en CSS-talen

Misschien wilt u ook het softwarepakket "What You See Is What You Get (WYSIWYG)" aanschaffen voor het bewerken van HTML.

Word een programmeur Stap 12
Word een programmeur Stap 12

Stap 8. Leer XML en XML-gerelateerde technologieën, zoals XSL en XPath (optioneel maar aanbevolen)

Word een programmeur Stap 13
Word een programmeur Stap 13

Stap 9. Maak eenvoudige statische websites totdat u vertrouwd bent met en vertrouwd bent met HTML

Word een programmeur Stap 14
Word een programmeur Stap 14

Stap 10. Leer een client-side scripttaal

De meeste gebruikers leren JavaScript. Sommigen leren VBScript, maar dit is niet compatibel met de meeste browsers.

Word een programmeur Stap 15
Word een programmeur Stap 15

Stap 11. Maak uzelf vertrouwd met de client-side scripttaal die u hebt geleerd

Probeer uw potentieel te bereiken door alleen die taal te gebruiken. Ga pas naar de volgende stap als u op zijn minst vertrouwd bent geraakt met uw client-side scripttaal.

Word een programmeur Stap 16
Word een programmeur Stap 16

Stap 12. Leer ten minste één programmeertaal aan de serverzijde

Als je ervoor kiest om jezelf te beperken tot één serversoftware, leer dan een van de programmeertalen die door die software worden ondersteund. Zo niet, leer dan ten minste één programmeertaal op elke serversoftware.

Word een programmeur Stap 17
Word een programmeur Stap 17

Stap 13. Maak een proefproject voor jezelf nadat je klaar bent met het leren van de server-side programmeertaal.

Word een programmeur Stap 18
Word een programmeur Stap 18

Stap 14. Verkrijg je eigen website en experimenteer online binnen je eigen pagina

Methode 2 van 6: Programmeren van bureaubladtoepassingen

Word een programmeur Stap 19
Word een programmeur Stap 19

Stap 1. Weet waar u aan begint bij het programmeren van desktoptoepassingen

De meeste desktopprogrammeurs schrijven code voor zakelijke oplossingen, dus een idee krijgen van bedrijven, hun organisatorische en financiële structuur zal veel tijd besparen.

Word een programmeur Stap 20
Word een programmeur Stap 20

Stap 2. Leer meer over de verschillende computerhardware-architecturen

Een cursus op inleidend niveau in het ontwerpen van digitale schakelingen en een cursus in computerarchitectuur is nuttig; sommigen zien het echter als geavanceerd voor een startpunt, dus het lezen van twee of drie zelfstudieartikelen (zoals deze en deze) kan voldoende zijn. Dan kun je later teruggaan naar deze stap, nadat je je eerste programmeertaal hebt geleerd.

Word een programmeur Stap 21
Word een programmeur Stap 21

Stap 3. Leer een programmeertaal op instapniveau (voor kinderen)

Wees niet verlegen om zo'n taal te leren, alleen maar omdat je ouder bent dan een "kind" genoemd te worden. Een voorbeeld van deze programmeertalen kan Scratch zijn. Deze programmeertalen kunnen de pijn bij het leren van je eerste programmeertaal enorm verlichten. Deze stap is echter optioneel. Het kan ook vóór de vorige stap worden gedaan.

Word een programmeur Stap 22
Word een programmeur Stap 22

Stap 4. Krijg een inleiding tot de procedure, object georiënteerd, en functionele programmeerparadigma's.

Word een programmeur Stap 23
Word een programmeur Stap 23

Stap 5. Volg een introductiecursus in een van de procedurele programmeertalen

Het maakt niet uit welke taal u later kiest als taal van uw keuze, het vereist op een bepaald niveau procedurele programmering. Bovendien wordt door de meeste programmeurs gerapporteerd dat procedureel programmeren het gemakkelijkst te gebruiken is als startpunt om een idee te krijgen van programmeren in het algemeen.

Word een programmeur Stap 24
Word een programmeur Stap 24

Stap 6. Leer minstens één geavanceerde modelleringstechniek zoals UML of ORM

Word een programmeur Stap 25
Word een programmeur Stap 25

Stap 7. Begin met het schrijven van enkele kleine console- of console-achtige applicaties

U kunt gebruik maken van veel voorkomende kleine oefeningen in programmeertalenboeken. Kies hiervoor een tool voor het schrijven van programma's in de programmeertaal waarin je schrijft.

Stap 8. Volg een meer gevorderde cursus in de door jou gekozen programmeertaal

Zorg ervoor dat u de volgende concepten goed begrijpt en dat u ze relatief gemakkelijk kunt toepassen voordat u verder gaat:

  • Het invoeren en uitvoeren van informatie aan gebruikers van een programma.
  • De logische stroom en de uitvoeringsstroom van programma's in proceduretalen.
  • Variabelen declareren, toewijzen en vergelijken.
  • Vertakkende programmeerconstructies zoals if..then..else en select/switch..case.
  • Looping-constructies zoals while..do, do..while/until, for..next.
  • De syntaxis van uw programmeertaal voor het maken en aanroepen van procedures en functies.
  • Gegevenstypen en het manipuleren ervan.
  • Door de gebruiker gedefinieerde gegevenstypen (records/structs/eenheden) en hun gebruik.
  • Als uw taal overbelastingsfuncties ondersteunt, begrijp het dan.
  • De geheugentoegangsmethoden van uw taal naar keuze (aanwijzers, gluren, enz.)
  • Als uw taal overbelasting van operators ondersteunt, begrijp het dan.
  • Als uw taal afgevaardigden/functieaanwijzingen ondersteunt, begrijp het dan.
Word een programmeur Stap 27
Word een programmeur Stap 27

Stap 9. Pas de geavanceerde technieken toe die je hebt geleerd

Word een programmeur Stap 28
Word een programmeur Stap 28

Stap 10. Volg een introductiecursus in ten minste één andere programmeertaal in een ander programmeerparadigma

Het wordt aanbevolen om van elk paradigma één programmeertaal te leren, en de meeste gevorderde programmeurs beginnen echter meestal met één, werk een tijdje om je kennis toe te passen en te oefenen, en leer de andere later, nadat je al een echte -levenservaring in programmeren. Probeer een van de volgende taalgebieden:

  • Logisch programmeerparadigma.
  • Functioneel programmeerparadigma.
  • Objectgeoriënteerd paradigma.
Word een programmeur Stap 29
Word een programmeur Stap 29

Stap 11. Probeer de twee programmeertalen die je tot nu toe hebt geleerd te vergelijken

Evalueer de sterke en zwakke punten van elk. Meestal gebeurt dit door:

  • Eenvoudige voorbeelden nemen van je vroege werk in de eerste programmeertaal en het herschrijven met de tweede programmeertaal.
  • Maak een nieuw project aan en probeer het in beide talen te implementeren. Soms, afhankelijk van uw projectkeuze en talen, is het mogelijk dat u het project niet in een van de talen kunt implementeren!
  • Het schrijven van een spiekbriefje of samenvattende tabelvergelijkingen tussen vergelijkbare constructies in de twee talen en functies die uniek zijn voor elk van de talen.
  • Probeer manieren te vinden om functies na te bootsen die uniek zijn voor een van de twee talen met behulp van de andere taal.
Word een programmeur Stap 30
Word een programmeur Stap 30

Stap 12. Leer visuele programmeerconcepten met een van de talen die je hebt geleerd

Bijna alle programmeertalen hebben versies/bibliotheken die visuele programmering ondersteunen en andere die console- of console-achtige programmering ondersteunen. Dit kan worden bereikt door:

  • Krijg een inleiding tot evenementgestuurd programmeren. De meeste visuele programmering is op een bepaald niveau afhankelijk van gebeurtenissen en het afhandelen van gebeurtenissen (met behulp van de programmeertaal die u kiest).
  • Probeer zoveel mogelijk desktopsoftware en begrijp wat de software doet. De meeste softwareontwikkelaars bieden bètatestversies van hun producten aan die u kunt gebruiken om de software te testen. Blijf op de hoogte van verbeteringen in de gebruikersinterface.
  • Lees enkele artikelen of tutorials over grafische gebruikersinterfaces.
Word een programmeur Stap 31
Word een programmeur Stap 31

Stap 13. Begin uw kennis toe te passen op kleine softwareprojecten die u ontwerpt

Probeer uw programmeerexpertise toe te passen op problemen waarmee u in uw dagelijks leven wordt geconfronteerd. Schrijf bijvoorbeeld programma's die bestanden massaal hernoemen, tekstbestanden visueel met elkaar vergelijken, de namen van bestanden in een map kopiëren naar geheugen/tekstbestand en dergelijke. Houd het eerst simpel.

Word een programmeur Stap 32
Word een programmeur Stap 32

Stap 14. Maak een virtueel afstudeerproject aan

Voltooi dit tot het einde en pas de technieken van visueel programmeren toe die je tot nu toe hebt geleerd.

Word een programmeur Stap 33
Word een programmeur Stap 33

Stap 15. Verbreed uw begrip van het visuele raamwerk/bibliotheek/pakket dat u eerder hebt geleerd door geavanceerde cursussen te volgen, extra aandacht te besteden aan details en meer tips en trucs voor uw raamwerk te leren van online bronnen

Word een programmeur Stap 34
Word een programmeur Stap 34

Stap 16. Zoek naar andere pakketten/bibliotheken met visuele elementen voor uw programmeertalen en leer ze

Word een programmeur Stap 35
Word een programmeur Stap 35

Stap 17. Volg een cursus grafisch (geen grafisch ontwerp)

Het zal zeer nuttig zijn voor programmeurs die aantrekkelijke elementen voor de gebruikersinterface willen schrijven.

Word een programmeur Stap 36
Word een programmeur Stap 36

Stap 18. Overweeg om gameprogrammeur te worden (optioneel)

Game-programmering wordt in de meeste delen beschouwd als desktop-programmering. Als je van plan bent om gameprogrammeur te worden, moet je meer leren over gameprogrammering nadat je deze stappen hebt voltooid. Een grafische cursus is een must voor gameprogrammeurs en de tweede taal van keuze in de voorgaande stappen moet een logische/functionele programmeertaal zijn (bij voorkeur Prolog of Lisp).

Methode 3 van 6: Programmering van gedistribueerde toepassingen

Word een programmeur Stap 37
Word een programmeur Stap 37

Stap 1. Pak de programmering van gedistribueerde applicaties aan

Gedistribueerde applicatieprogrammering wordt door velen beschouwd als een van de moeilijkst te leren en vereist uiteenlopende kennis op het gebied van computer- en communicatietechnologieën.

Word een programmeur Stap 38
Word een programmeur Stap 38

Stap 2. Maak een snelle introductie tot telefoniesystemen en hun hardware

Deze stap is optioneel. Het is echter erg handig om netwerktopologieën te begrijpen.

Word een programmeur Stap 39
Word een programmeur Stap 39

Stap 3. Maak uzelf vertrouwd met netwerkhardware-architecturen en -apparaten zoals hubs, switches en routers

Word een programmeur Stap 40
Word een programmeur Stap 40

Stap 4. Volg een cursus netwerkprotocollen en benodigdheden

U moet een goed begrip hebben van het Open Systems Interconnection (OSI)-model, Ethernet, IP, TCP, UDP en HTTP voordat u gedistribueerde applicaties gaat programmeren.

Word een programmeur Stap 41
Word een programmeur Stap 41

Stap 5. Leer de XML-taal en raak er vertrouwd mee

Word een programmeur Stap 42
Word een programmeur Stap 42

Stap 6. Begin met het leren van een shellscripttaal

Voor op Windows gebaseerde programmering zou dat elk script zijn dat werkt met Windows Scripting Host. Voor op Linux gebaseerde programmering zijn Bash-scripts en Perl voldoende. JavaScript wordt hiervoor in beide platforms sterk aanbevolen om de volgende redenen:

  • Het wordt ondersteund door bijna elke scripthost in elk besturingssysteem (Windows Scripting Host ondersteunt standaard JavaScript, de meeste Linux-distributies hebben een pakket voor JavaScript-scriptingconsole-ondersteuning).
  • Het wordt door veel ontwikkelaars als gemakkelijker te leren beschouwd.
  • Het heeft een van ALGOL afgeleide syntaxis die u vertrouwd maakt met veel meer andere programmeertalen wanneer u een tweede programmeertaal moet kiezen (C, C++, C#, Java en J# hebben allemaal een van ALGOL afgeleide syntaxis).
  • Door JavaScript te leren, maakt u uzelf vertrouwd met client-side scripting van webpagina's, wat een extra neveneffect is!
Word een programmeur Stap 43
Word een programmeur Stap 43

Stap 7. Pas in eerste instantie alleen procedureel programmeren toe met uw scripttaal naar keuze

Later kunt u meer geavanceerde programmeertechnieken en paradigma's gebruiken in overeenstemming met uw scripttaal en wat deze ondersteunt. Alle scripttalen hebben op een bepaald niveau enkele procedurele programmeeraspecten.

Word een programmeur Stap 44
Word een programmeur Stap 44

Stap 8. Gebruik de scripttaal die u hebt geleerd om scripts te schrijven die communicatie tussen machines uitvoeren

Leer wat daarvoor nodig is. Eenvoudige communicatie is voldoende.

Word een programmeur Stap 45
Word een programmeur Stap 45

Stap 9. Maak een transfer naar een desktop scripting/programmeertaal

Bij voorkeur een taal met meerdere paradigma's zoals Python. Neem een eenvoudige introductie tot die tweede taal. Java wordt om vele redenen door de meeste programmeurs beschouwd als de taal bij uitstek. C# wint echter snel aan kracht op dit gebied. Java en C# hebben de voorkeur om de volgende redenen:

  • Het zijn objectgeoriënteerde programmeertalen die programmeurs in grote teams afschermen van implementatiedetails, omdat ze beide componenten ondersteunen (code-eenheden, vooraf gecompileerd, die een bepaalde taak uitvoeren en in andere programma's kunnen worden gebruikt).
  • Ze ondersteunen op gebeurtenissen gebaseerde programmering, evenals OO en procedurele programmering op een bepaald niveau.
  • Het raamwerk waarop de taal is gebouwd, wordt van nature gedistribueerd (in het geval van Java).
  • De beschikbaarheid van veel kant-en-klare pakketten die te maken hebben met netwerken, zowel als open-sourcecode als ingebouwde framework-pakketten; dit maakt het voor programmeurs gemakkelijker om voort te bouwen op het werk van anderen.
Word een programmeur Stap 46
Word een programmeur Stap 46

Stap 10. Concentreer je meer op de kernfuncties van de taal, vooral die welke netwerken ondersteunen

Besteed minder aandacht aan gebruikersinterface-elementen zoals uitvoer, vensterontwerp en -technieken en gebruikersinterface-elementen.

Word een programmeur Stap 47
Word een programmeur Stap 47

Stap 11. Volg een cursus over het ontwerp en de architectuur van gedistribueerde applicaties

Dit kan met behulp van boeken, online tutorials of academische cursussen. Het is echter noodzakelijk om de architectuur van gedistribueerde applicaties en de concepten ervan te begrijpen.

Word een programmeur Stap 48
Word een programmeur Stap 48

Stap 12. Leer meer over het bouwen van servicecomponenten en services met uw programmeertaal naar keuze

Word een programmeur Stap 49
Word een programmeur Stap 49

Stap 13. Leer een of meer van de volgende technologieën

Het wordt aanbevolen dat u op zijn minst een inleiding krijgt met al deze onderdelen. De meeste programmeurs van gedistribueerde applicaties stoppen niet bij een of twee programmeertalen, maar leren ten minste één programmeertaal op elk besturingssysteem. Dat komt omdat als u wilt dat uw toepassing wordt "gedistribueerd", u er ten minste voor elk belangrijk besturingssysteem een versie van moet verstrekken.

  • Common Object Request Broker Architecture (CORBA)
  • Simple Object Access Protocol (SOAP)
  • Asynchrone JavaScript en XML (AJAX)
  • Gedistribueerd Component Object Model (DCOM)
  • . NET-afstandsbediening
  • XML-webservices

Methode 4 van 6: Bibliotheek/Platform/Framework/Kernprogrammering

Word een programmeur Stap 50
Word een programmeur Stap 50

Stap 1. Weet wat kernprogrammering is

Kernprogrammeurs zijn slechts geavanceerde programmeurs die de overstap hebben gemaakt van programmeertoepassingen naar programmeercode-eenheden die door andere programmeurs kunnen worden gebruikt.

Word een programmeur Stap 51
Word een programmeur Stap 51

Stap 2. Leer een programmeertaal die het bouwen van herbruikbare componenten/pakketten ondersteunt, als je dat nog niet hebt gedaan

Word een programmeur Stap 52
Word een programmeur Stap 52

Stap 3. Volg een vervolgcursus UML en ORM

De meeste bibliotheekontwikkelaars gebruiken een of beide.

Word een programmeur Stap 53
Word een programmeur Stap 53

Stap 4. Volg een cursus software engineering

Word een programmeur Stap 54
Word een programmeur Stap 54

Stap 5. Leer ten minste modulaire, componentgebaseerde, objectgeoriënteerde en gebeurtenisgestuurde programmeertechnieken en -concepten

Hoe meer programmeerparadigma's en -talen je behandelt, hoe succesvoller je wordt als bibliotheek-/pakketprogrammeur.

Word een programmeur Stap 55
Word een programmeur Stap 55

Stap 6. Leer meer over de verschillende besturingssystemen en programmeerframeworks die door deze besturingssystemen worden ondersteund

Word een programmeur Stap 56
Word een programmeur Stap 56

Stap 7. Richt uw leerinspanningen op platformonafhankelijke frameworks, programmeertalen en technologieën

Word een programmeur Stap 57
Word een programmeur Stap 57

Stap 8. Als de programmeertalen die je tot nu toe hebt geleerd ANSI. hebben/ISO/IEEE/W3C-standaardversies, beheers de normen.

Probeer waar mogelijk standaardcode te gebruiken.

Word een programmeur Stap 58
Word een programmeur Stap 58

Stap 9. Probeer eenvoudige, reeds gevestigde bibliotheken na te bootsen, vooral open-sourcebibliotheken

Dit is handig tijdens de vroege fase van het worden van een bibliotheek-/pakketprogrammeur. Begin met eenvoudige pakketten zoals eenhedenconversie en tussentijdse wetenschappelijke rekenpakketten. Als je een student bent, maak dan gebruik van je niet-programmeercursussen door te proberen hun vergelijkingen en wetenschappelijke kern als bibliotheken te implementeren.

Word een programmeur Stap 59
Word een programmeur Stap 59

Stap 10. Zoek en probeer open-sourcepakketten in uw programmeergebied

Download eerst binaire bestanden/uitvoerbare bestanden van het pakket. Probeer het te gebruiken en vind de sterke en zwakke punten. Nadat je dat hebt gedaan, download je de bron en probeer je erachter te komen hoe het is gedaan. Probeer die bibliotheken of delen ervan opnieuw te maken. Doe dat eerst nadat je de code hebt gezien en later voordat je de code ziet. Probeer in latere fasen die bibliotheken te verbeteren.

Word een programmeur Stap 60
Word een programmeur Stap 60

Stap 11. Leer de verschillende benaderingen die worden gebruikt om componenten te distribueren en te implementeren voor programmeurs

  • Meestal hebben bibliotheek-/pakketprogrammeurs de neiging recursief en/of iteratief te denken over alle problemen waarmee ze worden geconfronteerd. Probeer elk probleem te zien als een verzameling kleinere problemen (een opeenvolging van eenvoudigere taken) of als een herhaald proces waarbij de reikwijdte van het probleem wordt teruggebracht tot kleinere sferen en die sferen op elkaar worden gestapeld.
  • Bibliotheek-/pakketprogrammeurs hebben de neiging om te generaliseren. Dat wil zeggen, wanneer ze een eenvoudig specifiek probleem voorgeschoteld krijgen, denken ze meestal aan een meer algemeen probleem en proberen ze dat algemene probleem op te lossen dat automatisch het kleinere probleem oplost.

Methode 5 van 6: Systeemprogrammering

Word een programmeur Stap 61
Word een programmeur Stap 61

Stap 1. Begrijp wat systeemprogrammering inhoudt

Systeemprogrammeurs houden zich bezig met de wetenschap van programmeren, niet met de specifieke implementaties ervan. Bind je niet vast aan een specifiek platform.

Word een programmeur Stap 62
Word een programmeur Stap 62

Stap 2. Volg de eerste drie stappen voor Desktop Applications Programmers

Word een programmeur Stap 63
Word een programmeur Stap 63

Stap 3. Volg een introductiecursus Lineaire Algebra

Word een programmeur Stap 64
Word een programmeur Stap 64

Stap 4. Volg een cursus Calculus

Word een programmeur Stap 65
Word een programmeur Stap 65

Stap 5. Volg een cursus Logica en/of Discrete Wiskunde

Word een programmeur Stap 66
Word een programmeur Stap 66

Stap 6. Maak kennis met verschillende kale besturingssystemen

Dit kan door:

  • Een idee krijgen van hoe besturingssystemen worden geïnstalleerd.
  • Leren hoe u verschillende besturingssystemen op één pc kunt installeren (optioneel, maar aanbevolen).
  • Meer dan één besturingssysteem installeren. Installeer geen hulppakketten op de systemen; gebruik in plaats daarvan de kale functionaliteiten die door de besturingssystemen worden geboden.
Word een programmeur Stap 67
Word een programmeur Stap 67

Stap 7. Volg een cursus (of lees boeken) over computerhardware-architectuur

Word een programmeur Stap 68
Word een programmeur Stap 68

Stap 8. Ontwikkel inzicht in de verschillende computerhardwareplatforms

Word een programmeur Stap 69
Word een programmeur Stap 69

Stap 9. Maak een inleidende kennismaking met de assembleertaal van het hardwareplatform/besturingssysteem naar keuze

Later leer je de montage van andere platformen/systemen.

Word een programmeur Stap 70
Word een programmeur Stap 70

Stap 10. Leer de ANSI C- en C++-talen, samen met de concepten van procedureel programmeren

Word een programmeur Stap 71
Word een programmeur Stap 71

Stap 11. Begrijp en oefen C/C++ standaardbibliotheken op het platform naar keuze

Besteed bijzondere aandacht aan Standard Template Library (STL) en misschien Active Template Library (ATL).

Word een programmeur Stap 72
Word een programmeur Stap 72

Stap 12. Zoek online bronnen, boeken en cursussen om inzicht te krijgen in de C-smaak van uw specifieke platform

Word een programmeur Stap 73
Word een programmeur Stap 73

Stap 13. Oefen met het maken van geavanceerde code met C en C++

Word een programmeur Stap 74
Word een programmeur Stap 74

Stap 14. Leer meer geavanceerde Montage

Word een programmeur Stap 75
Word een programmeur Stap 75

Stap 15. Volg een cursus in het ontwerpen van besturingssystemen

Word een programmeur Stap 76
Word een programmeur Stap 76

Stap 16. Zoek en lees documentatie van uw specifieke platform naar keuze

Dit gaat gemakkelijker als u kiest voor een op Unix gebaseerd besturingssysteem. Begrijp het systeem waarmee u later gaat werken heel goed.

Word een programmeur Stap 77
Word een programmeur Stap 77

Stap 17. Oefen je opgedane kennis

Maak eerst kleine systeemhulpprogramma's. Het is meestal handig om:

  • Proberen om kleine tools die al aanwezig zijn op uw systeem opnieuw te maken.
  • U probeert hulpprogramma's die beschikbaar zijn in andere besturingssystemen naar die van u over te zetten.
Word een programmeur Stap 78
Word een programmeur Stap 78

Stap 18. Leer talen in de handigste volgorde

Dit is de enige plaats waar de eerste programmeertaal ertoe doet. Leer eerst ANSI C, niet C++, niet C#, niet Java en niet D. Leer dan C++.

  • Het beperken van de eerste taal tot C en C alleen is omdat systeemprogrammering vereist dat de programmeur bekend is met de volgende concepten:

    • Echte en volledige compilatie van broncode.
    • Objectuitvoerbestanden op laag niveau.
    • Binaire bestanden koppelen.
    • Programmeren in machinetaal/assemblage op laag niveau. Sommigen zeggen dat de C-taal een vermomde/gemakkelijker te leren assemblage is. Het ondersteunt ook het invoegen van assembleertaalcode in code wanneer u maar wilt en het is alleen procedureel (zoals montage).

Methode 6 van 6: Programmeerwetenschap

Word een programmeur Stap 79
Word een programmeur Stap 79

Stap 1. Weet wat een programmeerwetenschapper doet

Programmeerwetenschappers zijn zeer geavanceerde programmeurs die, in plaats van te werken aan het ontwikkelen van applicaties, werken aan het ontwikkelen van computertechnologieën zoals encryptie, programmeertalen en dataminingalgoritmen. Dit niveau wordt zelden bereikt zonder academische studie en toewijding.

Word een programmeur Stap 80
Word een programmeur Stap 80

Stap 2. Verzamel de wetenschappelijke kennis die gelijk staat aan een vierjarige graad in informatica

Dit kan ofwel door:

  • Een echte academische graad behalen (wat meestal gebeurt).
  • De contouren van de cursussen voor een dergelijk diploma halen bij een van de moderne universiteiten en de cursussen volgen, hetzij door zelfstudie of als afzonderlijke cursussen. Dit zou theoretisch kunnen worden bereikt, maar het aanbevolen pad is het eerste.
Word een programmeur Stap 81
Word een programmeur Stap 81

Stap 3. Bepaal een vakgebied

Hoe specifieker, hoe beter. Dit is afhankelijk van uw voorkeuren. Hier is echter een lijst met enkele van de belangrijkste onderwerpen in de wetenschap van computerprogrammering:

  • Algoritmeontwerp (zoeken, sorteren, versleutelen, ontsleutelen en foutdetectie in communicatie zijn enkele voorbeelden)
  • Programmeertalen/compilerontwerp/optimalisatie
  • Kunstmatige intelligentievelden (patroonherkenning, spraakherkenning, natuurlijke taalverwerking, neurale netwerken)
  • Robotica
  • Wetenschappelijke programmering
  • Super computergebruik
  • Computerondersteund ontwerpen/modelleren (CAD/CAM)
  • Virtuele realiteit
  • Computergraphics (Computergraphics worden meestal ten onrechte verward met grafisch ontwerp of grafisch gebruikersinterfaceontwerp. Computergraphics is het vakgebied waarin wordt bestudeerd hoe grafische afbeeldingen in computersystemen moeten worden weergegeven en gemanipuleerd.)
Word een programmeur Stap 82
Word een programmeur Stap 82

Stap 4. Overweeg om een hogere academische graad te halen

Misschien wil je een master of een doctoraat volgen.

Aanbevolen: