Fórum Root.cz

Práce => Studium a uplatnění => Téma založeno: reider 31. 01. 2021, 22:48:38

Název: Jak začít programovat od nuly?
Přispěvatel: reider 31. 01. 2021, 22:48:38
Ahoj, mám zájem o to naučit se nebo začít programovat v nějakém jednoduchém jazyce, tak abych se od toho odpíchnul uvažoval o prvním programovaní v Pascalu jenže jsem zjistil že tento programovací jazyk je dnes mrtvý stejně s Basicem, že pro dnešní systémy jsou nevyužitelné, stejně jako učení se algoritmizace, kteté se podle jednoho známýho hodí spíše na výuku matematické informatiky pro vědce než na aplikovanou a tak mě zaujalo C# a Java. Myslíte že by tyto 2 jazyky byly dobrý pro začátek?
Název: Re:Jak začít programovat od nuly?
Přispěvatel: 8B3CE273 31. 01. 2021, 23:09:16
S takovym pristupem muzes jit patlat frontendy v takovem javasriptovem frameworku, ktery je zrovna ten tyden zrovna popularni
Název: Re:Jak začít programovat od nuly?
Přispěvatel: _Jenda 31. 01. 2021, 23:14:39
Já bych osobně spíš volil Python, zejména pokud máš rád Unix/Linux, ale Java a C# jsou taky v pořádku. Hlavně proboha nezačínej s C++ ;D. Naopak časem (až budeš umět základy) můžeš přidat trochu C.

Asi záleží co si představíš pod algoritmizací. Já měl za to, že jde o to, jak popsat problém a „udělat to“ pomocí příkazů tvého jazyka (podmínky, cykly). To budeš potřebovat naprosto bezpodmínečně. Je možné, že spíš myslíš algoritmy a datové struktury - jak se dělá stom, hashtable, jak funguje sort, procházení grafu… To asi na začátku potřebovat nebudeš a možná ani později (záleží, co budeš programovat), ale je podle mě užitečné mít o tom alespoň nějaké základní ponětí (tj. ne na úrovni abys to dokázal sám implementovat, ale vědět, že něco takového tvůj programovací jazyk interně provádí a jaké to má vlastnosti; případně když narazíš na problém, kde to bude potřeba, tak vědět, co máš hledat).
Název: Re:Jak začít programovat od nuly?
Přispěvatel: IDontCare 31. 01. 2021, 23:47:18
Zalezi co chces programovat. Pro internet, klasicke aplikace, elektroniku nebo neco uplne jineho?
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 01. 02. 2021, 00:11:25
C# a Java. Myslíte že by tyto 2 jazyky byly dobrý pro začátek?
Ano, byly. Záleží na kontextu (jaký OS, desktop vs mobil vs web), kromě těch dvou ještě stojí za zvážení Python, Swift nebo Go.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Ink 01. 02. 2021, 10:35:55
Ahoj, mám zájem o to naučit se nebo začít programovat v nějakém jednoduchém jazyce, tak abych se od toho odpíchnul uvažoval o prvním programovaní v Pascalu jenže jsem zjistil že tento programovací jazyk je dnes mrtvý stejně s Basicem, že pro dnešní systémy jsou nevyužitelné, stejně jako učení se algoritmizace, kteté se podle jednoho známýho hodí spíše na výuku matematické informatiky pro vědce než na aplikovanou a tak mě zaujalo C# a Java. Myslíte že by tyto 2 jazyky byly dobrý pro začátek?

C# neni jednoduchy jazyk a Java je hodne o frameworcich a ekosystemu okolo - tyhle dva jazyky Te spis nasmeruji do korporatu, kde budes mastit C# nebo Javu az do smrti, nez aby ses posouval dal (je to samozrejme moznost, pokud chces). Pokud chces jednoduchy jazyk "pro zacatek", zkus radsi Python, samozrejme aktualni, tedy 3.9. Podobnych moznosti je vic, ale Python je oblibeny a docela hodne zadany. A hlavne, mas po ruce vetsinu knihoven, ktere budes potrebovat. Dalo by se ale jit i cestou JS/TypeScriptu.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: okalousek 01. 02. 2021, 11:29:35
Ano, byly. Záleží na kontextu (jaký OS, desktop vs mobil vs web), kromě těch dvou ještě stojí za zvážení Python, Swift nebo Go.

S Go se nedá moc psát desktop, hry, ani mobilní.
Se Swiftem jde hlavně cílit na Apple platformu. Ač je to moc pěkný jazyk, tak ostatní platformy na tom drhnou.
Python je takový univerzální, desktop a hry v něm dělat lze, funguje všude a Android se jakžtakž dá.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mlocik97 01. 02. 2021, 11:54:12
Ano, byly. Záleží na kontextu (jaký OS, desktop vs mobil vs web), kromě těch dvou ještě stojí za zvážení Python, Swift nebo Go.

S Go se nedá moc psát desktop, hry, ani mobilní.

Tak určite, preto poznám minimálne 4 aplikácie v Go čo sú desktopové aplikácie (aj s GUI), vôbec neexistuje možnosť v Go využiť GTK že? Prečo potom GTK má priamo na stránke "Go bindings (https://www.gtk.org/docs/language-bindings/)" pre Gtk3, Ani na mobil není možné spraviť v tom appku že? Len ja ti ju nejak dokážem vytvoriť za pol dňa aspoň nejakú primitívnu TODO ak chceš.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 01. 02. 2021, 12:11:24
Se Swiftem [...] je to moc pěkný jazyk, tak ostatní platformy na tom drhnou.
Linux nedrhne, jen Windows. Ale s tím “pěkný” moc nesouhlasím, pěkný je třeba v mnoha ohledech Rust, jen teda asi není moc vhodný pro začátečníka.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: bmn 01. 02. 2021, 12:14:41
abych se od toho odpíchnul uvažoval o prvním programovaní v Pascalu jenže jsem zjistil že tento programovací jazyk je dnes mrtvý

Ne, Pascal není mrtvý, dodnes se v tom píše spousta aplikací, koukni na https://www.lazarus-ide.org/ Pokud jsi dřív v Pascalu psal, tak na rozjezd to může být dobré. Pokud jsi v něm nepsal, tak není moc důvod s tím teď začínat - není to úplně špatný jazyk a prostředí, dost se to od těch starých verzí posunulo k lepšímu, ale jestli k tomu nemáš žádný vztah a důvod to použít, tak jsou lepší možnosti.


na aplikovanou a tak mě zaujalo C# a Java. Myslíte že by tyto 2 jazyky byly dobrý pro začátek?

Java je určitě dobrá volba. Zejména pokud chceš dělat serverové a webové aplikace.

Hlavně proboha nezačínej s C++ ;D.

Tohle jsou takové výkřiky lidí, co zamrzli někde 25+ let v minulosti. Moderní C++ je velmi slušný jazyk, dá se v něm programovat bezpečně, výkonné aplikace, existuje pro něj spousta vyspělých a léty prověřených knihoven, dá se z něj přímo pracovat s céčkovými knihovnami. Máš pro něj dobrá IDE (QtCreator, CLion atd.) a další infrastrukturu. Je to prostě zralá a odladěná platforma, podobně jako ta Java, vhodná pro lidi, kteří chtějí udělat reálnou práci a ne jen exhibovat na internetových fórech.

Pak je tu ještě D, které je čistější a mladší než C++, ale méně rozšířené. Rust asi spíš ne, protože ten svojí komplexitou snad i předčil C++, zralostí ho zatím nedohnal a zda to ty výhody převáží, to je sporné. Případně lze uvažovat ještě o Go, ale to je zase na opačné straně spektra - až moc jednoduché a omezené a nevím, jestli by ti vyhovovala kultura kolem něj.


Naopak časem (až budeš umět základy) můžeš přidat trochu C.

