Google dokazao: C++ je najbrži

poruka: 82
|
čitano: 18.029
+/- sve poruke
ravni prikaz
starije poruke gore
Ovo je tema za komentiranje sadržaja Bug.hr portala. U nastavku se nalaze komentari na "Google dokazao: C++ je najbrži".
13 godina
neaktivan
offline
Re: Google dokazao: C++ je najbrži
Tonči kaže...

Stvari nisu tako jednostavne. Radi se o razlikama u odnosu na uložen trud. Poanta je da te razlike imaju puno veću cijenu u razvoju. Sasvim je nelogično nešto optimizirati do maksimuma, ako to nije krajnje nužno. Ako se Java program vrti 5% sporije od C++ programa čiji razvoj traje 20% duže, tada je sasvim suludo razvijati program u C++ jeziku ako predviđena platforma nije jako ograničena snagom. Java, C# i slični jezici sasvim su dovoljna tehnologija za većinu aplikacija danas, a osim toga se vrte približno jednako kao i nativni kod (C# recimo nije interpretiran jezik kao PHP - iako i PHP ima kompajler - nego JIT jezik koji se na kraju kompajlira).

C++ je jezik koji sasvim nepotrebno omogućava razne hackove koji su rijetko nužni, a često potiču (i omogućavaju) loše navike i lošu praksu u kodiranju. Java i C# su jezici koji, umjesto na implementacijske i nebitne tehničke detalje, usmjeravaju programere na rješavanje problema, jer danas su kompajleri iznimno "pametni" i u većini slučajeva puno bolje optimiziraju kod nego što to ljudi mogu. Ako je nekome brzina kritična (igre npr.) i ako mu vrijeme i cijena razvoja nisu ključni, a platforme ograničene, tada će C++ svakako imati opravdanje.

Svi u zadnje vrijeme spominju "ogromnu" razliku u razvoju između C++, C#, JAVA itd... Kako cijeli život živim od razvoja aplikacija, moram reći da je to snake oil koji uglavnom prodaju ljudi koji imaju oskudno ili nikakvo znanje i iskustvo u razvoju. Ako imamo sposobnog C++ developera, sposobnog C# developera, sposobnog JAVA developera, itd.. svaki od njih će potrošiti podjednako vrijeme za svoj zadatak. Možda će ovaj u C# biti brži sa nekim stvarima koje mu nudi framework, ali možda će taj isti imati problema sa korištenjem 3rd party SDK-a, koji je prvenstveno namijenjen C ili C++ developeru. Odavno je postao biznis pisanje wrappera oko koje-čega za lakše korištenje iz C#. Dakle, sve je to tu negdje.

Ako pod većinom aplikacija smatraš "daj spoji na bazu, daj mi store procedure rezultat i isprintaj mi to", onda si u pravu. Performanse su "nebitne" pod pretpostavkom da rade kvalitetni programeri. No, za 24/7 aplikacije, multimediju i slično je upitno. Nedugo sam dobio zadatak i super staro računalo na kojem se aplikacija mora izvršavati (klijent ima preko 500 takvih i kupnja novih nije dolazila u obzir). C# developeri su odradili svoj dio posla, međutim ta stara kanta nije mogla to odraditi u realnom vremenu. Prepjevana je stvar u C++ za isto vrijeme kao i prva C# verzija. I, radi kako je i očekivano. Čak je korišten i MFC za kojeg neki tvrde da se više ne koristi.

Izjava da je C++ jezik koji omogućava razne hackove najviše govori o kompetentnosti njezinog autora (mada je kontradiktoran na kraju, gdje ipak kaže da C++ ima svoju svrhu). Pitam se što bi taj isti rekao na asembler? S obzirom na optimizacije koje je kompajer u stanju izvesti danas, nema smisla razvijati u asembleru, ali znati ga radi debagiranja je vrlo korisno. Naravno, neki će se nasmijati i reći "ma kome to treba".

Svaki jezik ima svoju svrhu.

Loša praksa u kodiranju nije nikako vezana uz programski jezik. Ne postoji jezik koji je imun na loše pisani kod ili bugove.

Ono što razvoj u C-u ili C++ čini skupljim su skuplji ljudi (programeri), a ne bitno više vremena. C# tipa ćeš naći na svakom ćošku. Rijetki među njima su zaista dobri. C++ developera u RH možeš povećalom tražiti, a dobrog C++ developera... hm, ne znam kolike su šanse. Ti ljudi znaju puno više od C# ekipe i normalno je da su skuplji. Rijetki su ljudi u C# svijetu koji znaju što se odigra iza jedne linije njihovog koda.

Ukoliko već postoje značajne razlike u vremenu razvoja, projekt se može razvijati sa više različitih alata. Uostalom, zato i imamo više jezika, a ne samo jedan.

