Jak efektivně začít? – Funkcionální programování – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak efektivně začít? – Funkcionální programování – Fórum – Programujte.comJak efektivně začít? – Funkcionální programování – Fórum – Programujte.com

 

Marek
~ Anonymní uživatel
521 příspěvků
9. 8. 2013   #1
-
0
-

Zdravím,

již dlouho si přeji naučit programovat. Zajímalo by mě tedy jakým jazykem bych měl začít, pokud chci tvořit aplikace, nikoliv stránky. Rád bych časem dělal různé módy do her nebo něco podobného.. Stránky jsem tvořit zkoušel, ale nijak mě to nezaujalo, čili jsem u toho nevydržel. Nemám žádné znalosti ohledně programování a matematika je moje velmi velmi slabá stránka, přes všechny pokusy pochopit složitější věci v matematice jsem pohořel.. i přesto, že mám alespoň, tedy doufám, trochu logické myšlení je pro mě matika těžká.. čili se chci taky zeptat zdali není zbytečné začínat bez znalosti matematiky a v mém věku(17), zdali není pozdě.

Rád bych začal nějakým programem, který bude mít pro mě budoucnost a hned mě neodradí.. byl bych také rád, jestli byste mi nedoporučili nějakou knížku či stránku kde bych se mohl krok za krokem učit a zlepšovat..  :)

Děkuji..

Nahlásit jako SPAM
IP: 88.100.198.–
KIIV
~ Moderátor
+43
God of flame
9. 8. 2013   #2
-
0
-

Matika na urovni zakladky a stredni je v prve rade spis na pochopeni "vyuzivani" predchozich poznatku k necemu dalsimu - tj. spojovat si veci dohromady (ikdyz neni to zrovna moc casto takhle podano)

Programovani je o tom samym.. umet si rict "chci dosahnout tohoto"  a pak "budu asi potrebovat toto, toto, toto a mozna i toto... " prostudovat a pak to dat dohromady...  to same, jako kdyz se resi matematickej vyraz...

Jen programovani je narocnejsi v tom, ze narozdil od mozku si pocitac nepamatuje nic, co mu nereknes, malo kdy si neco domysli a hlavne neudela nic co mu nereknes jak ma provest.. jak ma postupovat... (jako recept v kucharce jen podrobnejsi)

kazdopadne bych se rovnou rozloucil na nejakej cas s vecma jako mody do her...

zacit s konzoli, ruzny nacitani, vypocty a tak.. a vypsat vysledky... pak se teprve da posunoutt na neco slozitejsiho

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Marek
~ Anonymní uživatel
521 příspěvků
10. 8. 2013   #3
-
0
-

Děkuji za odpověď.

Je mi jasné, že potřebuji pro programování logické myšlení a představit si vše "rozloženě".. ale mě právě zajímá, jakým jazykem bych měl začít.. Přemýšlel jsem o "C", ale nevím, zdali to je moudrá volba pro mne. Zkrátka bych rád začal něčím co bych později nějak uplatnil. Je mi taky jasné, že ze začátku nebudu tvořit žádné módy, to může přijít třeba za rok-dva, ale právě bych se rád k tomu nějak dopracoval, čili začal nějakým jazykem.. a později dejme tomu přešel na jiný, který by měl k té tvorbě aplikací/módů již blíže.

Nahlásit jako SPAM
IP: 88.100.198.–
Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
11. 8. 2013   #4
-
0
-