C je prakticky nejhorší možnost ze všech a pro vývoj aplikací se nehodí. Pokud programuješ linuxový kernel nebo nějaké jednočipy, tak se tomu vyhnout nejde, ale je to prostě zlo - nebezpečné, neefektivní, musíš psát hromady zbytečného kódu, abys vyřešil úplně triviální věci. V tom se pak programátoři ztrácí a dělají chyby. Pokud budeš mít zadání, že program má úzce spolupracovat s kernelem/hardwarem a má jít přeložit minimalistickým C kompilátorem bez dalších závislostí, tak ti nic jiného nezbude... ale jinak je to fakt špatná volba. Oproti tomu C++ nebo D jsou moderní a efektivní jazyky, ve kterých můžeš napsat i knihovnu s céčkovským API (tzn. nemusíš psát v céčku, abys vystavil céčkovské API), případně ten Rust (byť je hodně komplexní a poněkud obskurní).
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 01. 02. 2021, 13:04:08
Rust asi spíš ne, protože ten svojí komplexitou snad i předčil C++
To je hodně odvážném tvrzení, co je v Rustu složitější než v C++?
Název: Re:Jak začít programovat od nuly?
Přispěvatel: frantaN49 01. 02. 2021, 13:05:53
Nejdřív si stanov cíl. Chceš programovat webovky, desktopové aplikace, hrát si s grafikou?

webovky: html, css, javascript + php nebo jsp (java) + sql
desktopové aplikace: java, python, c++

Pokud chceš pascal, tak ten se využívá v delphi, ale to už není tak populární jak dříve. Teď bych radši začal s něčím jiným.

Podle toho co chceš dělat, tak si vyber nějaké jazyky a něco si v nich zkus, třeba to obvyklé "hello world", ať vidíš jaká je kde syntaxe a co myslíš, že ti sedne nejvíc.

Pak hlavně v tom jazyku musíš něco dělat. Vymysli si složitější projekt a zkus jej postupně dotáhnout do konce (eshop, kalkulačka, jednoduché hry - např. piškvorky s hrou proti počítači). Nejdřív vytvoř základy a postupně přidávej na složitosti.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Radovan . 01. 02. 2021, 13:54:27
Pascal není mrtvý a navíc je pro úplného začátečníka velmi vhodný. Sice není velká šance že se s ním v budoucnu uživíš, ale v dialektu Pascalu se programuje řízení technologických provozů včetně jaderných elektráren. Pro začátek od nuly můžeš použít i tohle: http://karel.oldium.net/ (http://karel.oldium.net/)

Dnes můžeš stejně tak použít Scratch a Python, ale pokud si myslíš že v budoucnu vystačíš s jedním jazykem i jako profesionál, tak zkus patlat weby v Javascriptu. To je sice doména těch největších zoufalců, zato velmi perspektivní ;D
Název: Re:Jak začít programovat od nuly?
Přispěvatel: black3r 01. 02. 2021, 14:13:01
1. nauc sa dobre anglicky
2. https://github.com/ossu/computer-science (kludne preskoc matematicke zaklady, ak ta nezaujimaju odvetvia, kde ich budes potrebovat (umela inteligencia, datova veda, pocitacova grafika, robotika, teoreticka informatika, ...)

dnes sa vo vseobecnosti odporuca zacinat s nejakym jednoduchym jazykom, kde neexistuju datove typy a rozne obmedzenia (napr. python/javascript, prip. pre deti scratch) aby sa clovek naucil zaklady algoritmizacie, cykly, rekurziu, rozmyslanie nad problemom pred tym, ako zacnes pisat kod, ....,

a potom v ramci zakladneho vzdelania sa naucit zaklady aspon jedneho typoveho objektoveho (Java/C#) a aspon jedneho funkcionalneho jazyka (Haskell/Racket/Lisp/Clojure) + nejake tie zaklady z kazdeho rozku trosku, aby si sa vedel pozriet na problem z roznych uhlov pohladu a vedel sa dorozumiet s kolegami, co robia na inych castiach projektu ako ty...,

samozrejme, ak chces len buchat frontendy v HTML a CSS pripadne kde tu nejaky JS tak zacni rovno s tym...,
Název: Re:Jak začít programovat od nuly?
Přispěvatel: okalousek 01. 02. 2021, 14:22:15
Se Swiftem [...] je to moc pěkný jazyk, tak ostatní platformy na tom drhnou.
Linux nedrhne, jen Windows. Ale s tím “pěkný” moc nesouhlasím, pěkný je třeba v mnoha ohledech Rust, jen teda asi není moc vhodný pro začátečníka.
Tak se Swiftem jsem nikdy nedělal, jen slyšel. Ale Rust je skvělý jazyk, mám ho hrozně rád, jen pro začátečníka křivka učení je zpočátku strmá, ale když pochopíte koncept vlastnictví, tak už to jde samo. Komunita je hodně přátelská. Takže, pokud chcete nejprve se naučit základy tak začít Pythonem a poté se naučit Rust 😉
Název: Re:Jak začít programovat od nuly?
Přispěvatel: František Ryšánek 01. 02. 2021, 14:42:13
Hlavně proboha nezačínej s C++ ;D. Naopak časem (až budeš umět základy) můžeš přidat trochu C.

Můj vývoj: v osmdesátých letech jsem zahlédl tu a tam útržky 8080/Z80 ASM na papíře. První vlastní PC v roce 1992, do té doby jsem měl páječku. Na PC začátky basic, pascal - z obojího rozpačité pocity (v tehdejší době špatná dokumentace, nebyl internet). Ve škole mi půjčili jednu knížku = referenční příručku k Turbo Assembleru (Borland, x86, syntaxe Intel) - to bylo zajímavé čtení, ale nekompletní, napsat podle toho něco se moc nedalo. V knihovně jsem začátkem devadesátek narazil na český překlad (?) Kernighan+Ritchie C - to byla poezie. Konečně nějaký jazyk dobře vysvětlený a relativně úsporný. Ale v té době jsem se nedostal k překladači. To až později, patrně na vejšce... (1995 nebo tak nějak). Pořád jenom Borland, ale oproti Pascalu labůžo. Konečně jazyk, který z člověka nedělal blbečka, měl kompletní sadu operátorů pro bit-banging, bohatou sadu datových typů blízkých "stroji". Pro mne bylo Céčko od té chvíle "jazyk, podle kterého se Pascal opičí a stydí se za to" - a na vejšce byly první povinné kurzy algoritmizace v čem? V pascalu :-( Teprve když jsem se dostal ke konci 90.let k Linuxu, pohltilo mě céčko doopravdy - v podobě "GNU ekosystému". Spousta examplů a další dokumentace. Objevil jsem celý svět s poměrně dlouhou historií, která vedla třicet let zpátky někam do Bell Labs... žůžo. C++ jako nadstavba céčka... jo, to se dalo pochopit a uchopit. Takže už ne gcc ale g++. A knížky kolem toho. Konečně v GNU světě jsem začal ostře rozlišovat C od C++ tzn. která z těch dvaceti různých funkcí, jak poslat znak či řetězec na standardní výstup, je ještě céčko, a která už je C++. (Protože Borlandí IDE podporovalo C i C++ a moc mezi tím nerozlišovalo.) Zrovna v tu chvíli mi v práci začla přicházet i smysluplně velká zadání, přestože "do šuplíku" / mimo popis práce. Objektové přístupy začaly dávat smysl. Ve škole základní věci v rovině algoritmizace - datové struktury, jak to jde dohromady s alokací paměti apod.

Od té doby když vidím cokoli závorkovatého odvozeného od C, tak se zhruba orientuji, ale pokaždé si říkám "nojo, tohle je wrapper okolo libc, a není moc povedený ani kompletní" nebo "aha, takže integer, ale délku a znaménko řešit nemám" nebo "jasně, máme garbage collector, takže po sobě neuklízíme a jsme na to pyšní" apod. Ale že by mě něco chytlo u srdíčka víc, než C/C++, jakožto programovací jazyk, tak to ani náhodou.

Potkal jsem v pozdějším věku i Pascal na holém železe, v jedné takové retro-údržbě, a s dnešní dokumentací jsem se dozvěděl o spoustě syntaxe, kterou v základních učebnicích Pascalu nenajdete, přestože ji Borland podporoval zřejmě už dávno - a která doplňuje právě ty věci, kterými se Céčko nijak netají a nikdy netajilo. Přesto ani v tomto kompletnějším skupenství mě Pascal za srdíčko nechytil. A pokud se týče Pythonu... pohyblivý cíl, neúplné wrappery okolo céčkových knihoven a syscallů, garbage collection, bloatware, instalační systém stižený vleklou revolucí... nic pro mě :-)

Ale já jsem "jinej". Jednak jakožto programátor věčnej hobbík, jednak jsem byl asi povahou systémák ještě než jsem si poprvé šáhnul na klávesnici.

Vybírejte si nástroje podle zadání, které dostanete - resp. podle hobby námětu, který Vás oslovil svou šťavnatostí.

Nebojte se číst, nebojte se experimentovat. Nebojte se debatovat! :-) Když čtete, nebojte se překakovat věci, které zatím nechápete, nebo nepotřebujete. Případně knihu odložit v půlce, pokud je jedněch nebo druhých věcí náhle většina. Dost možná je vinou autora, že zábava náhle uvadá - nebo se Vám prostě další kapitoly už nestrefily do vkusu.

