6 načina da postanete programer

Sadržaj:

6 načina da postanete programer
6 načina da postanete programer

Video: 6 načina da postanete programer

Video: 6 načina da postanete programer
Video: 😖 Высший класс или ширпотреб? В каких версиях Focus 3 меньше проблем? 2024, Maj
Anonim

Postati programer kumulativni je proces koji iz dana u dan i iz godine u godinu izgrađuje vaše vještine, a programiranje može biti zabavno i korisno (mentalno, duhovno i financijski). Ovaj vodič ne obećava čarobno lak način da postanete programer, a redoslijed koraka nije svetinja, ali ćete dobiti opći prikaz kako postati programer u jednom od modernih programskih područja.

Koraci

Postanite programer Korak 1
Postanite programer Korak 1

Korak 1. Krenite na uvodni kurs u jednu (ili sve) sljedeće discipline:

  • Logika
  • Diskretna matematika
  • Programski jezik (učestvujte u različitim programskim paradigmama, počevši od sekvencijalnog/proceduralnog do objektno orijentisanog, nakon funkcionalnog i logičkog programiranja. Poželjniji Ruby/Python/Pascal za početnike i nakon dobrog razumijevanja idite dublje u C ++/C#/Java)

SAVJET STRUČNJAKA

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

Osnivač pokretanja i inženjerski direktor

Nemojte se osjećati kao da morate steći diplomu kodiranja.

Dok pohađanje kurseva programskog jezika može biti od pomoći, Gene Linetsky, softverski inženjer i osnivač pokretanja, kaže:"

Postanite programer Korak 2
Postanite programer Korak 2

Korak 2. Naučite koncepte baze podataka kao što su tablice, prikazi/upiti i procedure

Za to možete koristiti bilo koji jednostavan paket baze podataka, na primjer:

  • MS Access
  • DB V
  • Fox Pro
  • Paradoks
  • MySQL je dobra baza podataka za učenje jer je besplatna, često se koristi i bazama podataka se obično pristupa pomoću SQL upita
Postanite programer Korak 3
Postanite programer Korak 3

Korak 3. Odlučite kakvu vrstu programera želite biti

Programeri općenito spadaju u jednu od sljedećih kategorija:

  • Web programer
  • Programer za desktop aplikacije

    • Programer orijentisan na operativni sistem (OS) (vezan za jedan operativni sistem ili skup operativnih sistema)
    • Programer nezavisan od platforme
  • Programer za distribuirane aplikacije
  • Biblioteka/platforma/framework/core programer
  • Sistemski programer

    • Kernel programer
    • Programer za upravljačke programe
    • Programer kompajlera
  • Naučnik programiranja
Postanite programer Korak 4
Postanite programer Korak 4

Korak 4. Naučite tehnologije i programske jezike koji se odnose na vaše programsko polje po izboru

U sljedećim odjeljcima raščlanjeni su zadaci za različite vrste programiranja.

Metoda 1 od 6: Web programiranje

Postanite programer Korak 5
Postanite programer Korak 5

Korak 1. Znajte šta web programiranje uključuje

Web aplikacije su softverske komponente dizajnirane za rad na vrhu internetske arhitekture. To znači da se aplikacijama pristupa putem softvera web preglednika, poput Firefoxa ili Internet Explorera. Izgradnja na vrhu internetske arhitekture ne zahtijeva nužno aktivnu vezu s internetom. To znači da su web aplikacije izgrađene na vrhu standardnih web tehnologija, kao što su:

  • HTTP
  • FTP
  • POP3
  • SMTP
  • TCP
  • IP protokoli
  • HTML
  • XML
  • Coldfusion
  • ASP
  • JSP
  • PHP
  • ASP. NET
Postanite programer Korak 6
Postanite programer Korak 6

Korak 2. Pregledajte mnoge različite web stranice kako biste saznali kako obično izgledaju

(Desnim tasterom miša kliknite na View Source ili pritisnite F12.) Potražite raznolikost u vrsti/sadržaju web stranice, a ne u količini posjećenih web stranica. Općenito, morat ćete posjetiti barem jednu od svake od sljedećih vrsta web stranica:

  • Stranice korporativnog prisustva (komercijalne korporacije, neprofitne korporacije/organizacije, vladine organizacije)
  • Mašine za indeksiranje weba (tražilice, meta pretraživačke stranice, specijalizirane tražilice, direktoriji)
  • Web lokacije za rudarenje podataka
  • Lične stranice
  • Informativne/enciklopedijske stranice (wikiji, listovi s podacima, tehničke specifikacije i priručnici s popisima direktorija, blogova i časopisa, stranica s vijestima i novinskim agencijama, žute stranice itd.)
  • Društvene web stranice (društveni portali, web stranice za označavanje, web stranice za bilješke)
  • Mjesta za saradnju (ovo uključuje i druge gore navedene kategorije, poput wikija i blogova)
Postanite programer 7. korak
Postanite programer 7. korak

Korak 3. Naučite barem jednu tehniku/metodu brainstorminga i softver koji se koristi za implementaciju te metode

Na primjer: dijagrami brainstorminga i MS Visio.

Postanite programer Korak 8
Postanite programer Korak 8

Korak 4. Upoznajte se sa strukturiranjem web stranice

Ovo stvara konceptualne web dijagrame, karte web stranica i navigacijske strukture.

Postanite programer Korak 9
Postanite programer Korak 9

Korak 5. Uradite kratak kurs o grafičkom dizajnu

Pokušajte naučiti barem jedan programski paket za uređivanje/manipulaciju grafikom (opcionalno, ali se toplo preporučuje)

Postanite programer Korak 10
Postanite programer Korak 10

Korak 6. Naučite osnove internetske infrastrukture

Ovo uključuje sticanje osnovne ideje o:

  • Protokoli osnovnih web usluga (HTTP, FTP, SMTP i POP3 ili IMAP4)
  • Softver web servera (po mogućnosti jedan za platformu na kojoj ćete uglavnom raditi)
  • Softver za pregledavanje weba.
  • E -mail server i klijentski softver
Postanite programer Korak 11
Postanite programer Korak 11

Korak 7. Naučite HTML i CSS jezike

Možda biste željeli nabaviti i softverski paket "Ono što vidite je ono što dobijete (WYSIWYG)" za uređivanje HTML -a.

Postanite programer Korak 12
Postanite programer Korak 12

Korak 8. Naučite XML i tehnologije povezane sa XML -om, kao što su XSL i XPath (izborno, ali preporučljivo)

Postanite programer Korak 13
Postanite programer Korak 13

Korak 9. Kreirajte jednostavne statičke web stranice dok se ne upoznate i ne snalazite u HTML -u

Postanite programer Korak 14
Postanite programer Korak 14

Korak 10. Naučite skriptni jezik na strani klijenta

Većina korisnika uči JavaScript. Neki uče VBScript, ali to nije kompatibilno s većinom preglednika.

Postanite programer Korak 15
Postanite programer Korak 15

Korak 11. Upoznajte se sa skriptnim jezikom na strani klijenta koji ste naučili

Pokušajte ostvariti svoj potencijal koristeći samo taj jezik. Idite na sljedeći korak tek nakon što se barem upoznate sa jezikom skriptiranja na strani klijenta.

Postanite programer Korak 16
Postanite programer Korak 16

Korak 12. Naučite barem jedan programski jezik na strani servera

Ako se odlučite ograničiti na jedan serverski softver, naučite jedan od programskih jezika koje taj softver podržava. Ako ne, naučite barem jedan programski jezik na svakom poslužiteljskom softveru.

Postanite programer Korak 17
Postanite programer Korak 17

Korak 13. Napravite pilot projekat za sebe nakon što završite sa učenjem programskog jezika na strani servera.

Postanite programer Korak 18
Postanite programer Korak 18

Korak 14. Nabavite vlastitu web stranicu i počnite eksperimentirati na svojoj web stranici

Metoda 2 od 6: Programiranje aplikacija za računare

Postanite programer Korak 19
Postanite programer Korak 19

Korak 1. Znajte u šta se upuštate sa programiranjem desktop aplikacija

Većina programera za desktop računare piše kodeks za poslovna rješenja, pa će sticanje predodžbe o preduzećima, njihovoj organizacionoj i finansijskoj strukturi uštedjeti vrijeme.

Postanite programer Korak 20
Postanite programer Korak 20

Korak 2. Saznajte više o različitim arhitekturama računarskog hardvera

Uvodni kurs iz dizajna digitalnih kola i drugi iz arhitekture računara je koristan; međutim, neki smatraju da je to napredno za početnu točku, pa bi čitanje dva ili tri vodička članka (poput ovog i ovog) moglo biti dovoljno. Zatim se možete vratiti na ovaj korak kasnije, nakon što naučite svoj prvi programski jezik.

Postanite programer Korak 21
Postanite programer Korak 21

Korak 3. Naučite početni (dječji) programski jezik

Nemojte se sramiti naučiti takav jezik samo zato što ste stariji nego što vas zovu "klinac". Primjer ovih programskih jezika može biti Scratch. Ovi programski jezici mogu u velikoj mjeri olakšati bol pri učenju vašeg prvog programskog jezika. Međutim, ovaj korak nije obavezan. To se može učiniti i prije prethodnog koraka.

Postanite programer Korak 22
Postanite programer Korak 22

Korak 4. Upoznajte se s proceduralnim, objektno orijentisana, i paradigme funkcionalnog programiranja.

Postanite programer Korak 23
Postanite programer Korak 23

Korak 5. Uradite uvodni kurs u jednom od proceduralnih programskih jezika

Bez obzira na to koji jezik kasnije izaberete da bude vaš jezik, to će zahtijevati proceduralno programiranje na nekom nivou. Također, većina programera smatra da je proceduralno programiranje najlakše koristiti kao polazište za stjecanje ideje programiranja općenito.

Postanite programer Korak 24
Postanite programer Korak 24

Korak 6. Naučite barem jednu naprednu tehniku modeliranja, poput UML -a ili ORM -a

Postanite programer Korak 25
Postanite programer Korak 25

Korak 7. Počnite pisati neke male konzole ili aplikacije slične konzoli

Možete koristiti uobičajene male vježbe u knjigama o programskim jezicima. Za to odaberite alat za pisanje programa na programskom jeziku na kojem pišete.

Korak 8. Krenite na napredniji kurs u odabranom programskom jeziku

Pobrinite se da dobro razumijete sljedeće koncepte i da ih možete relativno lako primijeniti prije nego nastavite:

  • Unos i izlaz informacija korisnicima programa.
  • Logički tok i tok izvođenja programa u proceduralnim jezicima.
  • Deklarisanje, dodeljivanje i upoređivanje promenljivih.
  • Granske programske konstrukcije kao što su if.. then..else i select/switch..case.
  • Petlje konstrukcija kao što su while..do, do.. while/until, for..next.
  • Sintaksa vašeg programskog jezika za kreiranje i pozivanje procedura i funkcija.
  • Vrste podataka i manipulacija njima.
  • Korisnički definirani tipovi podataka (zapisi/strukture/jedinice) i njihova upotreba.
  • Ako vaš jezik podržava funkcije preopterećenja, razumite ga.
  • Metode pristupa memoriji po vašem izboru (pokazivači, zavirivanje itd.)
  • Ako vaš jezik podržava preopterećenje operatora, razumite to.
  • Ako vaš jezik podržava delegate/pokazivače funkcija, razumite ga.
Postanite programer Korak 27
Postanite programer Korak 27

Korak 9. Primijenite napredne tehnike koje ste naučili

Postanite programer Korak 28
Postanite programer Korak 28

Korak 10. Pohađajte uvodni kurs u barem još jednom programskom jeziku u drugoj programskoj paradigmi

Preporučuje se da naučite jedan programski jezik za svaku paradigmu, a većina naprednih programera to čini, međutim, obično započnete s jednim, radite neko vrijeme primjenjujući svoje znanje i vježbajući ga, a zatim kasnije naučite drugi, nakon što ste već imali pravi -životno iskustvo u programiranju. Isprobajte jedno od sljedećih jezičnih područja:

  • Paradigma logičkog programiranja.
  • Paradigma funkcionalnog programiranja.
  • Objektno orijentisana paradigma.
Postanite programer Korak 29
Postanite programer Korak 29

Korak 11. Pokušajte uporediti dva programska jezika koja ste do sada naučili

Procijenite snage i slabosti svakog od njih. Obično to rade:

  • Uzimanje jednostavnih uzoraka vašeg ranog rada u prvom programskom jeziku i njegovo ponovno pisanje pomoću drugog programskog jezika.
  • Kreiranje novog projekta i pokušajte ga implementirati koristeći oba jezika. Ponekad, ovisno o izboru projekta i jezika, možda nećete moći implementirati projekt na jednom od jezika!
  • Pisanje usporednih tablica ili usporednih tablica usporedbi između sličnih konstrukata u dva jezika i karakteristika jedinstvenih za svaki od jezika.
  • Pokušajte pronaći načine da oponašate karakteristike koje su jedinstvene za jedan od dva jezika koristeći drugi jezik.
Postanite programer Korak 30
Postanite programer Korak 30

Korak 12. Naučite koncepte vizuelnog programiranja koristeći jedan od jezika koje ste naučili

Gotovo svi programski jezici imaju verzije/biblioteke koje podržavaju vizualno programiranje, a drugi podržavaju programiranje konzole ili konzole. To se može postići:

  • Upoznajte se sa programiranjem zasnovanim na događajima. Većina vizuelnog programiranja oslanja se na nekom nivou na rukovanje događajima i događajima (koristeći programski jezik koji odaberete).
  • Isprobajte što više softvera za računare i shvatite šta softver radi. Većina kompanija za razvoj softvera nudi beta-testiranje verzija svojih proizvoda koje možete koristiti za testiranje softvera. Budite u toku sa napredovanjem korisničkog interfejsa.
  • Pročitajte neke članke ili vodiče o grafičkom korisničkom interfejsu.
Postanite programer Korak 31
Postanite programer Korak 31

Korak 13. Počnite primjenjivati svoje znanje na malim softverskim projektima koje dizajnirate

Pokušajte primijeniti svoju stručnost u programiranju na probleme s kojima se susrećete u svakodnevnom životu. Na primjer, pišite programe koji masovno preimenuju datoteke, vizualno uspoređuju tekstualne datoteke, kopiraju nazive datoteka u direktoriju u memoriju/tekstualnu datoteku i slično. U početku neka bude jednostavno.

Postanite programer Korak 32
Postanite programer Korak 32

Korak 14. Kreirajte virtualni diplomski projekt

Dovršite ovo do kraja, primjenjujući tehnike vizualnog programiranja koje ste do sada naučili.

Postanite programer Korak 33
Postanite programer Korak 33

Korak 15. Proširite svoje razumijevanje vizuelnog okvira/biblioteke/paketa koje ste ranije naučili pohađajući napredne kurseve, obraćajući dodatnu pažnju na detalje i učeći više savjeta i trikova za vaš okvir iz internetskih izvora

Postanite programer Korak 34
Postanite programer Korak 34

Korak 16. Potražite druge pakete/biblioteke vizuelnih elemenata za svoje programske jezike i naučite ih

Postanite programer Korak 35
Postanite programer Korak 35

Korak 17. Pohađajte kurs iz grafike (ne grafičkog dizajna)

To će biti od velike pomoći programerima koji žele napisati privlačne elemente korisničkog sučelja.

Postanite programer Korak 36
Postanite programer Korak 36

Korak 18. Razmislite o tome da postanete programer igara (izborno)

Programiranje igara se u većini svojih dijelova smatra stolnim programiranjem. Ako namjeravate postati programer igara, morat ćete naučiti više o programiranju igara nakon što dovršite ove korake. Kurs grafike je neophodan programerima igara, a drugi jezik po izboru u prethodnim koracima trebao bi biti logički/funkcionalni programski jezik (po mogućnosti Prolog ili Lisp).

Metoda 3 od 6: Programiranje distribuiranih aplikacija

Postanite programer Korak 37
Postanite programer Korak 37

Korak 1. Bavite se programiranjem distribuiranih aplikacija

Programiranje distribuiranih aplikacija mnogi smatraju jednim od najtežih za učenje i zahtijevaju različito znanje o računarskim i komunikacijskim tehnologijama.

Postanite programer Korak 38
Postanite programer Korak 38

Korak 2. Upoznajte se brzo sa telefonskim sistemima i njihovim hardverom

Ovaj korak nije obavezan. Međutim, vrlo je korisno za razumijevanje mrežnih topologija.

Postanite programer Korak 39
Postanite programer Korak 39

Korak 3. Upoznajte se sa mrežnim hardverskim arhitekturama i uređajima kao što su čvorišta, prekidači i usmjerivači

Postanite programer Korak 40
Postanite programer Korak 40

Korak 4. Pohađajte kurs o mrežnim protokolima i osnovama

Prije početka programiranja distribuiranih aplikacija potrebno vam je dobro razumijevanje modela povezivanja otvorenih sistema (OSI), Etherneta, IP -a, TCP -a, UDP -a i HTTP -a.

Postanite programer Korak 41
Postanite programer Korak 41

Korak 5. Naučite XML jezik i upoznajte se s njim

Postanite programer Korak 42
Postanite programer Korak 42

Korak 6. Počnite učenjem skriptnog jezika ljuske

Za programiranje zasnovano na Windows-u to bi bila bilo koja skripta koja radi sa Windows Scripting Hostom. Za programiranje zasnovano na Linuxu, Bash skripte i Perl će biti dovoljni. JavaScript se jako preporučuje za to na obje platforme iz sljedećih razloga:

  • Podržava ga gotovo bilo koji host za skriptiranje u bilo kojem operativnom sistemu (Windows Scripting Host podržava JavaScript prema zadanim postavkama, većina distribucija Linuxa ima paket za podršku za JavaScript skriptu za podršku).
  • Mnogi programeri smatraju da je to lakše naučiti.
  • Ima sintaksu izvedenu iz ALGOL -a koja vas upoznaje sa mnogo više drugih programskih jezika kada trebate izabrati drugi programski jezik (C, C ++, C#, Java i J# svi imaju sintaksu izvedenu iz ALGOL -a).
  • Učeći JavaScript, upoznajete se sa skriptiranjem web stranica na strani klijenta, što je bonus nuspojava!
Postanite programer Korak 43
Postanite programer Korak 43

Korak 7. Primijenite samo proceduralno programiranje na svom jeziku skripte koji ste odabrali

Kasnije možete koristiti naprednije programske tehnike i paradigme u skladu sa svojim skriptnim jezikom i onim što podržava. Svi skriptni jezici na određenom nivou imaju neke aspekte proceduralnog programiranja.

Postanite programer Korak 44
Postanite programer Korak 44

Korak 8. Koristite skriptni jezik koji ste naučili za pisanje skripti koje obavljaju komunikaciju između mašina

Naučite šta je potrebno za to. Jednostavna komunikacija bit će dovoljna.

Postanite programer Korak 45
Postanite programer Korak 45

Korak 9. Napravite transfer na desktop skriptni/programski jezik

Po mogućnosti, jezik koji ima više paradigmi, poput Pythona. Uzmite jednostavan uvod u taj drugi jezik. Većinu programera Java smatra jezikom po izboru iz mnogo razloga. Međutim, C# na ovom polju brzo dobiva zamah. Java i C# su preferirani iz sljedećih razloga:

  • To su objektno orijentirani programski jezici koji štite programere u velikim timovima od detalja implementacije jer oboje podržavaju komponente (jedinice koda, unaprijed kompajlirane, koje izvode određeni zadatak i mogu se koristiti u drugim programima).
  • Oni podržavaju programiranje zasnovano na događajima, kao i OO i proceduralno programiranje na nekom nivou.
  • Okvir na kojem je jezik izgrađen prirodno je distribuiran (u slučaju Jave).
  • Dostupnost mnogih gotovih paketa koji se bave umrežavanjem, i otvorenog koda i ugrađenih paketa; ovo programerima olakšava nadogradnju na rad drugih.
Postanite programer Korak 46
Postanite programer Korak 46

Korak 10. Koncentrišite se više na osnovne karakteristike jezika, posebno na one koje podržavaju umrežavanje

Obratite manje pažnje na elemente korisničkog sučelja, poput izlaza, dizajna i tehnika prozora i elemenata korisničkog sučelja.

Postanite programer Korak 47
Postanite programer Korak 47

Korak 11. Pohađajte kurs o dizajnu i arhitekturi distribuiranih aplikacija

To se može učiniti pomoću knjiga, internetskih vodiča ili akademskih tečajeva. Međutim, potrebno je razumjeti arhitekturu distribuiranih aplikacija i njene koncepte.

Postanite programer Korak 48
Postanite programer Korak 48

Korak 12. Naučite o izgradnji servisiranih komponenti i usluga pomoću programskog jezika po vašem izboru

Postanite programer Korak 49
Postanite programer Korak 49

Korak 13. Naučite jednu ili više sljedećih tehnologija

Preporučuje se da ih barem upoznate sa svima. Većina distribuiranih aplikativnih programera ne zaustavlja se na jednom ili dva programska jezika, već uči barem jedan programski jezik na svakom operativnom sistemu. To je zato što ako želite da se vaša aplikacija "distribuira", trebali biste navesti njenu verziju barem za svaki veći operativni sistem.

  • Arhitektura posrednika zahtjeva za zajedničke objekte (CORBA)
  • Protokol za jednostavan pristup objektima (SOAP)
  • Asinhroni JavaScript i XML (AJAX)
  • Model distribuirane komponente (DCOM)
  • . NET Remoting
  • XML web usluge

Metoda 4 od 6: Biblioteka/platforma/okvir/osnovno programiranje

Postanite programer Korak 50
Postanite programer Korak 50

Korak 1. Znajte šta je jezgro programiranja

Osnovni programeri su samo napredni programeri koji su prešli sa programskih aplikacija na programske programske jedinice koje će koristiti drugi programeri.

Postanite programer Korak 51
Postanite programer Korak 51

Korak 2. Naučite programski jezik koji podržava izgradnju komponenti/paketa za višekratnu upotrebu, ako to već niste učinili

Postanite programer Korak 52
Postanite programer Korak 52

Korak 3. Krenite na napredni kurs iz UML -a i ORM -a

Većina programera biblioteka koristi jedno ili oboje.

Postanite programer Korak 53
Postanite programer Korak 53

Korak 4. Pohađajte kurs softverskog inženjeringa

Postanite programer Korak 54
Postanite programer Korak 54

Korak 5. Naučite barem modularne, komponentno zasnovane, objektno orijentisane programske tehnike i koncepte zasnovane na događajima

Što više programskih paradigmi i jezika obuhvatite, to ćete biti uspješniji kao programer biblioteka/paketa.

Postanite programer Korak 55
Postanite programer Korak 55

Korak 6. Saznajte više o različitim operativnim sistemima i programskim okvirima koje podržavaju ovi operativni sistemi

Postanite programer Korak 56
Postanite programer Korak 56

Korak 7. Usredotočite svoje napore na učenje na okvire nezavisne od platforme, programske jezike i tehnologije

Postanite programer Korak 57
Postanite programer Korak 57

Korak 8. Ako programski jezici koje ste do sada naučili imaju ANSI/ISO/IEEE/Standardne verzije W3C, savladajte standarde.

Pokušajte koristiti standardni kod kad god je to moguće.

Postanite programer Korak 58
Postanite programer Korak 58

Korak 9. Pokušajte oponašati jednostavne, već uspostavljene biblioteke, posebno one otvorenog koda

Ovo je korisno u ranoj fazi postajanja programera biblioteke/paketa. Počnite s jednostavnim paketima poput pretvaranja jedinica i srednjih paketa naučnih proračuna. Ako ste student, iskoristite svoje kurseve koji nisu programiranje pokušavajući implementirati njihove jednadžbe i naučno jezgro kao biblioteke.

Postanite programer Korak 59
Postanite programer Korak 59

Korak 10. Potražite i isprobajte pakete otvorenog koda u svom području programiranja

Prvo preuzmite binarne datoteke/izvršne datoteke paketa. Pokušajte ga koristiti i pronađite njegove jake i slabe strane. Nakon što to učinite, preuzmite izvor i pokušajte shvatiti kako je to učinjeno. Pokušajte ponovo stvoriti te biblioteke ili njihove dijelove. U početku to činite nakon što vidite kôd, a kasnije i prije nego vidite kôd. U kasnijim fazama pokušajte poboljšati te biblioteke.

Postanite programer Korak 60
Postanite programer Korak 60

Korak 11. Naučite različite pristupe koji se koriste za distribuciju i implementaciju komponenti programerima

  • Obično programeri biblioteka/paketa imaju tendenciju da rekurzivno i/ili iterativno razmišljaju o svim problemima sa kojima se susreću. Pokušajte svaki problem zamisliti kao skup manjih problema (niz jednostavnijih zadataka) ili kao ponovljeni proces smanjenja opsega problema na manje opsege, a zatim ih nagomilavati jedan na drugi.
  • Programeri biblioteke/paketa skloni su generalizaciji. Odnosno, kada im se predstavi jednostavan specifičan problem, obično razmišljaju o općenitijem problemu i pokušavaju riješiti taj opći problem koji će automatski riješiti manji.

Metoda 5 od 6: Sistemsko programiranje

Postanite programer Korak 61
Postanite programer Korak 61

Korak 1. Shvatite šta sistemsko programiranje uključuje

Sistemski programeri se bave naukom programiranja, a ne njenom specifičnom implementacijom. Nemojte se vezati za određenu platformu.

Postanite programer Korak 62
Postanite programer Korak 62

Korak 2. Slijedite prva tri koraka za programere desktop aplikacija

Postanite programer Korak 63
Postanite programer Korak 63

Korak 3. Krenite na uvodni kurs iz linearne algebre

Postanite programer Korak 64
Postanite programer Korak 64

Korak 4. Pohađajte kurs iz računa

Postanite programer Korak 65
Postanite programer Korak 65

Korak 5. Pohađajte kurs iz logike i/ili diskretne matematike

Postanite programer Korak 66
Postanite programer Korak 66

Korak 6. Predstavite se različitim golim operativnim sistemima

To se može učiniti na sljedeći način:

  • Steći ideju o tome kako su instalirani operativni sistemi.
  • Naučiti kako instalirati različite operativne sisteme na jedan računar (izborno, ali preporučeno).
  • Instaliranje više operativnih sistema. Nemojte instalirati nikakve pakete pomoći na sisteme; umjesto toga, koristite gole funkcionalnosti koje pružaju operativni sistemi.
Postanite programer Korak 67
Postanite programer Korak 67

Korak 7. Pohađajte kurs (ili alternativno, čitajte knjige) o arhitekturi računarskog hardvera

Postanite programer Korak 68
Postanite programer Korak 68

Korak 8. Razviti razumijevanje različitih računarskih hardverskih platformi

Postanite programer Korak 69
Postanite programer Korak 69

Korak 9. Upoznajte se sa asemblerskim jezikom hardverske platforme/operativnog sistema po izboru

Kasnije ćete naučiti sastavljanje drugih platformi/sistema.

Postanite programer Korak 70
Postanite programer Korak 70

Korak 10. Naučite jezike ANSI C i C ++, zajedno sa konceptima proceduralnog programiranja

Postanite programer Korak 71
Postanite programer Korak 71

Korak 11. Shvatite i vježbajte standardne biblioteke C/C ++ na platformi po izboru

Obratite posebnu pažnju na Standardnu biblioteku predložaka (STL) i možda na aktivnu biblioteku predložaka (ATL).

Postanite programer Korak 72
Postanite programer Korak 72

Korak 12. Pretražite mrežne resurse, knjige i kurseve kako biste stekli uvid u C-okus vaše posebne platforme

Postanite programer Korak 73
Postanite programer Korak 73

Korak 13. Vježbajte kreiranje naprednog koda sa C i C ++

Postanite programer Korak 74
Postanite programer Korak 74

Korak 14. Saznajte više o naprednijoj montaži

Postanite programer Korak 75
Postanite programer Korak 75

Korak 15. Pohađajte kurs o dizajnu operativnih sistema

Postanite programer Korak 76
Postanite programer Korak 76

Korak 16. Pronađite i pročitajte dokumentaciju za svoju platformu po izboru

Ovo će biti lakše ako odaberete operativni sistem zasnovan na Unixu. Dobro shvatite sistem sa kojim ćete kasnije raditi.

Postanite programer Korak 77
Postanite programer Korak 77

Korak 17. Vježbajte stečeno znanje

Prvo stvorite male sistemske pomoćne programe. Obično je korisno:

  • Pokušavate ponovo stvoriti male alate koji su već na vašem sistemu.
  • Pokušavate prebaciti pomoćne programe dostupne u drugim operativnim sistemima na vaš.
Postanite programer Korak 78
Postanite programer Korak 78

Korak 18. Učite jezike po redoslijedu koji vam najviše pomaže

Ovo je jedino mjesto gdje je prvi programski jezik važan. Prvo naučite ANSI C, ne C ++, ne C#, ne Java i ne D. Zatim naučite C ++.

  • Ograničavanje prvog jezika samo na C i C je zato što sistemsko programiranje zahtijeva da programer bude upoznat sa sljedećim konceptima:

    • Prava i potpuna kompilacija izvornog koda.
    • Izlazne datoteke objekata niske razine.
    • Povezivanje binarnih datoteka.
    • Programiranje na niskom nivou mašinskog jezika/montaže. Za neke se kaže da je jezik C prikriven/lakši za učenje. Takođe podržava umetanje koda asemblerskog jezika u kôd kad god želite i samo je proceduralno (poput montaže).

Metoda 6 od 6: Nauka o programiranju

Postanite programer Korak 79
Postanite programer Korak 79

Korak 1. Znajte šta programer radi

Naučnici programiranja su vrlo napredni programeri koji umjesto na razvoju aplikacija rade na razvoju računalnih tehnologija poput šifriranja, programskih jezika i algoritama za rudarenje podataka. Ovaj nivo se rijetko postiže bez akademskog učenja i posvećenosti.

Postanite programer Korak 80
Postanite programer Korak 80

Korak 2. Akumulirajte naučno znanje ekvivalentno četvorogodišnjoj diplomi iz računarstva

To se može učiniti na sljedeći način:

  • Uzimanje stvarne akademske diplome (što se obično dešava).
  • Dobijanje nacrta kurseva za takvu diplomu sa jednog od modernih univerziteta i pohađanje kurseva samostalnim učenjem ili kao zasebni predmeti. To bi se teoretski moglo postići, ali preporučeni put je prvi.
Postanite programer Korak 81
Postanite programer Korak 81

Korak 3. Odlučite o oblasti specijalnosti

Što konkretnije, to bolje. To ovisi o vašim željama. Međutim, ovdje je popis nekih od glavnih tema u računalnom programiranju:

  • Dizajn algoritma (pretraživanje, sortiranje, šifriranje, dešifriranje i otkrivanje grešaka u komunikaciji su neki primjeri)
  • Programski jezici/dizajn kompajlera/optimizacija
  • Polja umjetne inteligencije (prepoznavanje uzoraka, prepoznavanje govora, obrada prirodnog jezika, neuronske mreže)
  • Robotika
  • Naučno programiranje
  • Super računarstvo
  • Kompjutersko projektovanje/modeliranje (CAD/CAM)
  • Virtualne stvarnosti
  • Računarska grafika (Računarska grafika se obično pogrešno miješa sa grafičkim dizajnom ili dizajnom grafičkog korisničkog interfejsa. Računarska grafika je polje proučavanja načina predstavljanja i manipulacije grafikom u računarskim sistemima.)
Postanite programer Korak 82
Postanite programer Korak 82

Korak 4. Razmislite o sticanju više akademske diplome

Možda ćete poželjeti magistrirati ili doktorirati.

Preporučuje se: