Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

C ispred Jave po popularnosti?

[es] :: Advocacy :: C ispred Jave po popularnosti?

Strane: << < .. 10 11 12 13 14 15 16 17 18 19 ... Dalje > >>

[ Pregleda: 84686 | Odgovora: 443 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.3gnet.mts.telekom.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 10:22 - pre 121 meseci
Živo me zanima koji je programski jezik najbolji kao prvi, da se pohvataju osnove. Nekada sam mislio da je C, ali ne mislim više tako.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 10:33 - pre 121 meseci
Možda Pascal ali da se izbace forward deklaracije.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 10:43 - pre 121 meseci
Citat:
Nedeljko:
Živo me zanima koji je programski jezik najbolji kao prvi, da se pohvataju osnove. Nekada sam mislio da je C, ali ne mislim više tako.

Mislim da to zavisi od onog ko ce uciti i toga da li ce uciti sam ili ce ga neko uciti.
 
Odgovor na temu

gandalf
Goran Raovic
senior network engineer
Belgrade

Član broj: 52
Poruke: 248
*.dynamic.sbb.rs.

Jabber: goran.raovic@gmail.com


+44 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 11:43 - pre 121 meseci
Mislim da je python. A zbog cega mislim da je python
– Sintaksa najbliza pseudokod–u
– Dobra literatura
– Veliki broj kurseva iz oblasti CS-a koristi python za programski jezik
– Omogucava ucenje vise programerskih paradigmi:
– proceduralno  
– OOP
– Donekle funkcionalno ( map, filter, list comprehension, iteratori, lambda funkcije..)
– Omogucava buducem programeru da se fokusira na problem koji resava a manje na tehnikalije kako to napraviti na racunaru.

Takodje posle toga mislim da bi svako treba da nauci C++ posto obuhvata deo oko low level stvari: memorija, pointeri, kao i OOP. I sve preporuke idu da se nauci i neki funkcionalni jezik ( Scala, Erlang, Haskell.. )

 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+710 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 14:44 - pre 121 meseci
http://programmers.stackexchan...-have-you-taught-your-children :)
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16683
*.hsi.kabelbw.de.



+7169 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 15:51 - pre 121 meseci
Citat:
gandalf
Takodje posle toga mislim da bi svako treba da nauci C++ posto obuhvata deo oko low level stvari: memorija, pointeri, kao i OOP. I sve preporuke idu da se nauci i neki funkcionalni jezik ( Scala, Erlang, Haskell.. )


Koliko je meni poznato, mozda gresim, u C++-u su pointeri tu samo zbog kompatibilnosti sa C kodom i gomilom biblioteka raspisanim za isti.

"Pravi" C++ kod ne bi trebao da koristi pointere (kao ni, npr, malloc) vec reference, koje su kud i kamo bezbednije od pointera.

Naravno, reference nisu magicno resenje posto mogu da unesu druge probleme ako programeru nisu najjasnije neke stvari, ali tako je sa svim stvarima u zivotu, nista nije dzabe.

Citat:
negyxo
Isto tako i lociranje memorije je automatizovano


Kome treba automatski menadzment memorije, ima GC. Medjutim, postoji gomila jako dobrih razloga zasto je dobro imati i fallback na menadzment memorije "na ruke".

Na primer, pises novi HPC program koji treba da procesira data set na makini sa 8 novih Ivy Bridge EX procesora sa ukupno 120 jezgara.

Tih 8 procesora su podeljeni u 8 NUMA nodova, gde svaki nod ima svoju memoriju.

Ukoliko ne radis alokaciju memorije "na ruke", OS i kompajler nisu dovoljno pametni da ti garantuju da ce memorija biti alocirana optimalno i tako da svaki worker thread bude:

a) Scheduleovan na poseban CPU
b) Radi sa memorijom alociranom u lokalnom NUMA nodu

Za optimalne performanse danas ti >moras< da prvo koristis neki low-level OS API (ili CPU instrukcije) kako bi dobio topologiju sistema, a onda na osnovu te topologije da kreiras optimalan broj radnih niti i "pin-ujes" ih na procesor/jezgro. Takodje, alokacija memorije mora biti takva da radna nit koristi, ako je moguce, memoriju koja je u NUMA nodu na kome trci ta nit.

