Почетак › Форуми › Линукс › Опште Линукс дискусије › Zasto Linux nece ici u dobrom pravcu
- This topic has 199 одговора, 24 гласа, and was last updated 18 years, 11 months раније by
foxbunny.
-
АуторЧланци
-
3. септембар 2007. у 11:07 am #59776
marelli
УчесникKada pricate o fakultetima,naravno da se tamo uce osnove programiranja ali to neznaci da svi koji zavrse znaju samo osnove programiranja ;)Mnogo toga se uci i kod kuce…i naravno to se temelji na onome sto se nauci na faxu!
Jel mogu ja da naucim osnove kuci?
Ali moci projektovati automobile, ipak ne moze svako
Pa ako se za to zavrsi fax,moze ,zasto ne?
3. септембар 2007. у 11:16 am #59777salac
УчесникAjde da malo pojasnim koncept skolovanog programera. Pod skolovanim programerom podrazumevam nekoga ko zna kako da se ponasa u jednom velikom timu, ko zna gde mu je mesto, i koji mu je zadatak u svako doba dana i noci. I nije poenta samo znati programirati nesto, ischukati nesto i reci to radi i super. Potrebno je znati kodirati sa stilom, koji se uci, koji se ne moze pokupiti usput. Potrebno je znati kodirati tako da kad neko drugi uzme taj kod, da odmah lepo moze da vidi sta je uradjeno, kako je uradjeno, gde se nalazi,… a ne da provodi sate i dane pokusavajuci da odgonetne tudji kod. I zato je potrebno da programeri budu skolovani, zato sto se to uci u skoli, faxu, a ne sedeci kod kuce i hakerisanjem kernela. Sam CK, po njegovim recima, nije programer, i pre nego sto se uhvatio da napise taj pachset, nikad i nije programirao, i onda se buni kad Linus ne uzme njegov scheduler, vec neki drugi. Mislim, jel neko ovde zaista zasukao rukave i uporedio ta dva koda, ne samo sa funkcionalnog stavnoista, vec i sa stanovista integracije, odrzavanja, preglednosti koda, same perspektive koda,… Cisto sumnjam. Iskreno nisam ni ja. I dosta vise o pogledu na programiranje samo sa stanovista baza podataka i Visual Basic-a. Meni se iskreno smuci kad neko na to gleda kao na hakerisanje! Ljudi hakerisanje je ppjam star nekih 30-ak godina, a programiranje je pojam star preko 50(mozda i ceo vek)! To je ozbiljna nauka i umetnost u isto vreme, a ne neko prckanje i igranje.
Ok, ti pod skolovanim programerom podrazumevas ljude koji su timski igraci, pedantni, sve sto urade lepo dokumentuju na papiru i komentarima u samom kodu. To je vec jasnija definicija, ali ni to se ne uci u skoli nego se razvija godinama kao programerski stil. Zelis da budes deo velikog projekta (napr. pisanje kernela)? Moras da se naucis da postujes odredjena pravila i hijerarhiju.
Niko od kernelopisaca nije bio takav kakvim ga opisujes, narocito pocetkom devedesetih kada je cela prica i zapocela. Sam proces je evoluirao u kakvu-takvu uredjenu strukturu kakvu danas imamo, a evolucija se nastavlja i dalje.
Vrlo interesantna pojava je da likovi koji su asocijalni, ne obaziru se na dokumentovanje i sl. (znaci totalna suprotnost od pomenute definicije) uglavnom prave kod koji je najbolji, najkraci i uradjen kao malo umetnicko delo. Neki od njih se ubace u velike projekte ali velika vecina ostane zauvek izvan i radi za svoju dusu.
ps. Prvi kernel koji sam proucavao i maltene ga znao u prste bio je kernel na prastarom C-64, cesto sam ubacivao modifikacije koje su dovodile do interesantnih efekata a jako cesto i do krsenja masine. Evo i posle 17 god pamtim adrese nekih bitnih rutina, vektore raznih interapta, koliko procesorskih taktova traju neke od masinskih naredbi….. kasnije na faxu sam proucavao kod implementacije TCP/IP steka iz linux kernela i iskreno bio zadivljen elegancijom kojom je to uradjeno. Nekoliko godina posle toga sam, iziritiran zbog toga sto mi USB stick ne radi u tada aktuelnoj 2.6.4 kernel verziji, proucavao i modifikovao drajver. Bogami tada sam pozeleo da je neki od ‘skolovanih programera’ pisao modul i komentarisao ga u sitna crevca 🙂
3. септембар 2007. у 11:42 am #59778nowave
Учесник@salac
Lepo da smo se sada malo bolje sporazumeli.
Ipak, ne slazem se da se ne uci dosta toga na faxu. Dosta se toga moze nauciti, naravno ne sve, ali se steknu dobre navike, i bar se krene u dobrom pravcu. To isto dosta moze da znaci, narocito na radu na velikim projektima, kao sto je Linux kernel. Smatram da to jos vise dobija na tezini ako se uzme u obzir cinjenica da developer-i nisu fizicki grupisani na jednom mestu, i da je direktna komunikacija ogranicena. Tada dobro iskomentarisan, citko napisan i dokumentovan kod zlata vredi, bez obzira da li je on uradjen kao malo umetnicko delo u jednom redu(malo karikiram) ili ne.
Druga stvar je sto se sa pisanjem Linux kernela krenulo bez nekog preteranog reda, dokumentovanja ili komentarisanja odredjenih delova koda, ali to se moze lako promeniti. 🙂3. септембар 2007. у 11:46 am #59779stanko
Учесник@marelli
Da,mozes…ali ne na pravi nacin!
Ti ces to uraditi onako kako je tebi najlakse,kako tebi najvise odgovara,sa literaturom koja je tebi najrazumljivija a to u programiranju i nije bas pametno raditi.
Najveci problem oko svega toga je da pocetnik sam kod kuce nemoze da proceni koliko je zapravo daleko otisao i da li je dovoljno to sto je uradio…takodje se u ovakvim slucajevima preskacu ogromne celine koje su od velikog znacaja za mozda neki visi nivo programiranja!Sama rec studiranje znaci da se nesto radi studiozno,detaljno i precizno…i niko me nemoze ubediti da je to losije ili mozda jednako sa kucnom opcijom!3. септембар 2007. у 11:50 am #597803. септембар 2007. у 11:55 am #59781salac
Учесник
@dukenukem4d
@stanko
Najzad da neko razume o cemu govorim.
Neka paralela bi bila automehanicar-(auto) inzenjer sa hacker-(skoloavn programer) inzenjer racunarstva. Svako moze da bude mehanicar (manje ili vise uspesno), i isto tako hacker. Ali moci projektovati automobile, ipak ne moze svako. Pa zar biste i hteli da vam neki doktor medicine (CK je doktor medicine po profesiji) projektuje vas buduci automobil?! To sto svako moze da kupi kompujter, da instalira Linux i gcc ga ne cini profesionalcem. Ne bih zeleo da umanjujem CK-ev doprinos, ili da ga nipodastavam, ali samo hocu da razgranicim pojmove hackera i programera.Namerno sam izdvojio reply u posebnu poruku, da ne bude zabune 🙂
Nikad nisam voleo paralele sa auto-industrijom zato sto uvek promase sustinu.
Sta znaci projektovanje automobila? Automobil od nule? Po toj analogiji svaki ‘skolovani programer’ (ne haker!) bi morao da :
1. sam isprojektuje sebi CPU i napravi ga bog te pitao kako
2. sam sebi napravi periferije (hard, flopi, graficku kartu, USB uredjaje, monitor)
3. isprogramira BIOS i ROM-ove periferija iz tacke 2.
4. napravi sebi OS, pocevsi od kernela pa sve do GUI-ja
5. sam sebi napise programe za rad u njegovom OS-u i na njegovom hardveruZvuci nerealno? Naravno. Treba razlabaviti analogiju? Slazem se. U stvari, skolovani programer ne treba da ima nikakve veze sa hardverom tako da tacke 1. i 2. otpadaju, moze da se bavi tackama 3,4 i 5. Spali smo na cisto programiranje u tri tacke, ali opet je to previse za mozak normalnog ljudskog bica….
Ajdmo sad nazad na auto industriju 🙂
Oni koji vole da prate Discovery gledali su X puta mehanicare koji sklapaju motore/automobile. Tacno je da oni ne prave niti projektuju sam agregat motora , ne razvlace kaucuk da bi napravili pneumatike, ne duvaju staklo da bi napravili sijalice/migavce/retrovizore, njihovo je da to nasklapaju, modifikuju i naprave ga boljim nego sto se dobija iz prodavnice. A primetio sam da bas nesto i nemaju inzenjere u svojim radionicama…..Hmmmm….dosta lici na ono sto skolovani programeri rade zar ne? Ni jedne ni druge nije briga za gvozdzjuriju…..u stvari, oni HAKERISU 🙂
Prava definicija hakerisanja se izgubila tamo negde kada su mediji tako poceli da zovu klince koji su upadali u telefonske/racunarske mreze.
Necu da sirim pricu ali ovo je cinjenica – akademci koji su napravili TCP/IP i internet, mrezne protokole, *nixe, prve PC racunare, sebe su nazivali hakerima. U to vreme su skolovani programeri sa nipodistavanjem gledali na njih i srecno i pedantno pisali programe u cobolu i fortranu.
I dzaba sva pedantnost, social skills i dokumentacija ako covek nema volje da grabi napred i stalno usavrsava ono sto je uradio/isprogramirao. Hakeri to stalno rade. A skolovani programeri? Imaju li oni tu zicu konstantnog usavrsavanja i uzivanja rada na potpuno novim i atipicnim stvarima? Ako imaju – onda su hakeri.
3. септембар 2007. у 12:12 pm #59782nowave
УчесникKada sam pricao o analogiji sa autoindustrijom, nisam govorio da auto-inzenjer treba to sve da napravi, vec da isprojektuje. Pa ko ce to uraditi ako ne on?! Nece sesti jedan mehanicar i vrsiti ispitivanja u vazdusnom tunelu, ili dizajnirati novi motor koji mora da ima smanjenu potrosnju, smanjenu emisiju CO2, bolje performanse,… Isto tako je i kod racunarstva. OK, kernel programer nece projektovati CPU, memoriju, periferije, to ce uraditi neko, kao sto nece sve jedan auto-inzenjer isprojektovati. Ali dobar programer MORA DA ZNA kako te stvari funkcionisu do u tancine, da bi mogao da ih iskoristi 100%! I da, jedan kernel programer mora da zna kako rade stvari iz tacke 2, da zna da isprogramira stvari iz tacke 3, ili bar da je upoznat sa problematikom, i naravno da zna da programira kernel. Nemoj me pogresno shvatiti, ne govorim ja da skolovan programer treba da zna sve da isprogramira, ali kernel programer mora da zna te stvari, ako zaista ocekujemo jedan funkcionalan, optimizovan kernel. Sto se tice Unix-a napisao ga je isti covek koji je napisao i C, tako da ne stoji teza da su ga napisali hackeri. Prve PC racunare su razvili u kooperaciji Intel IBM, i tada jos mladi M$, kojeg je gurao IBM, i to definitivno nisu hacker-i! Inace pojam hacker se prvi put pojavljuje kada je jedan lik uspeo da hackuje AT&T-evu govornicu, tako sto je primetio da kada koristi pistaljku iz neke kutije sa cornflakes-om moze besplatno da telefonira. Tada to nije imalo nikakve veze sa racunarstvom.
3. септембар 2007. у 2:15 pm #59783salac
УчесникKada sam pricao o analogiji sa autoindustrijom, nisam govorio da auto-inzenjer treba to sve da napravi, vec da isprojektuje. Pa ko ce to uraditi ako ne on?! Nece sesti jedan mehanicar i vrsiti ispitivanja u vazdusnom tunelu, ili dizajnirati novi motor koji mora da ima smanjenu potrosnju, smanjenu emisiju CO2, bolje performanse,… Isto tako je i kod racunarstva. OK, kernel programer nece projektovati CPU, memoriju, periferije, to ce uraditi neko, kao sto nece sve jedan auto-inzenjer isprojektovati. Ali dobar programer MORA DA ZNA kako te stvari funkcionisu do u tancine, da bi mogao da ih iskoristi 100%! I da, jedan kernel programer mora da zna kako rade stvari iz tacke 2, da zna da isprogramira stvari iz tacke 3, ili bar da je upoznat sa problematikom, i naravno da zna da programira kernel. Nemoj me pogresno shvatiti, ne govorim ja da skolovan programer treba da zna sve da isprogramira, ali kernel programer mora da zna te stvari, ako zaista ocekujemo jedan funkcionalan, optimizovan kernel. Sto se tice Unix-a napisao ga je isti covek koji je napisao i C, tako da ne stoji teza da su ga napisali hackeri. Prve PC racunare su razvili u kooperaciji Intel IBM, i tada jos mladi M$, kojeg je gurao IBM, i to definitivno nisu hacker-i!
Istini za volju i mehanicari znaju princip rada motora sa unutrasnjim sagorevanjem, njihove performanse, znaju da ga rasklope i modifikuju da bi dobili vecu snagu i manju potrosnju (paralela sa kernel programerima)
Ali da pustimo auto-industriju na miru jer, kao sto rekoh, svaka paralela na kraju ispadne losa.
Tvorci Unixa Ken Tompson i Denis Rici u hakerskim krugovima vaze za ikone. Zaista bi trebalo mnogo prostora da se tacno napise kako je Unix nastaje ali jako ukratko – uzeli su multics, proucavali ga, napravili boljim i eto prvog Unixa. Savrseno poklapanje sa izvornom definicijom hakera – ljudi koji nisu zadovoljni postojecim i zele da od toga naprave nesto bolje/brze/lepse. Rici je uz to stvorio i C jer mu nijedan programski jezik iz tog doba nije odgovarao – covek je zeleo jednostavnost, brzinu i moc. Ponovo poklapanje sa hakerskom etikom – ako ti ni jedan alat/program ne odgovara, ne kukaj nego zasuci rukave i napravi svoj.
Prvi model koji je IBM napravio nosio je naziv ‘IBM PC’. Dovoljno sam mator da se secam tih stvari, IBM PC je u vreme pojavljivanja tretiran kao bilo koji drugi ‘mikroracunar’. PC je naravno skracenica ‘personal computer’ sto je trebalo da oznacava da je takav racunar odredjen za personalnu, ‘sitno-poslovnu’, kucnu upotrebu, daleko od glomaznih mainframe-ova koji su zauzimali cele sobe u racunarskim centrima.
Pre IBM PC-a javila se citava plejada razlicitih mikroracunara koja se po svemu poklapala sa IBM PC – imali su interfejse za povezivanje na monitor, TV i kasetofon. Da da….prvi IBM PC je radio sa kasetofonom. Vecina drugih proizvodjaca je cak imala mnogo bolje modele – Apple, Commodore, TI , Atari , Radio Shack su imena koja mi prva padaju na pamet. Za razliku od IBM PC-ja ostali racunari su imali generator za zvuk , grafiku u boji i brzi rad sa periferijama (kasetofonima, stampacima i kasnije disketnim jedinicama).
Sto se tice Intel-a iz tog doba slabo se sta moze reci. Njihovi procesori (8080, kasnije 8086 i 8088) su bili jad i cemer u odnosu na Motorolu, Zilog i Mostek. Slabe performanse, losa arhitektura i siromasan skup naredbi – to su krajem sedamdesetih i pocetkom osamdesetih Intel procesori. Ko je radio u asembleru znace o cemu se radi. Interesantna je prica o nastanku prvog mikroprocesora daleke 1971 god, kada je Ted Hof dosao na odlicnu ideju da niz elektricnih kola smesti u jedno i tako smanji troskove i poveca performanse, sto je lep primer hakerskog rada.
Sad se vec sigurno svi pitaju – cemu ovaj istorijski pregled? Evo zasto – Apple, Radio Shack i Atari su firme nastale u garazi, osnovane od zaludjenika za elektroniku i racunare, jednom recju – HAKERA. Najpoznatiji primer je svakako Apple. Stiv Voznijak, jedan od dvojice iz tandema je po meni najveci haker svih vremena. Covek je sam isprojektovao Apple I, napisao rutine u ROM-u, odradio basic interpreter i generalno je uradio sve od pocetka do kraja. Ali nije Voznijak samo u tome bio maher – on je tvorac cuvenog blue box-a koji je sluzio za besplatno telefoniranje po celoj Americi.
Cak je i sam Microsoft u pocetku bio prava hakerska firma, gde je kao i u Apple-ovom tandemu jedan bio pametna glava zaduzena za tehniku (Pol Alen) a drugi za biznis (Bil Gejts). I ovde je Alen gotovo sam odradio prve projekte bez mnogo pomoci Gejtsa (recimo pisanje basic interpretera za Altair – racunar ‘a la Galaksija’ , po sistemu uradi sam).
Da nije bilo ovakvih zaludjenika pitanje je da li bi ikada IBM krenuo u projekat PC. Dugo je vremena IBM imao stav ‘Zasto bi iko ikada pozeleo racunar kod kuce’, sve dok se nisu pojavile firme koje su za kratko vreme napravile bum i (naravno) velike pare. Sticajem razlicitih okolnosti PC je postao domintantan i danas gotovo da imamo hardversku monokulturu.
I tako dolazimo do danasnjih dana gde rec haker, umesto da oznacava najblistavije umove iz prakticno svake inzenjerske oblasti, postaje sinonim za klince koji koristeci alate i algoritme koje su smislili drugi upadaju u tudje mreze. Zalosno….
Inace pojam hacker se prvi put pojavljuje kada je jedan lik uspeo da hackuje AT&T-evu govornicu, tako sto je primetio da kada koristi pistaljku iz neke kutije sa cornflakes-om moze besplatno da telefonira. Tada to nije imalo nikakve veze sa racunarstvom.
Pojam haker je upotrebljen mnogo ranije, a odnosi se na akademsku ekipu koja je angazovala zeleznicka kompanija da im pomogne u organizaciji algoritama za bolju organizaciju saobracaja, signalizacije i smanjivanje guzve na prugama po celoj Americi. Kasnije se taj termin siri medju akademcima po celoj americi, a tadasnji computer geek-ovi su sebe najradije zvali hakerima.
Citiram Ricarda Stalmana:
“In 1971 when I joined the staff of the MIT Artificial Intelligence lab, all of us who helped develop the operating system software, we called ourselves hackers. We were not breaking any laws, at least not in doing the hacking we were paid to do. We were developing software and we were having fun. Hacking refers to the spirit of fun in which we were developing software. The hacker ethic refers to the feelings of right and wrong, to the ethical ideas this community of people had that knowledge should be shared with other people who can benefit from it, and that important resources should be utilized rather than wasted. ”
Fora Captain Crunch-a sa pistaljkom o kojoj govoris je zacetak phreaking-a, odnosno vrsljanja po telefonskom sistemu. Covek je provalio da pistaljka iz Cap’n’Crunch-a proizvodi ton od 2600 Hz, sto je upravo frekvencija koja koju su koristili operatorski telefoni i time bili oslobodjeni placanja telefonskih usluga. Znaci – nadjes jednog ludaka koji konstantno zvizdi u slusalicu, drugi prica, i eto besplatnih poziva.
3. септембар 2007. у 2:36 pm #59784stanko
УчесникI tako dolazimo do danasnjih dana gde rec haker, umesto da oznacava najblistavije umove iz prakticno svake inzenjerske oblasti, postaje sinonim za klince koji koristeci alate i algoritme koje su smislili drugi upadaju u tudje mreze. Zalosno….
Naravno da je zalosno…i tu se potpuno slazem sa tobom,ali nemogu da te razumem kada kazes da je sve to o cemu si pricao poteklo od nekih “zaludjenika”.Procitaj biografije tih “zaludjenika”…
Na kraju ce neko reci da je Stanford(ili neki drugi univerzitet) nesto bezveze,nesto sto je potpuno nepotrebno i gde se nemoze nista nauciti…da su u Silikonskoj dolini velike gigante osnovali ljudi sa ulice koji su eto tako malo se igrali u garazi O0
I jos jedna stvar…ako si programer,ne znaci da nisi i haker,naprotiv,to obicno tako biva!
Hakeri su ljudi koji pre svega vole da resavaju probleme…3. септембар 2007. у 2:43 pm #59785nowave
Учесник@salac
OK, ajde onda ovako. Vidim da ti pod pojmom hacker-a smatras ljude koji su imali neke briljantne ideje, ili su razvili nesto od legendarnog hardware-a/software-a. Neki od tih hacker-a su bili skolovani ljudi, dok opet neki drugi nisu. Jednostavno durgacije dozivljavamo pojam hacker-a. Npr. ja ne smatram Ritchie-a i Thompsona-a za hacker-e. To su bili ljudi od struke, ciji je to bio posao, radili su u to vreme za Bell Labs, ako se ne varam, kada su razvili C i Unix. Paul Allen-a i Steve Wozniak-a i ja smatram za istinske hacker-e, iako su i oni u to vreme bili na studijama racunarstva, iako ih nikad nisu zavrsili. Medjutim oni su ziveli u jedno drugo vreme, kada je bilo moguce znati veoma dobro elektroniku, programiranje, biti ujedno i dobar majstor, pa sve to polemiti na rucno izradjenu stampanu plocu,… Ali danas je to prakticno nemoguce, pa sam si to rekao, zar ne?! Znaci ja dozivljavam hacker-a na sledeci nacin: neko ko je veoma pametan, da ne kazem genije, i ko je u stanju da za veoma kratko vreme shvati cega god se uhvati, to ne mora da bude striktno iz oblasti racunarstva, moze da bude bilo sta, i ko je u stanju da u toj oblasti napravi odredjene pomake za relativno kratko vreme. E sad, taj i takva hacker moze, ali ne mora da budem dobar timski igrac, moze, ali ne mora da bude dobar developer na duze staze, moze, ali ne mora jos mnogo toga, sto se ocekuje od jednog skolovanog programera. I taj skolovan programer moze da bude hacker, po tvojoj definiciji, ali ja bas ne volimda koristim taj izraz u tom slucaju. Nadam se da smo se sada malo bolje sporazumeli. -
АуторЧланци
Мораш бити пријављен да би поставио коментар у овој теми.