15 godina
odjavljen
offline
Re: Google dokazao: C++ je najbrži
nibble kaže...

S...

Pričaš notorne gluposti, a pritom si bezobrazan i zračiš egom. Frapantno, ali valjda je to stvar odgoja. Takav pristup imaju često ili nesigurni ljudi ili oni koji su zapeli na nekoj tehnologiji pa je i po cijenu pisanja gluposti grčevito brane. Dobar ti je nick, pokazuje da si cool i turbo napredan programer.

 

Nego, postoje znatne razlike u razvoju različitim jezicima, od kojih svaki ima neke svoje prednosti i mane. Neki jezici su za neke stvari znatno bolji, neki znatno lošiji. Pisati LOB aplikaciju u Schemeu je znatno teže, nego u Javi, kao što je pisanje iste u Javi znatno lakše nego u C++-u. 

 

C# developeri su odradili svoj dio posla, međutim ta stara kanta nije mogla to odraditi u realnom vremenu. Prepjevana je stvar u C++ za isto vrijeme kao i prva C# verzija. I, radi kako je i očekivano. Čak je korišten i MFC za kojeg neki tvrde da se više ne koristi.

 

Zgodna anegdota. Ja sam nedavno radio na kalkulatoru financijskih podataka i za 20% konkurentske cijene u 48 sati završio aplikaciju koristeći C#. Čak sam imao preciznije rezultate, a prethodna aplikacija (pisana u C-u) je imala grešku već kod par stotina kalkulacija unutar formule. Istina, zbog decimal tipa, moj se algoritam vrstio 2000% sporije, ali se svaki izračun završavao unutar 1 sekunde. Korisnik je na kraju bio jako zadovoljan i cijenom i rezultatima i vremenom razvoja. Čudni su ti korisnici, zar ne? Više vole produktivnost od cool faktora programera.

 

Nego, vratimo se s glupih anegdota na raspravu. Nažalost, sudeći po rezultatima iz tvog okruženja, i ne radi se o nekoj posebno dobroj grupi programera kad su uspjeli dovesti C# dovesti do neupotrebljivosti. Treba biti poseban antitalent za napraviti takvu razliku, iako zapravo ne znam što je to "real time" pa je i lamentiranje o tvojoj uspješnosti s C++ jezikom sumnjivo. Možda kad jednom saznaš kako rade programski jezici, pokažeš taj uspjeh na nekom primjeru, naravno iz stvarnog života, ne iz tehnološke demonstracije translacije matrice s trideset milijardi elemenata.

 

Kao što je više puta rečeno, C++ jest brži, ali sporiji u razvoju. To ima svoju svrhu, mjesto i vrijeme, a to je dokazao i Google. Meni je Google više cool od nibblea (ma kako nibble bio kul u forumskim postovima).

 

13 godina
neaktivan
offline
Re: Google dokazao: C++ je najbrži
Tonči kaže...

Pričaš notorne gluposti...

 

Frapantno je jedino kako voliš držati predavanja koja sadrže elemente legendi i nikako ne podnosiš kontriranje. Koje je btw sasvim opravdano.

Psihološke doskočice sa nesigurnošću i "zapinjanjem" na nekoj od tehnologija idu u prilog onom frapantnom dijelu. Čak iz mojeg nick name-a znaš koliko ja znam. Valjda je "Tonči" sinonim za božanstvo u tvojoj vjeri, a "nibble" za ono suprotno....

 

Nije mi baš jasno što želiš reći sa kalkulatorom kojeg spominješ, niti kakve veze ima "cool faktor" programera.

 

Ne moraš biti nikakav talenat za dobiti sporiju aplikaciju. Ljudi su napisali korektan kod koji koristi mogućnosti frameworka, dok je istu funkcionalnost trebalo u C++ razviti.  Da se radilo o jednom računalu, mislim da bi rješenje bilo "idemo u dućan po brži PC" i gotova priča. Uostalom tako se rješavaju performance problemi kod razvoja u JAVI, C# itd... Jednostavno je jeftinije i brže. Druga rješenja nemaju smisla.

 

Sa jedne strane ne znaš što je "real time", ali znaš da je uspješnost sumnjiva :-) Kako rade programski jezici sam savladao dosta davno. Neke detalje sam i zaboravio do danas. Bottom line je da je native brži od managed koda. Sama prisutnost runtimea koji izvršava bytecode je valjda dovoljan dokaz. Čudno da ti koji me prozivaš da ne znam ništa nisi u stanju to zaključiti... U biti, to je "frapantno".

 

C# nije nužno brži u razvoju. U većini situacija su podjednaki.

 

Muči te moj nick opako, ha? Znaš li uopće bez Googla što je nibble???

15 godina
neaktivan
offline
Google dokazao: C++ je najbrži

Svasta...

U jednoj drugoj temi, pro-gay i anti-gay ljudi razgovaraju s manje ega i s vise medjusobnog postivanja nego ovdje.

 

Danas naci programera koji nema ego velicine bivsih twinsa, je ocito skoro pa nemoguce.

Prvo da se ogradim od napornih komentara - koristim C++ duze nego sto koristim Javu.

 

 

A sad primjer iz stvarnog zivota, za neke od commenta o tome kako su C++ programeri sposobniji i pametniji:

 

Dakle, situacija je slijedeca.

Klasa koja fura naokolo informacije o teksturi sa sobom nosi pointer na raster. Zbog koristenja u GUI-u, raster cesto mora biti u omjeru 1:1, pa je zbog toga neophodno sa rasterom nositi sirinu i visinu u pixelima, da bi se kasnije prekalkuliralo kako skalirati teksturu u odnosu na rezoluciju.

 

U GUI kodu, postoje te dvije velicine.

Prilikom loadanja rastera, takodjer postoje.

Nigdje ih drugdje nema.

Kako je 'sposobni' programer rijesio problem?

Jednostavno!

 

Spakirao je pointer u donja 3 bytea, racunajuci da nitko nikad nece mijenjati memory allocator koji sprema teksture u memory pool na donjem dijelu memorije. Cetvrti byte je fino raspodijelio na dva nibblea i spakirao width i height u njih, racunajuci da za GUI nitko nikad nece zatraziti teksturu vecu od 128x128 (sto je bio standard tada).

Naravno, par godina kasnije, engine je trazio svoj upgrade na DX10, i netko se dosjetio kako bi htio vece teksture... koje odjednom vise nisu radile.

 

Stvarno je sposoban programer!

Inteligentan, je. Pametan, ko mazga. Lijen ko magarac. Jer programer koji nije lijen, isao bi promjeniti klasu za raster i ko covjek dodao unutra width i height.

Ali ne. Zasto bi se on mucio i compilirao kod pa provjeravao da li refactoring negdje puca, kad moze ovako biti pametan i rijesiti to...

Pa pustiti mene da se s time mucim 3 godine kasnije.

 

 

Rockstar programeri - treba ih sve pobit.

 

 

@nibble

performance problemi u Javi se ne rijesavaju kupovinom jaceg hardwarea, nego upotrebom mozga i profilera.

Ja sam slucajno placen bas zato jer svojim poslodavcima arhitekturiram software za koji jednostavno mogu naci programere (jer Java programera hvala bogu ima dovoljno a i nisu preskupi), a koji istovremeno radi brzo na commodity mashinama.

Naravno za takve pothvate covjek bi morao ponesto znati o bytecodeu, JIT compilerima, nativnim pozivima i treba imati ponekog iskustva kada primjeniti sto od toga.... ali uglavnom je potrebno razmisliti o tome sto je dugorocno najjeftinije, jednostavno za razvoj, i jednostavno za zaposljavanje novih ljudi.

Sta mi vrijedi aplikacija u Cobolu kad Cobol programer kosta 200K godisnje i 90% njih radi za vojsku? Java programera mogu pronaci za 50K godisnje!

 

Vecina performance problema u C++ nastaje zbog toga jer covjek NIJE mashina, i jednostavno je NEMOGUCE sagledati kompletnu aplikaciju tako precizno da vidis kakve sve posljedice ima jedan poziv. Vecinu C++ performansi ubiju mikroalokacije... covjek alocira objekt na stacku "jer je to brze". C#/Java programeri koriste pool-ove objekata (apache commons, npr?) i 'reset' metode kad im treba hrpetina malih objekata koje bi bilo skupo alocirati.

Pool ce pobit alociranje na stacku kada god hoces.

 

Cemo dalje?

Nema problema, mogu do vjecnosti nabrajati kako popraviti problem 'sporosti' uz upotrebu mozga, uz protuprimjer kako jednako koristenje "pravog" jezika bez mozga dovodi do puno katastrofalnijih posljedica.

You're such an inspiration for the ways that I'll never ever choose to be...... Oh so many ways for me to show you how the savior has abandoned you.....
Poruka je uređivana zadnji put sri 8.6.2011 16:46 (Deus ex machina).
 
2 0 hvala 3
15 godina
odjavljen
offline
Re: Google dokazao: C++ je najbrži

Eto, naučio si novu riječ "frapantno"! Bravo nibble!

 

Svakako, komentar o nadimku je bio sarkastičan. Ja zapravo ne mislim da tvoj nick pokazuje nešto o tvom znanju, već o tvojim željama. Želje su redovito daleko od stvarnosti, pogotovo one s kojima se poistovjećujemo. Ja bih stavio nadimak "NASA_Rover_Project" jer je to vjerojatno daleka želja da jednom zaista budem zaposlenik NASA-e i radim na kul projektima, recimo novom vozilu za Mars.

 

DeusExMachina je dobro napisao i nemam puno dodati, osim da smatram kako će programer lakše napraviti greške u C++ jeziku, nego Javi ili C#-u kad je umoran, npr.. Meni se u trenucima umora i nedostatka koncentracije znalo događati da buljim u JavaScript kod pet minuta tražeći grešku, dok nisam skužio da sam koristio == umjesto === i shebao konverziju tipova. Zato je jedan loosely typed jezik poput JavaScript mrtvi užas za svakoga tko drži do svog vremena i spavanja. Činjenica da se JavaScript s tipovima ponaša različito kod == i === je grozna i za svaku osudu. Da, omogućava razne hackove vratolomije, ali to ne smatram pozitivnim. C++ omogućava stvari koje mu daju moć, ali su i potencijalni problem.

 

Vecina performance problema u C++ nastaje zbog toga jer covjek NIJE mashina, i jednostavno je NEMOGUCE sagledati kompletnu aplikaciju tako precizno da vidis kakve sve posljedice ima jedan poziv. Vecinu C++ performansi ubiju mikroalokacije... covjek alocira objekt na stacku "jer je to brze". C#/Java programeri koriste pool-ove objekata (apache commons, npr?) i 'reset' metode kad im treba hrpetina malih objekata koje bi bilo skupo alocirati.

Pool ce pobit alociranje na stacku kada god hoces.

 

Mislim da Deusova rečenica sasvim jasno zaključuje što mislim o opasnosti C++ jezika u odnosu na Java jezik.

Poruka je uređivana zadnji put sri 8.6.2011 18:09 (Tonči).
15 godina
odjavljen
offline
Google dokazao: C++ je najbrži

Evo jedan video koji cppskepticima (poput mene) može vratiti malo nade u cpp. Radi se o svježem TechEd videu koji govori o C++0x poboljšanjima i podršci unutar Microsoftovog alata (VS).

Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: Google dokazao: C++ je najbrži
Deus ex machina kaže...

Svasta...

Gledaj, nigdje nitko nikada nije tvrdio da poznavanje C++ ili nekog drugog jezika automatski isključuje loše ideje, lošu implementaciju i ostalo. Nema imuniteta za to.

Uostalom, koja bi korist bila od tebe da je prije tebe netko sve odradio po PS-u? Btw, pisati kod po knjigama nije moguće, ako ga pišeš za novac, jer postoje rokovi, postoje ljudi koji mijenjaju stvari imaju svoje zahtjeve, jer plaćaju to sve. Neku sredinu moraš pronaći, ili je produktivnost na nuli, samo zato jer želiš imati "uber code" sa kojim si faca u stubištu. Ako pišeš za svoj vlasiti gušt, onda je druga priča, ali to ne plaća račune.

 

Također ako imaš osjetnih problema sa performansama i krivnju svališ na stack vs heap, onda mislim da imaš grdih problema u arhitekturi, a stack vs. heap priča zvuči bolje.

 

Performance probleme većina firmi rješava nabavkom bržeg hardwarea. Ljudi to otvoreno priznaju uz opasku da je to brže rješenje, jeftinije i eliminira pojavu novih bugova, novo testiranje itd... Što u konačnici zaista ima smisla. Brži procesori se samo štancaju. Nindža developera koji će ti optimizirati problematični dio koda nije lako naći, skup je, treba mu neko vrijeme za razvoj, debagiranje i na kraju ti treba vrijeme za test. Zbroji bruto plaću tog developera, pa zatim ljudi koji će to testirati i pogledaj kakav stroj kupiš za te novce u roku 24 sata. To nije rješenje iz perspektive inžinjera razvoja, ali iz perspektive onoga tko vodi biznis, je.

Isto kao što probleme sa potrošnjom memorije rješavaju kupnjom dodatne memorije. I to prakticiraju dok nisu prisiljeni napraviti redizajn, jer sve ima svoje granice.

13 godina
neaktivan
offline
Re: Google dokazao: C++ je najbrži
Tonči kaže...

Eto, naučio si novu riječ "frapantno"! Bravo nibble!

 

Svakako, komentar o nadimku je bio sarkastičan. Ja zapravo ne mislim da tvoj nick pokazuje nešto o tvom znanju, već o tvojim željama. Želje su redovito daleko od stvarnosti, pogotovo one s kojima se poistovjećujemo. Ja bih stavio nadimak "NASA_Rover_Project" jer je to vjerojatno daleka želja da jednom zaista budem zaposlenik NASA-e i radim na kul projektima, recimo novom vozilu za Mars.

 

