Ako začat programovat #2: Aky jazyk si vybrat ?

Programovacie jazyky, rady, poradňa...
LOLCATS
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1159
Registrovaný: 23 sep 2006, 13:15

Ako začat programovat #2: Aky jazyk si vybrat ?

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

Kde si som tu mal temu o tom ako zacat programovat tak tu je druha cast.
Konecne som sa odhodlal a ponoril sa do studia C#...citam jednu knihu a popritom robim ulohy/ukazky ktore tam su.
No co potom ? Akeho jazyku sa mam chytit ?
C++, Java ? Mojim konecnym cielom povedzme je vytvorit napr. hru ako su Bulanci atd :lol: .
Tich Bulankov berte z rezervou...konkr. Ktory jazyk je taky prakticky...
P.S eh este je rano :roll:
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

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

nemyslis, ze by si mal najprv vediet dobre robit v jednom jazyku a az tak zacat dalsi?

Btw. java je velmi podobna C#. :)
johny3212
Star
Star
Používateľov profilový obrázok
Príspevky: 532
Registrovaný: 17 feb 2008, 19:56
Bydlisko: Terchova
Kontaktovať používateľa:

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

Ja ti radim C++ na zaciatok. Ak ces zacar robit hru, tak potrrebujes trocha viac ako je C++, ale najprv musis dobre ovladat c++ a vediet rozmyslat obiektovo, bulanci_?, napr ihrisko je jeden obiekt a panak je druhy obiekt, nastavenie panaka tvori jednu triedu a nastavenie ihhriska druhu triedu (class), obiekty tvoria komunikaciu medzi nimi, dalej ako sa tvori grafika_? grafika je to vlastne nekonecny cuklus (while), kt. sa stale opakuje a vykresluje nieco (jednuducho povedane), to je k C++, dalej potrebujes neake externe kniznice pre tvorbu grafiky (OpenGL) a tam je fakt vela sa co ucit, prikazov je tam tisice. napr pre ovladanie textur, vykreslenia bodov, pohyb atd...., a treba si uvedomit ze to nie je us konzolova zalezitost, musis naprogramovat neake OPengL window, a tu musis programovat vsetko, aj inicializaciu klaves, klav. pustena, stlacena a aj to ze ket kliknes na "x" v rohu, tak sa ti ukonci okno, cize ucenia je tam setkeho nadhlavu.
Zlozite graficke ojekty sa kreslia v neakych 3D programoch, bo grafika sa sklada iba z trojuholnikov a stvorcov, rucne by si musel kazdemu stvorcu nasatavit zvlast vektor, resp texturu ci farbu, umiestnenie bodov, ked si vezmes taka gula, ich moze mat niekolko tisic.
xivo
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 752
Registrovaný: 27 jún 2005, 22:49
Bydlisko: Slovensko
Kontaktovať používateľa:

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

Naco ti je iny jazyk, C# je novodoby objektovo orientovany programovaci jazyk ak budes tento dobre ovladat spravis v tom aj bulancov .. bez problemu :) a ak chces nieco dobre vediet, musis tomu venovat hodne casu :) nie jednu knihu a spravit si priklady z nej :) ...

C++ wtf ? .. naco ? naucit sa OOP ? ... oproti Jave a C# ma len inu syntax a mozes dedit z viacerych objektov .... (naco java a C# maju Interface ... )
pheo
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 212
Registrovaný: 20 sep 2005, 16:53
Bydlisko: moje hniezdo
Kontaktovať používateľa:

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

teraz tu sa tu bude rozoberať večná dilema:
výkon kontra spoľahlivosť čitelnost kódu, udržovateľnosť
Z mojej skúsenosti ti možem povedať že jazyky ako c a c++ majú fakt hnusnú syntax, ale zas na opatku sú rýchlešie, prerože sa prekladajú priamo do inštrukcií daného procesora. (Už len to spominanne viacnasobne dedenie je velká prasárna ktorú má v sebe c++ a moze vznikat fakt zvlastne stavy, hlavn ked nevies co robis :) )
Novšie jazyky ako java a c# majú v sebe zahrnuté akési good practises (štábna kultúra) takze sa v nich pise pekne. Kedze teraz letia tak je pre ne kopa podporných nástrojov ako napr. debugger, profiler, a tiez fajnove IDE.
Keby si chcel programovať hru,ako napr bulanci (co ja 2D) tak to mozes v java aj c# -c# je novší a je "viac zameranejší" na widly (windows, kedze je to produkt microsoftu), na druhu stranu je tu java ktorá je striktne multiplaformová , takže štandartne ti nepodporí niečo ako DirectX (je to mozne iba pod windows cez RMI, na linuxe mozes na to zabudnut).
Ako som spominal pekna 3D grafika na c# cez directX si vyzaduje kopu studia - hlavne directX , java ma iba podporu openGL
2d grafiku mozes riesit standartne v c# cez windows forms, windows prezentation fundation (sucat specifikacie c#) pripadne j jave cez swing. (v oboch prípadoch si zamákneš)