Já doporučuji učit se od strojového kódu. Jelikož tak budeš přesně vědět, co se pod těmi pěknými slovy nahoře děje. Každopádně budoucnost leží v dotazovacích jazycích, či virtuálním stroji. Dotazovací jazyky pro jejích nejvyšší abstrakci, která dokonce pohřbila potřebu cyklů atd. Virtuální stroj zase pro jeho přenositelnost díky kompilaci stále do vyššího jazyka. Jazyky kompilované přímo se budou zase hodit všude tam, kde tu rychlost prostě potřebujete - a těch míst již moc není. Přeso mě nikdo nepřesvědčí, jak je efektivní našprtat se jen nějaký ten syntax a vpodstatě se ani víc dozvědět nejde, jelikož se o vše ostatní postará za programátora automatizace. K čemu ten programátor je? Jaké mám mít jako myšlení? Copak to šestiletá holčička nedokáže napsat prá sloních spojení? Dnes můžou a také, že programují naprostí tupí lidé. Stačí se jen podívat do zdrajáků, které nabídne Google po dotazu na nějaký ten Git. Týká se to všech oblastí programování, všech paradigmat atd. Když jsem se kdykoliv obrátil proti těmto hrůzám, byl jsem poslán kamsi, že prý je to moderní, že vůbec nevadí, že je program nekvalitní, nebezpečný atd., že je výhodné, když je programátor debil, ale že vydá 2 000 000 000 aplikací - stačí prý, když 20 jich jede alespoň trochu správně. Nikdo mi ale nabyl schopen odejmoun názor, že lepší je umět programovat do hloubky (jak jsem psal - až do strojáku) - a tak vydat méně programů, ale bezpečných, dodržujících dané paradigma atd.

Pokud si se nerozhodl co přesně chceš dělat, tak si najdi svojí logiku. Aristokratickou, matematickou. deduktivní, středověkou, výrokovou... A pak si k ní dohledej paradigma. Dále si promysli, zda-li chceš deklarativní přístup, imperativní, paralelní,... Budoucnost má rozhodně funkcionální programování - ovšem mimo standardní PC. Spíše robotika - AI... (umělá inteligence) Viz. CommonLisp. Lze říci, že dělat do Desktopu/PC obecně je dnes již ztrátou času. Neboď lidi už ani neví co by roupama. Nikdo mi ani nezdůvodnil, proč chtít 64bit nadstavbu instrukční sady. Nač mít tolik tun HDD, RAM, jader,... Já si programuji v té své konzoli v UnixWare - bitový rozsah mi bohatě stačí 32bit - a kdyby plný registr byl již 16bit, vůbec by mi ten 32bit nechyběl. Po nějakém Unity atd. - zlatá konzole... Prostě tahle doba je šílená - každý chce mít co nejvíc úplně všeho. Já si místo našel, zastavil a dál nic nechci...

Nahlásit jako SPAM
IP: 78.136.150.–
Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
11. 8. 2013   #5
-
0
-

pár slovních spojení

Nahlásit jako SPAM
IP: 78.136.150.–
Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
11. 8. 2013   #6
-
0
-

zdrojáků

Nahlásit jako SPAM
IP: 78.136.150.–
KIIV
~ Moderátor
+43
God of flame
11. 8. 2013   #7
-
0
-

Tak kdyz uz by se ucil assembler, tak mozna radsi pro nejaky procesor, kde neni moc instrukci... nejaky PIC jednocipy :)

Chce to pak ale dokola procitat instrukcni sadu a rikat si, k cemu by se to mohlo hodit... (ci si rovnou zapsat co to dela)

Ja osobne sem zacinal v pascalu, pak javascript a nejaky dalsi obskurdni jazyky... (u js nebylo spatny mit doplnovani moznosti - a trochu odhad co jaka funkce muze asi tak delat). Tusim i nejaky mIRC scripty. Pak teprve assembler pro ty jednocipy, C, C++, Perl  (jak clovek zna algoritmizaci tak je jazyk nedulezity) - jen je dobry pamatovat, ze zadny programovaci jazyk neni vhodny na vse.

Na scripty pouzivam perl, na sitovy programovani C++ (na jednoduchy simulatory klidne perl), na zajebani cely ramky Javu....

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
11. 8. 2013   #8
-
0
-