A souhlasím s Jendou, že je blbost začínat ausgerechnet C++, dokud člověk nezná céčko. Tzn. pořídit si knihu, která začne hezky zostra rovnou vychytávkami C++ (a jaksi samozřejmě předpokládá, že člověk je Céčkem už načichlý). V takové situaci bych asi taky reagoval "WTF". Mimochodem starší kniha Thinking in C++ od Bruce Eckela tuším začíná pár kapitolami o Céčkových základech. Tu bych si jako první čtení dokázal i představit...
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 01. 02. 2021, 14:43:58
Rust je skvělý jazyk, mám ho hrozně rád, jen pro začátečníka křivka učení je zpočátku strmá
Moje řeč, ale stojí to za to.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: okalousek 01. 02. 2021, 17:20:43
Rust je skvělý jazyk, mám ho hrozně rád, jen pro začátečníka křivka učení je zpočátku strmá
Moje řeč, ale stojí to za to.

A s metaprogramováním (makra) v podstatě můžete udělat cokoliv.
-- edit: A vážně to není textová substituce jako v C/C++ ale opravdu makra.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: jehovista2 01. 02. 2021, 17:59:08
Pascal není mrtvý a navíc je pro úplného začátečníka velmi vhodný.

Kdyz ctu podobne hlody, tak vzdycky premyslim, jestli je za tim neznalost, nebo snaha o preventivni odstraneni konkurence z trhu prace. Proc je proboha Pascal vhodny pro zacatecnika? Protoze to uz 30 let ruzni lide omilaji?
Název: Re:Jak začít programovat od nuly?
Přispěvatel: qelurg 01. 02. 2021, 18:03:40
Ano, byly. Záleží na kontextu (jaký OS, desktop vs mobil vs web), kromě těch dvou ještě stojí za zvážení Python, Swift nebo Go.

S Go se nedá moc psát desktop, hry, ani mobilní.

Tak určite, preto poznám minimálne 4 aplikácie v Go čo sú desktopové aplikácie (aj s GUI), vôbec neexistuje možnosť v Go využiť GTK že? Prečo potom GTK má priamo na stránke "Go bindings (https://www.gtk.org/docs/language-bindings/)" pre Gtk3, Ani na mobil není možné spraviť v tom appku že? Len ja ti ju nejak dokážem vytvoriť za pol dňa aspoň nejakú primitívnu TODO ak chceš.

Zahrada lze taky zrýt lopatou, ale že by to byl dobrý nápad, to se říct nedá.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Ink 01. 02. 2021, 18:06:17
A souhlasím s Jendou, že je blbost začínat ausgerechnet C++, dokud člověk nezná céčko. Tzn. pořídit si knihu, která začne hezky zostra rovnou vychytávkami C++ (a jaksi samozřejmě předpokládá, že člověk je Céčkem už načichlý). V takové situaci bych asi taky reagoval "WTF". Mimochodem starší kniha Thinking in C++ od Bruce Eckela tuším začíná pár kapitolami o Céčkových základech. Tu bych si jako první čtení dokázal i představit...

Prakticky všechno, co je z C++ dneska rozumně použitelné, je od C na míle daleko. Ten jazyk by byl docela fajn, kdyby z C původně nevyšel.  ;D
Název: Re:Jak začít programovat od nuly?
Přispěvatel: qelurg 01. 02. 2021, 18:10:05
C je základ, to by měl znát každý profi programátor, ale ne jako první jazyk. Začít pythonem je dobrá první volba, pravděpodobně ta nejlepší.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: xyz 01. 02. 2021, 18:28:46
Jdes na to spravne. Krome nuly jeste potrebujes jednicku  :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 01. 02. 2021, 18:32:04
Rust je skvělý jazyk, mám ho hrozně rád, jen pro začátečníka křivka učení je zpočátku strmá
Moje řeč, ale stojí to za to.
A s metaprogramováním (makra) v podstatě můžete udělat cokoliv.
-- edit: A vážně to není textová substituce jako v C/C++ ale opravdu makra.
Právě ta makra mě v Rustu příjemně překvapila, zrovna něco takového mi v C++ častokrát chybělo.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: alex6bbc 01. 02. 2021, 18:37:50
ja souhlasim, ze java/python jsou uzitecne, ale jestli chces znat vnitrnosti a videt dovnitr,
tak jako stary dedek funguju pomoci C, C++

z modernich jazyku se mi libi prave GO, protoze na tom delaji borci z delali v bellovych laboratorich.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Ondrej Nemecek 01. 02. 2021, 19:59:29
Hlavní je, aby to člověka bavilo. První kód by se měl odehrávat na pár řádcích. K tomu stačí F12 a jít do javascriptové konzole prohlížeče. I když nemám javascript moc rád, je od verze ES6 docela použitelný a rozhodně není jen pro chudáky.

Pár nápadů pro edukativně laděné programování:


Další možnost je najít reálný úkol, který chcete vyřešit a tam začít. Vhodný nástroj se jistě najde (necháte si poradit). Je vhodné mít někoho k ruce kdo pomůže, pokud člověk uvízne.