Zaver: ja som hodne zamerany na java a nespomenut my tu ju aspon raz my proste neda, ale radsej pouzi c#(kedze ako predpokladam pracujes na widlach). U mna na fakulte grafici pracujú hodne so c#

Zas na druhu stranu sa mozes nedavno v java vznikol projekt javaFX - je to akysi skriptovaci jazyk pre java (on sa nasledne prelozi do java), pretoze praca s grafikou je povedzme dost neprijemna v java
nejake ukazky co to vie mozes vidiet tu:
kacjak116
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 125
Registrovaný: 26 nov 2008, 20:37

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

Osobne som zacinal s Turbo pascal 7, najprv matematicke programy (napr. zadaj cislo a ja ti poviem ci je parne alebo neparne =) )

... a potom to uz islo samo... kukol som par prikazov na nete, hodil som ich do programu...

musis si uvedomit ze napr. program kt. teraz robim ma cez 260 riadkov, zhruba 1400 znakov a musis mysliet na to ze za kazdym prikazom ide ; teda chyb mozes urobit nekonecno...

(zaklad psychiky): Rozvoj je zakladom evolucie.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

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

pheo napísal:...Z mojej skúsenosti ti možem povedať že jazyky ako c a c++ majú fakt hnusnú syntax...
Novšie jazyky ako java a c# majú v sebe zahrnuté akési good practises (štábna kultúra) takze sa v nich pise pekne...
Videl som oveľa viac kvalitného C/C++ kódu ako kvalitného kódu v C# (pravdepodobne je to čiastočne spôsobené tým, že si veľa ľudí myslí, že vedia v C# programovať aj napriek tomu, že nevedia). :)
pheo napísal:Kedze teraz letia tak je pre ne kopa podporných nástrojov ako napr. debugger, profiler, a tiez fajnove IDE.
Kedže napr C existuje už veľmi dlho, tak rovnaké nástroje existujú pre C tiež a sú kvalitnejšie (lebo sa na nich pracovalo dlhšie).

(a zvyšok sa mi ani nechce komentovať)
johny3212
Star
Star
Používateľov profilový obrázok
Príspevky: 532
Registrovaný: 17 feb 2008, 19:56
Bydlisko: Terchova
Kontaktovať používateľa:

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

pheo napísal: hlavne directX , java ma iba podporu openGL
Necem robit vojnu, ale tato veta ma strasne zarazila, ze iba, Z tvojich ust to vyznelo akoby bol DirecX, nieco bey coho sa OpenGL nezaobite, jedine co pouziva brutal DirectX je Windows a X-box, vsetko ostatne co poznam je opengl.
chrono napísal: Videl som oveľa viac kvalitného C/C++ kódu ako kvalitného kódu v C# (pravdepodobne je to čiastočne spôsobené tým, že si veľa ľudí myslí, že vedia v C# programovať aj napriek tomu, že nevedia). Smile
V tomto vyroku mas moju 100% podporu. Tejto problematike C# a jave sa sa venovali americke skoly, ze setci sa hrnu do vysokourovnoveho programovania, cim vznika nedostatok kvalitnych programatorov, kt. fakt nieco vedia.
kacjak116 napísal:kacjak116
Ked budes mat program kt. ma spolu 10 000 riadkov, rozvatvenych do 80 soborov, potom uvidis co to je hladat logicku chybu, gramaticku ti najde aj soft. hehe.
xivo
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 752
Registrovaný: 27 jún 2005, 22:49
Bydlisko: Slovensko
Kontaktovať používateľa:

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

johny3212 napísal:Necem robit vojnu, ale tato veta ma strasne zarazila, ze iba, Z tvojich ust to vyznelo akoby bol DirecX, nieco bey coho sa OpenGL nezaobite, jedine co pouziva brutal DirectX je Windows a X-box, vsetko ostatne co poznam je opengl. .
A co je v dnesnej dobe windows ze ? .... Tiez som zastance open source ale kruta realita vsetky moje predstavy depta ....

