Hm, zanimljivo. Sa druge strane poznati su mi slučajevi studenata koji nisu mogli da dobiju odgovore na svoja pitanja. Šta više u mnogim situacijama asistensti/profesori bi se pravili "blesavi".
Znaš, ne postoje mehanizmi da se spreče manipulacija.
C ispred Jave po popularnosti?
Zaključano
Zakačeno
Citat:
Braksi:
jos 90tih godina se pricalo kako studije informatike nisu adekvatne i ne prate trendove. Mene je ta prica ispratila u Srbiji i docekala u Italiji. Tipa: zasto ucimo paskal ili modulu kad ima C++, java se tek nezirala. A php recimo nije postojao.
I tada je usvojena strategija i u Srbiji i svugde gde se studira CS (informatika i sl) da se ide na teoriju, da dakle spreme akademca za naucnu karijeru, a ako nece to onda neka ide sto bolje teorijski potkovan i izostrenih vijuga pa ce mu trebati manje vremena da bilo sta savlada u industriji, a bice i garant poslodavcu da ima potencijal za to.
Danas faksovi i dalje furaju taj fazon, a u medjuvremenu je jos doslo trista stvari - sto znaci da je bila odabrana dobra strategija....
A naravno, fax mora da se bavi teorijom jer nekako se moraju stvoriti kadrovi koji ce sutra raditi u hard sciencu i otkrivati nove stvari.
jos 90tih godina se pricalo kako studije informatike nisu adekvatne i ne prate trendove. Mene je ta prica ispratila u Srbiji i docekala u Italiji. Tipa: zasto ucimo paskal ili modulu kad ima C++, java se tek nezirala. A php recimo nije postojao.
I tada je usvojena strategija i u Srbiji i svugde gde se studira CS (informatika i sl) da se ide na teoriju, da dakle spreme akademca za naucnu karijeru, a ako nece to onda neka ide sto bolje teorijski potkovan i izostrenih vijuga pa ce mu trebati manje vremena da bilo sta savlada u industriji, a bice i garant poslodavcu da ima potencijal za to.
Danas faksovi i dalje furaju taj fazon, a u medjuvremenu je jos doslo trista stvari - sto znaci da je bila odabrana dobra strategija....
A naravno, fax mora da se bavi teorijom jer nekako se moraju stvoriti kadrovi koji ce sutra raditi u hard sciencu i otkrivati nove stvari.
Studije su bile adekvatne! Moram li da spominjem da se u paskalu adi i moduli članovi niza indeksiraju od jedan, a ne od nula kao u C/C++ i sa te strane su striktniji (kao i u koriscenju interface-implementation blokova umesto header fajlova). A što je jave i php tiče, tu samo može da se kaže da ti jezici nemaju operator overloading (nema ni paskal, ali je iz 1970 kad su kompjuteri imali 64K RAM).Besmislen je jezik u 2014 koji nema operator overloading, uz silne GHz i Gb koje imamo na raspolaganju.
Po mom skromnom mišljenju, najbolje je početi sa nečim što ima poentere i pun OOP, ali je takodje low-level, i prčkati i po low level stvarima (nekim senzorima ili čak malom robotu). Tu postoje C/C++ ili Ada. Sa toga prelaziš bez problema na taj php, jer imaš jednostavnije koncepte i manju biblioteku.
Inače, svakom se jeziku može zameriti - štos je u tome da je bolje da odmah zagrizeš i vidiš da li je programiranje za tebe ili nije. Pisanje skripti u PHP to ne može da dočara ni na koji način, i može samo početniku dati lažnu predstavu da nešto zna - nemam opet ništa protiv onih koji žive od PHP - radi se o tome ne da li neko ima znanje van PHP, već vidi znanje i van PHP.
izmenjeno 1 put, poslednji put Nedeljko 14.04.2014. u 09:41
Izmene poruke
- Nedeljko14.04.2014. u 09:41zapis iz teksta poruke
Citat:
hotchimney: Hm, zanimljivo. Sa druge strane poznati su mi slučajevi studenata koji nisu mogli da dobiju odgovore na svoja pitanja. Šta više u mnogim situacijama asistensti/profesori bi se pravili "blesavi".
Znaš, ne postoje mehanizmi da se spreče manipulacija.
Znaš, ne postoje mehanizmi da se spreče manipulacija.
Nađe se tu i tamo poneka budala. Međutim, ovakve priče su neosnovane, osim ako se ne odnose na poneki izuzetak. To su priče loših studenata, protiv kojih se ceo svet urotio, pa zato nisu uspeli. Naravno da možeš da pitaš i na času i na konsultacijama. Tada su dužni da se bave tobom, a pozabave se i u hodniku i drugim vidovima komunikacije.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Citat:
Nedeljko: Nađe se tu i tamo poneka budala. Međutim, ovakve priče su neosnovane, osim ako se ne odnose na poneki izuzetak. To su priče loših studenata, protiv kojih se ceo svet urotio, pa zato nisu uspeli.
I meni se tako čini.
Citat:
bojan_bozovic: Studije su bile adekvatne! Moram li da spominjem da se u paskalu adi i moduli članovi niza indeksiraju od jedan, a ne od nula kao u C/C++ i sa te strane su striktniji (kao i u koriscenju interface-implementation blokova umesto header fajlova). A što je jave i php tiče, tu samo može da se kaže da ti jezici nemaju operator overloading (nema ni paskal, ali je iz 1970 kad su kompjuteri imali 64K RAM).Besmislen je jezik u 2014 koji nema operator overloading, uz silne GHz i Gb koje imamo na raspolaganju.
Po mom skromnom mišljenju, najbolje je početi sa nečim što ima poentere i pun OOP, ali je takodje low-level, i prčkati i po low level stvarima (nekim senzorima ili čak malom robotu). Tu postoje C/C++ ili Ada. Sa toga prelaziš bez problema na taj php, jer imaš jednostavnije koncepte i manju biblioteku.
Inače, svakom se jeziku može zameriti - štos je u tome da je bolje da odmah zagrizeš i vidiš da li je programiranje za tebe ili nije. Pisanje skripti u PHP to ne može da dočara ni na koji način, i može samo početniku dati lažnu predstavu da nešto zna - nemam opet ništa protiv onih koji žive od PHP - radi se o tome ne da li neko ima znanje van PHP, već vidi znanje i van PHP.
Po mom skromnom mišljenju, najbolje je početi sa nečim što ima poentere i pun OOP, ali je takodje low-level, i prčkati i po low level stvarima (nekim senzorima ili čak malom robotu). Tu postoje C/C++ ili Ada. Sa toga prelaziš bez problema na taj php, jer imaš jednostavnije koncepte i manju biblioteku.
Inače, svakom se jeziku može zameriti - štos je u tome da je bolje da odmah zagrizeš i vidiš da li je programiranje za tebe ili nije. Pisanje skripti u PHP to ne može da dočara ni na koji način, i može samo početniku dati lažnu predstavu da nešto zna - nemam opet ništa protiv onih koji žive od PHP - radi se o tome ne da li neko ima znanje van PHP, već vidi znanje i van PHP.
Studije na MATF nis bile odgovarajuće (ali, to ne treba uopštavati na druga mesta) jer se nije radila nijdna GUI biblioteka, niti višenitna obrada, niti konkurentno programiranje itd. Sve je to već postojalo u okviru WinNT-a i UNIX-a. No, od 2000-te stanje se tamo promenilo na bolje.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
I još nešto. U pakalu indeksi nizova ne počinju od jedinice, već od bilo koje vrednosti koju upiše progrmer u definiciji niza.
Što se preklapanja operatora tiče, to nema veze se gigahercima, već sa prioritetom operatora, koji je određen jezikom i ne mora odgovarati prioritetu nekoj primeni, pa može da zbuni programera. Recimo, u matematici stepenovanje ima viši prioritet od množenja i desno je asocijativno, dok je u C++ jeziku operator ^ levo asocijativan i ima niži prioritet od operatora *. U javi taođe ne postoje neoznačeni celi brojevi, što takođe nema veze sa gigahercima, već sa greškama koje nastaju prilikom mešanja (od strane programera) označenih i neoznačenih celih brojeva.
Što se preklapanja operatora tiče, to nema veze se gigahercima, već sa prioritetom operatora, koji je određen jezikom i ne mora odgovarati prioritetu nekoj primeni, pa može da zbuni programera. Recimo, u matematici stepenovanje ima viši prioritet od množenja i desno je asocijativno, dok je u C++ jeziku operator ^ levo asocijativan i ima niži prioritet od operatora *. U javi taođe ne postoje neoznačeni celi brojevi, što takođe nema veze sa gigahercima, već sa greškama koje nastaju prilikom mešanja (od strane programera) označenih i neoznačenih celih brojeva.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Citat:
Nedeljko: Studije na MATF nis bile odgovarajuće (ali, to ne treba uopštavati na druga mesta) jer se nije radila nijdna GUI biblioteka, niti višenitna obrada, niti konkurentno programiranje itd. Sve je to već postojalo u okviru WinNT-a i UNIX-a. No, od 2000-te stanje se tamo promenilo na bolje.
Citat:
Nedeljko: I još nešto. U pakalu indeksi nizova ne počinju od jedinice, već od bilo koje vrednosti koju upiše progrmer u definiciji niza.
Hvala što si me podsetio, tako je.
E, da se mi onda vratimo na temu :).
Besmislen je jezik u 2014 koji nema operator overloading, uz silne GHz i Gb koje imamo na raspolaganju.
Glavni razlog zašto Java nema overloading, ako se sećam dobro Goslingove izjave je slično: "Kada pogledate kod, sve mora da ti bude jasno. Ako u C++-u vidite a + b, vi ne možete znati šta se zapravo dešava, bez da gledate definiciju klase. Mislim da je ovo prilično besmisleno, al' ajde - samo su ostavili prostor drugim jezicima da preotmu deo kolača.
D takođe pretenduje da bude dobar izbor, ali mu treba još pet godina da "sazri" (danas defakto postoje dve knjige, koje i nisu baš ažurne, a jezik je u eksploziji).
Edit: pronašao sam izvor
http://www.gotw.ca/publications/c_family_interview.htm
Citat:
Besmislen je jezik u 2014 koji nema operator overloading, uz silne GHz i Gb koje imamo na raspolaganju.
Glavni razlog zašto Java nema overloading, ako se sećam dobro Goslingove izjave je slično: "Kada pogledate kod, sve mora da ti bude jasno. Ako u C++-u vidite a + b, vi ne možete znati šta se zapravo dešava, bez da gledate definiciju klase. Mislim da je ovo prilično besmisleno, al' ajde - samo su ostavili prostor drugim jezicima da preotmu deo kolača.
Citat:
Po mom skromnom mišljenju, najbolje je početi sa nečim što ima poentere i pun OOP, ali je takodje low-level, i prčkati i po low level stvarima (nekim senzorima ili čak malom robotu). Tu postoje C/C++ ili Ada. Sa toga prelaziš bez problema na taj php, jer imaš jednostavnije koncepte i manju biblioteku.
D takođe pretenduje da bude dobar izbor, ali mu treba još pet godina da "sazri" (danas defakto postoje dve knjige, koje i nisu baš ažurne, a jezik je u eksploziji).
Edit: pronašao sam izvor
http://www.gotw.ca/publications/c_family_interview.htm
Citat:
There are some things that I kind of feel torn about, like operator overloading. I left out operator overloading as a fairly personal choice because I had seen too many people abuse it in C++. I've spent a lot of time in the past five to six years surveying people about operator overloading and it's really fascinating, because you get the community broken into three pieces: Probably about 20 to 30 percent of the population think of operator overloading as the spawn of the devil; somebody has done something with operator overloading that has just really ticked them off, because they've used like + for list insertion and it makes life really, really confusing. A lot of that problem stems from the fact that there are only about half a dozen operators you can sensibly overload, and yet there are thousands or millions of operators that people would like to define -- so you have to pick, and often the choices conflict with your sense of intuition. Then there's a community of about 10 percent that have actually used operator overloading appropriately and who really care about it, and for whom it's actually really important; this is almost exclusively people who do numerical work, where the notation is very important to appealing to people's intuition, because they come into it with an intuition about what the + means, and the ability to say "a + b" where a and b are complex numbers or matrices or something really does make sense. You get kind of shaky when you get to things like multiply because there are actually multiple kinds of multiplication operators -- there's vector product, and dot product, which are fundamentally very different. And yet there's only one operator, so what do you do? And there's no operator for square-root.
Sreca ne zavrsih fakultet jer bih sudeci po Nedeljkovom stavu, morao bih sve i svasta da koristim u poslu a bez cega ovako mogu jer nisam akademski obrazovan.
Citat:
Burgos
Glavni razlog zašto Java nema overloading, ako se sećam dobro Goslingove izjave je slično: "Kada pogledate kod, sve mora da ti bude jasno. Ako u C++-u vidite a + b, vi ne možete znati šta se zapravo dešava, bez da gledate definiciju klase. Mislim da je ovo prilično besmisleno, al' ajde - samo su ostavili prostor drugim jezicima da preotmu deo kolača.
Glavni razlog zašto Java nema overloading, ako se sećam dobro Goslingove izjave je slično: "Kada pogledate kod, sve mora da ti bude jasno. Ako u C++-u vidite a + b, vi ne možete znati šta se zapravo dešava, bez da gledate definiciju klase. Mislim da je ovo prilično besmisleno, al' ajde - samo su ostavili prostor drugim jezicima da preotmu deo kolača.
Pa svaki programski jezik u svojoj osnovi "krije" licne afinitete sopstvenog kreatora.
Eto, Gosling ne voli operator-overloading i, gle cuda, Java nema isti :-)
Kada/ako neki jezik postane dovoljno bitan da o njemu pocne da se brine (i da ga urnise :-) komitet, valjda je suvise kasno za neke korenite izmene pa volje kreatora i dalje bivaju prepoznatljive do neke mere.
Potpis
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
@tdusko
Višenitna obrada mora da se uči na studijama u okviru nečega u nekom trenutku. Naravno da ne može tek tako na prvom kursu. Prvo promenljive, nizovi, petlje, funkcije itd, da se stekne osećaj, pa malo rekurzije, pa strategija podeli pa vladaj, pa binarna pretraga, pa pretraga sa vraćanjem u dubinu i širinu da se stekne još bolji osećaj, naravno, sve kroz strukturnu paradigmu, pa OOP, pa onda mogu te razne druge stvari.
Višenitna obrada mora da se uči na studijama u okviru nečega u nekom trenutku. Naravno da ne može tek tako na prvom kursu. Prvo promenljive, nizovi, petlje, funkcije itd, da se stekne osećaj, pa malo rekurzije, pa strategija podeli pa vladaj, pa binarna pretraga, pa pretraga sa vraćanjem u dubinu i širinu da se stekne još bolji osećaj, naravno, sve kroz strukturnu paradigmu, pa OOP, pa onda mogu te razne druge stvari.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Da, to ste u pravu. Kod nas se učilo u četvrtom semestru, nakon Programiranja 1 i 2 (paskal, računarska aritmetika, C), Algoritama i struktura podataka (hehe) i OOP1 (C++), na Operativnim sistemima 1, i opet je bilo povuci-potegni.
Citat:
Shadowed: Sreca ne zavrsih fakultet jer bih sudeci po Nedeljkovom stavu, morao bih sve i svasta da koristim u poslu a bez cega ovako mogu jer nisam akademski obrazovan.
Ne, fakultet te ne tera ninašta. Samo ne bi izmišljao rupe na saksijama, jer bi znao rešenja do kojih je neko došao pre tebe. To ti je kao biblioteka.
No, problem je u tome što se na isti način rešavaju čitave klase problema, pa se onda problem formuliše apstraktno i da s rešenje za opšti slučaj, a ti onda treba da prepoznaš na koji se apstraktan problem svodi ono što rešavaš. Ako si pravilno svojio gradivo, to nije teško, ali od tabelarnog znanja se niko leba nije najeo.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Citat:
Nedeljko: @tdusko
Višenitna obrada mora da se uči na studijama u okviru nečega u nekom trenutku. Naravno da ne može tek tako na prvom kursu. Prvo promenljive, nizovi, petlje, funkcije itd, da se stekne osećaj, pa malo rekurzije, pa strategija podeli pa vladaj, pa binarna pretraga, pa pretraga sa vraćanjem u dubinu i širinu da se stekne još bolji osećaj, naravno, sve kroz strukturnu paradigmu, pa OOP, pa onda mogu te razne druge stvari.
Višenitna obrada mora da se uči na studijama u okviru nečega u nekom trenutku. Naravno da ne može tek tako na prvom kursu. Prvo promenljive, nizovi, petlje, funkcije itd, da se stekne osećaj, pa malo rekurzije, pa strategija podeli pa vladaj, pa binarna pretraga, pa pretraga sa vraćanjem u dubinu i širinu da se stekne još bolji osećaj, naravno, sve kroz strukturnu paradigmu, pa OOP, pa onda mogu te razne druge stvari.
Sto se OOP-a tice, dobro je sto si to pomenuo. Secam se kao juce da je bilo da nam je doticni na prvom casu, znaci tamo negde 5. oktobar objasnjavao principe OOP-a. Secam se nekog slajda sa biciklom gde je objasnjavao kako je neka ponika sa slike objekat klase Bicikl, a okretanje pedala, lupanje zvona itd su metode. Svremena na vreme ubacujuci termine polimorfizam, enkapsulacija itd.
Potpisujem sve. Površno znanje je čak opasno, kad imaš lažan utisak da znaš nešto što ne znaš. Znaj kako treba ono što znaš. To je vrlo bitno.
Lao Ce je napisao
Lao Ce je napisao
Citat:
Ko ne zna da ne zna, ograničen je.
Ko zna da ne zna, mudar je.
Ko prepoznaje svoju ograničenost, nema granica.
Ko zna da ne zna, mudar je.
Ko prepoznaje svoju ograničenost, nema granica.
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Citat:
Nedeljko: Ne, fakultet te ne tera ninašta. Samo ne bi izmišljao rupe na saksijama, jer bi znao rešenja do kojih je neko došao pre tebe. To ti je kao biblioteka.
No, problem je u tome što se na isti način rešavaju čitave klase problema, pa se onda problem formuliše apstraktno i da s rešenje za opšti slučaj, a ti onda treba da prepoznaš na koji se apstraktan problem svodi ono što rešavaš. Ako si pravilno svojio gradivo, to nije teško, ali od tabelarnog znanja se niko leba nije najeo.
No, problem je u tome što se na isti način rešavaju čitave klase problema, pa se onda problem formuliše apstraktno i da s rešenje za opšti slučaj, a ti onda treba da prepoznaš na koji se apstraktan problem svodi ono što rešavaš. Ako si pravilno svojio gradivo, to nije teško, ali od tabelarnog znanja se niko leba nije najeo.
Elem, najveci problem u ovoj temi je sto ucesnici nemaju zajednicki stav sta se podrazumeva pod pojmom znanja algoritama pa onda svako menja to znacenje po potrebi.
Ne, nisam rekao da mora da se zna sve i svašta, već osnove, koje su zajednički imenilac svih oblasti. Tu spadaju:
1. implementacija u bar jednom programskom jeziku datog algoritma proizvoljne složenosti,
2. osnovni algoritmi,
3. osnovne strukture podataka.
Šta je to osnovno? Pa, ono što se uobičajeno radi na prvim kursevima. To nije sve i svašta. Sve i svašta bi bii klaud, baze, 2D grafika, 3D grafika, zvuk, veb, poslovni sistemi, numerički algoritmi, geometrijski algoritmi, ugrađeni sistemi...
1. implementacija u bar jednom programskom jeziku datog algoritma proizvoljne složenosti,
2. osnovni algoritmi,
3. osnovne strukture podataka.
Šta je to osnovno? Pa, ono što se uobičajeno radi na prvim kursevima. To nije sve i svašta. Sve i svašta bi bii klaud, baze, 2D grafika, 3D grafika, zvuk, veb, poslovni sistemi, numerički algoritmi, geometrijski algoritmi, ugrađeni sistemi...
Potpis
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Napiso sam ono što sam video i čuo razgovor. Da je to samo slučajni izuzetak onda bi se oni sa Sorbone otimali da studiraju na takvim fakultetima. Ali - ne otimaju se.
Posebna priča su tek svršeni studenti koji preko noći postaju aistenti i kao takvi su potpuno nedorasli poslu koji obavljaju.
Posebna priča su tek svršeni studenti koji preko noći postaju aistenti i kao takvi su potpuno nedorasli poslu koji obavljaju.
Citat:
Nedeljko:
Ne, nisam rekao da mora da se zna sve i svašta, već osnove, koje su zajednički imenilac svih oblasti. Tu spadaju:
1. implementacija u bar jednom programskom jeziku datog algoritma proizvoljne složenosti,
2. osnovni algoritmi,
3. osnovne strukture podataka.
Šta je to osnovno? Pa, ono što se uobičajeno radi na prvim kursevima. To nije sve i svašta. Sve i svašta bi bii klaud, baze, 2D grafika, 3D grafika, zvuk, veb, poslovni sistemi, numerički algoritmi, geometrijski algoritmi, ugrađeni sistemi...
Ne, nisam rekao da mora da se zna sve i svašta, već osnove, koje su zajednički imenilac svih oblasti. Tu spadaju:
1. implementacija u bar jednom programskom jeziku datog algoritma proizvoljne složenosti,
2. osnovni algoritmi,
3. osnovne strukture podataka.
Šta je to osnovno? Pa, ono što se uobičajeno radi na prvim kursevima. To nije sve i svašta. Sve i svašta bi bii klaud, baze, 2D grafika, 3D grafika, zvuk, veb, poslovni sistemi, numerički algoritmi, geometrijski algoritmi, ugrađeni sistemi...
Pa, mnoge od tih osnova mi nikada nisu trebale. Banalan primer - linked list. List<T> (dynamic array) je ono sto mi je uvek zavrsavalo posao. Eventualno da kazemo da bi mi trebalo da znam prednosti i mane izmedju List<T> i LinkedList ali implementacija - jok (druga je stvar sto znam da implementiram kao i druge stvari, nije mi trebalo).
Mislim da mi je samo jednom trebalo da implementiram neki sort.
Isto vazi i za razno drvece. Neke znam da implementiram, za neke bih morao da razmislim (ne znam napamet). Ali mi u poslu implementacija toga nikada nije trebala. Znam ih sticajem okolnosti - pomagao sam devojci koja je to tada ucila na fakultetu :)
Binary search mi jeste trebao par puta. Jedino sto mogu da se setim trenutno.
Inace, radim kao developer 6god aktivno (dakle, kao zaposlen plus povremeno freelance) i jos par godina pre toga povremeno ponesto. Naravno, dosta duze sam pravio i isprobavao razne sitnice, ali nije bilo za posao. I zivim od tog rada. Daleko od toga da se, kako ti rece, nisam 'leba najeo.
Ja ne osporavam niti omalovazavam znanje o kojem pricas, dobro ga je imati, cak je dobro raditi te stvari kao trening u razmisljanju. Medjutim, nije tacno da je neophodno da bi se radilo (i zaradilo). Neophodno je za neke, nije za mnoge situacije. Dobrodoslo je uvek.