DeusExMachina je dobro napisao i nemam puno dodati, osim da smatram kako će programer lakše napraviti greške u C++ jeziku, nego Javi ili C#-u kad je umoran, npr.. Meni se u trenucima umora i nedostatka koncentracije znalo događati da buljim u JavaScript kod pet minuta tražeći grešku, dok nisam skužio da sam koristio == umjesto === i shebao konverziju tipova. Zato je jedan loosely typed jezik poput JavaScript mrtvi užas za svakoga tko drži do svog vremena i spavanja. Činjenica da se JavaScript s tipovima ponaša različito kod == i === je grozna i za svaku osudu. Da, omogućava razne hackove vratolomije, ali to ne smatram pozitivnim. C++ omogućava stvari koje mu daju moć, ali su i potencijalni problem.

 

Vecina performance problema u C++ nastaje zbog toga jer covjek NIJE mashina, i jednostavno je NEMOGUCE sagledati kompletnu aplikaciju tako precizno da vidis kakve sve posljedice ima jedan poziv. Vecinu C++ performansi ubiju mikroalokacije... covjek alocira objekt na stacku "jer je to brze". C#/Java programeri koriste pool-ove objekata (apache commons, npr?) i 'reset' metode kad im treba hrpetina malih objekata koje bi bilo skupo alocirati.

Pool ce pobit alociranje na stacku kada god hoces.

 

Mislim da Deusova rečenica sasvim jasno zaključuje što mislim o opasnosti C++ jezika u odnosu na Java jezik.

Vidim da je tebi riječ "frapantno" jako draga. Valjda se se nedugo sreo sa njom. Možda nabaciš i koji komentar na latinskom još...

Ne vidim vezu između nicka i bilo čega, a najmanje želja, znanja i sličnog. Valjda ti imaš kristalnu kuglu pa bolje znaš...

Nekak mi se čini da će ti NASA ostati samo san.

 

Zato postoje različiti jezici. Imaš jezike koji su na puno višem nivou, pa su takve greške nemoguće. No, takav jezik više nije za istu namjenu. Da ne bi sa Clarionom rješavao probleme za koje je bolji izbor C++.

To sa hakerajem, mogućim problemima i ostalim su gluposti. C++ nije ni bolji ni lošiji od bilo kojeg drugog jezika. Takav je, kakav je i pruža to, što pruža. Isto vrijedi i za sve ostale. Ne razumijem ni tvoju veliku brigu za ljudima koji koriste C++. Ako pišeš software, onda radiš i bugove. Jednom sam radio sa idiotom koji je tvrdio da se software piše tako da sjedneš i pišeš. I jednom kad si gotov iskompajliraš/linkaš i to je to. Taj je tvrdio da se debugger NE SMIJE koristiti.

 

Možeš poginuti na motociklu, pa to ne znači da motocikl ne valja i da bi svi na svijetu morali voziti tenk, jer je to sigurnije.

15 godina
odjavljen
offline
Re: Google dokazao: C++ je najbrži

Nije za istu namjenu, viši nivo, nemoguće greške... Vidiš, praktički si u svoja dva posta (osim omalovažavanja Deusa) dokazao ono što ja govorim. Mikrooptimizacije, preuranjena ejak.. optimizacija s kojima živiš jasno su preskupe stvari za razvoj u stvarnim projektima. Razlika brzine evidentno postoji, ali pisanje u višim jezicima nudi mnoge prednosti koje u izvedbi stvarnih projekata imaju svrhu.

 

P.S. Nemoj ići a priori s tim da je idiot. Možda je samo puno bolji programer od tebe pa nikad nema bugova! Možda koristi TDD! {#} (eto, malo latinskog samo za tebe)

Poruka je uređivana zadnji put čet 9.6.2011 12:14 (Tonči).
16 godina
neaktivan
offline
Google dokazao: C++ je najbrži

Za C# se ne bih nikada vezao zbog njegove "neportabilnosti"...pogotovo zato sto Linux raste brzinom svjetlosti, a MS stagnira vec duze vrijeme....na kraju ce se placati migracije.

C++ je sintaksno vrlo gadan jezik, no sa pravim programerima problema nema.

There's no place like 127.0.0.1 DMR: C is portable Assembly language
 
0 7 hvala 0
15 godina
offline
Re: Google dokazao: C++ je najbrži
DRM kaže...

Za C# se ne bih nikada vezao zbog njegove "neportabilnosti"...pogotovo zato sto Linux raste brzinom svjetlosti, a MS stagnira vec duze vrijeme....na kraju ce se placati migracije.

C++ je sintaksno vrlo gadan jezik, no sa pravim programerima problema nema.

Mono anyone?

MSFT Stagnira? :)