"Videl som oveľa viac kvalitného C/C++ kódu ako kvalitného kódu v C# (pravdepodobne je to čiastočne spôsobené tým, že si veľa ľudí myslí, že vedia v C# programovať aj napriek tomu, že nevedia)"

Kodim web, no mal som moznost programovat aj v C++, jave a C# a toto mi akosi nepasuje chrono :) .. asi zalezi podla uhla pohladu a co pre koho znamena "kvalitny kod" mne sa C++ prestalo pacit po vsetkych tych hodinach debuggovania .. a hladania chyb (pointre su zabijak) :))) taktiez pri vytvarani vacieho OOP navrhu je z toho mela (viacnasobne dedenie sa mi vobec nepaci)
Jedinu vyhodu C++ vidim v jeho rychlosti . co je asi pri kodeni hier podstatna vec :)
johny3212 napísal: Ked budes mat program kt. ma spolu 10 000 riadkov, rozvatvenych do 80 soborov, potom uvidis co to je hladat logicku chybu, gramaticku ti najde aj soft. hehe.
A to beries ako nevyhodu ? ... (aspon som to tak vycitil z toho co pises)
Podla mna podelit kod do niekolych suborov a dat tomu nejaku dobru logicku struktouru je najlpesie co mozes spravit ... :roll:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

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

xivo napísal:A co je v dnesnej dobe windows ze ? .... Tiez som zastance open source ale kruta realita vsetky moje predstavy depta ...
To záleží od toho, čo na počítači robíš. Hry sa samozrejme hrajú najlepšie vo Windows.
xivo napísal:Kodim web, no mal som moznost programovat aj v C++, jave a C# a toto mi akosi nepasuje chrono :) .. asi zalezi podla uhla pohladu a co pre koho znamena "kvalitny kod" mne sa C++ prestalo pacit po vsetkych tych hodinach debuggovania .. a hladania chyb (pointre su zabijak) Smile)) taktiez pri vytvarani vacieho OOP navrhu je z toho mela (viacnasobne dedenie sa mi vobec nepaci)
Jedinu vyhodu C++ vidim v jeho rychlosti . co je asi pri kodeni hier podstatna vec :)
Debugovanie je len posledná možnosť hľadania chyby. ;) Inak čo máte s viacnásobnou dedičnosťou a C++? Nikto nikoho nenúti tú viacnásobnú dedičnosť používať a ak je to niekde vhodné, tak je logické, že programátor vie čo robí. Navyše rovnaké problémy sú aj pri viacnásobnom Interface v C# (ale to asi v PR článkoch o C# napísané nebolo, ale ako vidím, o viacnásobnej dedičnosti C++ tam písané bolo :P ).
xivo napísal:A to beries ako nevyhodu ? ... (aspon som to tak vycitil z toho co pises)
Ja som z toho zase vyčítal, že kacjak116-ovi píše, že tých 260 riadkov nie je veľa a že sú aj oveľa rozsiahlejšie projekty. ;)
tomo.za
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 261
Registrovaný: 26 sep 2005, 13:35
Bydlisko: Brno/Zilina
Kontaktovať používateľa:

Príspevok od používateľa tomo.za »

xivo napísal:Naco ti je iny jazyk, C# je novodoby objektovo orientovany programovaci jazyk
lol ze naco... mozem sa opytat v com vsetkom si programoval? toto je problem mnohych dnesnych "programatorov" co mali na skole nejaky takyto "novodoby" jazyk a myslia si ze to je vrchol dokonalosti... hlavne ze v tom ide rychlo naklikat co potrebuju a ani tomu netreba rozumiet... na druhej strane su tu jazyky ktore sa pouzivaju uz 30-40 rokov... preco asi? schvalne som zvedavy kde budu tieto skvele "novodobe" jazyky za 40 rokov...
xivo napísal:C++ wtf ? .. naco ? naucit sa OOP ? ... oproti Jave a C# ma len inu syntax a mozes dedit z viacerych objektov .... (naco java a C# maju Interface ... )
skor by som povedal ze Java a C# maju "len" inu syntax ako C++ a prave preto je C++ asi najlepsi zaklad pre prakticke programovanie v dnesnej dobe... pretoze z neho "vychadza" vacsina dnes majoritne pouzivanych jazykov... a btw. C++ ma k OOP dost daleko rovnako ako java alebo C#... stale su to v podstate proceduralne jazyky s viac alebo menej dosledne implementovanymi prvkami OOP

