Dakle, imate ideju za odličan program, ali nemate ideju kako da je implementirate? Ne brinite, mi ćemo pomoći. Istina, morat ćete potrošiti dosta vremena na učenje programskog jezika, ali to je normalno. Recimo još više, mnogi uspješni programeri su samouki. Nakon što naučite osnove, moći ćete kreirati jednostavne programe u minimalnom vremenu. Stvaranje složenijih programa je, naravno, ozbiljniji zadatak, ali kako kažu, strpljenje i rad će sve samljeti!

Koraci

Dio 1

Odabir programskog jezika

Dio 2

Razvoj programa

dio 3

Izrada prototipa

    Fokusirajte se na bilo koju funkciju programa. Tačnije, prototip je uvijek glavna funkcija programa. Recimo da kreirate program organizatora - tada će glavna funkcija biti kalendar i mogućnost dodavanja događaja.

    Uvjerite se da prototip radi glatko. Prototip bi trebao biti takav da se može koristiti umjesto razvijenog programa. Prototip će postati osnova, temelj svega, tako da bi trebao funkcionirati u skladu s tim. Drugim riječima, svaka funkcija prototipa mora raditi besprijekorno.

    • Na prototipu se mogu izvršiti brze promjene i testirati.
    • Naravno, zadatak testiranja prototipa zahtijeva učešće više ljudi odjednom.
    • Prototip može i hoće da se promeni, to je činjenica.
  1. Nemojte se plašiti da prerađujete prototip iznova i iznova. To je njegova suština - prvo eksperimenti, pa puštanje. Na primjeru prototipa možete vidjeti da li sve radi kako treba. Ako prototip ne uspije, nema veze, samo ga prepišite ispočetka, počnite iznova. Tako je bolje, verujte mi.

dio 4

Kreiranje programa

    Kreirajte bazu pseudokoda. Ovo će postati svojevrsni kostur vašeg projekta i osnova za budući rad. Pseudo-kod se razlikuje od običnog koda po tome što... nije "kompajliran" (nije obrađen u kompajleru), ali je savršeno čitljiv od strane programera i pomaže da se shvati šta treba da se desi u jednom ili drugom koraku programa.

    • Pseudokod, međutim, koristi istu sintaksu kao i normalan kod, tako da pseudokod mora biti napisan na isti način kao i program.
  1. Pročistite prototip. Možete uzeti sam prototip, možete uzeti pseudokod - u svakom slučaju, poenta je da prototip bude bolji, bolji, brži!

    Počnite raditi na programskom kodu. Ovdje smo, u stvari, došli do stvari. Najviše vremena će oduzeti rad na programskom kodu, a da ne spominjemo bezbroj kompilacija, ništa manje bezbroj testova i traženja grešaka... Ako cijeli tim radi na vašem programu, onda biste trebali početi s pseudokodom pa da sve ide glatko.

    Ne zaboravite komentirati kod. Opišite funkcije i značajke koje implementirate u svom kodu. Ovo je neophodno ne samo da bi neko drugi, otvorivši vaše izvore, mogao da shvati šta je šta, već i da se sami ne zabunite u sopstvenom kodu ako mu se vratite, recimo, za godinu dana.

dio 5

Testiranje programa

    Testirajte sve nove funkcionalnosti. Sve što dodate programu mora biti testirano, ponovo testirano i ponovo testirano. I onda više ljudi Uključite se u ovo, što bolje, to bolje više grešaka može se naći. Testeri, naravno, trebaju biti svjesni da rade sa verzijom koja je daleko od konačne, pa su stoga moguće greške.

    • Ova faza rada na programu često se naziva “alfa testiranje”.
  1. Testirajte konačnu verziju programa. Dakle, sve funkcije koje su trebale biti u programu su mu dodane. Šta sad? Sada opet testovi. Dugi, oprezni, temeljiti testovi - i rad na greškama, naravno. Sada bi vaš program trebalo da testira još više ljudi nego ranije.

    Testirajte verziju izdanja. Dok nastavljate s ispravkama i dodatnim materijalima u programu, ne zaboravite sve testirati.

dio 6

Izrada dodatnih materijala

    Misli šta ti treba. Ovo će zavisiti od programa, pa razmislite da li vam trebaju, recimo, audio snimci? Grafička umjetnost? Sadržaj? Razmislite o tome prije objavljivanja.

    Razmislite da li se isplati sve ovo prepustiti vanjskim izvršiteljima. Ako vam treba puno stvari, ali vi ili niko u vašem timu ne možete crtati ili snimati zvuk, onda biste trebali razmisliti o outsourcingu. Lako možete pronaći freelancere koji će vam pripremiti sve što vam je potrebno.

Programiranje je jako zabavno, takođe vam omogućava da budete kreativni i otvarate nove mogućnosti za karijeru. Ako želite naučiti kako programirati, onda ćete iz ovog članka naučiti u kojem smjeru se trebate kretati i što učiti.

Koraci

Dio 1

Izbor jezika

    Izbor programskog jezika. Računarsko programiranje je u suštini pisanje skupa programa koje će računar pratiti. Ove upute mogu biti napisane na različitim "jezicima", što su različiti načini organiziranja instrukcija i teksta. Međutim, za stvaranje različite vrste programi koriste različite jezike, pa odaberite jezik koji će vam biti od koristi za učenje. Neki drugi jezik se uvijek može naučiti kasnije.

    Razmotrite C, C++, C# i slične jezike. U osnovi, ovi jezici se koriste za kreiranje kompjuterskih programa. C i C++ su laki i dobri za početnike, ali C# postaje sve popularniji.

    Razmotrite Java ili JavaScript. Ako ćete raditi na web dodacima ili telefonskim aplikacijama, dobra je ideja naučiti ove jezike. Sada je veoma tražen, tako da će vam znanje ovih programskih jezika svakako dobro doći.

    Isprobajte Python. Ovaj programski jezik se široko koristi na svim platformama i odličan je za učenje. Mnogi se zaklinju da je za početnike vrlo jednostavno, pa probajte!

    Uzmite u obzir PHP. Ovaj jezik se obično koristi za web programiranje, posebno za hakere, plus lako se uči i veoma je tražen.

    Razmotrite i druge programske jezike. Ima ih mnogo i svi imaju svoja područja primjene. Ako želite da radite kao programer, moraćete da znate najmanje dva jezika, pa počnite da učite već danas!

    • Najpametnije je pogledati oglase za posao programera koji vas zanimaju i saznati koji od uobičajenih jezika ih zanima.

Dio 2

Učenje jezika
  1. Razmislite o odlasku na univerzitet ili drugu obrazovnu instituciju. Iako većina kompanija pri zapošljavanju programera prvenstveno gleda na njegove vještine, a ne na diplomu, ali diploma ipak daje prednost. Osim toga, na fakultetu ćete moći učiti više i efikasnije nego da ste sami studirali, a također će vas podučavati i voditi profesionalci.

    • Postoje mnoge stipendije i grantovi dostupni za nosioce diploma u ovoj oblasti studija. Neka vas školarine ne plaše: moguće je!
  2. Studirajte na online univerzitetu. Da li studirate na pristojnom online univerzitetu za novac i dobijete diplomu ili samo učestvujete u besplatnom programu kao što je divni Coursera MIT (Masachusetts Tehnološki univerzitet), programiranje se još može naučiti.

    Pokušajte koristiti online resurse. Da biste naučili programiranje, možete koristiti besplatne usluge kao što je University Consortium od Googlea ili Developer Network iz Mozille. Ovim kompanijama su potrebni novi programeri da pomognu sa platformama, tako da su njihovi resursi jedni od najboljih na webu.

    Učite uz online tutorijale. Mnogo je programera koji su voljni naučiti vas osnovama, a možda i nečemu naprednijim, na svojim web stranicama. Da biste pronašli nešto slično, samo pretražite tražilicu za programe obuke na jeziku koji vas zanima.

    • Dostupni su mnogi besplatni online časovi za učenje kodiranja. Khan Academy podučava kompjutersko kodiranje, uz jednostavne tutorijale i video zapise. Code Academy je još jedna besplatna stranica na kojoj možete učiti, s tutorijalima korak po korak.
  3. Ako možete, najbolje je početi mlad. Postoji nekoliko programa za učenje djece da kodiraju. Za one koji su mlađi, programi poput Scratcha sa MIT-a su posebno korisni, a što ste mlađi, lakše je naučiti programski jezik (i zapravo bilo koji jezik).

    • Izbjegavajte komplete, jer oni rijetko uče bilo čemu korisnom.

