Populární témata
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Naučit se tyto programovací jazyky stojí za to, i když je nepoužíváte:
1/6
C
C je o krok odstraněn z zápisu sestavy. Nutí vás pochopit rozdíl mezi "stack" a "heap". Musíte se také potýkat s ukazateli – a trénování mozku, aby zvládl nepřímou komunikaci, vám pomůže později řešit těžší problémy, protože téměř každý "těžký" problém musí být modelován s určitou úrovní nepřímé komunikace.
2/6
Shromáždění
Naučit se, jak funguje sestavení, je předpokladem pro to, abyste se naučili, jak kompilátory pracují. Na rozdíl od jazyka C jste také nuceni se učit, kdy používáte "registr" a vyvinete si silnější smysl pro to, co je výkonný kód a co ne. Myslím, že znalost programování v assembleru pravděpodobně nejvíce přispívá k tomu, že jsem schopen velmi rychle vyzvednout nový blockchain. Přistupuji k nim s mentálním modelem "každá funkční architektura virtuálního stroje/procesoru musí mít následující vlastnosti, tak kde je najdu?" To mi pomáhá přistupovat k novým systémům se sadou inteligentních otázek, které si mohu položit, místo abych přemýšlel, co se to sakra děje.
3/6
Rez
Rust je velmi přísný, pokud jde o více odkazů na stejnou hodnotu, což je něco, o čem vás jiné jazyky nenutí přemýšlet, i když to může být zdrojem skutečných chyb.
Systém typu Rust je navíc poměrně dobře promyšlený, takže máte více možností, jak modelovat skutečný svět (to je samozřejmě dvousečná zbraň, protože byste mohli skončit přemýšlením o jednoduchých problémech, takže se musíte naučit, jak ovládat sílu, kterou vám dává). Někdo, kdo se naučí psát idiomatický Rust, nebude mít daleko ani k tomu, aby se naučil psát funkcionální programování.
4/6
Šišlat
Pokud se chcete naučit funkcionální programování, aniž byste byli potrestáni kompilátorem, je to nejlepší způsob, jak to udělat. Navíc se seznámíte s nejmocnějším existujícím makro systémem a "uvidíte" rekurzivní strukturu ve věcech jako JSON, XML a zdrojový kód.
Rekurzivní struktura neznamená psaní rekurzivního kódu. Spíše vás nutí přemýšlet o tom, jak rozdělit velký problém na menší problémy, a přemýšlet o okrajových případech spíše než později.
Lisp byl také průkopníkem: garbage collection, příkazy if, makra, prvotřídní funkce a spousta dalších věcí. Téměř všechny moderní jazyky si vypůjčily nějakou myšlenku, kterou vynalezl Lisp. Takže pokud umíte Lisp, můžete se inteligentně zeptat: "Má tento jazyk způsob, jak dělat X? Pokud ne, jak toho dosáhnu?"
Pokud jste posedlí "praktičností", doporučuji dialekt Clojure, ale pro pouhé učení je Racket docela přátelský (pokud znáte jeden, je extrémně snadné se naučit ten druhý).
5/6
Haskell
Haskell má pravděpodobně nejpřísnější typový systém, který existuje (alespoň ze všech jazyků, které znám). Je ještě přísnější než Rust a nutí vás přemýšlet o tom, jak zacházet s operacemi, které by mohly selhat (například síťové volání). Je to jako pracovat s extrémně pedantským seniorním programátorem, který zachytí každou chybu, kterou uděláte, dokonce i věci, u kterých je velmi malá šance, že vyústí v chybu. Ano, kompilátor je ještě náročnější než Rust, ale neustálá zpětná vazba o tom, že "jste neuvažovali o možnosti..." vám pomůže rychleji zvyšovat dovednosti. Pokud jste junior inženýr a chcete seniorního inženýra na čepu, program v Haskellu a moudrost našich předků vám bude propůjčena.
6/6
Jak pomáhají
Efektivní učení nastává, když se snažíte vyřešit problém a okamžitě dostanete zpětnou vazbu na svou práci – něco, co každý z těchto jazyků dělá svým vlastním způsobem dobře.
Každý z těchto jazyků vás nutí zabývat se problémy, které jazyky jako JavaScript nebo Python zametají pod koberec a poskytují vám přímou a okamžitou zpětnou vazbu o tom, co jste udělali špatně.
Pamatujte: jak juniorní, tak seniorní problémy mohou psát kód, který "vyřeší" problém – ale seniorní kód je mnohem propracovanější. Toto "zdokonalování" pochází z tréninku – něco, co vám každý z těchto jazyků dává zdarma.
9,25K
Top
Hodnocení
Oblíbené