ale aby som nebol OT... s cim zacat velmi zavisi od toho co chces robit :wink: jednak v akej oblasti(grafika, web, system, simulacie, etc...), na akej urovni a niekedy je podstatne aj na akej platforme... osobne odporucam python:D ja som s nim zacal nedavno a pride mi velmi lahko naucitelny(citujem kolegov: "to budes za dva dni vediet") a zaroven dobre pouzitelny na vela veci...
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

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

A pri tom Python môže byť medzi prvými, čo bude používať výhradne Python 3. :) (kedže predpokladám, že skúsený "pythonisti" budú na tú novú verziu prechádzať postupne)
pheo
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 212
Registrovaný: 20 sep 2005, 16:53
Bydlisko: moje hniezdo
Kontaktovať používateľa:

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

Diskusia ktorá nevedie nikam .... :aasmile19:
Jasne je dana tema na jazyk v čom sa dobre píšu hry ---
keby som šiel podla vasej logiky (jazyky ktore su tu najdlhsie):
assmebler ? - ste sa zblaznili ?
C ? - ked my niekto ukaze kod v ktorom bude napisana hra podobna bulankom - tak poviem ze autor je magor - zbytočná práca, nehovorím o prípadných úpravách v kode ....
C++ - kandidát
java - na hry asi nie :/
python - :) pripada my to ako dobry žart - pisať program zavysly na výkone v skriptovacom jazyku - ale proti gustu žiaden dišputát
C# kandidát

A obecne chodte kdesi s názorom že jazyky ako c a asm su tu 40 rokov a to svedci o ich kvalite. Skor by som povedal to ze pre dodavatela procesorov je omnoho jednoduchsie vyrobit kompilator na assmebler , pridne na C pretoze tieto jazyky maju velmi jednoduchu syntax.

Keby kazdy programator bol v tomto smere konzervativny tak este doteraz by sme ostali pri asm, pripadne C a internet by sme prehliadali cez links (no neviem si predstavit internet bez porna :D ).
johny3212
Star
Star
Používateľov profilový obrázok
Príspevky: 532
Registrovaný: 17 feb 2008, 19:56
Bydlisko: Terchova
Kontaktovať používateľa:

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

xivo napísal:A co je v dnesnej dobe windows ze ? .... Tiez som zastance open source ale kruta realita vsetky moje predstavy depta ....
Ja nepisem len o open source, ale telefony, playstation, dalsie hracie konzoly su OpenGL, OpenGL a Direc3D su dost seberovne.

A k tomu windows, neveril by si kolko svetoznamich firiem fakci pod UNIX (Solarisom),
napr. Nokia, poskytutuje soft sietam, kt. zaznamenava chybbove SMS na LoadFileServer pod Solaris (programuje to Siemens ZA (C++, XML) ... satelitne systemy, to je vsetko UNIX. Preco asi_? hmm?
Tym necem zatrtit Win.

Podla mna podelit kod do ...
s tym suhlasim len som to myslel inak, vid chrono odpoved. Moj hlavny subor je zlozeny z obiektov a 10 riadkoveho main() nic viac..

pheo: mas aj pravdu, vidis aj zakladatel prispevku sa nalakal a nepise uj. :D
xivo
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 752
Registrovaný: 27 jún 2005, 22:49
Bydlisko: Slovensko
Kontaktovať používateľa:

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

A k tomu windows, neveril by si kolko svetoznamich firiem fakci pod UNIX (Solarisom)
Myslim ze vacsina, a nikde to nepopmieram, tiez pracujem vo firme ktora ma takmer celu siet postavenu na Debianoch :) na desktope mam Ubuntu lebo ako programatorovi mi omnoho viac vyhovuje ... ale Windows + DirectX + hry totalne slape Linux + OpenGL + hry (co je podla mna jeden z vacsich dovodov preco sa linuxu tak rychlo nepodari presadit na desktopoch)
Ja som z toho zase vyčítal, že kacjak116-ovi píše, že tých 260 riadkov nie je veľa a že sú aj oveľa rozsiahlejšie projekty.
sry, nevsimol som si kaciakov prispevok ... :)
tomo.za
Myslel som to tak, nech sa nauci poriadne kodit jeden a nie po jednej knizke prejst na nieco ine ... v dnesnej dobe s C# dokazes vela ....
tomo.za
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 261
Registrovaný: 26 sep 2005, 13:35
Bydlisko: Brno/Zilina
Kontaktovať používateľa:

