[ afrodom @ 23.05.2009. 11:26 ] @
Cao, moze li neko da mi priblizi oblasti i prakticne primere primene c++?
na primer, ja sam java programer i java moze biti primenjena ko middletier u informacionim sistemima, zatim za izradu web applikacija, web servisa, itd...
Gde se moze primeniti c++?
Hvala unapred

[Ovu poruku je menjao afrodom dana 23.05.2009. u 12:53 GMT+1]
[ VladimirCDT @ 28.08.2009. 15:28 ] @
Hmmm... cudno da ti niko nije odgovorio na pitanje vec tri meseca.

Tacan odgovor je: sve !

Druga stvar je sto se primena pojedinih tehnologija i jezika za odredjene probleme smatra daleko jeftinijim resenjem. Doduse, ovo poslednje moze da se razvije u pricu koja bi otisla u drugu vrstu rasprave, tipa C++ vs. Java ili C++ vs. C# ili u pricu sta zaista utice na cenu i vreme razvoja ili o mogucnostima pojedinih tehnoogija itd...

Iz tih razloga, C++ se najvise koristi koristi tamo gde postoje krupni zahtevi u smislu angazovanja sistemskih resursa, kod slozenijih real time aplikacija gde postoje zahtevi za brzinom. Ovde mozemo da ukljucimo u pricu i C jezik pa da navedemo i razvoj OS i na kraju embeded sisteme.
[ bkaradzic @ 29.08.2009. 05:00 ] @
Jedan primer: u poslednjih 10-tak godina sve AAA igre su pisane u C++ (pre toga je C vladao).
[ Eurora3D Team @ 29.08.2009. 22:44 ] @
Moze da se primeni za pisanje java VM :) ...
[ bkaradzic @ 31.08.2009. 06:41 ] @
C# kompajler je pisan u C++ (gugluj: "my compiler compiles your compiler" :)
[ mmix @ 31.08.2009. 09:25 ] @
Zavisi koji c# kompajler. MS (csc) jeste, Mono c# kompajleri (?msc) su radjeni u c#-u (kompajliraju sami sebe )
[ Eurora3D Team @ 31.08.2009. 23:48 ] @
Da bi kompajler mogao da kompajlira sebe (svoj kod) prvo je morao da se iskompajlira :) a to je verovatno uradjeno MSovim c# kompajlerom ... sto nas opet vraca na C++
[ mmix @ 01.09.2009. 08:53 ] @
Istina, ali neko je nekad negde morao da napravi prvi C++ kompajler u C-u ;), a neko je nekad morao da napravi prvi C kompajler u asembleru, a neko je morao da napravi asembler u, pa valjda busenjem busenih kartica ;), mislim da bi ovako stigli do katodne cevi. Zato se i zove evolucija.



[ Nedeljko @ 19.09.2009. 20:55 ] @
Pod primenama nekog jezika se valjda smatraju podru;ja u kojima je on u prednosti nad konkurencijom.

Dakle, tu su pre svega najzahtevnije stvari, to jest područja gde su performanse kritične - operativni sistemi, drajveri, vidoje igre, plejeri, kodeci, DB endžini, prevodioci, obimna izračunavanja, razne oblasti veštačke inteligencije...

Dakle, u područjima gde ne znaš gde će se tvoj program koristiti i koliko će šta biti kritično (dakle, kod najopštijih stvari, kao što su DB endžini, razni MATLAB-ovi...) ili pak kada znaš da će performanse biti kritične (vidoje igre, logičke igre), caruje C++.
[ Eurora3D Team @ 20.09.2009. 01:45 ] @
U principu moze da se kaze da moze da se primeni sa sve izvrsive fajlove (na win-u su dll, exe, ocx itd.).
I mislim da c++ programeru nije nista teze da napravi neki program u c++ nego java programeru taj isti program u javi.
Tu je vise stvar u razvojnom okruzenju (java ima par odlicnih IDE-a) i gui biblioteci.
A i c++ kompajleri postoje na svim znacajnijim platformama tako da i ako promenis os mozes da nastavis sa c++ om
Situacija nije bas tako cista kao u javi gde je kod kompatibilan od os-a do os-a ali ako odaberes neku multiplatformsku gui biblioteki (i IDE) onda je muliplaformsko programiranje relativno jednostavno.
[ Nedeljko @ 20.09.2009. 16:50 ] @
Citat:
Eurora3D Team: I mislim da c++ programeru nije nista teze da napravi neki program u c++ nego java programeru taj isti program u javi.


Kad bi se zezali. Zato je Java u tolikoj upotrebi kolkoj jeste, a C++ u tolikoju kolikoj jeste. C++ se koristi samo kao nužno zlo - tamo gde nema alternativu.
[ Eurora3D Team @ 21.09.2009. 10:55 ] @
Sta hocu da kazem . Nije stvar u jeziku ... iako jeste malo komplikovaniji.
Ja licno skoro sve pisem u c++.
Kad bi c++ imao nesto muliplatformsko u nivou netbeans-a i swing-a(framework) za javu (aplikacije u dva klika i gotove clase i biblioteke za sve zivo, itd.) mislim da bi upotreba jave i neta za desktop razvoj bila bespotrebna ... da ne kazem nesto ozbiljnije :)
Nazalost, izgleda da su se c++ programeri pokazali kao vredniji od ostalih pa ovi koji prave IDE-a nisu hteli da im mnogo olaksavaju posao u tom smislu ... valjda da se ne olenje.
A sto se tice popularnost to se slazem sa tobom. Ali je to i strazmerno placeno -> obrnuto proporcionalno.
Danas mozes da radis kao net programer sa par meseci iskustva.
Mozda bi i c++ bio popularniji da se lakse uci :)




[Ovu poruku je menjao Eurora3D Team dana 22.09.2009. u 16:37 GMT+1]
[ Nedeljko @ 21.09.2009. 13:50 ] @
Ma, C++ ima visestruko nasledjivanje i eksplicitne pokazivace i druge stvari koje otezavaju rad, a nema GC. Neverovatno je da jedan savremen jezik nema tip podataka za novcane iznose zasnovan na fiksnom zarezu i dekadnom sistemu i BigInt klasu. Ima lepih frejmworka, ali te oni ne oslobadjaju problema koje C++ vuce sa sobom.

Da, uglavnom radim u jeziku C++, jer nemam izbora.
[ VladimirCDT @ 24.09.2009. 15:11 ] @
Eh...
Dakle, prevashodno sam radio u C++, trenutno sam na privremenom radu u Javi i za koji dan, zdravlje od Boga, vracam se u C++. Mislim stoga da sam dovoljno kompetentan da dajem sud o tome sta je bolje, lakse, koji jezik daje vise mogucnosti.

Jedina stvar koja bi sa moje strane bila subjektivna, to je moje cudjenje da ma ko ko ima iskustva u profesionalnom radu u C++ pozeli da pobegne u Javu.

Elem, sve ono sto se navodno smatra zamkama i problemima koje nosi C++, a kojih nas Java navodno oslobadja, nije bas u potpunosti istina. Kada se dotaknemo pointera, Null pointer exception ce vas pogoditi u glavu u Javi isto kao i u C++. Ako se pak govori o problemima alociranja i dealociranja memorije, Garbage Collector je kod Jave takav da po specifikaciji ne postoje garancije da ce dereferenciran objekat ikada biti zaista obrisan. Curenje memorije je tako ocigledno kod Java aplikacija da je to odvratno. Na zalost, Java programeri su potpuno oduceni od toga da razmisljaju o takvim problemima.

Generalno, C++ kao jezik ima citav niz mehanizama koji daju mogucnost pisanja veoma elegantnih, efektnih i efikasnih resenja, koja su u Javi nemoguca.

Moje misljenje je da je prica o lakoci razvoja i programiranja u Javi jedan mit, nekada davno plasiran, koji nema pojma sa zivotom. Eventualna prednost bi lezala u GUI dizajnu i tu je tacka.
[ Eurora3D Team @ 24.09.2009. 17:02 ] @
Citat:
VladimirCDT: Garbage Collector je kod Jave takav da po specifikaciji ne postoje garancije da ce dereferenciran objekat ikada biti zaista obrisan. Curenje memorije je tako ocigledno kod Java aplikacija da je to odvratno. Na zalost, Java programeri su potpuno oduceni od toga da razmisljaju o takvim problemima.

Ne oduceni nego bi rekao da nikad nisu ni bili nauceni ... mada realno njima te stvari i ne trebaju kao nama.


[Ovu poruku je menjao Eurora3D Team dana 25.09.2009. u 19:42 GMT+1]
[ Dejan Mitrovic @ 26.09.2009. 10:46 ] @
Citat:
VladimirCDT: Eventualna prednost bi lezala u GUI dizajnu i tu je tacka.


GUI pisan u Javi (ako si na to mislio) se po ruznoci moze is aviona poznati. Pravili su GUI koji ce raditi na "svim" platformama i dobili su GUI koji je ruzan na "svim" platformama. Pored toga je i spor. Poslednje za sta bih koristio Javu je za GUI development. Java je dobra za server-side programiranje i nema sta da trazi na desktopu.
[ MarkoBalkan @ 26.09.2009. 16:11 ] @
Citat:
Eurora3D Team: Sta hocu da kazem . Nije stvar u jeziku ... iako jeste malo komplikovaniji.
Ja licno skoro sve pisem u c++.
Kad bi c++ imao nesto muliplatformsko u nivou netbeans-a i swing-a(framework) za javu (aplikacije u dva klika i gotove clase i biblioteke za sve zivo, itd.) mislim da bi upotreba jave i neta za desktop razvoj bila bespotrebna ... da ne kazem nesto ozbiljnije :)
Nazalost, izgleda da su se c++ programeri pokazali kao vredniji od ostalih pa ovi koji prave IDE-a nisu hteli da im mnogo olaksavaju posao u tom smislu ... valjda da se ne olenje.
A sto se tice popularnost to se slazem sa tobom. Ali je to i strazmerno placeno -> obrnuto proporcionalno.
Danas mozes da radis kao net programer sa par meseci iskustva.
Mozda bi i c++ bio popularniji da se lakse uci :)




[Ovu poruku je menjao Eurora3D Team dana 22.09.2009. u 16:37 GMT+1]



postoje C++/QT biblioteke(za GUI), sad su izdali i QT creator, nije kao Visual studio ili eclipse ali može poslužiti.
uz QT biblioteke možeš koristiti osnovne c++ biblioteke + bilo koju drugu biblioteku.
dolazi sa oko 200 primjera.

također imaš plugins za eclipse.

ide na svaki OS.

što se tiče dodatnih biblioteka imaš ih koliko hočeš.

tu je još i wx za izradu gui-a.


[ Eurora3D Team @ 27.09.2009. 20:01 ] @
@MarkoBalkan
Znam, hvala. Bas sam se u zadnje vreme privatno zaiteresovao za multiplatformsko (GUI) programiranje ...
Imam na jednom PC-u instalirane Windows XP i Linux Debian i na oba QtCreator (1.2.1) i Qt biblioteke (4.5.2) ... (za one koje ne znaju oba su trenutno zadnje verzije) I mogu da kazem sledece iz licnog (za sad skromnog) iskustva.
Prvo sve sto sam proveravao radi identicno na oba OSa. Drugo, instalacija SDK je prilicno jednostavna , besplatna i bez greske.
QtCreator ima ono sto bi na win rekli automatsko kreiranje event funkcija (desno na gui element pa goto slot ... itd)
Sam Qt je dobra biblioteka, koliko vidim malo su tanki sa input uredjajima (snimanje tona , videa) mada jos nisam sve procitao pa mozda i gresim.
Jedino ... sam po sebi Qt je framework tako da sa programom moras da isporucis i Qt biblioteke koje si koristio (podeljene su po oblastima koje pokrivaju, core, gui, net, xml itd.) a meni se framework kao pojam nikad nije svidjao. Uvek sam voleo sto direktiji pristup, ali u ovom slucaju to nebi bilo moguce.
Inace, par opstih stvari o multiplatformskom c++ programiranju.
Prvo linux desktop je baziran na 2 vodeca desktop okruzenja i korisnici biraju koje ce da koriste. Otprilike je pola pola. Prvo je GNOME (bazirano na Gtk) a drugo je KDE koje sam ja instalirao i ono je bazirano na Qt-u. To je vazan podatak. Znaci kad programirate Qt na Linuxu vi radite za KDE okruzenje.
Na Winowsu je jedan graficku podsistem i jedino sto treba da imate da bi Qt program radio jesu Qt dll-ovi koje program koristi.
Inace pored QtCreatora (by Nokia) poznato je i KDevelop multiplatformsko IDE
Nevezano za temu ali mozda nekom bude interesantno, zadnje verzije KDE desktopa na linuxu (http://www.kde.org/screenshots/) su vizuelno i funkcionalno fenomenalne i razocaravajuci je osecaj kad posle toga butujete windows (moje misljenje). Licno, da me posao ne vezuje za windows, mislim da ga vise nikad nebi ukljucio ili vrlo retko ...

...
Da, zamalo da zaboravim najvaznije , ja sam napisao u nivou netbeansa i swinga ... sigurno znas sta sve moze netbeans
Mada , ide polako ka tome


[Ovu poruku je menjao Eurora3D Team dana 27.09.2009. u 23:09 GMT+1]
[ VladimirCDT @ 28.09.2009. 12:03 ] @
Citat:
Eurora3D Team: Ne oduceni nego bi rekao da nikad nisu ni bili nauceni ... mada realno njima te stvari i ne trebaju kao nama.


[Ovu poruku je menjao Eurora3D Team dana 25.09.2009. u 19:42 GMT+1]

Pa sada ne znam kako idu kursevi Jave, sta se uci pre, sta kasnije; gde i kako se obucavaju ljudi. Mislio sam da prvo uce makar C, pa onda uce Javu ili...

Citat:
Dejan Mitrovic: GUI pisan u Javi (ako si na to mislio) se po ruznoci moze is aviona poznati. Pravili su GUI koji ce raditi na "svim" platformama i dobili su GUI koji je ruzan na "svim" platformama. Pored toga je i spor. Poslednje za sta bih koristio Javu je za GUI development. Java je dobra za server-side programiranje i nema sta da trazi na desktopu.

Mislio sam na cinjenicu da imaju zgodne frameworke, alate i tome slicno, a u kontekstu brzine i lakoce razvoja.