Ako ovo ne uradis, mozes ocekivati pad performansi koji moze biti drastican ako se radi o memorijski intenzivnoj aplikaciji. Pristup memoriji na stranom NUMA nodu je bar 30-tak% sporiji a cesto i mnogo vise. To nije kraj price, posto pristupi stranim NUMA nodovima, takodje, generisu saobracaj preko processor interconnect bus-a i zauzimaju uncore resurse kada se sve ukombinuje nije iznenadjujuce videti i visestruko veci pad performansi cele aplikacije.

OS ce verovatno rasporediti niti na posebne procesore, ali slabe su sanse da ce ti memorijska alokacija biti optimalna. U najboljem slucaju ce ispasti optimalna u nekim slucajevima i razlikovace se u razlicitim izvrsavanjima programa.

Low-level stvari postoje sa jako dobrim razlogom. Za one kojima trebaju, naravno.

Ako neko kaze "pff, to je HPC... kome to treba" - tacno, HPC spada u <0.1% aplikacija ali operativni sistemi i ozbiljni programski jezici moraju da podrzavaju i HPC, bas kao sto moraju da podrzavaju i mikrokontrolere, ves masine, game konzole, satelite, mobilne telefone i, naravno, Angry Birds. Zbog toga su C/C++ toliko uspesni, zato sto, ako treba, ljudima daju mogucnosti da urade tacno ono sto hoce.

Kome ne treba ta fleksibilnost naravno da je besmisleno da se insistira na rucnoj alokaciji memorije i sl... Ali je isto tako besmisleno insistirati na izbegavanju istih stvari po svaku cenu, zato sto postoje situacije gde su te stvari i te kako potrebne.
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
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+710 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 16:03 - pre 121 meseci
Citat:
Nedeljko: ...koji je programski jezik najbolji kao prvi, da se pohvataju osnove...


Citat:
Ivan Dimkovic: ...pises novi HPC program koji treba da procesira data set na makini sa 8 novih Ivy Bridge EX procesora sa ukupno 120 jezgara...


o.O
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 16:04 - pre 121 meseci
Hahaha! Bravo jablane! Baš si me nasmejao!
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 18:09 - pre 121 meseci
Citat:
Ivan Dimkovic: Koliko je meni poznato, mozda gresim, u C++-u su pointeri tu samo zbog kompatibilnosti sa C kodom i gomilom biblioteka raspisanim za isti.

"Pravi" C++ kod ne bi trebao da koristi pointere (kao ni, npr, malloc) vec reference, koje su kud i kamo bezbednije od pointera.

Naravno, reference nisu magicno resenje posto mogu da unesu druge probleme ako programeru nisu najjasnije neke stvari, ali tako je sa svim stvarima u zivotu, nista nije dzabe.

Grešiš, jer upućivanja ne mogu biti korišćena za stvaranje objekata, već objekti moraju negde prethodno da postoje. Nemoguće je napraviti bez pokazivača program koji radi sa količinom podataka koja nije u programu unapred ograničena. Ne možeš ni listu, ni skup, ni mapu da implementiraš tako. U principu, upućivanja daju podfunkcionalnost pokazivača za prenos parametara i rezultata po adresi.

Naravno, pokazivači mogu biti negde enkapsulirani, ali ih mora biti u nekom obliku. Međutim, čini mi se da čak i nije moguće sve rešiti preko stl-a.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
*.dynamic.isp.telekom.rs.



+171 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 18:22 - pre 121 meseci
@Ivan Dimkovic

Ne sporim ja to sto si ti napisao ali kao sto si i sam primetio to su stvari u 1% slucajeva a mozda i manje. Mislim da na celoj temi je mozda problem sto se ne kaze sta se na sta odnosi.

Moja poenta je da se stvari moraju automatizovati, naravno zavisno u odnosu na nivo na kom se radi, recimo zasto ne bi sve pisali low level recimo samo u asambleru. Recimo sve ono sto radi calling convention u C++-u uzeti i rucno uvek pistati. To nije optimalno, tu se stvari ponavljaju i povecava se verovatnoca za gresku. U zavisnosti sta se resava treba prepoznati sta moze da se automatizuje. Zato su low-level stvari problem u "visljim" jezicima (ne zato sto su oni "vislji"). Recimo, nacin na koji ce se memorija locirarati, ako se radi svaki put isto, i mora da se ispuni neki pattern (tipa onaj koji zadnji koristi refrencu treba da releasuje), zasto to onda ne automatizovati, zato sluze alati. Ako programer mora rucno to da pamti i uci, onda tu nesto smrdi. Jos jedan razlog zasto u visljim jezicima sve te stvari ne treba dirati "low level" moglo bi se opisati u onoj izreci "od sume se ne vidi drvece". Prosto, mnogo povezanih stari ima, obimno je i tesko je sekvencijalno postavljati stvari gde jedino ima smisla deklarativno se izrazavati, plus postoji onaj "traffic effect", svi mi bi mogli na malo da u saobracaju optimizujemo putanje tako da nama bude dobro, tipa krenes suprotnom trakom, ides stazom itd. ali ako to svi krenu da rade, na kraju je ceo sistem samo gori ne bolji.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16683
*.web.vodafone.de.