dio 3

Samoučenje
  1. Počnite s dobrom knjigom ili obrazovnom knjigom o programiranju. Pronađite dobru, ažurnu knjigu o programskom jeziku koji vas zanima. Recenzije na Amazonu i sličnim stranicama pomoći će vam da odaberete nešto vrijedno.

    Nađite prevodioca za taj jezik. Prevodilac je samo još jedan kompjuterski program, pretvara ideje koje zapišete u programskom jeziku u "mašinski jezik" tako da možete vidjeti kako stvari funkcioniraju. Mnogi takvi programi su lako dostupni, morat ćete odabrati nešto prikladno.

    Pročitajte knjigu! Uzmite iz knjige primjere programiranja na jeziku i unesite ih u interpreter. Pokušajte promijeniti primjere i natjerati program da izvršava različite naredbe.

  2. Da biste bili dobar programer, morate držati korak sa tehnologijama koje se razvijaju. Ovo je kontinuirani proces učenja; morate stalno učiti nove jezike i nove pristupe i, što je najvažnije, morate stalno programirati nešto novo!
  • Nabavite dobru referentnu knjigu. Ovo bi svakako trebala biti najnovija verzija - jezici nastavljaju da se razvijaju.
  • Ne morate ga odmah uzeti složenih jezika kao i Java, počnite s pythonom, ulijeva samopouzdanje početnicima, osim toga, ima gotovo svaki aspekt programiranja.
  • Počnite s nečim zanimljivim, pronađite motivaciju za savladavanje prepreka i razvijajte vještine logično rješenje zadataka.
  • Java ima veoma važan koncept - multithreading. Pažljivo proučavajte.
  • Ako učite Javu, isprobajte NetBeans 7.3.1, zabavno je i lako.
  • Sintaksa je zapravo veoma važna. Možete ga koristiti na svoj način. Proučite primjere programa, a zatim počnite pisati nešto svoje.
  • Koristite Eclipse za pisanje programa. Ovaj vrlo koristan program može pronaći greške u kodu, odmah ih popraviti, a osim toga, poseban program za analizu može se koristiti za navigaciju između različitih kodnih datoteka.

Da li je moguće brzo naučiti programirati? Koliko je vremena potrebno za savladavanje najjednostavnijih tehnologija? Gdje početi učiti? Korisnici Quora dijele svoja mišljenja o ovim pitanjima.

Anthony Pham, softverski inženjer u Isagenixu

Mogu govoriti samo za sebe. Dakle, počeo sam raditi kao programer tek prije 3-4 mjeseca i još uvijek mi se čini da ne znam baš ništa. Stoga vjerujem da je skoro nemoguće naučiti programirati brzo. (Sve zavisi od toga koji vremenski period podrazumevate pod rečju "brzo").

Krajem februara ove godine, ponuđena mi je pozicija u timu za razvoj softvera otvorenog koda. Imao sam oko 2 mjeseca da postanem Java programer i uhvatim se ukoštac sa Javom, Spring, JavaScript, CSS, HTML, AngularJS i naučim kako koristiti XML, Babel, Nodejs, PostgreSQL i još mnogo, mnogo više. Pošto sam uspeo da se nosim sa svim ovim, postavljen sam kao junior full stack developer baziran na .NET-u.

Otkako sam primljen na ovu poziciju, uglavnom sam naučio kako da refaktoriram kod (pošto su godinama nagomilali ogroman tehnički dug), kako da radim u agilnom razvojnom okruženju, kao i kako da kreiram jedinične testove - najbolje svega.