Každý jazyk má určité vlastnosti a také kulturu či filosofii. Většina běžných jazyků se dá použít ve více oblastech. jednou možností z mnoha je se věnovat jvm jazykům (https://en.wikipedia.org/wiki/List_of_JVM_languages) , protože sdílejí společný ekosystém (používám java a groovy). Do C bych nešel, ale hodí se pár lekcí pro lepší představu jak operační systém funguje a aby člověk ocenil komfort vyšších jazyků.  U C++ budete zakopávat na spletitou historii, i když poslední verze jsou asi dobře použitelné, historii byste se v běžné práci nevyhnul. Z podobných důvodů bych ignoroval i PHP.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Ditys Cidae 01. 02. 2021, 20:43:26
Já to vidím jednoduše - začít se učit to, kde existuje zajímavý a zdokumentovaný projekt. Tedy něco ve stylu: Jak vytvořit aplikaci pro sledování kursu měn, která doporučí optimální nákup valut před dovolenou.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: black3r 01. 02. 2021, 21:42:13
C je základ, to by měl znát každý profi programátor, ale ne jako první jazyk. Začít pythonem je dobrá první volba, pravděpodobně ta nejlepší.

C je super jazyk ktory sa podla mna oplati poznat, ale dnes uz ho vo velmi vela oblastiach netreba vobec ovladat a v tych zvysnych ho pomaly ale isto nahradzuje Rust (prip. Go). Python/Javascript prip. ine netypove jazyky su na vyucbu optimalnejsie, vacsina svetovych univerzit uz ide tymto smerom a C sa vyucuje ako druhy alebo volitelny doplnkovy jazyk...,

To, co sa vyucuje na strednych skolach sa oplati ignorovat, lebo vacsinou sa tam uci zalostne malo a ked dojdes na univerzitu zacnu ta aj tak ucit od nuly....

Já to vidím jednoduše - začít se učit to, kde existuje zajímavý a zdokumentovaný projekt. Tedy něco ve stylu: Jak vytvořit aplikaci pro sledování kursu měn, která doporučí optimální nákup valut před dovolenou.

tento pristup zvykava mat nevyhodu pre ludi, ktori ho absolvuju: casto si zacnu mysliet, ze im zaklady informatiky netreba, lebo sa dokazali rovno vrhnut do kodenia realneho projektu a potom robia kolosalne hovadiny (typicky neefektivny kod, alebo nenormalizovany navrh databaz/datovych ulozisk) a nerozumeju preco to co robia je zle (a este v horsom variante im to ziadny kolega ani nevie vysvetlit inak ako "takto sa to nerobi" a v najhorsom pripade sa na to dojde az po spusteni projektu ked sa to nasadi a zrazu to zozere vsetku RAM alebo miesto na disku v priebehu par dni.... )
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Ondrej Nemecek 01. 02. 2021, 22:02:26
Já to vidím jednoduše - začít se učit to, kde existuje zajímavý a zdokumentovaný projekt. Tedy něco ve stylu: Jak vytvořit aplikaci pro sledování kursu měn, která doporučí optimální nákup valut před dovolenou.

To u většiny projektů neprogramátor nedá. Musí to být tak jednoduchý projekt, aby to pochopil i člověk který „nic nechápe“.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: okalousek 02. 02. 2021, 10:18:10
z modernich jazyku se mi libi prave GO, protoze na tom delaji borci z delali v bellovych laboratorich.

Citace: Rob Pike
The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt"

Citace: Rob Pike
It must be familiar, roughly C-like. Programmers working at Google are early in their careers and are most familiar with procedural languages, particularly from the C family. The need to get programmers productive quickly in a new language means that the language cannot be too radical.

Název: Re:Jak začít programovat od nuly?
Přispěvatel: alex6bbc 02. 02. 2021, 10:38:22
z modernich jazyku se mi libi prave GO, protoze na tom delaji borci z delali v bellovych laboratorich.

Citace: Rob Pike
The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt"

Citace: Rob Pike
It must be familiar, roughly C-like. Programmers working at Google are early in their careers and are most familiar with procedural languages, particularly from the C family. The need to get programmers productive quickly in a new language means that the language cannot be too radical.

na GO pracuje prave ten rob pike, co delal i plan9.
PROTO je GO pro me to prave!
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 02. 02. 2021, 10:45:02
z modernich jazyku se mi libi prave GO, protoze na tom delaji borci z delali v bellovych laboratorich.

Citace: Rob Pike
The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt"

Citace: Rob Pike
It must be familiar, roughly C-like. Programmers working at Google are early in their careers and are most familiar with procedural languages, particularly from the C family. The need to get programmers productive quickly in a new language means that the language cannot be too radical.
Ono to obecně dává smysl, ale i ten nejslabší vývojář v Googlu je v porovnání se světem silně nadprůměrný, takže to “they’re not capable of understanding a brilliant language” vlastně pro googláky neplatí. Spíš prokázali službu profláklému “the average programmer.”
Název: Re:Jak začít programovat od nuly?
Přispěvatel: okalousek 02. 02. 2021, 10:53:12
z modernich jazyku se mi libi prave GO, protoze na tom delaji borci z delali v bellovych laboratorich.

Citace: Rob Pike
The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt"

Citace: Rob Pike
It must be familiar, roughly C-like. Programmers working at Google are early in their careers and are most familiar with procedural languages, particularly from the C family. The need to get programmers productive quickly in a new language means that the language cannot be too radical.

na GO pracuje prave ten rob pike, co delal i plan9.
PROTO je GO pro me to prave!

Ono je asi Go jediný moderní jazyk který na tom běží. Ale ano, plan9 je zajímavý systém. Jen pro informaci a zajímavost: jazyk Limbo, ze kterého vychází i Go z cca doby Plan 9 má i generika ;)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: ZAJDAN 02. 02. 2021, 11:24:29
Já se považuji za příležitostního hobby programátora.
Abych se to naučil, dal jsem konkrétní cíl a tím byly dvě webové aplikace, celkem robustní s napojením na SAP B1.
Tehdá jsem si vzal PHP, JavaScript.
Druhou aplikaci jsem napsal v RubyOnRails. Tady jsem pochopil, že Ruby je skvělý jazyk a Rails jsou super.

Hodně mi to dalo a pochopil jsem věci, které budou platit obecně u všech jazyků.
Každopádně já doporučuji si dát cíl, nějakou aplikaci kde si definuješ požadavky co to má dělat a na tom se to naučíš nejlépe.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: okalousek 02. 02. 2021, 11:33:47
Já se považuji za příležitostního hobby programátora.
Abych se to naučil, dal jsem konkrétní cíl a tím byly dvě webové aplikace, celkem robustní s napojením na SAP B1.
Tehdá jsem si vzal PHP, JavaScript.
Druhou aplikaci jsem napsal v RubyOnRails. Tady jsem pochopil, že Ruby je skvělý jazyk a Rails jsou super.

Hodně mi to dalo a pochopil jsem věci, které budou platit obecně u všech jazyků.
Každopádně já doporučuji si dát cíl, nějakou aplikaci kde si definuješ požadavky co to má dělat a na tom se to naučíš nejlépe.

PHP je rekurzivní akronym PHP Hurts People
Ale Ruby je zajímavý jazyk. Ale bohužel také hodně pomalý.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 02. 02. 2021, 12:31:48
z modernich jazyku se mi libi prave GO, protoze na tom delaji borci z delali v bellovych laboratorich.

Citace: Rob Pike
The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt"

Citace: Rob Pike
It must be familiar, roughly C-like. Programmers working at Google are early in their careers and are most familiar with procedural languages, particularly from the C family. The need to get programmers productive quickly in a new language means that the language cannot be too radical.
na GO pracuje prave ten rob pike, co delal i plan9.
PROTO je GO pro me to prave!
Ono je asi Go jediný moderní jazyk který na tom běží.
By mě zajímalo, kolik lidí to používá. Oni tam kromě Limba měli i vlastní dialekt céčka, který pak přeportovali na Linux a spol., aby mohli překládat překladač Go (dodnes se používá pro bootstrapping před verzí 1.5). Vlastně celý backend Go byl z Planu 9, než ho přepsali do SSA. Teď už tam z těch vykopávek straší jen asembler (rozšířený o AVX až do 512) a linker :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Jiří Havel 02. 02. 2021, 13:16:44
na GO pracuje prave ten rob pike, co delal i plan9.
PROTO je GO pro me to prave!
Nejsou důležitější vlastnosti samotného jazyka, než jeho autor? I legenda může pracovat na zadání, které se totálně míjí s mými potřebami.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: nullpainter 23. 03. 2021, 20:25:35
Projekt vyrobenej člověkem co má desítky let praxe a pracoval na velmi složitých projektech (komprese videa, ...). Vysvětluje vše co dělá a proč.

https://handmadehero.org/ resp. https://hero.handmade.network/episode/code

Autor je Casey Muratori, jeden z top programátorů, je to autor např. IMGUI nebo Bink 2 (dělal v RAD Games Tools), programuje už desítky let. Vše co píše do detailu vysvětluje a opovídá na otázky v chatu (občas se do chatu podívají i lidi jako Jonathan Blow [The Witness] nebo Sean Barret [engine k Thief Dark Project]).

Handmade Hero je o výrobě herního engine od nuly pro Windows. Herní design je daný - Zelda klon. Ukazuje triky jak nastavit projekt bez nutnosti pitomých makefiles, jak kompilovat mrtě rychle C++ kód, hot reload kódu, jak na správu paměti, meta programování, jak vyrobit procedurální guičko (imgui), nejdřív kreslí pixely a pak použije Open GL ...

Kód je v C++ (C s vybranými fičurami C++) a je pro Windows.

Kurz je zdarma, ale zdrojáky je nutné koupit za pár korun (a popravdě nejsou moc potřeba).

Nic lepšího neznám.