+7169 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 18:43 - pre 121 meseci
Citat:
jablan:
Citat:
Nedeljko: ...koji je programski jezik najbolji kao prvi, da se pohvataju osnove...


Citat:
Ivan Dimkovic: ...pises novi HPC program koji treba da procesira data set na makini sa 8 novih Ivy Bridge EX procesora sa ukupno 120 jezgara...


o.O


Hm, probaj da povecas memoriju za pracenje thread-a - iako nick-ovi negyxo i Nedeljko mozda slicno izgledaju moja poruka je odgovor na poruku prve osobe, ne druge.

U pitanju su 2 razlicita... konteksta. Preporucujem par DDR3 modula :-)

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
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16683
*.web.vodafone.de.



+7169 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 18:47 - pre 121 meseci
@Nedeljko,

Da se ispravim, filozofija "dobrog C++-a" je izbegavanje pointera kada god je to moguce. U "normalnom" kodu koji je pisan tako da bude "moderni C++" se ocekuje da ces koristiti kojekakve STL-ove, boost-ove i sl... pa ne bi trebalo da postoji potreba da sam baratas preterano sa pointerima u svom C++ kodu.

IMHO, ja nemam nista protiv pointera. Stavise, vise ih koristim nego reference iz navike. Ali razumem ideju da se reference koriste umesto pointera gde god je to moguce zato sto su "bezbednije".

@negyxo,

Tih "1%" su i razlog zasto postoje jezici kao sto su C i C++.

Bilo bi besmisleno zahtevati da se neka poslovna aplikacija, web sajt i sl... pisu u C-u ili C++-u, bas kao sto je besmisleno insistirati na GC-u u svim slucajevima.
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
 
Odgovor na temu

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
*.dynamic.isp.telekom.rs.



+171 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 18:52 - pre 121 meseci
Znas, ovo je jedna od onih tema gde se vec izgubi nit sta tacno ko hoce da dokaze :)

Recimo, to sto ti pricas meni je sasvim jasno i tako stvari treba da stoje.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 21:35 - pre 121 meseci
Citat:
Ivan Dimkovic: @Nedeljko,

Da se ispravim, filozofija "dobrog C++-a" je izbegavanje pointera kada god je to moguce. U "normalnom" kodu koji je pisan tako da bude "moderni C++" se ocekuje da ces koristiti kojekakve STL-ove, boost-ove i sl... pa ne bi trebalo da postoji potreba da sam baratas preterano sa pointerima u svom C++ kodu.

IMHO, ja nemam nista protiv pointera. Stavise, vise ih koristim nego reference iz navike. Ali razumem ideju da se reference koriste umesto pointera gde god je to moguce zato sto su "bezbednije".

Šta znam. Postoje zadaci, koje ja znam da rešim preko pokazivača, ali ne i bez izričitih pokazivača, tj. samo sa enkapsuliranim u biblioteci, osim veštački, tako da mi vektor glumi memoriju, pa da po njemu vršim "alokaciju", a da su mi indeksi "adrese", tj. ne znam upotrebom biblioteke kako treba, bez da imam pokazivače van bibliotečkih klasa. Ne kažem da je nemoguće, ali ima takvih zadataka, koje ja ne znam tako da rešim, a znam preko pokazivača.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16683
*.web.vodafone.de.



+7169 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 21:43 - pre 121 meseci
@Nedeljko,

Mislim da je ideja (kazem mislim, posto ne pripadam skoli misljenja "pointeri su losi") da se upotreba pointera minimizuje samo na objekte najnizeg nivoa (tamo gde su neophodni), a i u low-level kodu je ideja koristiti stvari kao sto su smart pointer-i ako je ikako moguce.

IMHO, vezbanje "izbegavanja pointera po svaku cenu" tipa ta ideja sa vektorom zanimljivo sa neke teorijske strane ali prakticno ne znam zasto bi to koristio u produkcionom kodu.