I da budem iskren, ne mogu reći da znam mnogo, iako sada sigurno znam više nego prije 3-4 mjeseca. A ovo je jedna od najzastrašujućih stvari u vezi sa programiranjem, spoznaja da postoji beskonačna količina informacija na ovom polju, i vjerovatno je to jedan od razloga zašto je tako teško započeti svoje putovanje, jer je izuzetno teško shvatiti odakle početi učiti. Od samog početka ovog putovanja, stalno ćete učiti nešto novo, posebno ako dođete do neobičnih ideja i načina da ih implementirate.

Kao što sam naučio u proteklih nekoliko mjeseci, sposobnost učenja je jedna od najvažnijih vještina. Odaberite jezik, razvojno okruženje, pronađite odgovarajući projekat - i počnite pisati kod. Google će biti vaš najbolji prijatelj traže informacije potrebne za obavljanje određenih stvari.

Sposobnost pravilnog traženja pravih informacija je neprocjenjiva vještina koja će vam dobro doći u bilo kojem području vašeg života. Samo treba da se odlučite i počnete nešto da radite. Da biste mogli riješiti probleme s kojima ćete se suočiti u budućnosti (a programeri su, u stvari, ljudi koji rješavaju niz specifičnih problema pomoću koda), morate pokušati i ne uspjeti.

Sviđa mi se citat Stevea Jobsa: "Svako u našoj zemlji treba da nauči programirati, jer vas to uči da razmišljate." Riječi „uči te razmišljanju“, po mom mišljenju, samo znače sposobnost rješavanja problema.

Učenje kodiranja je kontinuiran i beskrajan proces, ali će na ovaj ili onaj način biti potrebno neko vrijeme za stjecanje niza potrebnih vještina.

Edaka Mortorey, je radio sa najviše različitim jezicima i kompanije

Svaka osoba ima određene talente postavljene od rođenja. Neki su malo iskusniji u programiranju, pa će brže naučiti od onih kojima je to manje dato.

Ali niko ne može brzo savladati veštine programiranja. Da biste postali dobar programer, morate naučiti ogromnu količinu informacija. Iako je moguće kreirati programe bez učenja o teoriji složenosti računara, ovo bi trebala biti jedna od onih stvari koje bi dobar programer trebao znati. Također, na primjer, postoji ogroman broj sučelja aplikacijskih programa koje nije uvijek lako prepoznati.


Trebali biste biti svjesni kako otkloniti greške i optimizirati svoj kod. Refaktoriranje je također bitna vještina. Pored procesa kreiranja koda, programer takođe mora biti sposoban da radi sa sistemom kontrole izvornog koda.

Trebate znati o infrastrukturi podataka, sigurnosti i privatnosti. Nikada nisam čuo da je neko mogao sve ovo da nauči "na brzinu".

Ulrich Roman, fakultetska diploma fizike, programer softvera preko 20 godina

Mislim da mnogi ljudi ovdje kombinuju dva različita koncepta:

  1. Ovladavanje novom vještinom
  2. Naučiti kako primijeniti i dalje razvijati ovu vještinu

Iskreno vjerujem da svaka osoba sa dovoljnim nivoom kognitivne sposobnosti može brzo nešto naučiti. A pod "brzo" mislim na vremenski period izračunat u danima, sedmicama ili čak nekoliko mjeseci, ovisno o složenosti teme koja se proučava.

Sada pređimo na programiranje.

Vjerujem da ljudi, koji posjeduju dovoljno osnovnog i osnovnog znanja, mogu vrlo brzo savladati osnove programiranja - u roku od nekoliko sedmica. U ovom slučaju može pomoći i poznavanje matematike, kao i osnovnih koncepata algoritama. Ali ono što je najvažnije: ljudi koji počnu da uče programiranje moraju imati dobro razvijeno logičko razmišljanje.

Jednom sam odlučio da naučim svog svekra da programira. U to vrijeme on je već bio penzionisani učitelj dovoljno oštrog uma. Međutim, u čitavom svom životu nikada se nije susreo sa višom matematikom, algoritmima, a za njegov rad i nije bilo potrebno logičko razmišljanje. Nepotrebno je reći da sam nakon skoro godinu dana muke odustao od ovog beskorisnog poduhvata.


