Kļūšana par programmētāju ir kumulatīvs process, kas katru dienu un gadu no gada attīsta jūsu prasmes, un programmēšana var būt jautra un izdevīga (garīgi, garīgi un finansiāli). Šī rokasgrāmata nesola sniegt maģiski vienkāršu veidu, kā kļūt par programmētāju, un soļu secība nav svēta, taču jūs iegūsit vispārīgu izklāstu par to, kā kļūt par programmētāju kādā no mūsdienu programmēšanas jomām.
Soļi
1. solis. Apmeklējiet ievadkursu vienā (vai visās) no šīm disciplīnām:
- Loģika
- Diskrēta matemātika
- Programmēšanas valoda (piedalieties dažādās programmēšanas paradigmās, sākot no secīgas/procesuālas līdz objektorientētai, pēc funkcionālas un loģiskas programmēšanas. Iesācējiem vēlams Ruby/Python/Pascal un pēc labas izpratnes iedziļināties C ++/C#/Java)
Ekspertu padoms
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.
Gēns Linetskis, MS
Startup dibinātājs un inženiertehniskais direktors
Nedomājiet, ka jums ir jānopelna kodēšanas grāds.
Lai gan programmēšanas valodas kursu apmeklēšana var būt noderīga, programmatūras inženieris un starta dibinātājs Džīns Linetskis saka:"
2. solis. Uzziniet datu bāzes jēdzienus, piemēram, tabulas, skatus/vaicājumus un procedūras
Lai to izdarītu, varat izmantot jebkuru vienkāršu datu bāzes pakotni, piemēram:
- MS piekļuve
- DB V
- Fox Pro
- Paradokss
- MySQL ir laba datu bāze, ko mācīties, jo tā ir bezmaksas, parasti tiek izmantota, un datu bāzēm parasti piekļūst ar SQL vaicājumiem
3. solis. Izlemiet, kāda veida programmētājs vēlaties būt
Programmētāji parasti ietilpst vienā no šīm kategorijām:
- Tīmekļa programmētājs
-
Darbvirsmas lietojumprogrammu programmētājs
- Uz operētājsistēmu (OS) orientēts programmētājs (piesaistīts vienai operētājsistēmai vai operētājsistēmu kopai)
- No platformas neatkarīgs programmētājs
- Izplatītu lietojumprogrammu programmētājs
- Bibliotēka/platforma/ietvars/galvenais programmētājs
-
Sistēmas programmētājs
- Kodola programmētājs
- Vadītāja programmētājs
- Sastādītāja programmētājs
- Programmēšanas zinātnieks
4. solis. Apgūstiet tehnoloģijas un programmēšanas valodas, kas saistītas ar jūsu izvēlēto programmēšanas jomu
Turpmākajās sadaļās ir sadalīti uzdevumi dažādiem programmēšanas veidiem.
1. metode no 6: tīmekļa programmēšana
1. solis. Ziniet, ko nozīmē tīmekļa programmēšana
Tīmekļa lietojumprogrammas ir programmatūras komponenti, kas paredzēti darbam virs interneta arhitektūras. Tas nozīmē, ka lietojumprogrammām var piekļūt, izmantojot tīmekļa pārlūkprogrammas programmatūru, piemēram, Firefox vai Internet Explorer. Lai veidotos virs interneta arhitektūras, nav obligāti nepieciešams aktīvs savienojums ar internetu. Tas nozīmē, ka tīmekļa lietojumprogrammas ir veidotas, izmantojot standarta tīmekļa tehnoloģijas, piemēram:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- IP protokoli
- HTML
- XML
- Saaukstēšanās
- ASP
- JSP
- PHP
- ASP. NET
2. Pārlūkojiet daudzas dažādas vietnes, lai uzzinātu, kā tās parasti izskatās
(Ar peles labo pogu noklikšķiniet, pēc tam noklikšķiniet uz Skatīt avotu vai nospiediet F12.) Meklējiet dažādību vietnes veidā/saturā, nevis apmeklēto vietņu skaitā. Parasti jums būs jāapmeklē vismaz viens no šādiem vietņu veidiem:
- Korporatīvās klātbūtnes vietnes (komercsabiedrības, bezpeļņas korporācijas/organizācijas, valsts organizācijas)
- Tīmekļa indeksēšanas dzinēji (meklētājprogrammas, meta meklēšanas vietnes, specializētas meklētājprogrammas, katalogi)
- Datu ieguves vietnes
- Personīgās vietnes
- Informatīvas/enciklopēdiskas lapas (wiki, datu lapas, tehniskās specifikācijas un rokasgrāmatas, kurās uzskaitīti katalogi, emuāri un žurnāli, ziņu un ziņu aģentūru vietnes, dzeltenās lapas utt.)
- Sociālās vietnes (sociālie portāli, grāmatzīmju vietnes, piezīmju vietnes)
- Sadarbības vietnes (tas ietver citas iepriekš minētās kategorijas, piemēram, wiki un emuārus)
3. solis. Apgūstiet vismaz vienu prāta vētras tehniku/metodi un programmatūru, kas tiek izmantota šīs metodes ieviešanai
Piemēram: prāta vētras diagrammas un MS Visio.
4. Iepazīstieties ar vietņu strukturēšanu
Tas rada konceptuālas tīmekļa diagrammas, vietņu kartes un navigācijas struktūras.
Solis 5. Apmeklējiet grafikas dizaina avārijas kursu
Mēģiniet apgūt vismaz vienu grafikas rediģēšanas/manipulācijas programmatūras pakotni (pēc izvēles, bet ļoti ieteicams)
6. solis. Apgūstiet interneta infrastruktūras pamatus
Tas ietver pamata idejas iegūšanu par:
- Pamata tīmekļa pakalpojumu protokoli (HTTP, FTP, SMTP un POP3 vai IMAP4)
- Tīmekļa servera programmatūra (vēlams, tā, kas paredzēta platformai, pie kuras lielākoties strādāsit)
- Web pārlūkošanas programmatūra.
- E -pasta servera un klienta programmatūra
7. solis. Uzziniet HTML un CSS valodas
Iespējams, vēlēsities arī iegūt programmatūras pakotni “Redzamais ir tas, ko iegūstat (WYSIWYG)” HTML rediģēšanai.
8. solis. Uzziniet ar XML un XML saistītas tehnoloģijas, piemēram, XSL un XPath (pēc izvēles, bet ieteicams)
9. solis. Izveidojiet vienkāršas statiskas vietnes, līdz esat iepazinies un ērti pārvalda HTML
10. solis. Uzziniet klienta puses skriptu valodu
Lielākā daļa lietotāju apgūst JavaScript. Daži mācās VBScript, taču tas nav saderīgs ar lielāko daļu pārlūkprogrammu.
11. solis. Iepazīstieties ar apgūto klienta puses skriptu valodu
Mēģiniet sasniegt savu potenciālu, izmantojot tikai šo valodu. Dodieties uz nākamo darbību tikai pēc tam, kad esat vismaz iepazinies ar klienta puses skriptu valodu.
12. solis. Uzziniet vismaz vienu servera puses programmēšanas valodu
Ja izvēlaties aprobežoties ar vienu servera programmatūru, iemācieties kādu no programmēšanas valodām, ko atbalsta šī programmatūra. Ja nē, katrā servera programmatūrā iemācieties vismaz vienu programmēšanas valodu.
13. solis. Izveidojiet izmēģinājuma projektu pēc servera puses programmēšanas valodas apguves.
14. solis. Iegūstiet savu vietni un sāciet eksperimentēt tiešsaistē savā lapā
2. metode no 6: darbvirsmas lietojumprogrammu programmēšana
1. solis. Ziniet, ar ko jūs nokļūstat darbvirsmas lietojumprogrammu programmēšanā
Lielākā daļa galddatoru programmētāju raksta biznesa risinājumu kodu, tāpēc idejas iegūšana par uzņēmumiem, to organizatorisko un finanšu struktūru ietaupīs daudz laika.
2. solis. Uzziniet par dažādām datoru aparatūras arhitektūrām
Noderīgs ievadkurss digitālo shēmu projektēšanā un vēl viens datoru arhitektūrā; tomēr daži uzskata, ka tas ir uzlabots sākumpunktam, tāpēc var pietikt ar divu vai trīs mācību rakstu (piemēram, šī un šī) lasīšanu. Pēc tam varat atgriezties pie šī soļa vēlāk, pēc pirmās programmēšanas valodas apguves.
3. solis. Apgūstiet sākuma līmeņa (bērnu) programmēšanas valodu
Nekautrējieties iemācīties šādu valodu tikai tāpēc, ka esat vecāks par to, ka jūs saucat par “mazuli”. Šo programmēšanas valodu piemērs var būt Scratch. Šīs programmēšanas valodas var atvieglot sāpes, apgūstot pirmo programmēšanas valodu. Tomēr šis solis nav obligāts. To var izdarīt arī pirms iepriekšējās darbības.
4. Ievads procesuālajā, orientēts uz objektu, un funkcionālās programmēšanas paradigmas.
Solis 5. Apmeklējiet ievadkursu kādā no procesuālās programmēšanas valodām
Neatkarīgi no tā, kādu valodu vēlāk izvēlēsities kā savu izvēlēto valodu, tam būs nepieciešama procesuāla programmēšana. Arī lielākā daļa programmētāju ziņo, ka procesuālo programmēšanu ir visvieglāk izmantot kā sākumpunktu, lai iegūtu priekšstatu par programmēšanu kopumā.
6. solis. Apgūstiet vismaz vienu modernu modelēšanas paņēmienu, piemēram, UML vai ORM
7. Sāciet rakstīt dažas nelielas konsoles vai konsolei līdzīgas lietojumprogrammas
Programmēšanas valodu grāmatās varat izmantot parastos mazos vingrinājumus. Lai to izdarītu, izvēlieties rīku programmu rakstīšanai programmēšanas valodā, kurā rakstāt.
8. solis. Apmeklējiet izvērstāku kursu izvēlētajā programmēšanas valodā
Pirms turpināt, pārliecinieties, ka labi saprotat šādus jēdzienus un varat tos samērā viegli pielietot:
- Informācijas ievadīšana un izvadīšana programmas lietotājiem.
- Loģiskā plūsma un programmu izpildes plūsma procesuālajās valodās.
- Mainīgo deklarēšana, piešķiršana un salīdzināšana.
- Zarojošās programmēšanas konstrukcijas, piemēram, ja..tad..paskatieties un atlasiet/pārslēdziet..lietu.
- Looping konstrukcijas, piemēram, while..do, do.. while/till, for..next.
- Jūsu programmēšanas valodas sintakse procedūru un funkciju izveidei un izsaukšanai.
- Datu veidi un manipulācija ar tiem.
- Lietotāja definēti datu tipi (ieraksti/struktūras/vienības) un to izmantošana.
- Ja jūsu valoda atbalsta pārslodzes funkcijas, saprotiet to.
- Atlases piekļuves metodes jūsu izvēlētajai valodai (norādes, skatīšanās utt.)
- Ja jūsu valoda atbalsta operatoru pārslodzi, saprotiet to.
- Ja jūsu valoda atbalsta delegātus/funkciju norādes, saprotiet to.
9. solis. Izmantojiet apgūtās uzlabotās metodes
10. solis. Apmeklējiet ievadkursu vēl vismaz vienā programmēšanas valodā citā programmēšanas paradigmā
Ieteicams apgūt vienu katras paradigmas programmēšanas valodu, un lielākā daļa pieredzējušo programmētāju to dara, tomēr jūs parasti sākat ar vienu, kādu laiku strādājat, pielietojot savas zināšanas un praktizējot tās, pēc tam apgūstiet otru vēlāk, pēc tam, kad jums jau bija reāla pieredze -dzīves pieredze programmēšanā. Izmēģiniet kādu no šīm valodu jomām:
- Loģiskās programmēšanas paradigma.
- Funkcionālās programmēšanas paradigma.
- Objektorientēta paradigma.
11. solis. Mēģiniet salīdzināt abas līdz šim apgūtās programmēšanas valodas
Novērtējiet katra stiprās un vājās puses. Parasti to veic:
- Veikt vienkāršus sava agrīnā darba paraugus pirmajā programmēšanas valodā un pārrakstīt to, izmantojot otro programmēšanas valodu.
- Izveidojiet jaunu projektu un mēģiniet to īstenot, izmantojot abas valodas. Dažreiz, atkarībā no jūsu izvēlētā projekta un valodu, jūs, iespējams, nevarēsit īstenot projektu vienā no valodām!
- Mīklas lapas vai kopsavilkuma tabulas salīdzinājumu rakstīšana starp līdzīgām konstrukcijām abās valodās un katrai valodai raksturīgās iezīmes.
- Mēģiniet atrast veidus, kā atdarināt funkcijas, kas ir unikālas vienai no divām valodām, izmantojot citu valodu.
12. solis. Apgūstiet vizuālās programmēšanas koncepcijas, izmantojot kādu no apgūtajām valodām
Gandrīz visām programmēšanas valodām ir versijas/bibliotēkas, kas atbalsta vizuālo programmēšanu, un citām, kas atbalsta konsolei vai konsolei līdzīgu programmēšanu. To var paveikt šādi:
- Iepazīstieties ar notikumu vadītu programmēšanu. Lielākā daļa vizuālās programmēšanas zināmā mērā balstās uz notikumiem un notikumu apstrādi (izmantojot jūsu izvēlēto programmēšanas valodu).
- Izmēģiniet pēc iespējas vairāk darbvirsmas programmatūras un saprotiet, ko programmatūra dara. Lielākā daļa programmatūras izstrādes uzņēmumu piedāvā savu produktu beta testēšanas versijas, kuras varat izmantot programmatūras testēšanai. Sekojiet līdzi lietotāja saskarnes uzlabojumiem.
- Izlasiet dažus rakstus vai pamācības par grafiskajām lietotāja saskarnēm.
13. solis. Sāciet pielietot savas zināšanas mazos jūsu izstrādātajos programmatūras projektos
Mēģiniet izmantot savas zināšanas par programmēšanu problēmām, ar kurām saskaraties savā ikdienas dzīvē. Piemēram, rakstiet programmas, kas masveidā pārdēvē failus, vizuāli salīdzina teksta failus, kopē direktorijā esošo failu nosaukumus atmiņā/teksta failā un tamlīdzīgi. Sākumā esiet vienkāršs.
14. solis. Izveidojiet virtuālu izlaiduma projektu
Pabeigt to līdz galam, pielietojot līdz šim apgūtās vizuālās programmēšanas metodes.
15. solis. Paplašiniet savu izpratni par iepriekš apgūto vizuālo ietvaru/bibliotēku/pakotni, apmeklējot padziļinātus kursus, pievēršot papildu uzmanību detaļām un apgūstot vairāk padomu un triku savam ietvaram no tiešsaistes resursiem
16. solis. Meklējiet citas programmēšanas valodu vizuālo elementu paketes/bibliotēkas un apgūstiet tās
17. solis. Apmeklējiet grafikas (nevis grafikas dizaina) kursu
Tas būs ļoti noderīgi programmētājiem, kuri vēlas uzrakstīt pievilcīgus lietotāja interfeisa elementus.
18. solis. Apsveriet iespēju kļūt par spēļu programmētāju (pēc izvēles)
Spēļu programmēšana lielākajā daļā tiek uzskatīta par darbvirsmas programmēšanu. Ja plānojat kļūt par spēļu programmētāju, pēc šo darbību pabeigšanas jums būs jāuzzina vairāk par spēļu programmēšanu. Spēļu programmētājiem grafikas kurss ir obligāts, un otrajai izvēlētajai valodai iepriekšējos soļos jābūt loģiskai/funkcionālai programmēšanas valodai (vēlams Prolog vai Lisp).
3. metode no 6: izplatīto lietojumprogrammu programmēšana
1. solis. Atrisiniet izplatīto lietojumprogrammu programmēšanu
Daudzi uzskata, ka izplatīta lietojumprogrammu programmēšana ir viena no visgrūtāk apgūstamajām, un tai ir vajadzīgas dažādas zināšanas datoru un sakaru tehnoloģijās.
2. solis. Iepazīstieties ar telefonijas sistēmām un to aparatūru
Šis solis nav obligāts. Tomēr tas ir ļoti noderīgi, lai izprastu tīkla topoloģijas.
3. solis. Iepazīstieties ar tīkla aparatūras arhitektūru un ierīcēm, piemēram, centrmezgliem, slēdžiem un maršrutētājiem
Solis 4. Apmeklējiet tīkla protokolu un svarīgāko kursu
Pirms sākat izplatīt lietojumprogrammu programmēšanu, jums ir labi jāpārzina OSI (atvērto sistēmu savienojuma) modelis, Ethernet, IP, TCP, UDP un
5. solis. Uzziniet XML valodu un iepazīstieties ar to
6. Sāciet, apgūstot čaulas skriptu valodu
Programmēšanai, kas balstīta uz Windows, tas būtu jebkurš skripts, kas darbojas ar Windows skriptu resursdatoru. Linux programmēšanai pietiek ar Bash skriptiem un Perl. JavaScript ir ļoti ieteicams abās platformās šādu iemeslu dēļ:
- To atbalsta gandrīz jebkurš skriptu resursdators jebkurā operētājsistēmā (Windows skriptu resursdators pēc noklusējuma atbalsta JavaScript, lielākajai daļai Linux izplatījumu ir pakete JavaScript skriptu konsoles atbalstam).
- Daudzi izstrādātāji uzskata, ka to ir vieglāk iemācīties.
- Tam ir ALGOL atvasināta sintakse, kas jūs iepazīstina ar daudzām citām programmēšanas valodām, kad jums jāizvēlas otra programmēšanas valoda (C, C ++, C#, Java un J# ir ALGOL atvasināta sintakse).
- Apgūstot JavaScript, jūs iepazīstaties ar tīmekļa lapu skriptēšanu klienta pusē, kas ir papildu blakusparādība!
7. solis. Izmantojiet tikai procesuālo programmēšanu, vispirms izmantojot izvēlēto skriptu valodu
Vēlāk jūs varat izmantot uzlabotas programmēšanas metodes un paradigmas atbilstoši savai skriptu valodai un tās atbalstītajām iespējām. Visām skriptu valodām ir daži procesuālie programmēšanas aspekti.
8. solis. Izmantojiet apgūto skriptu valodu, lai rakstītu skriptus, kas veic sakarus starp iekārtām
Uzziniet, kas ir nepieciešams, lai to izdarītu. Pietiks ar vienkāršu saziņu.
9. darbība. Veiciet pārsūtīšanu uz darbvirsmas skriptu/programmēšanas valodu
Vēlams, lai tā būtu vairāku paradigmu valoda, piemēram, Python. Vienkārši iepazīstieties ar šo otro valodu. Vairums programmētāju Java uzskata par izvēlēto valodu daudzu iemeslu dēļ. Tomēr C# šajā jomā strauji uzņem apgriezienus. Java un C# ir ieteicamas šādu iemeslu dēļ:
- Tās ir uz objektu orientētas programmēšanas valodas, kas pasargā programmētājus lielās komandās no ieviešanas detaļām, jo tās abas atbalsta komponentus (iepriekš apkopotas koda vienības, kas veic noteiktu uzdevumu un var tikt izmantotas citās programmās).
- Tie atbalsta notikumu vadītu programmēšanu, kā arī OO un procesuālu plānošanu kādā līmenī.
- Sistēma, uz kuras tiek veidota valoda, tiek izplatīta pēc būtības (Java gadījumā).
- Daudzu gatavu pakotņu pieejamība, kas nodarbojas ar tīklu veidošanu, gan kā atvērtā pirmkoda, gan iebūvētās sistēmas paketes; tādējādi programmētājiem ir vieglāk balstīties uz citu darbu.
10. solis. Koncentrējieties vairāk uz valodas galvenajām iezīmēm, jo īpaši tām, kas atbalsta tīklošanos
Pievērsiet mazāk uzmanības tādiem lietotāja saskarnes elementiem kā izvade, logu dizains un paņēmieni, kā arī lietotāja saskarnes elementi.
11. solis. Apmeklējiet kursu par izplatītu lietojumprogrammu dizainu un arhitektūru
To var izdarīt, izmantojot grāmatas, tiešsaistes apmācības vai akadēmiskos kursus. Tomēr ir jāizprot izplatīto lietojumprogrammu arhitektūra un tās koncepcijas.
12. solis. Uzziniet par apkalpojamo komponentu un pakalpojumu izveidi, izmantojot izvēlēto programmēšanas valodu
13. solis. Apgūstiet vienu vai vairākas no šīm tehnoloģijām
Ieteicams vismaz iepazīties ar tiem visiem. Lielākā daļa izplatīto lietojumprogrammu programmētāju neapstājas pie vienas vai divām programmēšanas valodām, bet apgūst vismaz vienu programmēšanas valodu katrā operētājsistēmā. Tas ir tāpēc, ka, ja vēlaties, lai jūsu lietojumprogramma tiktu “izplatīta”, vismaz katrai galvenajai operētājsistēmai ir jānorāda tās versija.
- Kopējā objekta pieprasījuma brokera arhitektūra (CORBA)
- Vienkāršs objektu piekļuves protokols (SOAP)
- Asinhronais JavaScript un XML (AJAX)
- Sadalītā komponenta objekta modelis (DCOM)
- . NET Remoting
- XML tīmekļa pakalpojumi
4. metode no 6: bibliotēka/platforma/ietvars/pamatprogrammēšana
Solis 1. Ziniet, kas ir galvenā programmēšana
Galvenie programmētāji ir tikai progresīvi programmētāji, kuri veica pāreju no programmēšanas lietojumprogrammām uz programmēšanas koda vienībām, lai tos izmantotu citi programmētāji.
2. solis. Ja vēl neesat to izdarījis, apgūstiet programmēšanas valodu, kas atbalsta atkārtoti lietojamu komponentu/pakotņu veidošanu
Solis 3. Apmeklējiet padziļinātu UML un ORM kursu
Lielākā daļa bibliotēku izstrādātāju izmanto vienu vai abus.
Solis 4. Apmeklējiet programmatūras inženierijas kursu
5. solis. Apgūstiet vismaz modulāras, uz komponentiem balstītas, uz objektu orientētas un uz notikumiem balstītas programmēšanas metodes un koncepcijas
Jo vairāk programmēšanas paradigmu un valodu jūs aptverat, jo veiksmīgāks jūs kļūstat par bibliotēku/pakotņu programmētāju.
6. solis. Uzziniet vairāk par dažādām operētājsistēmām un programmēšanas ietvariem, ko atbalsta šīs operētājsistēmas
7. solis. Savus mācību centienus koncentrējiet uz platformām neatkarīgām sistēmām, programmēšanas valodām un tehnoloģijām
8. solis. Ja līdz šim apgūtajām programmēšanas valodām ir ANSI/ISO/IEEE/W3C standarta versijas, apgūstiet standartus.
Mēģiniet izmantot standarta kodu, kad vien iespējams.
9. solis. Mēģiniet atdarināt vienkāršas, jau izveidotas bibliotēkas, īpaši atvērtā pirmkoda bibliotēkas
Tas ir noderīgi, lai sāktu kļūt par bibliotēku/pakotņu programmētāju. Sāciet ar vienkāršām pakotnēm, piemēram, vienību konvertēšanu un zinātnisko aprēķinu starpposma pakotnēm. Ja esat koledžas students, izmantojiet savus programmēšanas kursus, mēģinot īstenot to vienādojumus un zinātnisko kodolu kā bibliotēkas.
10. solis. Meklējiet un izmēģiniet atvērtā koda pakotnes savā programmēšanas jomā
Vispirms lejupielādējiet pakotnes bināros failus/izpildāmos failus. Mēģiniet to izmantot un atrodiet tās stiprās un vājās puses. Kad esat to izdarījis, lejupielādējiet avotu un mēģiniet saprast, kā tas tika darīts. Mēģiniet atjaunot šīs bibliotēkas vai to daļas. Sākumā dariet to pēc koda redzēšanas un vēlāk, pirms redzat kodu. Vēlākajos posmos mēģiniet uzlabot šīs bibliotēkas.
11. solis. Uzziniet dažādas pieejas, kas tiek izmantotas komponentu izplatīšanai un izvietošanai programmētājiem
- Parasti bibliotēku/pakotņu programmētāji mēdz rekursīvi un/vai iteratīvi domāt par visām tām uzdotajām problēmām. Mēģiniet domāt par katru problēmu kā par mazāku problēmu kopumu (vienkāršāku uzdevumu secību) vai par atkārtotu procesu, lai samazinātu problēmas apjomu līdz mazākām jomām un pēc tam saliktu šīs jomas viena otrai.
- Bibliotēku/pakotņu programmētāji mēdz vispārināt. Tas ir, ja viņiem tiek piedāvāta vienkārša specifiska problēma, viņi parasti domā par vispārīgāku problēmu un mēģina atrisināt šo vispārējo problēmu, kas automātiski atrisinās mazāko.
5. metode no 6: Sistēmas programmēšana
1. solis. Izprotiet, ko nozīmē sistēmas programmēšana
Sistēmu programmētāji nodarbojas ar programmēšanas zinātni, nevis tās īpašajām ieviešanām. Nesaistiet sevi ar konkrētu platformu.
2. solis. Darbvirsmas lietojumprogrammu programmētājiem veiciet pirmās trīs darbības
Solis 3. Apmeklējiet ievadkursu lineārajā algebrā
Solis 4. Apmeklējiet Calculus kursu
Solis 5. Apmeklējiet loģikas un/vai diskrētās matemātikas kursu
6. solis. Iepazīstieties ar dažādām operētājsistēmām
To var izdarīt šādi:
- Gūstot priekšstatu par to, kā tiek instalētas operētājsistēmas.
- Uzziniet, kā vienā datorā instalēt dažādas operētājsistēmas (pēc izvēles, bet ieteicams).
- Vairāku operētājsistēmu instalēšana. Neinstalējiet sistēmās palīdzības paketes; tā vietā izmantojiet operētājsistēmu nodrošinātās funkcijas.
7. solis. Apmeklējiet kursu (vai arī lasiet grāmatas) par datoru aparatūras arhitektūru
8. Izveidojiet izpratni par dažādām datoru aparatūras platformām
9. solis. Iepazīstieties ar izvēlētās aparatūras platformas/operētājsistēmas montāžas valodu
Vēlāk jūs uzzināsit par citu platformu/sistēmu montāžu.
10. solis. Uzziniet ANSI C un C ++ valodas, kā arī procesuālās programmēšanas jēdzienus
11. solis. Izprotiet un praktizējiet C/C ++ standarta bibliotēkas izvēlētajā platformā
Pievērsiet īpašu uzmanību standarta veidņu bibliotēkai (STL) un varbūt aktīvajai veidņu bibliotēkai (ATL).
12. solis. Meklējiet tiešsaistes resursus, grāmatas un kursus, lai izprastu jūsu konkrētās platformas C-garšu
Solis 13. Praktizējiet papildu koda izveidi, izmantojot C un C ++
14. solis. Uzziniet vairāk par montāžu
Solis 15. Apmeklējiet operētājsistēmu projektēšanas kursu
16. solis. Atrodiet un izlasiet savas izvēlētās platformas dokumentāciju
Tas būs vieglāk, ja izvēlēsities operētājsistēmu, kuras pamatā ir Unix. Ļoti labi saprotiet sistēmu, ar kuru vēlāk strādāsit.
17. solis. Praktizējiet savas iegūtās zināšanas
Vispirms izveidojiet nelielas sistēmas utilītas. Parasti ir noderīgi:
- Mēģina atjaunot mazus rīkus, kas jau atrodas jūsu sistēmā.
- Mēģiniet pārvietot savējos citās operētājsistēmās pieejamos utilītus.
18. solis. Mācieties valodas visnoderīgākajā secībā
Šī ir vienīgā vieta, kur svarīga ir pirmā programmēšanas valoda. Vispirms iemācies ANSI C, nevis C ++, ne C#, ne Java un nevis D. Tad mācies C ++.
-
Pirmās valodas ierobežošana tikai uz C un C ir tāpēc, ka sistēmu programmēšanai programmētājam ir jāpārzina šādi jēdzieni:
- Īsta un pilnīga avota koda apkopošana.
- Zema līmeņa objektu izvades faili.
- Bināro failu sasaiste.
- Zema līmeņa mašīnvalodas/montāžas programmēšana. Tiek teikts, ka C valoda dažiem ir slēpta/vieglāk iemācāma montāža. Tas arī atbalsta montāžas valodas koda ievietošanu kodā, kad vien vēlaties, un tas ir tikai procesuāls (piemēram, montāža).
6. metode no 6: Programmēšanas zinātne
1. solis. Ziniet, ko dara programmēšanas zinātnieks
Programmēšanas zinātnieki ir ļoti progresīvi programmētāji, kuri tā vietā, lai izstrādātu lietojumprogrammas, strādā pie tādu skaitļošanas tehnoloģiju izstrādes kā šifrēšana, programmēšanas valodas un datu ieguves algoritmi. Šis līmenis reti tiek sasniegts bez akadēmiskām studijām un centības.
Solis 2. Uzkrāt zinātniskās zināšanas, kas līdzvērtīgas četru gadu grādam datorzinātnēs
To var izdarīt:
- Faktiskā akadēmiskā grāda iegūšana (kas parasti notiek).
- Iegūt kursu aprakstu šādam grādam kādā no mūsdienu universitātēm un apgūt kursus pašmācības ceļā vai kā atsevišķus kursus. To varētu sasniegt teorētiski, bet ieteicamais ceļš ir pirmais.
3. solis. Izlemiet specialitātes jomu
Jo konkrētāk, jo labāk. Tas ir atkarīgs no jūsu vēlmēm. Tomēr šeit ir saraksts ar dažām galvenajām datorprogrammēšanas zinātnes tēmām:
- Algoritmu dizains (daži piemēri ir meklēšana, šķirošana, šifrēšana, atšifrēšana un kļūdu noteikšana sakaros)
- Programmēšanas valodas/kompilatora dizains/optimizācija
- Mākslīgā intelekta jomas (modeļa atpazīšana, runas atpazīšana, dabiskās valodas apstrāde, neironu tīkli)
- Robotika
- Zinātniskā programmēšana
- Super skaitļošana
- Datorizēta projektēšana/modelēšana (CAD/CAM)
- Virtuālā realitāte
- Datorgrafika (datorgrafiku parasti kļūdaini sajauc ar grafisko dizainu vai lietotāja saskarnes grafisko dizainu. Datorgrafika ir joma, kurā tiek pētīts, kā attēlot un manipulēt ar grafiku datorsistēmās.)
4. Apsveriet iespēju iegūt augstāku akadēmisko grādu
Jūs varētu vēlēties iegūt maģistra grādu vai doktora grādu.