Ještě SICP je zajímavé minimálně příklady, něco to člověku dá ( https://mitpress.mit.edu/sites/default/files/sicp/index.html ). I když LISP je jazyk napikaču.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 23. 03. 2021, 21:09:14
I když LISP je jazyk napikaču.
Proč? Všechny jazyky konvergují k Lispu :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Kouzelný dědeček 24. 03. 2021, 11:43:29
PHP je rekurzivní akronym PHP Hurts People
Ale Ruby je zajímavý jazyk. Ale bohužel také hodně pomalý.

Tyhle narážky na PHP se vážou ke starejm verzím, od verze 5.6 se to razantně zlepšuje.

Hlavně ale kvalita kódu odpovídá kvalitám programátora. Kdysi jsem dělal v jedné české nejmenované sázkové společnosti Javu a o DI sice slyšeli, ale i nadále měli rádi statickej kód. Nejlepší tam byl logger v nějaký službě, což byla anonymní třída ve statický proprtě a staticky instancovanej, nebo jak se to nazývá... prostě
Kód: [Vybrat]
  private SomeLogger logger = new SomeLogger() {
    // ffs
  };

Já se dostal do situace, že jsem tam potřeboval předat nějakou závislost a dostal jsem obrovskou chuť někomu začít objímat rukama krk. A takovejch věcí tam byly mraky. Klasický doménový služby.. třeba CommentService o tisících řádků kódu, jedna metoda o stovkách řádků kódu.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: qelurg 24. 03. 2021, 12:57:44
To je jednoduché, ještě je potřeba se naučit jedničky a pak už to půjde.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: stribro 24. 03. 2021, 14:39:44
Abych se vrátil k původní otázce:

Myslím, že C# nebo Java jsou jako první jazyk v pohodě. Mám zkušenosti spíše s C# (můj první jazyk) a přijde mi, že nabízí dobrou rovnováhu mezi složitostí a pokročilými prvky. Zároveň člověka nutí psát určitým stylem, což je pro začátečníka ideální. Méně ideální je ta provázanost s Windows a molochem jménem Visual Studio, které byť je pro pokročilého programátora naprosto skvělým a pohodlným nástrojem, ale začátečníka může svojí komplexitou vyděsit.

Obecně vzato je úplně jedno, čím začneš - jakmile se naučíš jeden jazyk, zvládneš se relativně naučit jiný. Důležité je, mít cíl, něco, projekt, který chceš vytvořit a zbytek se naučíš. Když se člověk učí programovat jenom proto, aby se naučil programovat, většinou mu elán moc dlouho nevydrží (když padne kosa na kámen a objeví se větší problém,, na kterém se zadrhneš, je náročné udržet si elán i u projektů, které člověka těší). Já jsem třeba začal tím, že jsem řešil rébusy na https://projecteuler.net/ (https://projecteuler.net/). Ale existují podobné stránky s méně strmou obtížností úkolů. Třeba  https://www.codewars.com/ (https://www.codewars.com/).

Jako alternativu bych nabídl Python, protože v něm lze napsat naprosto cokoliv od webové stránky přes utilitku do příkazové řádky až po okenní aplikaci po hru. To samozřejmě platí více či méně pro všechny obecné jazyky, ale ekosystém Pythonu působí hodně přehledně a jednoduše. Navíc má detailní dokumentaci a hromadu jednoduše přístupných knihoven na všechno možné. A - co je pro začátečníka důležité - komunita se relativně shoduje na preferovaném stylu, jak kód psát (často se zmiňuje, že něco je "pythonic" nebo "unpythonic").

Samozřejmě, jak psal někdo přede mnou, pokud tě baví hry a chceš se naučit něco do hloubky o tom, jak věci v počítači fungují, ten HandmadeHero (C++), vypadá skvěle.

Měl bych se na pozoru před JavaScriptem a C++ (pokud nechceš zkusit ten HandmadeHero) a to v obou případech kvůli jejich historické zátěži. U obou jazyků platí, že za svoji historii nasbírali tolik různých featur a existuje tolik možných soupeřících stylů programování, že z toho zvláště začátečníkovi musí zakonitě jít hlava kolem. Samozřejmě pokud tě těší pocit, že se jdeš učit něco fakt velkého a staneš se velkým mistrem prastarých tajemných věd nerozumitelných většině smrtelníků, je C++ ideální. Nic komplexnějšího pravděpodobně už nenajdeš.
JavaScript k tomu navíc má neustále se vyvíjející ekosystém knihoven a frameworků. Samozřejmě pokud chceš dělat frontend, alternativa k JavaScriptu neexistuje (alespoň pro začátečníka. Různé mezipřekladače a různá jiná lešení, co si lidé vybudovali, aby mohli psát webový frontend v jiných jazycích, nepočítám. To rozhodně není nic pohodlného a nic pro začátečníka.).
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 24. 03. 2021, 16:19:29
Citace: Rob Pike
The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt"

Citace: Rob Pike
It must be familiar, roughly C-like. Programmers working at Google are early in their careers and are most familiar with procedural languages, particularly from the C family. The need to get programmers productive quickly in a new language means that the language cannot be too radical.
Tohle jsou ty lepší z Pikových myšlenek. Ty horší jsou třeba, že je super nápad, když se program nepřeloží proto, že je někde nevyužitá proměnná, ale nemá sebemenší problém třeba s https://play.golang.org/p/DevaBTg7ZzY nebo https://play.golang.org/p/vcObtS5g4AJ :)

I legenda může pracovat na zadání, které se totálně míjí s mými potřebami.
No zejména se legenda může opájet svou dokonalostí a začít si zakládat na tom, že má názor, a kdo má něco proti, tak to je jeho problém.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 16:43:20
https://play.golang.org/p/vcObtS5g4AJ :)
Kdo je autorem? Ta angličtina je otřesná.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: vXmUVBPz 24. 03. 2021, 16:45:21
Zdravím, přidám do diskuze taky kus moudra. Pokud chtece začít úplně od nuly, osobně bych doporučoval Python a poměrně dobrý kurz v češtině od Czechitas - https://www.czechitas.cz/cs/index.php?p=co-delame/chci-se-ucit-online/kurzy/kurz-python. Upzorňuji, že jsem jej neabsolvoval, pouze jsem kdysi prošel jejich učební materiály a přišly mi velmi solidní.

Být vámi, neřeším teď Javu, C#, Javascript, nebo nižší jazyky jako C, neboť Vás můžou poměrně rychle zahltit konstrukty, které pro vás ze začátku můžou být poměrně složité. Osobně myslím, že by jste si měl nejdřív osahat nějaký jednodušší jazyk, osvojit si naprosté základy jako proměnné, cykly podmínky, funkce a další. Jakmile Vám toto bude jasné, začnete se velmi pravděpodobně sám hlouběji zajímat o některé aspekty programování, začnete si psát vlastní skripty a dál rozšiřovat vědomosti. Tady se stane velmi důležitou součástí vaší cesty čtení dokumentace. U pythonu se dá hezky odpíchnout tady, kde najdete pro začátek vše nejdůležitější https://docs.python.org/3/tutorial/index.html. Subjektivně mi dokumentace pythonu přijde velmi hezky napsaná. Vůbec nejtěžším pro Vás ze začátku bude pokládat správné otázky až narazíte na problém a nebudete vědět kudy kam, protože vlastně nebudete vědět na co se zeptat. Pokud máte někoho zkušenejěího, kdo vám bude ochoten poradit, určite využijte jeho/její ochotu. Pokud ne, klidně můžete v případě potřeby napsat :)

Co se týče dalších jazyků, na 99.9 procent neskončíte u Pythonu pokud vás to bude bavit. Přejdete na jiný jazyk, který se už bude učit o něco snáze, pak na další a další a tak dále, než najdete něco co Vám sedne. Osobně jsem začítal u Pascalu, C, PHP na střední škole, pak se na to nabalila Java, trochu C#, nějaké C/C++, Python, pozdějí Bash atd... Je čitě na Vaší zvědavosti jakým směrem se pak vydáte. Pokud se na začátku budete ucházet o práci, firmy budou u juniora hledat právě hlavně zápal, nadšení a chuť k rozvoji.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 24. 03. 2021, 17:46:48
Kdo je autorem? Ta angličtina je otřesná.
Myslim, ze Linus Torvalds. Asi se mu tam pletla Finstina.

Co bys na te anglictine zmenil? Jak by to podle tebe bylo spravne?
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 19:45:06
Kdo je autorem? Ta angličtina je otřesná.
Myslim, ze Linus Torvalds. Asi se mu tam pletla Finstina.
Torvalds má hodně dobrou angličtinu, soudě podle jeho projevů v diskusích.

Navíc ty příklady v Go jsou demagogické bláboly. Go má svoje mouchy, ale seriózní diskuse by se zaměřila na podstatné nevýhody. Tohle byl jen stupidní hejt.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: nullpainter 24. 03. 2021, 20:25:07
I když LISP je jazyk napikaču.
Proč? Všechny jazyky konvergují k Lispu :)

Nemá typovou kontrolu. Napsat v tom i triviální kód bylo puzzle. Kůl mi přilo akorát že kód vypadal jako konfigurák.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 20:55:35
I když LISP je jazyk napikaču.
Proč? Všechny jazyky konvergují k Lispu :)
Nemá typovou kontrolu. Napsat v tom i triviální kód bylo puzzle. Kůl mi přilo akorát že kód vypadal jako konfigurák.
Typovou kontrolu vskutku nemá, ale to nemá hodně jazyků. Třeba Smalltalk, a taky byl svým způsobem revoluční.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 24. 03. 2021, 22:44:15
Torvalds má hodně dobrou angličtinu, soudě podle jeho projevů v diskusích.
A ty nejsi ochotnej odpovidat na otazky, soude podle tvych reakci :)

Navíc ty příklady v Go jsou demagogické bláboly. Go má svoje mouchy, ale seriózní diskuse by se zaměřila na podstatné nevýhody. Tohle byl jen stupidní hejt.
Sam ses demagogickej blabol :) A stupidni hejt je komentovat nepodstatnou anglictinu v kodu, kterej demonstruje neco uplne jinyho.

Pokud ve 21. stoleti nema C-like jazyk bezpecny enumy a bezpecny switch, tak to je velice podstatna nevyhoda a clovek se opravnene muze zamyslet nad tim, jestli jeho autor nema nejakej zavaznej problem... I to tady ostouzeny C umi dneska tohle pohlidat.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 22:46:47
Torvalds má hodně dobrou angličtinu, soudě podle jeho projevů v diskusích.
A ty nejsi ochotnej odpovidat na otazky, soude podle tvych reakci :)
Ale jo, ale až odpovíš na tu mou, hezky popořadě ;)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 22:49:40
Navíc ty příklady v Go jsou demagogické bláboly. Go má svoje mouchy, ale seriózní diskuse by se zaměřila na podstatné nevýhody. Tohle byl jen stupidní hejt.
komentovat nepodstatnou anglictinu v kodu
Pokud někdo neumí kloudně sesmolit ani pár vět, tam nemá smysl zkoumat jeho kód ;)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 24. 03. 2021, 22:53:51
Ale jo, ale až odpovíš na tu mou, hezky popořadě ;)
Samozrejme, ze jsem to psal ja.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 22:55:24
Pokud ve 21. stoleti nema C-like jazyk bezpecny enumy a bezpecny switch, tak to je velice podstatna nevyhoda a clovek se opravnene muze zamyslet nad tim, jestli jeho autor nema nejakej zavaznej problem... I to tady ostouzeny C umi dneska tohle pohlidat.
V každým jazyce jsou divnosti. Go má celkem hodně WTF momentů, nicméně zrovna enumy nejsou showstopper. BTW proč “ostouzené”? Nějak jsem si nevšiml podobně debilních hejtů na C. Ostatně C je v mnoha ohledech skvělé a nepřekonatelné.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 22:57:27
Ale jo, ale až odpovíš na tu mou, hezky popořadě ;)
Samozrejme, ze jsem to psal ja.
To mě — a to píšu naprosto vážně — ani v nejmenším nenapadlo. Proč tolik nenávisti a hysterie?
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 24. 03. 2021, 23:07:22
zrovna enumy nejsou showstopper
Vsak ja jsem nerikal, ze to je showstoper. Ale implementovat bezpecne enumy je celkem trivialni. A pokud to nekdo neudela, tak - opakuji - se musim zamyslet, jaky ma problem.

BTW proč “ostouzené”?
C je prakticky nejhorší možnost ze všech a pro vývoj aplikací se nehodí.

To mě — a to píšu naprosto vážně — ani v nejmenším nenapadlo. Proč tolik nenávisti a hysterie?
Jestli v tom vidis "nenavist a hysterii", tak by ses mel jit nekdy podivat na koncert neonacisticke kapely nebo protirouskovou demonstraci. Tam uvidis nenavist a hysterii. Tohle byl naprosto nevinnej vtipek. A za tim, ze Go je v mnoha vecech vylet do osmdesatek, si stojim. Ok, mozna do rannych devadesatek, at nezeru :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 24. 03. 2021, 23:07:39
A ted bych prosil tu odpoved.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 23:12:15
zrovna enumy nejsou showstopper
Vsak ja jsem nerikal, ze to je showstoper. Ale implementovat bezpecne enumy je celkem trivialni.
To jo, a docela se hodí, taky by Pika neubylo, kdyby je implementovali (nejlepe s nějakým pattern matchingem), ale i s typovými aliasy se dá žít. Jak říkám, víc mě trápí jiné věci.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 23:14:08
BTW proč “ostouzené”?
C je prakticky nejhorší možnost ze všech a pro vývoj aplikací se nehodí.
Jeden výkřik do tmy :) Asi se shodneme, že kromě Lispu, Fortranu, Smalltalku a Prologu lepšího jazyka než C není :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 23:16:11
Jestli v tom vidis "nenavist a hysterii", tak by ses mel jit nekdy podivat na koncert neonacisticke kapely nebo protirouskovou demonstraci.
Tam, kde bydlím, není ani jedno.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 23:21:10
Ok, mozna do rannych devadesatek, at nezeru
Klidně žer, ale ranná může být například zimnice, ale ne devadesátky :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 24. 03. 2021, 23:28:48
ale i s typovými aliasy se dá žít. Jak říkám, víc mě trápí jiné věci.
Typove aliasy to nijak neresi.

Tak jiste, kdyz prijdes do kavarny, tak te asi trapi jine veci vic nez utreny stul. Ale kdyz vidis neutreny stul, rikas si "To si nemohli najit tu vterinu na to, aby ten stul utreli? Asi maji nejakej problem."

Asi se shodneme, že kromě Lispu, Fortranu, Smalltalku a Prologu lepšího jazyka než C není :)
To asi neshodneme, ale C si aspon na nic nehraje. Nevytrubuje do sveta, ze "sdilet se data maji pomoci komunikace" a neni zaroven prorostly ukazateli na kazdym kroku, idealne globalnimi, ze :)

Tam, kde bydlím, není ani jedno.
To mnoho vysvetluje. Nezeres maso, nepoznas vtip.

---

A ted bych teda poprosil tu spravnou anglictinu :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 23:49:43
A ted bych prosil tu odpoved.
Jako vesměs u Čechů (a vůbec Slovanů kromě Bulharů a Makedonců) je problém se členy. Píše se "the eighties". A pak holý infinitiv ve "why to bother". Tohle je zákeřnější, protože plný infinitiv se taky vyskytuje, ale ne ve větě zvolací, takže tady Google nepomůže, protože záleží na kontextu. Sám jsem žasnul, kolik zákoutí a nuancí angličtina má, když jsem pro ni kdysi psal grammar checker. Ale to tak má každý jazyk. Teprve až když člověk dosáhne pokročilé úrovně, začne si všímat takovýchto detailů. V mnohém chybují i rodilí mluvčí.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 24. 03. 2021, 23:58:30
P.S. Výše napsané je ověřeno u rodilých mluvčích, to jen abych předešel zbytečné diskusi.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 25. 03. 2021, 00:07:40
Jako vesměs u Čechů (a vůbec Slovanů kromě Bulharů a Makedonců) je problém se členy. Píše se "the eighties". A pak holý infinitiv ve "why to bother". Tohle je zákeřnější, protože plný infinitiv se taky vyskytuje, ale ne ve větě zvolací, takže tady Google nepomůže, protože záleží na kontextu. Sám jsem žasnul, kolik zákoutí a nuancí angličtina má, když jsem pro ni kdysi psal grammar checker. Ale to tak má každý jazyk. Teprve až když člověk dosáhne pokročilé úrovně, začne si všímat takovýchto detailů. V mnohém chybují i rodilí mluvčí.
Takze kdyz to shrneme, veskera ta tragicka anglictina, kvuli ktere nema smysl ten kod ani cist, spociva v tom, ze mi tam omylem jednou vypadnul clen :) Oooook :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 25. 03. 2021, 00:39:17
Takze kdyz to shrneme, veskera ta tragicka anglictina [...] ze mi tam omylem jednou vypadnul clen
To nebylo omylem. A ten chybný holý infinitiv jsi (ne)nápadně přešel. Ale to je fuk, lepší bude věnovat se tomu CSP. Nejlépe po konzultaci s polštářem.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 25. 03. 2021, 01:40:00
To nebylo omylem.
Vsiml jsem si toho hned jak jsem to odeslal :)

A ten chybný holý infinitiv jsi (ne)nápadně přešel.
No, to byla hyperkorekce a sam rikas, ze je to spatne jenom v urcitym (tomhle) kontextu. Proste uzus. Textu, kterej fakt neni slohovka, to muze vycitat jenom nekdo, kdo ma predevsim proste neodolatelnou chut rypat do blbosti, jenom aby nemusel mluvit k hlavnimu tematu. Vid? :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: qelurg 25. 03. 2021, 08:07:49
Navíc ty příklady v Go jsou demagogické bláboly. Go má svoje mouchy, ale seriózní diskuse by se zaměřila na podstatné nevýhody. Tohle byl jen stupidní hejt.
komentovat nepodstatnou anglictinu v kodu
Pokud někdo neumí kloudně sesmolit ani pár vět, tam nemá smysl zkoumat jeho kód ;)
Nevěděl jsem, kdo z vás dvou je idiot, ale teď už to vím.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: neregistrovany 25. 03. 2021, 09:19:03
"Jak začít programovat od nuly?"

Otevrete textovy editor a na prvni radek napiste cislici 'nula', za ni pokracujte kodem ve vasem oblibenem jazyce....
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 25. 03. 2021, 10:18:32
jenom aby nemusel mluvit k hlavnimu tematu
Co je hlavní téma? Že Go je občas divné a mnohdy se víc hodí Rust? V tom není sporu, akorát někdo si to myslí i bez jazykových válek a urážení Pika a spol. :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: kotelgg 25. 03. 2021, 10:20:42
1. nauc sa dobre anglicky

Proč?
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 25. 03. 2021, 10:48:48
2. https://github.com/ossu/computer-science
Tohle je hodně zajímavé.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 25. 03. 2021, 10:57:22
Co je hlavní téma? Že Go je občas divné a mnohdy se víc hodí Rust?
Hlavní téma je, jestli je Go vhodný jazyk pro začátečníka. A já v něm vidím mnoho (ne pár) věcí, které mi říkají, že spíš ne.

Jenom pro příklad:

Go je prostě takový svojský jazyk. Kombinace úplně skvělých věcí a věcí úplně na hovno, u kterých fakt člověk kroutí hlavou, proč v jazyce jsou/nejsou. Je fantastický pro rychlé psaní jednoduchých, dobře definovaných věcí člověkem, který už trochu programovat umí. Ten totiž ty jeho bizarní stránky může vzít jako fakt a nebude si myslet, že "takhle to je". Bude dobře vědět, že "takhle to je jenom v Go" a může to být i jinak.

akorát někdo si to myslí i bez jazykových válek a urážení Pika a spol. :)
Je pravda, že jsem to neoprávněně personifikoval na Pika. Nechal jsem se strhnout tím, že o něm tady byla řeč. Spravedlivé by bylo se zamýšlet nad tím, jestli někdo z těch tří hlavních kapitánů Go nemá náhodou nějakej závažnej problém (pravděpodobně s egem).

Proti Pikovi osobně nic nemám. Je sympaťák, nosí ujetý hadry, což kvituju, má skvělý přednášky (kdybych nikdy neviděl Go, myslel bych si, že je génius a všechno, na co šáhne, musí být skvělý) a má za sebou nesporně skvělý, fascinující projekty, který se ale z nějakýho důvodu většinou neujaly. A nemůžu si pomoct, ale šťourá ve mně červíček, jestli se náhodou ty "nějaké důvody" nepromítají i do designu Go...
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 25. 03. 2021, 11:24:54
Ten totiž ty jeho bizarní stránky může vzít jako fakt
A jak jinak je brát? Můžeme o tom diskutovat, můžeme o tom vést spory, můžeme s tím i nesouhlasit, ale to je tak všechno, co se proti tomu dá dělat. Rust mnoho z těch vyjmenovaných “problémů” nemá a k čemu to začátečníkovi je?

Radši se věnuj vylepšování toho svého CSP, zatím je ten kód deeply unimpressive.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 25. 03. 2021, 11:37:42
A jak jinak je brát?
Začátečník je tak nebude brát.

Pokud se narodíš v ghettu a získáš dojem, že je úplně normální, že den začíná tím, že se celá rodina zhulí, není to dobrý vklad do života. Pokud víš, že den může začínat snídaní, můžeš si říct "no tohle zrovna není jejich dobrá stránka, ale jiný se mi líbí". K tomu ale musíš mít tu zkušenost odjinud.

Můžeme o tom diskutovat, můžeme o tom vést spory, můžeme s tím i nesouhlasit, ale to je tak všechno, co se proti tomu dá dělat.
Tak především se dá Go nedoporučovat nováčkům, že :) O to tady jde.

Rust mnoho z těch vyjmenovaných “problémů” nemá a k čemu to začátečníkovi je?
Chybná úvaha (obrátil jsi implikaci).

Radši se věnuj vylepšování toho svého CSP, zatím je ten kód deeply unimpressive.
Mým cílem nebylo tě zaujmout, ale zprovoznit CSP na MCU. Mission accomplished.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 25. 03. 2021, 11:52:30
Abych teda taky odpověděl na dotaz, když už jsem se tady dopustil takovýho OT:

Všechny programovací jazyky jsou na prd :) ale přijde mi, že nejlepší ze špatných by mohla být tahle cesta:

Python -> C -> Rust. Ve volném čase paralelně s tím pro rozšíření obzorů jeden neprocedurální: Haskell, Elixir nebo Prolog (ideálně samozřejmě aspoň nakouknout na všechny tři ;) každý z nich je zajímavý jiným způsobem).

Python je jednoduchý (resp. přesněji: dá se používat jednoduše), univerzální a zároveň i velmi dobře prakticky využitelný. Dají se na něm skvěle naučit základy algoritmizace, datových struktur a trochu i konkurentnost (i když to už je v Pythonu teda imho poněkud bordel). Což je to, o co u prvního jazyka jde. Nezatěžuje nováčka zbytečnostma, nenutí mu nic, co by byl vyloženě zhoubný návyk (resp. nic si teď nevybavuju). Poskytuje quick win, což bývá pro nováčky to hlavní.

C je prostě nutnost. Lingua franca. Člověk si uvědomí, co se děje na nižší úrovni, zjistí, že existuje nějaká paměť, že se musí dávat pozor na to, co se s ní dělá, a že stroj člověku nic nedá zadarmo a nic neodpustí. Praktická využitelnost moc velká není, ale může to být brána k programování MCUs.

No a Rust je prostě podle mýho state of the art :)

Pokud bych chtěl dát důraz na využitelnost/zaměstnatelnost: místo Rustu Go.

Pokud je mi jedno, co dělám, hlavně že se sypou prachy: místo Rustu JavaScript nebo Javu.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Ink 25. 03. 2021, 14:07:53
Abych teda taky odpověděl na dotaz, když už jsem se tady dopustil takovýho OT:

Všechny programovací jazyky jsou na prd :) ale přijde mi, že nejlepší ze špatných by mohla být tahle cesta:

Python -> C -> Rust. Ve volném čase paralelně s tím pro rozšíření obzorů jeden neprocedurální: Haskell, Elixir nebo Prolog (ideálně samozřejmě aspoň nakouknout na všechny tři ;) každý z nich je zajímavý jiným způsobem).

Python je jednoduchý (resp. přesněji: dá se používat jednoduše), univerzální a zároveň i velmi dobře prakticky využitelný. Dají se na něm skvěle naučit základy algoritmizace, datových struktur a trochu i konkurentnost (i když to už je v Pythonu teda imho poněkud bordel). Což je to, o co u prvního jazyka jde. Nezatěžuje nováčka zbytečnostma, nenutí mu nic, co by byl vyloženě zhoubný návyk (resp. nic si teď nevybavuju). Poskytuje quick win, což bývá pro nováčky to hlavní.

C je prostě nutnost. Lingua franca. Člověk si uvědomí, co se děje na nižší úrovni, zjistí, že existuje nějaká paměť, že se musí dávat pozor na to, co se s ní dělá, a že stroj člověku nic nedá zadarmo a nic neodpustí. Praktická využitelnost moc velká není, ale může to být brána k programování MCUs.

No a Rust je prostě podle mýho state of the art :)

Pokud bych chtěl dát důraz na využitelnost/zaměstnatelnost: místo Rustu Go.

Pokud je mi jedno, co dělám, hlavně že se sypou prachy: místo Rustu JavaScript nebo Javu.

Myslím si v zásadě totéž. K tomu C by to možná ještě bylo dobré přidat základní info o tom, jak to funguje pod pokličkou - co je assembler, jak funguje operační paměť, cache, co se děje kolem volání funkce apod. Teda aspoň pro lidi, kteří nepůjdou cestou JS nebo Javy a budou se tak trochu motat okolo systémového programování a optimalizovat programy na rychlost nebo něco podobného.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 25. 03. 2021, 15:34:48
Nevěděl jsem, kdo z vás dvou je idiot, ale teď už to vím.
Náhodou Idris je fajn :) Za mě má coby internetový hlas volajícího na poušti jenom dvě nectnosti:

1. Zbytečně často (prakticky furt) se tváří jako ezoterní zasvěcenec 25. levelu trousící perly sviním - ze své výšiny utrousí něco obecnému publiku zcela nesrozumitelného a když chce člověk detaily, odpoví mu stylem "nastuduj si [nějaká totálně nedostupná knížka, která má 500 stran a stojí $300]". A když si člověk nedá pokoj a přece jenom to z něj vytáhne, zjistí často, že šlo o něco, co klidně mohl osvětlit jednoduchým příkladem na pět řádků, kdyby byl býval chtěl. Ale on obvykle nechce :)