Z logiky je nesmyslné učit se instrukční sadu. O to mi nejde. Psal jsem - syntax a spol. jsou k ničemu, když neumíš programovat. Proto zaprvé má smysl sada AMD/Intel 2000+. A za druhé - jde tu o programovací principy. Skoky, přerušení, adresace, čtení zařízení, VGA výstup, TTY výstup, zásobník,... Chráněný a Real-Time režim. Atd. Takže ne přímo instrukce... Také doporučuji se vrhnout na pochopeení OS - tedy od MBR, které vybere VBR, které načte kernel, který načte features, které spustí... Pak totiž až napíše slovo ze syntaxe ve vyšším jazyku, bude vědět, že se tam dole stane to a to - a hlavně - použije se ten a ten registr, spotřebuje to tolik a tolik CPU, bude to trvat tak a tak dlouho,... O tohle mi jde - vědět, zda-li použít v tomto bodě toto, nebo tamto řešení. A ne jenbodat prstem a říkat si - tak teď by se asi hodilo... Dále bude chápat, kdy se hodí kompilovaný, kdy interpretovaný, kdy funkconální. kdy OOP, kdy... Prostě mít tyto objektnivní znalosti pro výber toho nejlepšího řešení. Výsledná aplikace pak nebudě změné náhodných instrukcí tak, jak to danému jedinci zrovna přišlo pod ruku. Vůbec by také nebylo špatné podívat se na věci jako je Hardware - umět si PC postavit, principy PC - co se stane po stisknutí tlačítka start atd. Takového člověka by mi bolo ctí nazývat programátorem...

Nahlásit jako SPAM
IP: 78.136.150.–
Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
11. 8. 2013   #9
-
0
-

nebude změtí

Nahlásit jako SPAM
IP: 78.136.150.–
Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
11. 8. 2013   #10
-
0
-

bylo

Nahlásit jako SPAM
IP: 78.136.150.–
Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
11. 8. 2013   #11
-
0
-

Co se týče AI, tam je asi největší hec překonat Argument čínského pokoje... Pročež je tuplem výhodné soustředit se mimo PC. Roboti již dnes vaří, perou,... Dokonce už existují i chůvičky. (ne ty vysílačky) Samozřejmě - v jaké asi zemičce... Takže v Česku je v této oblasti místa...

Nahlásit jako SPAM
IP: 78.136.150.–
LukoSS
~ Anonymní uživatel
73 příspěvků
11. 8. 2013   #12
-
0
-

#4 Matěj Andrle
Zase odrazuješ začátečníky? Proč by se proboha měl učit nejprve strojový kód? Co z toho bude mít? Akorát si řekne, že programování je pro něj příliš složité a přestane se o něj zajímat.

#1 Marek
Programovat lze i bez velkých znalostí matiky. Záleží totiž na tom, co člověk programuje. Věk také nehraje roli, i když je samozřejmě pravda, že čím dříve se k tomu člověk dostane, tím je to pro něj lepší.

U módů do her nejde napsat jeden jazyk, který bys k tomu mohl použít. Vždycky záleží na tom, v čem je ta hra napsaná a jaké využívá technologie.

Vyber si nějaký jazyk, projdi si k němu nějaké tutoriály nebo si kup knížku. Až si zvolený jazyk trochu osvojíš, tak se pusť do programování jednoduchých věcí jak píše KIIV. Jaký jazyk si vybereš není až tak podstatné, ale osobně bych doporučil buď C#, Javu, Python, nebo případně Pascal. Naopak se vyhni VisualBasicu a PHP, protože u nich si vytvoříš velice špatné návyky, které by ti pak komplikovaly přechod k jiným jazykům.

Nahlásit jako SPAM
IP: 88.103.252.–
Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
11. 8. 2013   #13
-
+1
-
Zajímavé

Tohle je realita - ne pohádka. Programování nemá být lehké. Matematiku by jsi měl ovládat dokonale. Funkconální programování bez matematiky? Ne - nebudu mu servírovat výplody něčí fantazie. Jak jsem psal - ano - můžeš být vypatlaný a psát jen nějaká slova. Nebo můžeš být programátor a programovat. Když se naučí syntax a co přibližně každé slovo dělá - sotva z toho slepí program. Ale neudělá program bezpečný, plnící normy,... Že něco jde, neznamená, že je to správné. Můžeš třeba někoho zabít - přesto se to nepovažuje za dobrý skutek. Neznalec matematiky a programování může stejně tak dělat programy...