Bojim se da nemas pojma o cemen pricas.

Mentalist je moj idol... I torrente isto
14 godina
neaktivan
offline
Re: Google dokazao: C++ je najbrži
DRM kaže...

Za C# se ne bih nikada vezao zbog njegove "neportabilnosti"...pogotovo zato sto Linux raste brzinom svjetlosti, a MS stagnira vec duze vrijeme....na kraju ce se placati migracije.

C++ je sintaksno vrlo gadan jezik, no sa pravim programerima problema nema.

 znam da nema veze s temom al linux već 20godina raste brzinom svjetlost..........

 

 

OT - u današnjem svijetu mislim da buđet i vrijeme određuju odabir jezika a ne sama "kvaliteta" istog

kod mene normalno radi.....
13 godina
protjeran
offline
Re: Google dokazao: C++ je najbrži
cekpi kaže...

 znam da nema veze s temom al linux već 20godina raste brzinom svjetlost..........

 

 

OT - u današnjem svijetu mislim da buđet i vrijeme određuju odabir jezika a ne sama "kvaliteta" istog

Za free open source projekt na kojem rade ljudi u slobodno vrijeme ili kao dio neke kompanije (redhat etc) i raste brzinom svjetlost. Imaj to na umu.

 

 

Ovo drugo je možda istina, pa zbog te činjenice imamo i hrpu katastrofalno lošeg i nesigurnog software-a na tržištu  u kombinaciji sa lošim odabirom i traljavim programerima.

Better safe than Sony
14 godina
neaktivan
offline
Re: Google dokazao: C++ je najbrži
Bypass kaže...
cekpi kaže...

 znam da nema veze s temom al linux već 20godina raste brzinom svjetlost..........

 

 

OT - u današnjem svijetu mislim da buđet i vrijeme određuju odabir jezika a ne sama "kvaliteta" istog

Za free open source projekt na kojem rade ljudi u slobodno vrijeme ili kao dio neke kompanije (redhat etc) i raste brzinom svjetlost. Imaj to na umu.

 

 

Ovo drugo je možda istina, pa zbog te činjenice imamo i hrpu katastrofalno lošeg i nesigurnog software-a na tržištu  u kombinaciji sa lošim odabirom i traljavim programerima.

 1- nije tema rasprave

 

2 - i onda se stvari rješavaju kako je netko reko kupovinom novog hw i svaljivanjem krivnje na proizvođače OS-a

kod mene normalno radi.....
15 godina
neaktivan
offline
Re: Google dokazao: C++ je najbrži
Bypass kaže...
Ovo drugo je možda istina, pa zbog te činjenice imamo i hrpu katastrofalno lošeg i nesigurnog software-a na tržištu  u kombinaciji sa lošim odabirom i traljavim programerima.

 

A ti si odreda

- software arhitekt

- strucnjak za IT security

- human-resources VP

 

i u svemu tome imas 20 godina radnog iskustva tako da to mozes ocjeniti?

 

Ajde odi laprdaj s time nekome tko o poslu pojma nema.

 

Bitno da "forum programeri" sve znaju o razvoju softwarea, a varijable nazivaju 'a', 'b', 'i', 'x'.....

Kako to da nitko od vas, super pametnih programera koji samo znate blatiti tudji software, nikad nema nista za pokazati ili se podiciti nekim komadom softwarea koji je apsolutno siguran ili savrseno arhitekturiran? Kako to da niste svi zaposleni u googleu, kad ste miljama ispred ostalih u svojem znanju?

 

 

@cekpi

OS je kus softwarea koji TAKODJER moze imati bugove. Tup programer je onaj koji uz analize ne moze skuziti di je problem, a problem (iako cesto je), nekad _nije_ u napisanom kodu.

Evo ti jedan primjer iz radnog iskustva: https://mollyrocket.com/forums/viewtopic.php?p=3035

Ako nije dobro jer su windowsi, evo sta covjek mora raditi s linux kernelom da bi MMO connection server radio punom parom: http://urbanairship.com/blog/2010/09/29/linux-kernel-tuning-for-c500k/ (zamisli, cak je u pitanju JAVA - dakle bottleneck _NIJE_ programski jezik nego OS)

 

 

 

@nibble

ovo sto si rekao je mahom istina, no ne mogu dati TU jer generaliziras.