Príspevok od používateľa tomo.za »

pheo napísal:Jasne je dana tema na jazyk v čom sa dobre píšu hry ---
keby som šiel podla vasej logiky (jazyky ktore su tu najdlhsie):
assmebler ? - ste sa zblaznili ?
C ? - ked my niekto ukaze kod v ktorom bude napisana hra podobna bulankom - tak poviem ze autor je magor - zbytočná práca, nehovorím o prípadných úpravách v kode ....
C++ - kandidát
java - na hry asi nie :/
python - :) pripada my to ako dobry žart - pisať program zavysly na výkone v skriptovacom jazyku - ale proti gustu žiaden dišputát
C# kandidát

A obecne chodte kdesi s názorom že jazyky ako c a asm su tu 40 rokov a to svedci o ich kvalite. Skor by som povedal to ze pre dodavatela procesorov je omnoho jednoduchsie vyrobit kompilator na assmebler , pridne na C pretoze tieto jazyky maju velmi jednoduchu syntax.

Keby kazdy programator bol v tomto smere konzervativny tak este doteraz by sme ostali pri asm, pripadne C a internet by sme prehliadali cez links (no neviem si predstavit internet bez porna :D ).
1. jasne je dana tema v com sa zacat ucit programovat... jednoducha hra je len taky prvy ciel ktory by chcel dosiahnut
2. keby si isiel podla nasej logiky aspon by si si precital na co reagujes a mozno by si to aj pochopil... nikto mu nikde netvrdi ze ma ist pisat hru v assembleri, tie stare jazyky su tam ako reakcia na hlasku "nauc sa C# nic ine ti netreba" co je pristup mnohych dnesnych hura programatorov ktorym ide hlavne o to nech sa programuje rychlo a nech pri tom treba co najmenej rozmyslat, nejak kvalita vysledku je druhorada...
3. pokial ide o tie 40r jazyky nemal som zovna na mysli assembler ani C ale budiz... a o com podla teba svedci ze sa pouzivaju uz 40 rokov? podla mna to svedci jedine o tom ze cela ta zaplava "modernych" a "pokrokovych" jazykov neprinasa ziadne zasadne vylepsenie kvoli ktoremu by sa oplatilo na ne prejst(samozrejme neplati vo vsetkych oblastiach zvlast grafika/UI/frontend) vezmi si taku javu... dnes sa tvari ako jeden z "naj" jazykov a pritom moc nechybalo a vobec by neexistovala... takisto jej rozsirenie... nedokaze nic co by nedokazali jazyky stare x rokov akurat za nou stoji silny marketing...
4. neviem kde si dosiel k tomu ze sme konzervativni, skor by som povedal ze uz mame nejaky rozhlad a preto veci neberieme hura systemom typu modernejsi == lepsi, ja osobne tiez v C uz dlho nerobim pokial vyslovene nechem napisat nejaku vec zavislu na rychlosti alebo nejaky backend pre inu aplikaciu, o assembleri ani nehovorim ten uz hadam ani neviem:D ale stale viem co tieto jazyky dokazu a nebudem ich zatracovat len preto ze sa v nich neda aplikacia spravit desiatimi kliknutiami...
johny3212
Star
Star
Používateľov profilový obrázok
Príspevky: 532
Registrovaný: 17 feb 2008, 19:56
Bydlisko: Terchova
Kontaktovať používateľa:

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

Setci mate svoju pravdu, takychto tem tu je neurekom, nie len na tomto fore.
Inak kusali ste niekedy vo Wikipedie vyhladat slovo ko*ot.
ko*ot (v juhoslovenskom nárečí keket) je človek trpiací chorobou zvanou ko*ot.n.o.s.ť. Jej geografické rozšírenie je v súčastnej dobe lokalizované zhruba južne od pohoria Vysoké Tatry po rieku Dunaj.

Autorovi odporucam aby zostsaa pri hrani hier. :D
LOLCATS
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1159
Registrovaný: 23 sep 2006, 13:15

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

Tebe odporucam vyliecit sa zo zavislosti na tvrdom alkohole :roll:
pheo
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 212
Registrovaný: 20 sep 2005, 16:53
Bydlisko: moje hniezdo
Kontaktovať používateľa:

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

:lock:
Napísať odpoveď