Om programmeerder te word, is 'n kumulatiewe proses wat u vaardighede dag na dag en jaar na jaar opbou, en programmering kan pret en lonend wees (geestelik, geestelik en finansieel). Hierdie gids beloof nie om 'n wonderlike manier om programmeerder te word nie, en die volgorde van die stappe is nie heilig nie, maar u kry 'n algemene uiteensetting van hoe u 'n programmeerder kan word in een van die moderne programmeringsvelde.
Stappe
Stap 1. Volg 'n inleidingskursus in een (of almal) van die volgende dissiplines:
- Logika
- Diskrete wiskunde
- Programmeringstaal (neem deel aan die verskillende programmeringsparadigmas, van opeenvolgend/prosedureel tot objektief georiënteerd, na funksionele en logiese programmering. Verkieslik Ruby/Python/Pascal vir beginners en na 'n goeie begrip dieper in C ++/C#/Java)
KUNDIGE WENK
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
Opstigter en direkteur van ingenieurswese
Moenie voel dat u 'n koderingsgraad moet behaal nie.
Alhoewel kursusse in 'n programmeertaal nuttig kan wees, sê Gene Linetsky, 'n sagteware -ingenieur en begin -stigter:"
Stap 2. Leer databasis konsepte soos tabelle, aansigte/navrae en prosedures
U kan enige eenvoudige databasispakket hiervoor gebruik, soos:
- MS Toegang
- DB V
- Fox Pro
- Paradoks
- MySQL is 'n goeie databasis om te leer, want dit is gratis, word gereeld gebruik, en daar word gereeld toegang tot databasisse met SQL -navrae
Stap 3. Besluit watter tipe programmeerder jy wil wees
Programmeerders val oor die algemeen onder een van die volgende kategorieë:
- Web programmeerder
-
Desktop programmeerder
- Bedryfstelsel (OS) georiënteerde programmeerder (gekoppel aan 'n enkele bedryfstelsel of stel bedryfstelsels)
- Platform-onafhanklike programmeerder
- Verspreide toepassingsprogrammeerder
- Biblioteek/platform/raamwerk/kernprogrammeerder
-
Stelsels programmeerder
- Kernprogrammeerder
- Bestuurder programmeerder
- Samesteller programmeerder
- Programmerende wetenskaplike
Stap 4. Leer die tegnologieë en programmeertale wat verband hou met u programmeringsveld
Die volgende afdelings verdeel die take vir verskillende tipes programmering.
Metode 1 van 6: Webprogrammering
Stap 1. Weet wat webprogrammering behels
Webtoepassings is sagtewarekomponente wat ontwerp is om bo -op die internetargitektuur te werk. Dit beteken dat toegang tot die toepassings verkry word deur 'n webblaaier sagteware soos Firefox of Internet Explorer. Om bo -op die internetargitektuur gebou te word, vereis nie noodwendig 'n aktiewe verbinding met die internet nie. Dit beteken dat webtoepassings bo -op standaard webtegnologieë gebou is, soos:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- IP -protokolle
- HTML
- XML
- Coldfusion
- ASP
- JSP
- PHP
- ASP. NET
Stap 2. Blaai deur baie verskillende webwerwe om te leer hoe hulle gewoonlik lyk
(Klik met die rechtermuisknop, klik dan op Bron besigtig of druk op F12.) Soek diversiteit in die tipe/inhoud van die webwerf, nie die hoeveelheid besoekde webwerwe nie. Oor die algemeen moet u ten minste een van elk van die volgende soorte webwerwe besoek:
- Korporatiewe teenwoordigheidswebwerwe (kommersiële korporasies, nie-winsgewende ondernemings/organisasies, regeringsorganisasies)
- Webindekseringsenjins (soekenjins, metasoekwebwerwe, gespesialiseerde soekenjins, gidse)
- Data ontginning webwerwe
- Persoonlike webwerwe
- Inligtings-/ensiklopediese bladsye (wiki's, gegewensblaaie, tegniese spesifikasies en handleidings met gidse, blogs en tydskrifte, nuus- en nuusagentskappe, geel bladsye, ens.)
- Sosiale webwerwe (sosiale portale, boekmerkwebwerwe, notaswebwerwe)
- Samewerkingswebwerwe (dit sluit ander kategorieë hierbo in, soos wiki's en blogs)
Stap 3. Leer ten minste een dinkskrum tegniek/metode en 'n sagteware wat gebruik word om die metode te implementeer
Byvoorbeeld: dinkskrumdiagramme en MS Visio.
Stap 4. Maak kennis met die struktuur van webwerwe
Dit skep konseptuele webdiagramme, werfkaarte en navigasiestrukture.
Stap 5. Volg 'n crash kursus oor grafiese ontwerp
Probeer om ten minste een sagtewarepakket vir grafiese redigering/manipulasie te leer (opsioneel, maar word sterk aanbeveel)
Stap 6. Leer die basiese beginsels van die internetinfrastruktuur
Dit sluit in om 'n basiese idee te kry oor:
- Basis -webdienste -protokolle (HTTP, FTP, SMTP en POP3 of IMAP4)
- Webbedienersagteware (verkieslik een vir die platform waaraan u meestal werk)
- Webblaai sagteware.
- E -pos bediener en kliënt sagteware
Stap 7. Leer die HTML- en CSS -tale
U kan ook die sagtewarepakket "Wat u sien, is wat u kry (WYSIWYG)" kry om HTML te redigeer.
Stap 8. Leer XML- en XML -verwante tegnologieë, soos XSL en XPath (opsioneel, maar aanbeveel)
Stap 9. Skep eenvoudige statiese webwerwe totdat u vertroud is met en gemaklik is met HTML
Stap 10. Leer 'n skripttaal aan die kliënt
Die meeste gebruikers leer JavaScript. Sommige leer VBScript, maar dit is nie versoenbaar met die meeste blaaiers nie.
Stap 11. Raak vertroud met die skriptaal aan die kant van die kliënt wat u geleer het
Probeer om u potensiaal te bereik deur slegs die taal te gebruik. Gaan eers na die volgende stap nadat u ten minste vertroud is met die scripttaal aan die kliënt.
Stap 12. Leer ten minste een programmeertaal aan die bediener
As u besluit om u tot een bedienersagteware te beperk, leer dan een van die programmeertale wat deur die sagteware ondersteun word. Indien nie, leer ten minste een programmeertaal op elke bedienersagteware.
Stap 13. Skep 'n loodsprojek vir uself nadat u die programmeertaal aan die bediener voltooi het.
Stap 14. Kry u eie webwerf en begin aanlyn eksperimenteer binne u eie bladsy
Metode 2 van 6: Desktop Application Programming
Stap 1. Weet wat u aangaan met programmering van lessenaarprogramme
Die meeste lessenaarprogrammeerders skryf kode vir besigheidsoplossings, dus om 'n idee te kry van besighede, hul organisatoriese en finansiële struktuur, sal baie tyd bespaar.
Stap 2. Leer meer oor die verskillende argitektuur van rekenaarhardeware
'N Inleidende kursus in ontwerp van digitale stroombane en 'n ander in rekenaarargitektuur is nuttig; Sommige beskou dit egter as 'n gevorderde beginpunt, dus die lees van twee of drie studie -artikels (soos hierdie en hierdie) kan voldoende wees. Dan kan u later teruggaan na hierdie stap nadat u u eerste programmeertaal geleer het.
Stap 3. Leer 'n intreevlak (kinders) se programmeertaal
Moenie skaam wees om so 'n taal te leer nie, net omdat u ouer is as om 'n 'kind' genoem te word. 'N Voorbeeld van hierdie programmeertale kan Scratch wees. Hierdie programmeertale kan die pyn verlig om u eerste programmeertaal geweldig te leer. Hierdie stap is egter opsioneel. Dit kan ook voor die voorafgaande stap gedoen word.
Stap 4. Kry 'n inleiding tot die prosedure, objekgeoriënteerde, en funksionele programmeringsparadigmas.
Stap 5. Neem 'n inleidingskursus in een van die prosedurele programmeertale
Maak nie saak watter taal u later kies om u taal van keuse te wees nie, dit benodig prosedurele programmering op 'n sekere vlak. Volgens die meeste programmeerders is prosedurele programmering ook die maklikste om te gebruik as 'n beginpunt om die idee van programmering in die algemeen te kry.
Stap 6. Leer ten minste een gevorderde modelleringstegniek soos UML of ORM
Stap 7. Begin met die skryf van 'n klein konsole of konsole-agtige toepassings
U kan gebruik maak van algemene klein oefeninge in boeke met programmeertale. Kies hiervoor 'n instrument om programme te skryf in die programmeertaal waarin u skryf.
Stap 8. Volg 'n meer gevorderde kursus in u gekose programmeertaal
Maak seker dat u die volgende begrippe goed verstaan en dat u dit relatief maklik kan toepas voordat u verder gaan:
- Invoer en uitvoer van inligting aan gebruikers van 'n program.
- Die logiese vloei en die uitvoeringsvloei van programme in prosedurele tale.
- Verklaar, gee en vergelyk veranderlikes.
- Vertakking van programmeringskonstruksies soos if..dan..else en kies/skakel..case.
- Luskonstruksies soos while..do, do.. while/until, for..volgende.
- U sintaksis van die programmeertaal vir die skep en oproep van prosedures en funksies.
- Datatipes en manipulering daarvan.
- Deur gebruiker gedefinieerde datatipes (rekords/strukture/eenhede) en die gebruik daarvan.
- As u taal oorlaai -funksies ondersteun, verstaan dit.
- Die geheue -toegangsmetodes van u taal van keuse (wenke, loer, ens.)
- As u taal ondersteuners se oorlading ondersteun, verstaan dit.
- As u taal afgevaardigdes/funksie -aanwysers ondersteun, verstaan dit.
Stap 9. Pas die gevorderde tegnieke toe wat u geleer het
Stap 10. Volg 'n inleidingskursus in ten minste nog een programmeertaal in 'n ander programmeringsparadigma
Dit word aanbeveel om een programmeertaal van elke paradigma te leer, en die meeste gevorderde programmeerders begin egter gewoonlik met een, werk 'n rukkie om u kennis toe te pas en dit te beoefen, en leer die ander later, nadat u reeds 'n werklike idee gehad het lewenservaring in programmering. Probeer een van die volgende taalgebiede:
- Logiese programmeringsparadigma.
- Funksionele programmeringsparadigma.
- Objekgeoriënteerde paradigma.
Stap 11. Probeer om die twee programmeertale wat jy tot dusver geleer het, te vergelyk
Evalueer die sterk- en swakpunte van elkeen. Gewoonlik word dit gedoen deur:
- Neem eenvoudige voorbeelde van u vroeë werk in die eerste programmeertaal en skryf dit weer met die tweede programmeertaal.
- Skep 'n nuwe projek en probeer dit in beide tale implementeer. Afhangende van u keuse van projek en tale, kan u die projek soms nie in een van die tale implementeer nie!
- Skryf 'n cheat-blad of opsommingstabel vergelykings tussen soortgelyke konstrukte in die twee tale en kenmerke wat uniek is vir elk van die tale.
- Probeer om maniere te vind om kenmerke na te boots wat uniek is vir een van die twee tale deur die ander taal te gebruik.
Stap 12. Leer visuele programmeringskonsepte deur gebruik te maak van een van die tale wat u geleer het
Byna alle programmeertale het weergawes/biblioteke wat visuele programmering ondersteun en ander wat konsole- of konsole-agtige programmering ondersteun. Dit kan bereik word deur:
- Kry 'n inleiding tot gebeurtenisgedrewe programmering. Die meeste visuele programmering is op 'n sekere manier afhanklik van gebeure en gebeurtenishantering (met behulp van die programmeertaal wat u kies).
- Probeer soveel as moontlik sagteware op die tafelblad en verstaan wat die sagteware doen. Die meeste sagteware-ontwikkelingsondernemings bied beta-toetsweergawes van hul produkte aan wat u kan gebruik om die sagteware te toets. Hou u op hoogte van die vordering met die gebruikerskoppelvlak.
- Lees 'n paar artikels of tutoriale oor grafiese gebruikerskoppelvlakke.
Stap 13. Begin om u kennis toe te pas op klein sagtewareprojekte wat u ontwerp
Probeer u programmeringskundigheid toepas op probleme waarmee u in die daaglikse lewe te kampe het. Skryf byvoorbeeld programme wat lêers in massa hernoem, tekslêers visueel vergelyk, die name van lêers in 'n gids na geheue-/tekslêer en sulke dinge kopieer. Hou dit eers eenvoudig.
Stap 14. Skep 'n virtuele afstudeerprojek
Voltooi dit tot die einde en pas die tegnieke van visuele programmering toe wat u tot dusver geleer het.
Stap 15. Verbreed u begrip van die visuele raamwerk/biblioteek/pakket wat u voorheen geleer het deur gevorderde kursusse te volg, ekstra aandag aan detail te gee en meer wenke en truuks vir u raamwerk te leer uit aanlynbronne
Stap 16. Soek ander pakkette/biblioteke van visuele elemente vir u programmeertale en leer dit
Stap 17. Neem 'n kursus in grafika (nie grafiese ontwerp nie)
Dit sal baie nuttig wees vir programmeerders wat aantreklike elemente in die gebruikerskoppelvlak wil skryf.
Stap 18. Oorweeg om 'n speletjieprogrammeerder te word (opsioneel)
Spelprogrammering word in die meeste van die dele beskou as lessenaarprogrammering. As u van plan is om 'n speletjieprogrammeerder te word, moet u meer leer oor spelprogrammering nadat u hierdie stappe voltooi het. 'N Grafiese kursus is 'n moet vir spelprogrammeerders, en die tweede taal van keuse in die voorafgaande stappe moet 'n logiese/funksionele programmeertaal wees (verkieslik Prolog of Lisp).
Metode 3 van 6: Programmering van verspreide toepassings
Stap 1. Pak verspreide toepassingsprogrammering aan
Verspreide toepassingsprogrammering word deur baie beskou as een van die moeilikste om te leer en vereis uiteenlopende kennis in rekenaar- en kommunikasietegnologie.
Stap 2. Maak vinnig kennis met telefoniestelsels en hul hardeware
Hierdie stap is opsioneel. Dit is egter baie handig om netwerktopologieë te verstaan.
Stap 3. Maak u vertroud met netwerk -hardeware -argitekture en -toestelle, soos hubs, skakelaars en routers
Stap 4. Neem 'n kursus in netwerkprotokolle en noodsaaklikhede
U benodig 'n goeie begrip van die Open Systems Interconnection (OSI) -model, Ethernet, IP, TCP, UDP en HTTP voordat u verspreide toepassings begin programmeer.
Stap 5. Leer die XML -taal en maak u vertroud daarmee
Stap 6. Begin deur 'n dop -taal te leer
Vir Windows-gebaseerde programmering is dit 'n script wat werk met Windows Scripting Host. Vir Linux-gebaseerde programmering is Bash-skrifte en Perl voldoende. Om hierdie redes word JavaScript in beide platforms sterk aanbeveel:
- Dit word ondersteun deur byna enige script -gasheer in enige bedryfstelsel (Windows Scripting Host ondersteun standaard JavaScript, die meeste Linux -verspreidings het 'n pakket vir ondersteuning vir JavaScript -script -konsole).
- Baie ontwikkelaars beskou dit as makliker om te leer.
- Dit het 'n ALGOL -afgeleide sintaksis wat u vertroud maak met nog baie ander programmeertale wanneer u 'n tweede programmeertaal moet kies (C, C ++, C#, Java en J# het ALGOL -sintaksis).
- Deur JavaScript te leer, maak u kennis met die scripting van webbladsye aan die kliënt, wat 'n bonus-newe-effek is!
Stap 7. Pas eers slegs prosedurele programmering toe met u geskrewe skriptaal
Later kan u meer gevorderde programmeringstegnieke en paradigmas gebruik volgens u scripttaal en wat dit ondersteun. Alle skriptale het op 'n sekere vlak sekere prosedurele programmeringsaspekte.
Stap 8. Gebruik die skriftaal wat u geleer het om skrifte te skryf wat kommunikasie tussen masjiene uitvoer
Leer wat nodig is om dit te doen. Eenvoudige kommunikasie is voldoende.
Stap 9. Skakel oor na 'n lessenaar script/programmeertaal
Verkieslik een wat 'n multi-paradigma taal is, soos Python. Neem 'n eenvoudige inleiding tot die tweede taal. Java word deur die meeste programmeerders om baie redes as die taal van keuse beskou. C# kry egter vinnig momentum op hierdie gebied. Java en C# word verkies om die volgende redes:
- Hulle is objekgeoriënteerde programmeertale wat programmeerders in groot spanne beskerm teen implementeringsbesonderhede, aangesien albei komponente ondersteun (eenhede kode, vooraf saamgestel, wat 'n sekere taak verrig en in ander programme gebruik kan word).
- Hulle ondersteun gebeurtenisgedrewe programmering, sowel as OO en prosedurele programmering op 'n sekere vlak.
- Die raamwerk waarop die taal gebou word, word deur die natuur versprei (in die geval van Java).
- Die beskikbaarheid van baie klaargemaakte pakkette wat handel oor netwerk, beide as open-source kode en raamwerk ingeboude pakkette; dit maak dit makliker vir programmeerders om voort te bou op die werk van ander.
Stap 10. Konsentreer meer op die kernkenmerke van die taal, veral die wat netwerk ondersteun
Gee minder aandag aan elemente van die koppelvlak, soos uitvoer, vensterontwerp en -tegnieke, en elemente in die koppelvlak.
Stap 11. Neem 'n kursus oor verspreide toepassingsontwerp en argitekture
Dit kan gedoen word met behulp van boeke, aanlyn -tutoriale of akademiese kursusse. Dit is egter nodig om die argitektuur van verspreide toepassings en die konsepte daarvan te verstaan.
Stap 12. Kom meer te wete oor die bou van onderhoude komponente en dienste met behulp van u programmeertaal
Stap 13. Leer een of meer van die volgende tegnologieë
Dit word aanbeveel dat u ten minste 'n inleiding tot almal kry. Die meeste verspreide toepassingsprogrammeerders stop nie by een of twee programmeertale nie, maar leer ten minste een programmeertaal op elke bedryfstelsel. Dit is omdat u wil hê dat u toepassing 'versprei' moet word, ten minste 'n weergawe daarvan vir elke groot bedryfstelsel.
- Makelaarargitektuur vir gemeenskaplike voorwerpe (CORBA)
- Simple Object Access Protocol (SOAP)
- Asynchrone JavaScript en XML (AJAX)
- Verspreide komponentvoorwerpmodel (DCOM)
- . NET Remoting
- XML -webdienste
Metode 4 van 6: Biblioteek/platform/raamwerk/kernprogrammering
Stap 1. Weet wat kernprogrammering is
Kernprogrammeerders is bloot gevorderde programmeerders wat oorgedra het van programmeertoepassings na programmeerkode -eenhede wat deur ander programmeerders gebruik moes word.
Stap 2. Leer 'n programmeertaal wat die bou van herbruikbare komponente/pakkette ondersteun, as u dit nog nie gedoen het nie
Stap 3. Volg 'n gevorderde kursus in UML en ORM
Die meeste biblioteekontwikkelaars gebruik een of albei.
Stap 4. Neem 'n kursus in sagteware -ingenieurswese
Stap 5. Leer ten minste modulêre, komponentgebaseerde, objekgeoriënteerde en gebeurtenisgedrewe programmeringstegnieke en -konsepte
Hoe meer programmeerparadigmas en tale u behandel, hoe suksesvoller word u as biblioteek-/pakketprogrammeerder.
Stap 6. Kom meer te wete oor die verskillende bedryfstelsels en programmeringsraamwerke wat deur hierdie bedryfstelsels ondersteun word
Stap 7. Fokus u leerpogings op platformonafhanklike raamwerke, programmeertale en tegnologie
Stap 8. As die programmeertale wat u tot dusver geleer het, ANSI het/ISO/IEEE/W3C standaard weergawes, bemeester die standaarde.
Probeer, indien moontlik, standaardkode gebruik.
Stap 9. Probeer om eenvoudige, reeds gevestigde biblioteke na te boots, veral open-source biblioteke
Dit is handig in die vroeë fase om 'n biblioteek-/pakketprogrammeerder te word. Begin met eenvoudige pakkette soos omskakeling van eenhede en intermediêre pakkette vir wetenskaplike berekeninge. As u 'n universiteitstudent is, maak gebruik van u nie-programmeerkursusse deur hul vergelykings en wetenskaplike kern as biblioteke te probeer implementeer.
Stap 10. Soek en probeer open-source pakkette op u gebied van programmering
Laai eers binaries/uitvoerbare programme van die pakket af. Probeer dit gebruik en vind die sterk en swak punte daarvan. Nadat u dit gedoen het, laai die bron af en probeer uitvind hoe dit gedoen is. Probeer om die biblioteke of dele daarvan te herskep. Doen dit eers nadat u die kode gesien het en later voordat u die kode sien. Probeer later biblioteke verbeter.
Stap 11. Leer die verskillende benaderings wat gebruik word om komponente aan programmeerders te versprei en te implementeer
- Gewoonlik is biblioteek-/pakketprogrammeerders geneig om rekursief en/of iteratief te dink oor alle probleme waarmee hulle te kampe het. Probeer om elke probleem as 'n versameling kleiner probleme ('n reeks eenvoudiger take) te beskou, of as 'n herhaalde proses om die omvang van die probleem tot kleiner omvang te verminder en dan die omvang op mekaar te plaas.
- Biblioteek-/pakketprogrammeerders is geneig om te veralgemeen. Dit wil sê, as hulle met 'n eenvoudige spesifieke probleem voorgestel word, dink hulle gewoonlik aan 'n meer algemene probleem en probeer hulle die algemene probleem oplos wat die kleiner outomaties sal oplos.
Metode 5 van 6: Stelselprogrammering
Stap 1. Verstaan wat stelselprogrammering behels
Stelselprogrammeerders handel oor die wetenskap van programmering, nie die spesifieke implementering daarvan nie. Moenie jouself vasmaak aan 'n spesifieke platform nie.
Stap 2. Volg die eerste drie stappe vir programmeerders vir rekenaarprogramme
Stap 3. Volg 'n inleidingskursus in Lineêre Algebra
Stap 4. Neem 'n kursus in Calculus
Stap 5. Volg 'n kursus in logika en/of diskrete wiskunde
Stap 6. Stel u voor aan verskillende bloot bedryfstelsels
Dit kan gedoen word deur:
- Kry 'n idee van hoe bedryfstelsels geïnstalleer word.
- Leer hoe om verskillende bedryfstelsels op een rekenaar te installeer (opsioneel, maar word aanbeveel).
- Die installering van meer as een bedryfstelsel. Moenie hulppakkette op die stelsels installeer nie; Gebruik eerder die blote funksies wat die bedryfstelsels bied.
Stap 7. Neem 'n kursus (of alternatiewelik, lees boeke) oor rekenaar hardeware argitektuur
Stap 8. Ontwikkel 'n begrip van die verskillende rekenaar hardeware platforms
Stap 9. Kry 'n inleidende vertroudheid met die monteringstaal van die hardeware -platform/bedryfstelsel wat u verkies
U sal later die samestelling van ander platforms/stelsels leer.
Stap 10. Leer die ANSI C en C ++ tale, saam met die konsepte van prosedurele programmering
Stap 11. Verstaan en oefen C/C ++ standaardbiblioteke op die gekose platform
Gee veral aandag aan Standard Template Library (STL) en miskien Active Template Library (ATL).
Stap 12. Soek aanlyn hulpbronne, boeke en kursusse om 'n idee te kry van die C-smaak van u spesifieke platform
Stap 13. Oefen die skep van gevorderde kode met C en C ++
Stap 14. Leer meer gevorderde samestelling
Stap 15. Neem 'n kursus in ontwerp van bedryfstelsels
Stap 16. Soek en lees dokumentasie van u spesifieke platform
Dit sal makliker wees as u 'n Unix-gebaseerde bedryfstelsel kies. Verstaan die stelsel waarmee u later sal werk baie goed.
Stap 17. Oefen u verworwe kennis
Skep eers klein stelselhulpprogramme. Dit is gewoonlik handig om:
- Probeer om klein gereedskap wat reeds op u stelsel is, te herskep.
- Probeer om hulpprogramme wat in ander bedryfstelsels beskikbaar is, na u s'n oor te dra.
Stap 18. Leer tale in die mees nuttige volgorde
Dit is die enigste plek waar die eerste programmeertaal saak maak. Leer eers ANSI C, nie C ++, nie C#, nie Java nie en nie D. Leer dan C ++.
-
Die beperking van die eerste taal tot C en C alleen is omdat stelselprogrammering vereis dat die programmeerder vertroud is met die volgende konsepte:
- Werklike en volledige samestelling van bronkode.
- Lae vlak voorwerpuitvoer lêers.
- Koppel binaries.
- Lae-vlak masjien-taal/samestelling programmering. Daar word gesê dat die C -taal deur sommige 'n vermomde/makliker leerbare vergadering is. Dit word ook ondersteun deur die samestellingstaalkode in die kode in te voeg, en dit is slegs prosedureel (soos montering).
Metode 6 van 6: Wetenskap programmeer
Stap 1. Weet wat 'n programmeringswetenskaplike doen
Programmeringswetenskaplikes is baie gevorderde programmeerders wat, in plaas van aan die ontwikkeling van toepassings, werk aan die ontwikkeling van rekenaartegnologieë soos kodering, programmeertale en algoritmes vir data -ontginning. Hierdie vlak word selde bereik sonder akademiese studie en toewyding.
Stap 2. Versamel die wetenskaplike kennis wat gelykstaande is aan 'n vierjarige graad in rekenaarwetenskap
Dit kan gedoen word deur:
- Neem 'n werklike akademiese graad (wat gewoonlik gebeur).
- Kry die kursusse 'n uiteensetting vir so 'n graad van een van die moderne universiteite en neem die kursusse óf deur selfstudie óf as aparte kursusse. Dit kan teoreties bereik word, maar die aanbevole pad is die eerste.
Stap 3. Besluit 'n spesialiteitsveld
Hoe meer spesifiek, hoe beter. Dit hang af van u voorkeure. Hier is egter 'n lys van enkele van die belangrikste onderwerpe in rekenaarprogrammering:
- Algoritme -ontwerp (soek, sortering, kodering, dekripsie en foutopsporing in kommunikasie is enkele voorbeelde)
- Programmeringstale/samestellerontwerp/optimalisering
- Kunsmatige intelligensie velde (patroonherkenning, spraakherkenning, natuurlike taalverwerking, neurale netwerke)
- Robotika
- Wetenskaplike programmering
- Super rekenaar
- Rekenaarondersteunde ontwerp/modellering (CAD/CAM)
- Virtuele realiteit
- Rekenaargrafika (Rekenaargrafika word gewoonlik verkeerdelik verwar met grafiese ontwerp of grafiese ontwerp van die gebruikerskoppelvlak.
Stap 4. Oorweeg om 'n hoër akademiese graad te behaal
U wil moontlik 'n meestersgraad of doktorsgraad volg.