Jak začít programovat od nuly?

Re:Jak začít programovat od nuly?
« Odpověď #75 kdy: 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.
« Poslední změna: 25. 03. 2021, 11:54:02 od Mirek Prýmek »


Ink

  • *****
  • 653
    • Zobrazit profil
    • E-mail
Re:Jak začít programovat od nuly?
« Odpověď #76 kdy: 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.

Re:Jak začít programovat od nuly?
« Odpověď #77 kdy: 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 :)

Re:Jak začít programovat od nuly?
« Odpověď #78 kdy: 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.

Re:Jak začít programovat od nuly?
« Odpověď #79 kdy: 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


Re:Jak začít programovat od nuly?
« Odpověď #80 kdy: 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

Re:Jak začít programovat od nuly?
« Odpověď #81 kdy: 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" :)

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Jak začít programovat od nuly?
« Odpověď #82 kdy: 25. 03. 2021, 19:49:01 »
obrácená implikace :)
Houby implikace, jen jsi to nepochopil.

Re:Jak začít programovat od nuly?
« Odpověď #83 kdy: 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.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Jak začít programovat od nuly?
« Odpověď #84 kdy: 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í.

Re:Jak začít programovat od nuly?
« Odpověď #85 kdy: 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 :)

Re:Jak začít programovat od nuly?
« Odpověď #86 kdy: 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é.

Re:Jak začít programovat od nuly?
« Odpověď #87 kdy: 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á.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Jak začít programovat od nuly?
« Odpověď #88 kdy: 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.