Pravi programeri znaju C ?!
Nekada je najveća dilema studenata bila: „Da li treba da naučim C?“. Oni manje iskusni dolazili bi kod svojih iskusnijih kolega sa ovim pitanjem. Čini mi se, nažalost, ovo pitanje danas više niko i ne postavlja. Nekada je C bio stvar prestiža, a danas na onoga ko zna C gledaju kao na budalu, koja je protraćila par godina svog života. I da budem potpuno jasan. Kada kažem C, mislim tada na kombinaciju C/C++. I imam potpuno jasan odgovor. Pravi programer mora da zna C! Tačka. Oko ovoga nema rasprave. Ne zato što ga ja znam, već iz jedinog dobrog razloga koga mogu da se setim. C nema nikakvu zamenu.
Za one koji ne veruju meni, zanimljivo je šta kaže jedan poznati bloger. O onima koji ne znaju C:
- They don't really know what a pointer is.
- They're not even using a real compiler! That thing they're using doesn't even generate native code you know. It's "byte code", so it's not real.
- Those people have never had to manage their own memory.
- In fact, they've never really had to do anything at all. I mean really. They're building on a class library that's got more features in it than Photoshop.
Ne znam koliko su ovi argumenti objektivni. Niti znam koliko je ovo značajno za vas. Ali sa sledećim zapažanjem mogu samo u potpunosti da se složim:
- All of the truly extraordinary developer s I know are people who really understand the kind of low-level details that C forces you to know.
- Every programmer without C experience has a clear path of personal development: Learn C. Get some real experience using C to write a serious piece of software. Even if you never use it again, you'll be a better programmer when you're done.
I možda ono najbitnije na kraju: Furthermore, I'll admit that knowing C is not a magic solution to poor skills. A lousy developer who happens to know C is simply better equipped to hurt himself or somebody nearby. Ili na prostom srpskom: „Od lošeg programera, C će napraviti još goreg“. Jednostavno za neke nema nikakve pomoći. Osim možda da promene profesiju…
© 2007 Dušan Pantelić. Sva prava zadržana.
From Russia with love, nginx! | FreeCSSTemplates.org





Da, slažem se. Poslije FORTRANA, COBOLA i ADA-e radio sam nekoliko godina sa C/C++. Nažalost, zahtijev businessa koji diktira brzinu izbacivanja novog software na market, odveo me je prvo na clipper, pa poslije na delphi, vb, a sada na C# i VB.NET. Stoji to da C od lošeg programera pravi još goreg, ali to još više važi za VB (u bilo kojoj verziji). Elegancija i konciznost C-a i intuitivnost VB-a, one koji nisu za ovaj posao, često odvedu u pravce koji zanemaruju elementarno poznavanje i prevođenje poslovnih procesa i pravila u fit-for-purpose software.
Nice blog!!
I ja mislim da je C++ nezaobilazan. Za čist C stvarno ne bih mogao biti siguran jer sam ga preskočio (Pascal, Delphi pa C++) ali C++ se mora proći. Sa druge strane Java je jezik u koji sam se zaljubio jer je u samom startu eliminasan onaj "zahtev" za brzom aplikacijom + sve je klasa :)
Na kraju, verujem da neko i ne mora programirati na njemu ali se mora proći. I za kraj ima ona "pitalica":
- Koji je programski jezik najbolji?
- Onaj koji znaš!
Mogu samo da se složim. "Najbolji" je jezik onaj koji znaš, i koji ti završava posao. Ne verujem da će iko web aplikaciju da piše u C.
Samo još jednom bih podvukao. Nije pitanje da li je C najbolji jezik. Ključno je, da je C(opet mislim C/C++) neizostavan i nezaobilazan. A posebno da ga treba izučiti, čak i ako se ne koristi za svakodnevne potrebe.
Idealna prilika da se nauči C je fakultet. Jer šta drugo studenti i rade osim što uče gomilu nepotrebnih i nebintih stvari:-) Šteta je samo što danas akademski programi potpuno zaobilaze C, a studenti nemaju ama baš nikakvo interesovanje da ga nauče. Samo se pitam da li će posledica toga biti generacije loših programera. Videćemo...
Prvo treba definisati sta je to pravi programer ?
U sadasnjem dobu kada su Java i C# standard za pisanje biznis aplikacija ne vidim kakvu ja korist imam od toga sto znam pointere ?!?
Da pisem neki lowlevel software (drivere, kompajlere...) pa i da razumem.
Ali sta ce meni ponter za pravljenje aplikacije za zubarsku ordinaciju.
Ne slazem se sa konstatacijom, mada je lepo znati C, mada mi je mnogo lakse ako se oko dealokacije memorije brine VM a ne ja, ipak masina manje gresi od mene.
Pozdrav