Još jedan primjer: poznavao sam momka koji je imao visoko obrazovanje iz matematike, ali nikada nije bio zainteresovan za kompjutere. Ali nakon što je pročitao dovoljno informacija o softveru i kako on utječe na razvoj današnjeg svijeta, taj se mladić toliko zainteresirao za ovu temu da je odlučio naučiti programirati. I godinu dana kasnije otišao je sa svojim stari rad za programera. I, dobro je prošao.

Dakle, da se vratimo na vaše pitanje: kako ljudi tako brzo nauče da kodiraju?

Većina njih jednostavno stekne osnove prije nego što počnu učiti kako da kodiraju, tako da se mogu potpuno bezbrižno usredotočiti na samo učenje. Oni koji nemaju ove osnovne vještine moraju ih prvo savladati, pa tek onda naučiti programirati, ili to raditi paralelno.

Iako sam već mnogo naučio i znam, najvažnije znanje u mom životu i dalje je istina da moram stalno da učim nešto novo ili da se usavršavam i širim polje znanja.

Gaston Fontenla Nunez , programer u studiju Circo

I ja već duže vrijeme postavljam ovo pitanje. Nedavno sam otkrio odgovor na ovo.

Na predmetu Algoritmi i programiranje koji sam predavao, imao sam učenike koji nikada u životu nisu vidjeli ni jednu liniju koda. Neki od njih su imali sklonost za matematiku, kao i sposobnost razmišljanja izvan okvira. Drugi su bili najobičniji studenti, nisu posebno zainteresovani, već su samo slušali.


I prije nekoliko časova sam ih savjetovao gdje da nađu korisnim materijalima i video tutorijale, a također im je dao nekoliko jednostavnih zadataka za rješavanje. Nedelju dana kasnije, poslali su mi svoje rešene probleme – proučivši informacije na internetu, odlično su obavili zadatak. Na osnovu ovoga izveo sam sljedeće zaključke:

Svako može naučiti rješavati jednostavne probleme za nekoliko dana, pa čak i naučiti osnovnu sintaksu C (ili bilo kojeg drugog jezika):

  1. Učenje programiranja je složen i višestepeni proces. To je kao učenje jezika, kada da biste sebe smatrali profesionalcem, morate naučiti što više načina da izgovorite frazu. Sve ovo zahtijeva vrijeme i trud. Osim toga, postoje i nivoi majstorstva. Ne možete reći da ste "naučili da kodirate" ako možete napisati jednostavan program.
  2. Materijal koji se proučava je izuzetno važan. Internet pruža ogroman broj izvora; sve što treba da naučite je da naučite da razlikujete specifično i lakoničko objašnjenje od pukog kratkog, i da izbacite previše umotan, dugačak i generalno beskorisan materijal. Također, ako imate mentora koji vam može pomoći s pojašnjenjem, onda će vaše učenje vjerovatno ići mnogo brže.

Ne smatram se ni stručnjakom ni noobom. Ja sam negdje u sredini, ali nastavljam da učim svaki dan, razjašnjavam pitanja koja ne razumijem i pokušavam pomoći ako je to u mojoj moći. Znam da radim zaista cool i složene stvari u C++-u, trebalo mi je oko 2-3 godine da to naučim na poslu. Ako ste, poput mene, strastveni u onome što radite, onda će vam trebati negdje oko 4-5 godina.


Na internetu postoji ogromna količina edukativnog materijala, zbog čega ljudi tako brzo uče. Ako ne razumijete o čemu je članak, samo čitate drugi. Forumi i blogovi su također od velike pomoći.

Na primjer, nisam imao obrazovanje vezano za programiranje, nisam imao ni informatiku u školi. Ali, tri godine nakon diplomiranja, već sam se pripremao za Međunarodnu olimpijadu iz informatike, a onda sam počeo raditi kao nastavnik na fakultetu. Ponavljam: ja uopšte nisam genije, imao sam slabe ocene u školi, teško mi je bilo i studiranje na fakultetu. Ali želeo sam da budem bolji. Upornost i samopouzdanje, naporno svakodnevno učenje i malo sreće pomogli su mi da se podignem na novi nivo.