C/C++ alebo Java

Programovacie jazyky, rady, poradňa...
QyncY
Expert
Expert
Používateľov profilový obrázok
Príspevky: 182
Registrovaný: 08 máj 2005, 19:31

C/C++ alebo Java

Príspevok od používateľa QyncY »

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)?
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: C/C++ alebo Java

Príspevok od používateľa javatar »

C++
:plus:
vykon
moznost viacnasobneho dedenia
:minus:
syntax - lahsie urobis chybu a tazsie ju hladas

JAVA
:plus:
silna typovost
platformova nezavislost
:minus:
hlavne vykon
paralen
Light Star
Light Star
Príspevky: 267
Registrovaný: 02 máj 2006, 15:15

Re: C/C++ alebo Java

Príspevok od používateľa paralen »

vyhody Java?
- multiplatformnost
- nie je tam krkolomna smernikova aritmetika
- vela uzitocnych balikov
- subjektivne... dobre sa v tom programuje :P

vyhody C++
- rychlost

Imho ked chces ist do C++, tak chod rovno do neho (kedze vies php)...
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: C/C++ alebo Java

Príspevok od používateľa harrison314 »

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.

:plus:
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.
:minus:
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
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: C/C++ alebo Java

Príspevok od používateľa axxis »

javatar napísal:C++
:plus:
moznost viacnasobneho dedenia
a to je plus? viacnasobne dedenia je chyba navrhu a nie vyhoda.
G0lDiER_
King
King
Používateľov profilový obrázok
Príspevky: 1948
Registrovaný: 16 máj 2007, 16:09
Bydlisko: Topolcany
Kontaktovať používateľa:

Re: C/C++ alebo Java

Príspevok od používateľa G0lDiER_ »

chcem sa spytat ci je nejaky rozdiel medzi C/C++ v moznostiach. dik.
QyncY
Expert
Expert
Používateľov profilový obrázok
Príspevky: 182
Registrovaný: 08 máj 2005, 19:31

Re: C/C++ alebo Java

Príspevok od používateľa QyncY »

harrison314 napísal:Co tak C# ? Ja som z PHP presiel nan a potom na C++...
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++?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: C/C++ alebo Java

Príspevok od používateľa harrison314 »

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++?
Ja som na C++ nepersiel tak ze som na C# zanevrel, ale preto cim vie clovek viac jazykov tym je natom lesie.
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
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: C/C++ alebo Java

Príspevok od používateľa axxis »

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
QyncY
Expert
Expert
Používateľov profilový obrázok
Príspevky: 182
Registrovaný: 08 máj 2005, 19:31

Re: C/C++ alebo Java

Príspevok od používateľa QyncY »

harrison314 napísal:
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ť :) Zatiaľ ďakujem za informácie a názory (všetkým).
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: C/C++ alebo Java

Príspevok od používateľa harrison314 »

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.
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: C/C++ alebo Java

Príspevok od používateľa axxis »

ked sme u toho, pre aky system chces vyvyjat?
QyncY
Expert
Expert
Používateľov profilový obrázok
Príspevky: 182
Registrovaný: 08 máj 2005, 19:31

Re: C/C++ alebo Java

Príspevok od používateľa QyncY »

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
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: C/C++ alebo Java

Príspevok od používateľa axxis »

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 :lol: ( plus existuje ku nmu najlepsie vyvojove studio na svete co tiez nie je uplne na zahodenie )
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: C/C++ alebo Java

Príspevok od používateľa javatar »

axxis napísal: a to je plus? viacnasobne dedenia je chyba navrhu a nie vyhoda.
niekedy sa hodi - a nemusi to byt chyba navrhu, ine objektove jazyky maju viacnasobne dedenia vyriesene cez interfaces - to je tiez chybny navrh?
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.
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).

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 :D .
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: C/C++ alebo Java

Príspevok od používateľa axxis »

interface-y su sposob ako sa vyhnut viacnasobnemu dedeniu :)
nie su chybou navrhu, ale riesenim tejto chyby
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: C/C++ alebo Java

Príspevok od používateľa javatar »

no praveze interface je legitimny sposob implementacie viacnasobneho dedenia :D (legitimny preto lebo "dedis" len metody)

a ako inheritanciu (dedicnost) implementuje python?
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: C/C++ alebo Java

Príspevok od používateľa axxis »

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.
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: C/C++ alebo Java

Príspevok od používateľa javatar »

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?
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: C/C++ alebo Java

Príspevok od používateľa axxis »

dostanes vynimku. ale tak je jasne, ze ked volas metodu na triedu, ktora ju neobsahuje je to cisto Tvoja chyba
Napísať odpoveď