Šest alata koje dobar programer treba da poznajeU prvi mah sam u naslovu umesto "treba" napisao "mora", ali, ruku na srce, ništa od navedenog nije obavezno, ali je svakako vrlo poželjno. Njhovo poznavanje daće vam "edge" nad konkurencijom, a mnoge stvari ćete obavljati nekoliko puta brže. Nekad je dovoljno poznavati nešto samo površno, ali dovoljno da vam da ideju za neki manje konvencionalni pristup rešavanju nekog problema. Dakle, idemo sa spiskom: Regularni izrazi. Apsolutno neophodno, u bilo kom alatu ili operativnom sistemu da radite. Vrlo brzo se uče, nešto duže vreme treba dok se savlada napredno korišćenje, ali svaki uloženi sekund se posle višestruko vraća i vraća. Sledeći korak je prelazak na unixoliki operativni sistem ili instalacija paketa standardnih unix alata na Windows, što ću pomenuti kasnije. Objektno programiranje. Nekima će ovo možda delovati apsurdno, ali dosta programera i danas kodira imperativnim stilom, pogotovu oni kojima su primarni alati ASP, PHP ili VisualBasic. Objektno programiranje se ne uči za jedno popodne, već se savlađuje godinama, pošto je usko povezano sa projektovanjem aplikacija, što je zanat sam po sebi. Sledeći korak je izučavanje dizajn šablona (patterns), odnosno sistematizacija znanja i prakse. Barem jedan skript jezik u kome su funkcije elementi prvog reda. U njih dakle spadaju Pajton (Python), Rubi (Ruby), ali i JavaScript. U njih ne spadaju Java, PHP i ASP. Mnoge karakteristike funkcionalnog programiranja, nastale još šezdesetih godina, tek sad ulaze u opšteprihvaćene jezike, pre svega zbog sporijeg razvoja hardvera. Proučavanje nekih funkcionalnih tehnika i rad u interpretiranim jezicima sa velikom mogućnošću refleksije može fundamentalno da promeni vaš pogled na programiranje. Pažnja: posle par stotina linija koda u Pajtonu, biće vam muka kad se vratite u Javu, C# ili PHP. Unix command-line utilities. Neko ko pređe sa Linuxa na Windows ne može da shvati kako programeri tamo mogu da prežive bez komande poput grep (sed, awk, itd), moćnog šel skriptinga i obilnog korišćenja redirekcije i pajplajna standardnog ulaza i izlaza. Vindousov šel je u poređenju sa Juniksovim kao tricikl u poređenju sa Ladom Nivom. U tom smislu, "neprosvetljeni" vindous programer će, umesto dve linije grepa, sesti i napisati jednokratnu aplikaciju od stotinak linija u C#-u, Delfiju ili Javi, što je apsurdno. Instalacija omiljenih Unix alata je dostupna i za Windows i radi savršeno, sa sve man stranicama. ASP.NET. Ako ste veb programer i ne znate kako funkcioniše ASP.NET, uložite par dana i naučite barem osnove. Majkrosoft je iz korena promenio pristup veb programiranju i iako taj novi pristup ima i neke mane, ipak je jedan od dominantnih danas i svakako pravac kojim će se kretati i ostali alati za razvoj veb aplikacija. Motika. Rezerve fosilnog goriva se troše i ko zna koliko ćemo još uživati u plodovima jeftine energije. Kad računari postanu neupotrebljive metalne kante a hrane i vode bude sve manje i manje, biće od koristi poznavanje tradicionalnih načina preživljavanja. Takođe, motika je, zajedno sa komplementarnim alatom, kukom, u Srbiji neophodan instrument svakih desetak godina, kako bi se politička "elita" podsetila u kom pravcu treba da vodi državu. KomentariE, ovo sa motikom ti je sjajno ;) Protokoli jesu izuzetno važni, ali postaju sve manje kako se programiranje kreće od niskog nivoa ka višim. Za mrežnu komunikaciju danas postoje biblioteke za sve popularne jezike i mislim da nema mnogo potrebe znati to u prste (kao što skraćenice 8-N-1 i 7-E-1 više nikom ništa ne znače). Naravno, ono što je neophodno za jednog veb programera je dobro poznavanje funkcionisanja HTTP protokola, ali više iz konceptualnog nego iz praktičnog ugla. Ja bih listi dodao još i version control sisteme. Ne mogu reći da se bez njih ne može programirati, ali su izuzetno korisni, čak i kada na projektu radiš solo. Iako ih koristim tek godinu dana, u više navrata su mi spasili podatke. Btw, da ne bude da ih preporučujem samo kao backup varijantu, naveo sam primer kada se stvarno obradujete jer ih koristite. Neizrecivo olakšanje kada skontate da nešto što ste mislili da ste slučajno obrisali i da nemate kopiju imate u repositoryju... :) Не могу да се сложим за ASP.NET (пошто га не знам, а запослен сам на развоју веб апликације, између осталог), а ни за мотику (мада сам њу већ користио за примарне намене ;). У сваком случају, препоруке су махом усмерене на некога ко ради на Виндози. Lista nije konačna, ja bih dodao XML/XSL pod obavezno. Kao i za objektno programiranje, pravo je čudo koliko se "programera" uplaši kad treba isparsirati neki XML, da ne pominjem tek XSL templejte, a to je sve tehnologija koja je već 5+ godina sa nama. @Ilija: VCS je svakako neophodan alat (koristim različite alate više od 5 godina), ali nisam ga uvrstio u listu zato što inicijativa za njegovo korišćenje obično ne polazi od programera, tj. programer se tu obično ne pita, već se prati politika firme. Inače, u Monsteru se koristi komercijalni VCS Perforce i mogu reći da sam oduševljen, naravno da ima sve neophodne funkcionalnosti i još odličan interfejs pride (obratite pažnju na skrinšotove i video tutorijale). Јаблане, да не схватиш погрешно: у осталих се 4 од 6 ставки слажем, што и није лош резултат :) Свакако бих радије препоручио познавање неког система за праћење ревизија, али и бар један добар систем за документацију кода. Одличан чланак Јаблане, овако нешто је било потребно домаћем интернетском небу. Јесте да бих твој један скрипт језик факторисао са: бар један функционални језик али добро сад. Не одушевљавају се баш сви лиспом. Vidim da je ASP.NET opšteprihvaćeno najsporniji član ekipe, pa ću probati malo da elaboriram. Ne tvrdim da je Majkrosoft izmislio tehnologiju koja stoji iza njega. Ali tvrdim da je jako dobro zamišljena, mada je malo glupo da vas ubeđujem ako nemate iskustvo iz prve ruke... Sam koncept serverskih tagova, kojima odgovaraju instance odgovarajućih klasa, smatram vrlo prirodnim i čistim načinom sastavljanja HTML stranice. Na prirodan način odvajaju se prezentacija i logika (zapravo, dva nivoa prezentacije i jedan logike). S obzirom da je na serveru .NET aplikacija, integracija sa poslovnom logikom ne zahteva bilo kakav boilerplate kod. Микрософт је одличан дресер за масе. Треба да им се ода признање што с времена на време натерају људе да прихвате неко добро решење. Док се није појавио тај АСП.НЕТ, човек је могао да се поломи да би објаснио предности раздвајања презентације и садржаја, иако су програми који се на томе заснивају постојали практично одвајкада. Па опет, поломиш се од објашњавања, али сви остану тврди на ушима. Сад када постоји АСП.НЕТ, сви прихватају решење, само зато што иза стоји Микрософт. Hahaha, tekst je odličan, sa sve obrtom na kraju :) Koliko kontam, motika u ovom slučaju nije brute force alat već fallback opcija. Kada sve drugo padne u vodu na nju možemo da se oslonimo :) Dodajte svoj komentar:© 2003-2007. Mladen Jablanovic
|
||
|
O sajtu Autori FAQ Linkovi KategorijeLičnoOpšte Pretraživači Razvoj Softver Veb Pretraga sajtaArhivapo datumupo kategoriji Powered by pMachine |
||