Mystiq.org - forum: Programování - Mystiq.org - forum

Jump to content

  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Programování

#1 User is offline   Farelein 

  • Group: VIP
  • Posts: 1,046
  • Joined: 02-July 08

Posted 09 December 2013 - 04:36 PM

Zdravím zdejší komunitu expertů a profíků. Jak již název napovídá, tak i já, obyčejný kluk z maloměsta by se rád dostal do tajů programování. Chtěl bych Vás požádat, či byste mě mohli nějaký směrem nasměrovat s čím začít a čemu se pro začátek vyhnout. Nemám s ničím žádně zkušenosti ani znalosti, takže musím začít úplně od píky :) Budu rád za každou pomoc či radu.
0

#2 User is offline   vecernik 

  • Group: WW Moderátor
  • Posts: 1,625
  • Joined: 11-September 08

Posted 09 December 2013 - 06:15 PM

Uh, tohle neni zrovna idealni pristup jak zacit. Programovani samo o sobe neni nic tajemneho. V podstate jde jen o urcitou domluvenou formu, jak predat pocitaci presne pokyny. Stejne jako kdyz ti mamka doma rekne: "jdi do obchodu, vrat vsechny prazdne sklenice, kup 5 rohliku a kdyz budou mit vejce tak kup 10 vajec". Tahle veta neni nic jineho nez jednoduchy program pro cloveka. Tedy sestava pokynu (tzv algoritmus), ktera ma urcity vysledek, ktereho chceme dosahnout (v tomto pripade zbavit se sklenic a ziskat nejaky rohliky a vejce).
Pro zacatek by sis mohl predstavit, ze chces k tomu stejnemu donutit nejakeho robota. Pocitace ale jak znamo myslet neumi, takze pokyny musi byt co nejvic presne. Kdybych mu rekl to co je uvedeno vejs, tak by urcite nastala jedna zasadni chyba - robot by se nevratil protoze jsem mu nerekl ze se vratit ma. (a to jeste predpokladam ze by robot vedel jak koupit rohliky a vejce a rohliky v obchode opravdu byly...). Kdybych to chtel rozepsat detailne, tak by to mohlo vypadat nejak takhle:
opakuj dokud neni splnena podminka "jsi v obchode" {
 otoc se smerem k obchodu
 udelej krok
}
spocitej sklenice a zapamatuj si jejich pocet jako POCETSKLENIC
opakuj dokud plati "POCETSKLENIC je vetsi nez 0"{
 vezmi sklenici z batohu
 poloz sklenici na pult
 odecti od POCETSKLENIC jednotku a nove cislo si zapamatuj jako POCETSKLENIC
}

..... (tady by se podobnym zpusobem udelalo nakupovani rohliku a vajec atd) .....

opakuj dokud neni splnena podminka "jsi doma" {
 otoc se smerem k domovu
 udelej krok
}

A uplne stejne to funguje v programovani. Pocitac neumi nic sloziteho. Pocitaci zadavas co nejjednodussi prikazy, ktere dokaze udelat. Rozhodne ale nejde cekat, ze si pocitac sam vymysli, co vlastne chces.
No a ted k praxi - kdyz chces zacit programovat, je potreba se rozmyslet - co, proc a jak. Existuje spousta programovacich jazyku a kazdy je vhodny na neco jineho. PHPcko na webove stranky na serveru, Javascript na webove stranky na pocitaci, Cecko na normalni programy na pocitaci, visualbasic/delphi/atd na jednodussi okynkovy aplikace, java na multiplatformni aplikace .....
Bez tohodle rozhodnuti vazne netusim, jakym smerem te popostrcit a co ti ukazat/vysvetlit. V podstate se ale vsecko toci okolo toho stejneho - umet popsat, to co chci udelat pomoci jednoduchych pokynu (tomu se rika algoritmizace) a nasledne tyto pokyny v konkretnim jazyce napsat (to je samotne programovani - prevod algoritmu do syntaxe daneho jazyka). I kdyz si mnoho lidi mysli, ze se nasprtaj prikazy a to je vse, tak je opak pravdou - zakladem je algoritmizace a to, jak to napises je uz pak jen encyklopedicka znalost, kterou si muzes kdykoliv dohledat na webu nebo v manualech. Spravny algoritmus ale nikde nenajdes a musis ho vymyslet vzdy sam :)

takze shrnuto a podtrzeno - mas prvni ukol - rozhodnout se co by jsi chtel delat. (ne, nerikej prosim "trojrozmernou hru na styl wowka". vymysli si neco opravdu jednoduchyho). I kdyz je zaklad v algoritmizaci, porad musim vedet, jakym jazykem zacit, abys mel na cem trenovat.
0

#3 User is offline   Mufinqua 

  • Group: VIP
  • Posts: 3,268
  • Joined: 27-August 09

Posted 09 December 2013 - 09:36 PM

My programujem v C/C++ a asi bych to doporucil na pochopeni (spis to C++, je lehci), jak vubec takovy program funguje. Jak rika vecerda, je to jen o tom uvedomit si kostru, spravne postavit algoritmus. Ten pak obalis krasnymi pevne danymi slovicky a program je na svete. Jazyk meni pouze ty krasna slovicka, algoritmus zustava stejny. Proto je to zaklad.

Ruznych navodu je na internetu kvadrilion. Skoro kazdy ti zacne "Hello world" a konci..ok, to nevim, jeste jsem na konec nedosel :D .

Upozorneni: priprav si hodne nervu. Jsou treba casto a ve velke mire :D .
0

#4 User is offline   Englor 

  • Group: Minecraft
  • Posts: 196
  • Joined: 14-November 09

Posted 09 December 2013 - 09:42 PM

Jestli chceš, tak ti můžu poskytnout přednáškový slidy a cvičení z programování v C. Jsou to sice VŠ materiály, ale je to od úplnejch základů a i bez výkladu se to dá celkem dobře pochopit. Najdeš tam i doporučenou literaturu.
0

#5 User is offline   pomper 

  • Group: WoW Tester
  • Posts: 458
  • Joined: 30-August 10

Posted 10 December 2013 - 09:28 AM

Englor to byjsi my mohl poslat PM :-) jestli vy jsi byl tak hodný :-)
0

#6 User is offline   Flynn 

  • Daemonica Team
  • Group: WoW
  • Posts: 226
  • Joined: 19-July 12

Posted 10 December 2013 - 01:07 PM

Já jsem si nejdřív našel, jak udělat wow launcher na youtube pomocí MS Visual Studio nebo co to bylo za program. Má to dobrý grafický prostředí, ale jenom klikáš a všechno se vytvoří za tebe a potřebuje to net framework, aby to šlo.
No a potom jsem zkoušel přepisovač realmlistů podle http://www.cprogramm...al/lesson1.html, pokud umíš anglicky, tak by to neměl být problém. Podle návodu jsem si nastavil Code Blocks: http://www.cprogramm...om/code_blocks/, prokousal se těma 10 lessons a byla to zábava vytvořit si smysluplnej, ale zároveň jednoduchej program. Můžeš to zkusit taky. ;)
0

#7 User is offline   Englor 

  • Group: Minecraft
  • Posts: 196
  • Joined: 14-November 09

Posted 10 December 2013 - 03:44 PM

Tak už jsem dal ty materiály dohromady, kdo o ně máte zájem, tak mi pošlete PM.

Tobě už jsem to poslal, pompere.
0

#8 User is offline   Farelein 

  • Group: VIP
  • Posts: 1,046
  • Joined: 02-July 08

Posted 10 December 2013 - 04:03 PM

Tak úkol mám splněn a rozhodl jsem se pro programy, tudíž C/C++. Neboj Večerníku, nejsem blázen abych si myslel že se nato podívám a za měsíc budu s něčím konkurovat Blizzardu, i když by to bylo hezký :D Co se nervů týče, tak ty už mám v pohodě. Časy kdy sem se nervoval u wowka apod. už mám za sebou :)
0

#9 User is offline   Mufinqua 

  • Group: VIP
  • Posts: 3,268
  • Joined: 27-August 09

Posted 10 December 2013 - 04:43 PM

Jelikoz jsi napsal C/C++, tak urcite doporucuju C++.
Rozdily na prvni pohled jsou pri vypisovani a skenovani. Pak pri vypisovani knihoven, ale to je malickost.

Skenovani
C - scanf("%d",&neznama);
C++ - cin>>neznama;

Tisk
C - printf("Neznama je %d", neznama);
C++ - cout<<"Neznama je "<<neznama;

Parafrazuju naseho ucitele, ktery nas uci C++ a slysel, ze na zkousce je C: "Nechapu, proc musite programovat v C, kdyz tam je milion nepodstatnych picovin, na kterych se muzete vysekat." Narazel na to, ze u C# ti staci zapomenout definovat, o jakou neznamou se jedna, zapomenes & u skenovani apod a uz jsi v haji, navic kdyz ti nejaky zastaraly program ukazuje chybu na jinem radku (treba BCI, s kterym jsme museli delat my na stredni).
0

#10 User is offline   Flynn 

  • Daemonica Team
  • Group: WoW
  • Posts: 226
  • Joined: 19-July 12

Posted 10 December 2013 - 06:43 PM

Nemá bejt to Neznama je v uvozovkách? :D Jinak C# se víc podobá lua, ve který se dělaj addony. Ale to ti stejně asi nepomůže. :D
0

#11 User is offline   Mufinqua 

  • Group: VIP
  • Posts: 3,268
  • Joined: 27-August 09

Posted 10 December 2013 - 06:50 PM

fuk xD mi uz z toho jebe, se preorientovavam na C na zkousku uz :D
0

#12 User is offline   Mr.Manik 

  • Group: Registrovaný člen
  • Posts: 376
  • Joined: 30-June 11

Posted 10 December 2013 - 11:52 PM

No osobně jsem prvně viděl klasický Céčko, z toho sem byl celkem znechucenej, pak jsem objevil C++, tak se mi moje mínění o programování zlepšilo a nakonec Javu a musím říct, že to je teprve bájo.

Umíš-li C++, tak umíš i 90% Javy a naopak. Každopádně si troufnu říct, že jestli se tím chceš do budoucna nějak živit, tak Java je moudřejší volba, protože Java cápky chtějí prostě všude a jsou i líp placený. Nemluvě o tom, že pak můžeš pohodlně přejít na vývoj Android appek ve kterých je a bude spousta peněz.

Navíc pokud umíš anglicky, tak se mi Java zdá i víc intuitivnější než C++. V hlavě se zamyslíš nad problémem co se snažíš vyřešit, dekompozituješ ho na menší podproblémy a už to tam jenom sázíš.

enableControls();
mediaPlayer.play();

prostě jenom říkáš co to má dělat :D

A jako bonus u Javy si nemusíš dělat starosti s uvolňováním paměti, což je kolikrát celkem vopruz, protože tu funguje Garbage collector.

Je sice pravda, že když napíšeš jeden a ten samej program v C++ a v Javě, tak Java ti sežere víc paměti, ale v dnešní době 8+GB pamětí...who cares.

This post has been edited by Mr.Manik: 10 December 2013 - 11:53 PM

0

#13 User is offline   Chooze 

  • Daemonica CT - Hunter
  • Group: WoW Tester
  • Posts: 3,604
  • Joined: 02-July 08

Posted 11 December 2013 - 01:26 AM

View PostFlynn, on 10 December 2013 - 01:07 PM, said:

wow launcher...

Tak hlavně že ta prace nebyla marná :D Na Nůdlu nic podobnýho nemáme a system message když spouštíš wowko, ta se nezmenila za 3/4 roku.
0

#14 User is offline   vecernik 

  • Group: WW Moderátor
  • Posts: 1,625
  • Joined: 11-September 08

Posted 11 December 2013 - 09:04 AM

jestli myslis breaking news ktery vidis po spusteni wowka tak ty jsou pravdepodobne porad smerovany na mystiqovou adresu kam to dava MageOfFire, takze martinus snad ani nema moznost to upravit...
0

#15 User is offline   Mufinqua 

  • Group: VIP
  • Posts: 3,268
  • Joined: 27-August 09

Posted 11 December 2013 - 09:24 AM

tak napiste mystiqoj, at tam mage napise martinus sux :D
2

#16 User is offline   vecernik 

  • Group: WW Moderátor
  • Posts: 1,625
  • Joined: 11-September 08

Posted 11 December 2013 - 05:16 PM

to stejne vidi jen ti lidi, kteri si zmenili hosts soubor aby se to z oficialniho blizz url smerovalo na mystiqovu ip. Ale legrace by to byla dobra :D
0

#17 User is offline   Dawy 

  • Daemonica CT - Druid
  • Group: WoW Tester
  • Posts: 288
  • Joined: 28-November 09

Posted 17 December 2013 - 08:24 PM

je to možná trochu pasé, ale trochu se přidám do diskuze
ano, je pravda, že c++ se tváří lehčí kvůli syntaxi, ale nemyslím,že je dobrý rovnou začínat v c++, to rovnou člověk může začít v javě a ignorovat pointry(ukazatele) atd... Rozhodně bych začal se základy C, pochopit, jak vůbec programování funguje, jak se to ukládá všechno do paměti, atd. (takže začít s proměnýma, přes cykly, funkce, pole, dynamickou/statickou alokaci paměti přejít až ke strukturám). Mno a po těhle základech přejít na C++, kde začneš s menšími rozdíly mezi C a C++ (jako výše zmíněný vstup a výstup) a potom pokračovat s třídama (což je hlavní rozdíl mezi C a C++), přetěžovat operátory, a postupně se propracovat až k dědičnosti.
S maníkem musím nesouhlasit - ano, java je neefektivní ať už z hlediska paměti, tak z hlediska rychlosti. Když umíš C++, tak umíš 90% javy, ano, ale zpětně to tak nefunguje. Pro C/C++ je ta práce s pamětí nesmířně důležitá a i když se může zdát zezačátku složitá, tak ve výsledku je to silná stránka C/C++, které jako programátor můžeš využít (a osobně si nedokážu představit programování bez ukazatelů :D ). Krom toho C (potažmo C++) dokáže nahradit téměř jakýkoli jiný programovací jazyk. A i když obecně mají programátoři v jave o něco málo vyšší plat, daleko víc záleží na tom, jak svoje schopnosti dokážeš prodat a kde budeš dělat.
0

#18 User is offline   Mr.Manik 

  • Group: Registrovaný člen
  • Posts: 376
  • Joined: 30-June 11

Posted 17 December 2013 - 09:17 PM

no já taky začínal C/C++ a s tím jak to funguje zpětně mi cpali na každým rohu, tak to tak i beru :)
Kazdopadne ukazatele jsou presne to co me prvne od programovani odradilo...nez sem na ne narazil, tak pohoda...a pak zasek :D
0

#19 User is offline   Xaverius 

  • Hlavní korektor
  • Group: Mystiq Times
  • Posts: 945
  • Joined: 01-November 09

Posted 17 December 2013 - 11:48 PM

Po celém prvním semestru programování... myslím že vám rozumím ještě míň než bych vám rozuměl kdybych to nedělal. Neumím programovat a mám to ověřené v praxi :D.
0

#20 User is offline   Dawy 

  • Daemonica CT - Druid
  • Group: WoW Tester
  • Posts: 288
  • Joined: 28-November 09

Posted 18 December 2013 - 02:18 AM

jasný, ono ukazatele je na C/C++ asi to nejtěžší :D ale je to i základ a bez nich to nejde :D Věřím, že to může dost lidí odradit. Hlavní je nedát se a když něco nefunguje, tak vyzkoušet kombinace referencí (*) a dereferencí (&) dokud to fungovat nebude (i když někdy to chvíli trvá, než vyzkoušíš něco jako void*(*)(void*) - to je třeba ukazatel na funkci :D )
0

  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

6 User(s) are reading this topic
0 members, 6 guests, 0 anonymous users


TOPlist