Sto se mene licno tice, kod sa smart pointerima i reference countingom je, za mene, vec dovoljno "visokog nivoa". Ako neko misli da ce daljim sandboxingom da spreci greske programera, sta znam... mislim da je to nemoguca misija i da se problem samo odlaze / premesta na drugo mesto.
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
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?16.04.2014. u 22:04 - pre 121 meseci
U stvari, u pravu si. Taj zadatak znam da rešim sa shared_ptr, za koji ne treba boost, već pripada standardnoj biblioteci. No, nisam siguran da se sve može rešiti tako. Naravno, uz ogradu da me neko ne proziva sa proof of concept-om sa "alokacijom" po vektoru (jer on "rešava" opšti slučaj).

No, svakako sve ima svoju cenu, pa i izbegavanje pokazivača u nekim situacijama može biti "skuplja dara nego mera".

Naravno, ni shared_ptr ne rešava sve probleme. Postoje kružne reference. Odbrana od njih su weak_ptr u kombinaciji sa shared_ptr. Međutim, ni oni nisu "devojka za sve".

Razlog zbog kojeg ne mogu da smislim C je što nema konstruktore i destruktore, pa da mi barem omogući da neke stvari automatizujem pravljenjem odgovarajućeg tipa.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

hotchimney

Član broj: 300237
Poruke: 462



+822 Profil

icon Re: C ispred Jave po popularnosti?17.04.2014. u 03:18 - pre 121 meseci
Citat:
Nedeljko

U svakom slučaju, član hotchimney i ja smo se oko nečega složili. NEKI (<-- dodao hotchimney) Studenti imaju obilatu pomoć nastavnog osoblja

 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
c-bg-d-p4-109.bvcom.net.



+1064 Profil

icon Re: C ispred Jave po popularnosti?17.04.2014. u 06:01 - pre 121 meseci
Citat:
Ivan Dimkovic:
Citat:
gandalf
Takodje posle toga mislim da bi svako treba da nauci C++ posto obuhvata deo oko low level stvari: memorija, pointeri, kao i OOP. I sve preporuke idu da se nauci i neki funkcionalni jezik ( Scala, Erlang, Haskell.. )


Koliko je meni poznato, mozda gresim, u C++-u su pointeri tu samo zbog kompatibilnosti sa C kodom i gomilom biblioteka raspisanim za isti.

"Pravi" C++ kod ne bi trebao da koristi pointere (kao ni, npr, malloc) vec reference, koje su kud i kamo bezbednije od pointera.

Naravno, reference nisu magicno resenje posto mogu da unesu druge probleme ako programeru nisu najjasnije neke stvari, ali tako je sa svim stvarima u zivotu, nista nije dzabe.


C++ pointeri su preuzeti kao koncept iteratora i siroko se koriste u standardnoj biblioteci. To ne samo da je zacementiralo
koriscenje pointera, nego je napravilo od njih apstraktni interfejs.
Dakle ti funciji sort podjednako mozes baciti dva prava pointera i dva random access iteratora
i f-ja nece primetiti razliku.
 
Odgovor na temu

hotchimney

Član broj: 300237
Poruke: 462



+822 Profil

icon Re: C ispred Jave po popularnosti?17.04.2014. u 09:57 - pre 121 meseci
Citat:
Nedeljko

Živo me zanima koji je programski jezik najbolji kao prvi, da se pohvataju osnove

Mogu da prenesem iskustva nekih nastavnika koji su držali programiranje u srednjoj (elektrotehničkoj) školi a u skladu su sa preferencijama za C.
Učenici obično dobro savladaju osnovne programske strukture i tipove podataka uključujući nizove i liste pa čak i implementaciju steka. Tako da u suštini C nije problem. Napredniji učenici mogu da savladaju i implementaciju polinoma.
Naravno, sve ovo može da se radi i u Paskalu. Ali oni koji će koristiti C bolje da odmah počnu sa C a to će sigurno koristiti elektrotehničari.

Štaviše neki su koristili i VC u nastavi.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: C ispred Jave po popularnosti?17.04.2014. u 13:15 - pre 121 meseci
Ne zanimaju me iskustva onih kojima su polinomi napredno znanje. Ako učenik ne zna da implementira Ojlerov algoritam, koji mu je dat, za nalaženje Ojlerovog puta u grafu, on nije naučio taj jezik.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

[es] :: Advocacy :: C ispred Jave po popularnosti?

Strane: << < .. 10 11 12 13 14 15 16 17 18 19 ... Dalje > >>

[ Pregleda: 84686 | Odgovora: 443 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.