2. Když někdo řekne něco, co se mu nelíbí, i když si třeba dal práci s podrobnou argumentací, Idris totálně celý příspěvek ignoruje, vybere si nějakou naprostou marginalitu a na ní se začne točit. Nevím, jestli je to vědomá strategie a Idris si myslí, jak je to nenápadný a fikaný, nebo je to podvědomý reflex, ale spíš tipuju to první :)

Když člověk Idrise zná a tohle ví, dá se s tím v klidu žít, no big deal, náhodou je s ním sranda :)

EDIT: P.S. tou první vlastností mi silně připomíná Lenina, blahé paměti :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Zdenek Henek 25. 03. 2021, 17:56:15
C je prostě nutnost. Lingua franca. Člověk si uvědomí, co se děje na nižší úrovni, zjistí, že existuje nějaká paměť, že se musí dávat pozor na to, co se s ní dělá, a že stroj člověku nic nedá zadarmo a nic neodpustí. Praktická využitelnost moc velká není, ale může to být brána k programování MCUs.

No a Rust je prostě podle mýho state of the art :)

Pokud bych chtěl dát důraz na využitelnost/zaměstnatelnost: místo Rustu Go.

Pokud je mi jedno, co dělám, hlavně že se sypou prachy: místo Rustu JavaScript nebo Javu.

Ale notak, Javascript a Java se používají i jinde než na místech, kde je lidem jedno co dělají.

Pokud bych byl ve stavu, že mám začínat od nuly a zároveň mám praxi v nějakém oboru postupoval bych takto:

1. co za software se používá v mém oboru?
2. v čem se dělá pro ten software zakázkový vývoj pro zákazníky - pluginy, integrace s jiným software?
3. v čem je napsaný software který se používá v mém oboru?

toto jsou jazyky, které bych se začal učit, protože budou mít okamžitý přínos pro mou současnou práci a budu mít náskok znalosti domény využití software a můžu být pro SW firmy zajímavý, i když nebudu nejlepší programátor.

Například pokud bych používal každý den AutoCAD  začal bych se učit AutoLisp, který bych okamžitě využil k tvorbě maker a je uplně jedno jestli je AutoLisp lepší nebo horší než jazyk X nebo Y.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 25. 03. 2021, 18:20:31
Ale notak, Javascript a Java se používají i jinde než na místech, kde je lidem jedno co dělají.
Opět ta stejná chyba v argumentaci jako Idris: obrácená implikace :)

Pokud bych byl ve stavu, že mám začínat od nuly a zároveň mám praxi v nějakém oboru postupoval bych takto:
To je dobrá rada, ale ne úplně pro tazatele :)

Zdravím, je mi 15 let a uvažoval jsem o tom, že bych se rád samostatně naučil programovat
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Zdenek Henek 25. 03. 2021, 18:58:11
Ale notak, Javascript a Java se používají i jinde než na místech, kde je lidem jedno co dělají.
Opět ta stejná chyba v argumentaci jako Idris: obrácená implikace :)

ok, asi to sem nepatřilo, ale když vidím jak často se argumentuje co je lepší a jako argumenty se používají jen syntax a vlastnosti daného jazyka, tak se to pokouším trochu narovnat. Jazyk X může být uplně nej nej nej, ale pokud pro moji doménu nemá žádné knihovny v použitelném stavu, tak je nepoužitelný, pokud nechci psát vše od nuly.

Abych teda i přispěl do diskuze, tak se tazatel může podívat třeba na
https://processing.org/  a na https://github.com/processing-js/processing-js

Processing mi přijde jako zajímavá hračka, něco jako Karel, ale je pro to hromada knih, třeba tato https://natureofcode.com/

Existuje dokonce kniha o programování v Processing pro umělce :)
 Processing: A Programming Handbook for Visual Designers,
Second Edition
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 25. 03. 2021, 19:40:53
ok, asi to sem nepatřilo, ale když vidím jak často se argumentuje co je lepší a jako argumenty se používají jen syntax a vlastnosti daného jazyka, tak se to pokouším trochu narovnat.
V pohodě, ale nedělej to pomocí chybné argumentace. Obrácená implikace vyvrací něco, co nikdo netvrdil :) Já jsem řekl, že pokud chce někdo hlavně vydělat peníze, jsou JS a Java dobrá volba. Nesmí mu ale vadit, že se bude pravděpodobně brodit ve sračkách nebo korporátním bullshitu :)

Jazyk X může být uplně nej nej nej, ale pokud pro moji doménu nemá žádné knihovny v použitelném stavu, tak je nepoužitelný, pokud nechci psát vše od nuly.
Tak především tazatel žádnou doménu nemá. Potřebuje se naučit, co je to proměnná, funkce, cyklus, pole, strom ... a na to je prostě Python bezva volba, protože "neruší výhled" :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 25. 03. 2021, 19:49:01
obrácená implikace :)
Houby implikace, jen jsi to nepochopil.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 25. 03. 2021, 21:39:18
Houby implikace, jen jsi to nepochopil.
Zkus mi to vysvětlit. Že neexistují lidi, kteří mají v Javě nebo JavaScriptu zalíbení z jiných než finančních důvodů, jsem netvrdil a plně souhlasím s tvrzením, že existují. Není to nijak v rozporu s tím, co jsem řekl.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 25. 03. 2021, 22:02:03
Zkus mi to vysvětlit.
Psal jsem o Rustu. Žádná implikace tam nebyla, jen zřejmá poznámka, že Rust je sice (v některých očích) dokonalý, ale začátečník těžko přeloží víc než "ahoj, světe", takže si dokonalých enumů moc neužije. Ale budu jen rád, pokud někdo přijde s takovou didaktickou metodou, která si s tím poradí.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 25. 03. 2021, 22:35:22
Psal jsem o Rustu. Žádná implikace tam nebyla, jen zřejmá poznámka, že Rust je sice (v některých očích) dokonalý, ale začátečník těžko přeloží víc než "ahoj, světe", takže si dokonalých enumů moc neužije. Ale budu jen rád, pokud někdo přijde s takovou didaktickou metodou, která si s tím poradí.
Ajo, ty mluvíš o sobě. Tak ok. Tvrdil jsem, že Go má vlastnosti, kvůli kterým není podle mě pro začátečníka vhodný. Z toho nijak neplyne, že každý jazyk, který tyhle vlastnosti nemá, je pro začátečníka vhodný. Takže tvoje poznámka
Rust mnoho z těch vyjmenovaných “problémů” nemá a k čemu to začátečníkovi je?
Byla zcela irelevantní. Plně shodneme, že to začátečníkovi samo o sobě k ničemu není, protože je to podmínka nutná, nikoli postačující.

Prostě jsi obrátil implikaci, ty houbo :)
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Fantux 26. 03. 2021, 11:55:27
Listy a Rusty a Ruby a Go přicházejí a odcházejí, lidi co se naučili c/c++ zůstávají a a mají práci. Když se člověk naučí první jazyk, ty další už jdou lehce. A algoritmizace je skoro jako univerzální jazyk, když vymyslím jak to bude fungovat, přepsat to do nějakého jazyka je už druhotné.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Mirek Prýmek 26. 03. 2021, 11:57:22
Listy a Rusty a Ruby a Go přicházejí a odcházejí, lidi co se naučili c/c++ zůstávají a a mají práci.
Jako COBOListi :)

A algoritmizace je skoro jako univerzální jazyk, když vymyslím jak to bude fungovat, přepsat to do nějakého jazyka je už druhotné.
To není tak úplně pravda. Implementace jedné věci v objektovým C++, C, Go a Elixiru bude úplně jiná.
Název: Re:Jak začít programovat od nuly?
Přispěvatel: Idris 26. 03. 2021, 12:03:53
Listy a Rusty a Ruby a Go přicházejí a odcházejí, lidi co se naučili c/c++ zůstávají a a mají práci. Když se člověk naučí první jazyk, ty další už jdou lehce. A algoritmizace je skoro jako univerzální jazyk, když vymyslím jak to bude fungovat, přepsat to do nějakého jazyka je už druhotné.
Tak nějak. Tedy hlavně to C. U toho C++ už to je taky jiný level.