Nahlásit jako SPAM
IP: 78.136.150.–
Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
11. 8. 2013   #14
-
0
-

Otázka zněla takto:

Jak efektivně začít?

Nepovažuji za efektivní stát se programátorem, kerých je nyní všude více, než obyčejných uživatelů. Být Programátor - to už je jiná...

Nahlásit jako SPAM
IP: 78.136.150.–
LukoSS
~ Anonymní uživatel
73 příspěvků
11. 8. 2013   #15
-
0
-

#13 Matěj Andrle
Ty neustále vycházíš z předpokladu, že každý, kdo se chce naučit programovat, se chce stát profesionálním programátorem. Možná tomu nebudeš věřit, ale existují i lidé, co mají programování jako koníček, a takovým lidem bohatě stačí, když se naučí jazyk typu Java nebo C# a budou si v tom dělat, co je napadne. Ale i když to člověk myslí s programováním vážně, tak neexistuje jediný důvod, proč by se měl nejprve učit strojový kód..

Efektivně začít právě znamená neučit se vše najednou, ale jít na to postupně. Nejprve je potřeba pochopit základní věci jako proměnné, podmínky, cykly... Až potom je možné procvičovat algoritmizaci. Až je člověk schopný něco naprogramovat, tak má smysl se učit psát přehledný a čitelný kód. Teprve v této fázi má pro daného člověka smysl, aby se zajímal o nějaké standarty, bezpečnost a podobně.

To tvoje přirovnání se zabíjením je samozřejmě úplně mimo. Já bych spíš přirovnal ty tvoje rady k tomu, když by ti někdo řekl, že se chce naučit řídit auto, a ty bys mu řekl, ať se nejprve dopodrobna naučí, co každá součástka v autě dělá, a v ideálním případě ať si nejprve sám nějaké auto postaví. Teoreticky se to může jevit jako správný přístup, ale v praxi je to naprostá blbost.

Nahlásit jako SPAM
IP: 88.103.252.–
Marek
~ Anonymní uživatel
521 příspěvků
13. 8. 2013   #16
-
0
-

Tak jsem se tedy rozhodk, ze zkusim zacit s C#. Snad jsem si tedy nevybral spatne. Celkove me uz delsi dobu lakalo, tak snad ho zvladnu. Chtel bych se jeste zeptat. Nevedel by tu nekdo o nejake dobre knizce co by mi dala krok po kroku alespon zaklad toho C# ? Idealne bez zbytecnych slozitych slov, tak abych ji chapal a take mne nestala 1000kc. Nechci to umet profesionalne, ale pochopit a naucit bych se chtel, abych zvladl casem nejake ty mensi aplikace.

Dekuji predem.. :-)

Zasláno z mobilního telefonu.

Nahlásit jako SPAM
IP: 88.100.198.–
m4r100
Návštěvník
13. 8. 2013   #17
-
0
-
Nahlásit jako SPAM
IP: 78.102.208.–
Matěj Andrle
~ Anonymní uživatel
1347 příspěvků
14. 8. 2013   #18
-
0
-

Ne - nejlepší je devbook.cz... (Komunita programátorů ti poradí více, než tupý text...)

Nahlásit jako SPAM
IP: 78.136.150.–
Marek
~ Anonymní uživatel
521 příspěvků
14. 8. 2013   #19
-
0
-

Děkuji. 

Podívám se na tu knížku.. Jinak ten devbook vypadá taky dobře, dokonce tam je i nějaký kurz.. což by nemuselo být špatné.

Nahlásit jako SPAM
IP: 88.100.198.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

Podobná vlákna

Jak začít? — založil

Jak začít — založil bohetik

Jak začít s c — založil bohetik

Jak začít — založil bohetik

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý