C/C++ alebo Java
C/C++ alebo Java
Chcel by som sa začať venovať aktívne niektorému z nasledujúcich programovacích jazykov: C, C++ alebo Java.
Viete mi poradiť s ktorým by som mal začať a prečo? Som relatívne pokročilý programátor v PHP, takže by som rád pokračoval v objektovo-orientovanom programovaní, ktoré je ževraj až v C++. Netreba však začať najprv s C a potom prejsť na C++? Aké sú výhody Java voči C++ (poprípade naopak)?
Viete mi poradiť s ktorým by som mal začať a prečo? Som relatívne pokročilý programátor v PHP, takže by som rád pokračoval v objektovo-orientovanom programovaní, ktoré je ževraj až v C++. Netreba však začať najprv s C a potom prejsť na C++? Aké sú výhody Java voči C++ (poprípade naopak)?
-
javatar
Hardcore addict
- Príspevky: 6112
- Registrovaný: 12 aug 2010, 14:49
- Bydlisko: I don't exist at all.
Re: C/C++ alebo Java
C++

vykon
moznost viacnasobneho dedenia

syntax - lahsie urobis chybu a tazsie ju hladas
JAVA

silna typovost
platformova nezavislost

hlavne vykon
vykon
moznost viacnasobneho dedenia
syntax - lahsie urobis chybu a tazsie ju hladas
JAVA
silna typovost
platformova nezavislost
hlavne vykon
Re: C/C++ alebo Java
vyhody Java?
- multiplatformnost
- nie je tam krkolomna smernikova aritmetika
- vela uzitocnych balikov
- subjektivne... dobre sa v tom programuje
vyhody C++
- rychlost
Imho ked chces ist do C++, tak chod rovno do neho (kedze vies php)...
- multiplatformnost
- nie je tam krkolomna smernikova aritmetika
- vela uzitocnych balikov
- subjektivne... dobre sa v tom programuje
vyhody C++
- rychlost
Imho ked chces ist do C++, tak chod rovno do neho (kedze vies php)...
-
harrison314
Hardcore addict
- Príspevky: 8224
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: C/C++ alebo Java
Co tak C# ? Ja som z PHP presiel nan a potom na C++.
Budes usetreny od krkolomnych nazvov v Jave a jej pomalosti.
Je to OO jazyk z prvakmi funkcionalneho a este nejake ine zaujimave technologie napr. zrnko apektoveho programovania a v podtstae nicom ta neomedzuje ( Java je cisto a tvrdo OO jazyk, jedna trieda jeden subor ) a sucane sa v nom da programovat dost efektivne.
Ak si zvyknuty na Windows je to asi lespia moznost ako java.
Lahko sa uci, API je lehko zapametatelne a logicky usporiadane.
Program mas plne pod kontrolov.
Multiparadigmovost
Nenuti ta deklarovat (ani osetrovat) vynimky ktore nenstanu
Linq,PLinq
Linkovanie kniznic napisanych v C/C++
Pomalsi ako C++ ale rychlejsi ako Java.
Nieje na 100% multiplatformovy, ale cez mono ti vetcina veci ide aj na linuxoch.
Na skolach sa uci Java.
Zaryti javisti ta nebudu mat radi.
Budes usetreny od krkolomnych nazvov v Jave a jej pomalosti.
Je to OO jazyk z prvakmi funkcionalneho a este nejake ine zaujimave technologie napr. zrnko apektoveho programovania a v podtstae nicom ta neomedzuje ( Java je cisto a tvrdo OO jazyk, jedna trieda jeden subor ) a sucane sa v nom da programovat dost efektivne.
Ak si zvyknuty na Windows je to asi lespia moznost ako java.
Lahko sa uci, API je lehko zapametatelne a logicky usporiadane.
Program mas plne pod kontrolov.
Multiparadigmovost
Nenuti ta deklarovat (ani osetrovat) vynimky ktore nenstanu
Linq,PLinq
Linkovanie kniznic napisanych v C/C++
Pomalsi ako C++ ale rychlejsi ako Java.
Nieje na 100% multiplatformovy, ale cez mono ti vetcina veci ide aj na linuxoch.
Na skolach sa uci Java.
Zaryti javisti ta nebudu mat radi.
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: C/C++ alebo Java
a to je plus? viacnasobne dedenia je chyba navrhu a nie vyhoda.
-
G0lDiER_
King
- Príspevky: 1948
- Registrovaný: 16 máj 2007, 16:09
- Bydlisko: Topolcany
- Kontaktovať používateľa:
Re: C/C++ alebo Java
chcem sa spytat ci je nejaky rozdiel medzi C/C++ v moznostiach. dik.
Re: C/C++ alebo Java
O C# som čítal, že to je výmysel Microsoftu, tak by som privítal určite niečo viac všeobecné...aj keď syntax sa mi páči asi najviac.harrison314 napísal:Co tak C# ? Ja som z PHP presiel nan a potom na C++...
Prečo si nakoniec prešiel k C++?
-
harrison314
Hardcore addict
- Príspevky: 8224
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: C/C++ alebo Java
Ja som na C++ nepersiel tak ze som na C# zanevrel, ale preto cim vie clovek viac jazykov tym je natom lesie.QyncY napísal:
O C# som čítal, že to je výmysel Microsoftu, tak by som privítal určite niečo viac všeobecné...aj keď syntax sa mi páči asi najviac.
Prečo si nakoniec prešiel k C++?
V podstate niesu dobre a zle jazyky, skor kazdy je urceny na nieco ine. V C a C++ som robil skor nejake algoritmy a podobne pokusi, kde ma netrapilo ze robim s konzolou, alebo ked som potreboval naocnejsie veci na pamet a vykon, kde by Garbage Collector nestacil.
A v C# a PHP, taisto v mnohich inych sa dalej vzdelavam.
C# pouzivam na rozsiahlejsie projekty kde robim z GUI a maju byt user ferndly, napriklad pri kancelarskom SW ta netrapi ze to bezi pomalsie.
Ako myslis ze by si chcel nieco viac vsoubecne?
C# je vymsisel Microsoftu, ale je prepracovany. Java ma o dost pomalsi vyvoj ( nieco nove sa vymysli potom o tom diskutuju a o 6 rokou sa to do nej zardadi, v tom case to uz moze byt zastarale, napr Genericus ) a taisto nemusi byt naveky free. Pocul som ze ma byt Orcale rozdenea na platenu cast a zadarmo cast, ktora bude znacne okliestena.
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: C/C++ alebo Java
To, ze je c# vymysel Microsoftu je jeho vyhoda, Microsoft je skvela firma co robi skvely softwer a platformy.
A aj ked sa zaryti C-ckari ohanaju vsetkymi smermi rychlostou ( netvrdim, ze je to aj Harrisonov pripad ) tak plati fakt, ze v c# mozete pouzit klucove slovo unsafe a hrat sa s pointerami kolko len chcete. Garbage collector sa toho ani nedotkne a rychlost je velmi blizka tej, ktoru ma klasicke C++. Pre mna je c# a .net to naj co teraz je
A aj ked sa zaryti C-ckari ohanaju vsetkymi smermi rychlostou ( netvrdim, ze je to aj Harrisonov pripad ) tak plati fakt, ze v c# mozete pouzit klucove slovo unsafe a hrat sa s pointerami kolko len chcete. Garbage collector sa toho ani nedotkne a rychlost je velmi blizka tej, ktoru ma klasicke C++. Pre mna je c# a .net to naj co teraz je
Re: C/C++ alebo Java
Myslel som, že vzhľadom nato, že to je od MS, tak to nebude napr. vhodné na programovanie aplikácií pre Linux a iné OS. Každopádne ako aj sám vidíš, zatiaľ nemám šajnu ako to celé funguje,...neviem čo sú to tie rôzne kompilátory atď., atď. Ale tak to všetko zistím, až sa s tým začnem hraťharrison314 napísal:
-
harrison314
Hardcore addict
- Príspevky: 8224
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: C/C++ alebo Java
Ak ti ide iba o multiplatformovost tak pouzi Javu ( ale je to len relativna multiplatformovost, nepozeraj reklami z JavaZone),
programi v C#tiez dokazes spustit pod linuxom cez Mono ( ale videl som aj extreminy pripad Wine +.Net Framewrok ) tu je problem z volanim Win API ale vo vetcine aplikacii ho nevyuzijes, ale da sa to obist tym pomocou triku z polimorfizmom a tym ze ti aplikacia pod linuxom linkuje kniznice skomplilovane pod linuxom ( v c/c++ ) a pod Win zas kniznice skompliovane pod Win.
Ale ak chces robit pod Linuxom skusk QT framewrok.
programi v C#tiez dokazes spustit pod linuxom cez Mono ( ale videl som aj extreminy pripad Wine +.Net Framewrok ) tu je problem z volanim Win API ale vo vetcine aplikacii ho nevyuzijes, ale da sa to obist tym pomocou triku z polimorfizmom a tym ze ti aplikacia pod linuxom linkuje kniznice skomplilovane pod linuxom ( v c/c++ ) a pod Win zas kniznice skompliovane pod Win.
Ale ak chces robit pod Linuxom skusk QT framewrok.
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: C/C++ alebo Java
ked sme u toho, pre aky system chces vyvyjat?
Re: C/C++ alebo Java
Nemám žiadnu konkrétnu predstavu, aké aplikácie budem vyvíjať, ide mi len o to, aby (keď sa už pre nejaký programovací jazyk rozhodnem) bol využiteľný na čo najväčšom počte platforiem a zároveň aby bol čo najuniverzálnejší čo sa týka využitia 
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: C/C++ alebo Java
tak to mas potom fakt jedno co sa budes ucit. C# je len Java v bledomodrej. Tie jazyky su prakticky totozne akurat sa lisia v par nazvoch tried. Ak vies jedno tak prechod k druhemu bude uplne jednoduchy.
C/C++ su od tych dvoch uz ale dost odlisne, ale uz nie su take terno ako kedysi byvali.
Ja byt Tebou idem do C#, to je programovaci jazyk moderneho muza
( plus existuje ku nmu najlepsie vyvojove studio na svete co tiez nie je uplne na zahodenie )
C/C++ su od tych dvoch uz ale dost odlisne, ale uz nie su take terno ako kedysi byvali.
Ja byt Tebou idem do C#, to je programovaci jazyk moderneho muza
-
javatar
Hardcore addict
- Príspevky: 6112
- Registrovaný: 12 aug 2010, 14:49
- Bydlisko: I don't exist at all.
Re: C/C++ alebo Java
niekedy sa hodi - a nemusi to byt chyba navrhu, ine objektove jazyky maju viacnasobne dedenia vyriesene cez interfaces - to je tiez chybny navrh?axxis napísal: a to je plus? viacnasobne dedenia je chyba navrhu a nie vyhoda.
Ani nie - C# ako jazyk vznikol na akademickej pode, MS v nom vsak uvidiel potencial a ma na svedomi jeho terajsi vyvoj (aj ked je to skor vyvoj .NET), ako aj rozsirenie. C# je vlastne vylepsena JAVA (udajne maju v nom prsty aj javisti ktorym sa nepacili neake veci na jave).harrison314 napísal: C# je vymsisel Microsoftu, ale je prepracovany. Java ma o dost pomalsi vyvoj ( nieco nove sa vymysli potom o tom diskutuju a o 6 rokou sa to do nej zardadi, v tom case to uz moze byt zastarale, napr Genericus ) a taisto nemusi byt naveky free. Pocul som ze ma byt Orcale rozdenea na platenu cast a zadarmo cast, ktora bude znacne okliestena.
Pomaly vyvoj javy ti nespochybnim. Java 7 je naplanovana na jul 2011, podla spravania sa oraclu doteraz (este neopravili jeden kriticky bug reportovany v roku 2009 (dali sa pomocou neho zhodit aj Google Spread sheets)). Ak ju vsak rozdelia na platenu a neplatenu a ta neplatena bude dost okliestena tak mrdam nanu, dam sa na vyvoj pod .NET/Mono v C# a zmenim si nick na csharptar
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: C/C++ alebo Java
interface-y su sposob ako sa vyhnut viacnasobnemu dedeniu
nie su chybou navrhu, ale riesenim tejto chyby
nie su chybou navrhu, ale riesenim tejto chyby
-
javatar
Hardcore addict
- Príspevky: 6112
- Registrovaný: 12 aug 2010, 14:49
- Bydlisko: I don't exist at all.
Re: C/C++ alebo Java
no praveze interface je legitimny sposob implementacie viacnasobneho dedenia
(legitimny preto lebo "dedis" len metody)
a ako inheritanciu (dedicnost) implementuje python?
a ako inheritanciu (dedicnost) implementuje python?
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: C/C++ alebo Java
implementovanie ( nie dedenie! ) viacerych interface-ov sa z navrhoveho pohladu tvari ako viacnasobne dedenie, ale nie je nim. navyse Ta nuti implementovat vsetky metody takze nemozu nikdy vznikat nejednoznacnosti na urovni kompliatora ci stroju! koniec koncov ak mi nedoverujes kukni sa po nete a uvids, ze viacnasobne dedenie bolo z modernych jazykov vypustene, lebo benefity ani zdaleka nevyvazuju problemy, ktore to obnasa.
dedenie v pythone je take, ze vo svojej podstate ziadne nemusi byt
Vychadza z filozofie, ze jedinou skutocnou crtou objektoveho programovania je polymorfizmis.
predstav si, ze chces spravit v jave triedy Pes a Macka, ktore maju metodu vydaj_zvuk. urobis triedu ( interface ) Zviera, z nej to vydedis a naimplementujes im zvuk, ktory maju vydavat. v pythone, proste urobis len tie dve triedy, instanciujes a naukladas do pola a na uplny koniec toho pola das nieco co tuto metodu nema.
potom foreach zavolas na kazdy prvok pola instancia.vydaj_zvuk(), python sa o to pokusi bez ohladu na to ci si je isty typom alebo nie. na vsetky Tvoje objekty sa zavola spravna metoda ( ktoru by si inak musel overridovat ) a ked dojde na posledny rozdielny prvok tak to proste spadne.
dedenie v pythone je take, ze vo svojej podstate ziadne nemusi byt
predstav si, ze chces spravit v jave triedy Pes a Macka, ktore maju metodu vydaj_zvuk. urobis triedu ( interface ) Zviera, z nej to vydedis a naimplementujes im zvuk, ktory maju vydavat. v pythone, proste urobis len tie dve triedy, instanciujes a naukladas do pola a na uplny koniec toho pola das nieco co tuto metodu nema.
potom foreach zavolas na kazdy prvok pola instancia.vydaj_zvuk(), python sa o to pokusi bez ohladu na to ci si je isty typom alebo nie. na vsetky Tvoje objekty sa zavola spravna metoda ( ktoru by si inak musel overridovat ) a ked dojde na posledny rozdielny prvok tak to proste spadne.
-
javatar
Hardcore addict
- Príspevky: 6112
- Registrovaný: 12 aug 2010, 14:49
- Bydlisko: I don't exist at all.
Re: C/C++ alebo Java
ja netvrdim ze interface je dedenie - len je to nahrada za viacnasobne dedenie
a to v pythone sa pokusi a po neuspesnom pokuse pokracuje alebo to spadne ze vyhodi exception?
a to v pythone sa pokusi a po neuspesnom pokuse pokracuje alebo to spadne ze vyhodi exception?
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: C/C++ alebo Java
dostanes vynimku. ale tak je jasne, ze ked volas metodu na triedu, ktora ju neobsahuje je to cisto Tvoja chyba