Sto ako pises distribuiranu aplikaciju? Onda pod prioritet ide zahtjev da se moze vrtiti na commodity mashinama, a kao drugi prioritet cross-platform ability. Pametan programer moze napisati odlicnu distribuiranu aplikaciju i u interpretiranom jeziku (npr. python), ako je pametan. No cinjenica je da to NE BI TREBAO RADITI, ne zato jer je to PYTHON, nego zato jer je skoro pa NEMOGUCE pronaci Python programere da sistem takve kompleksnosti odrzavaju i unaprijedjuju!

Pa je sasvim logicno da ce se ici na C# ili na Javu!

C++? Isti razlog. Cak i kad bi imao oko sebe team bivsih kolega za koje znam sta i kako mogu, i kad bi znao da cu s njima raditi do kraja zivota na nekom fiktivnom projektu, cak ni tada ne bi bio siguran da bi se isao upustati u pisanje portabilnog softwarea u C++u.

 

A da, i primjera u vezi mikroalokacija koje sam spomenuo (stack vs. heap) nije nikakav ogroman arhitektonski problem, vec sintakticki secer. U Javi, prilikom koristenja for-each keyworda, iza zavjesa compiler compilira poziv u iteraciju uz pomoc iteratora - sto znaci da se iterator mora alocirati.

U C++u, napucaj u bilo koju STL kolekciju objekt (dakle ne pointer na objekt), i napravio si kopiju iza zavjesa.

I tell you a lie and you make it a statement - sleeping in denial... you're all wasting time of your lives...
Poruka je uređivana zadnji put pet 10.6.2011 16:59 (Deus ex machina).
14 godina
neaktivan
offline
Google dokazao: C++ je najbrži

@deus

 

ne pričam o ent aplikacijama nego o primjeru kućnog korisnika koji bu za svaki shiny prozor bude stisnul install a znamo kako to na kraju završava

kod mene normalno radi.....
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Google dokazao: C++ je najbrži
Tonči kaže...
nibble kaže...

S...

Pričaš notorne gluposti, a pritom si bezobrazan i zračiš egom. Frapantno, ali valjda je to stvar odgoja. Takav pristup imaju često ili nesigurni ljudi ili oni koji su zapeli na nekoj tehnologiji pa je i po cijenu pisanja gluposti grčevito brane. Dobar ti je nick, pokazuje da si cool i turbo napredan programer.

 

Nego, postoje znatne razlike u razvoju različitim jezicima, od kojih svaki ima neke svoje prednosti i mane. Neki jezici su za neke stvari znatno bolji, neki znatno lošiji. Pisati LOB aplikaciju u Schemeu je znatno teže, nego u Javi, kao što je pisanje iste u Javi znatno lakše nego u C++-u. 

 

C# developeri su odradili svoj dio posla, međutim ta stara kanta nije mogla to odraditi u realnom vremenu. Prepjevana je stvar u C++ za isto vrijeme kao i prva C# verzija. I, radi kako je i očekivano. Čak je korišten i MFC za kojeg neki tvrde da se više ne koristi.

 

Zgodna anegdota. Ja sam nedavno radio na kalkulatoru financijskih podataka i za 20% konkurentske cijene u 48 sati završio aplikaciju koristeći C#. Čak sam imao preciznije rezultate, a prethodna aplikacija (pisana u C-u) je imala grešku već kod par stotina kalkulacija unutar formule. Istina, zbog decimal tipa, moj se algoritam vrstio 2000% sporije, ali se svaki izračun završavao unutar 1 sekunde. Korisnik je na kraju bio jako zadovoljan i cijenom i rezultatima i vremenom razvoja. Čudni su ti korisnici, zar ne? Više vole produktivnost od cool faktora programera.

 

Nego, vratimo se s glupih anegdota na raspravu. Nažalost, sudeći po rezultatima iz tvog okruženja, i ne radi se o nekoj posebno dobroj grupi programera kad su uspjeli dovesti C# dovesti do neupotrebljivosti. Treba biti poseban antitalent za napraviti takvu razliku, iako zapravo ne znam što je to "real time" pa je i lamentiranje o tvojoj uspješnosti s C++ jezikom sumnjivo. Možda kad jednom saznaš kako rade programski jezici, pokažeš taj uspjeh na nekom primjeru, naravno iz stvarnog života, ne iz tehnološke demonstracije translacije matrice s trideset milijardi elemenata.

 

Kao što je više puta rečeno, C++ jest brži, ali sporiji u razvoju. To ima svoju svrhu, mjesto i vrijeme, a to je dokazao i Google. Meni je Google više cool od nibblea (ma kako nibble bio kul u forumskim postovima).

 

Nije zgodna anegdota nego smijurija. Ono ako je klijentu trebala preciznost trebo je reci i vidi cuda to se da i u cpp napraviti. Mislim to je kao da kazes oni su koristili char a ja int i klijent je sretan jer moze izbrojati vise od 255.  Inace se slazem sa tobom da je C# za vecinu stvari bolji jer je dosta lakse izbjeci bugove, ali npr za neke stvari cpp je nezamjenjiv. Pitajte google i MS i FB. :)

15 godina
neaktivan
offline
Re: Google dokazao: C++ je najbrži
Zoidberg kaže...
Nije zgodna anegdota nego smijurija. Ono ako je klijentu trebala preciznost trebo je reci i vidi cuda to se da i u cpp napraviti. Mislim to je kao da kazes oni su koristili char a ja int i klijent je sretan jer moze izbrojati vise od 255.  Inace se slazem sa tobom da je C# za vecinu stvari bolji jer je dosta lakse izbjeci bugove, ali npr za neke stvari cpp je nezamjenjiv. Pitajte google i MS i FB. :)

Ili pretty much bilo kojeg game developera.

However, 90% IT kompanija na svijetu nema resurse MS-a, FB-a i Googlea, apropos financija i apropos ljudstva.

I tell you a lie and you make it a statement - sleeping in denial... you're all wasting time of your lives...
15 godina
odjavljen
offline
Re: Google dokazao: C++ je najbrži
Zoidberg kaže...

Kao što je više puta rečeno, C++ jest brži, ali sporiji u razvoju. To ima svoju svrhu, mjesto i vrijeme, a to je dokazao i Google.

 

... za neke stvari cpp je nezamjenjiv. Pitajte google i MS i FB. :)

Pročitaj podebljano.

16 godina
neaktivan
offline
Re: Google dokazao: C++ je najbrži

govorio sam opcenito, pretpostavljao sam da si govorio o ovom clanku. Inace koga zanima epic primjena cppa

http://en.wikipedia.org/wiki/HipHop_for_PHP

13 godina
neaktivan
offline
Re: Google dokazao: C++ je najbrži
Deus ex machina kaže...

ovo sto si rekao je mahom istina, no ne mogu dati TU jer generaliziras.

Sto ako pises distribuiranu aplikaciju? Onda pod prioritet ide zahtjev da se moze vrtiti na commodity mashinama, a kao drugi prioritet cross-platform ability. Pametan programer moze napisati odlicnu distribuiranu aplikaciju i u interpretiranom jeziku (npr. python), ako je pametan. No cinjenica je da to NE BI TREBAO RADITI, ne zato jer je to PYTHON, nego zato jer je skoro pa NEMOGUCE pronaci Python programere da sistem takve kompleksnosti odrzavaju i unaprijedjuju!

Pa je sasvim logicno da ce se ici na C# ili na Javu!

C++? Isti razlog. Cak i kad bi imao oko sebe team bivsih kolega za koje znam sta i kako mogu, i kad bi znao da cu s njima raditi do kraja zivota na nekom fiktivnom projektu, cak ni tada ne bi bio siguran da bi se isao upustati u pisanje portabilnog softwarea u C++u.

 

A da, i primjera u vezi mikroalokacija koje sam spomenuo (stack vs. heap) nije nikakav ogroman arhitektonski problem, vec sintakticki secer. U Javi, prilikom koristenja for-each keyworda, iza zavjesa compiler compilira poziv u iteraciju uz pomoc iteratora - sto znaci da se iterator mora alocirati.

U C++u, napucaj u bilo koju STL kolekciju objekt (dakle ne pointer na objekt), i napravio si kopiju iza zavjesa.

 Slažem se. Zato sam i napisao da svaki jezik ima svoju svrhu. Pisanje portabilnog koda u C++ je užas. Na kraju imaš više preprocesorskih direktiva nego koda. Nekad možeš pobjeći od toga, a nekad ne.

Pointeri da, ali trpati objekte u STL kontejnere i nije baš najsretnija ideja, osim ako ih imaš malo i da nisu veliki. No, "s*anje efekt" možeš napraviti u svakom jeziku. Što manje znaš, to imaš više talenta za to.

14 godina
neaktivan
offline
Google dokazao: C++ je najbrži
ne kuzim u cemu je rasprava? Pa normalno da je brze i jeftinije koristiti neki framework a ne pisati sve od nule sa C++.

Isto tako je normalno da onda C++ kod moze biti puno brzi i optimiziraniji od nekog C# besplatnog ili jeftinog frameworka koji ima 10000 funkcija od kojih ti koristis 5.

pitanje je ekonomske isplativosti prvo i osnovno. danas se trazi samo sto jeftinije, tako da rijetko tko ima luksuz za obicne aplikacije raditi na C++u. Ali ako treba performance, onda se zna da se koristi C++.
 
0 1 hvala 0
Nova poruka
E-mail:
Lozinka:
 
vrh stranice