Jak těžké je naučit se programování?


Odpověď 1:

Způsob, jakým se to učí!

Programování je něco, co lze naučit pouze skrze

praxe

a objevování. Nelze jej zvládnout pouhým zapamatováním definic a syntaxe.

Pokud pravidelně kódujete, syntaxe se automaticky uloží do paměti.

A nejdůležitější věc - Programování vyžaduje

schopnost myslet

ne schopnost zapamatovat si, psát / psát.

Uvidíme, jak se programování učí: -

Pokud jste studentem ICSE

, začnete se učit Java od třídy VI. Není to úžasné? Začali jste se učit kódovat ve věku 11 nebo 12 let!

Ale fakt je…

Ani nevíte význam programování. Vše, co víte, je: -

Proces psaní počítačových programů je známý jako programování.

Jste vyzváni, abyste se naučili

definice

ze srdce a psát to samé při zkouškách.

Stačí se naučit syntaxi a zapomenout na ně po několika dnech.

Znáte všechny základy. Znáte smyčky a podmínky. Víte všechno. Vzpomenete si na velikosti a definice všech typů dat, ale bohužel nemůžete ani kódovat jeden příkaz if, pokud jste k tomu vyzváni. Víte, co je pole, ale nevíte jak a kde jej použít.

Vše, co víte, je, že budete požádáni o napsání programu, který obsahuje řadu seznamů zeleniny.

A teď, pokud jste studentem CBSE

Ve třídě X (tj. Ve věku 15 nebo 16 let) se učíte následující věci: -

  • Jak vytvořit ID e-mailu?
  • Co je to internet? (Pouze definice)
  • Co je to webový prohlížeč?
  • Jak hledat na internetu pomocí vyhledávače?
  • Jak používat webový prohlížeč?
  • Jak smazat historii? (Hahaha)
  • A další věci…

Jen si představte, že tyto věci učíte studentovi, který má 15 let.

Smazání historie je něco velmi základního, co dnes může dělat i dítě na základní škole!

A teď mi řeknu svůj příběh

Před několika dny (15. prosince 2017) jsem dal svůj počítačový test (preboard) a praktický (jsem student třídy 10).

Každý student dokončil 2,5 hodinový referát během jedné hodiny. Po písemné zkoušce jsme dali praktickou část, která byla další 2,5 hodiny.

Kapitoly byly MS-Access, HTML (nejzákladnější - ne CSS, žádné JS - nic. Jen jednoduché HTML) a XML (opět velmi základní).

Zajímalo mě, jak rád kóduji a trávím čas na počítačích. Myslel jsem, že budu používat CSS a učiním svou webovou stránku velmi přitažlivou a šokuji všechny. Takže jsem seděl na svém Roll. Ne a stiskněte tlačítko START.

Ale víš, co se stalo?

Učitel: Vypněte to! Nepotřebuješ to.

Já (šokován): Ale proč pane?

Učitel: Měl bys napsat kroky. Bude vám k dispozici dotazník a odpověď.

WTF??

Je to praktická zkouška? Takto se praktikují? Co je tedy potřeba praktického? A mě napadlo mnoho dalších otázek.

TENTO SYSTÉM UČENÍ KÓDU MUSÍ BÝT ZMĚNĚN! A rozhodně se budu snažit udělat to nejlepší.

Poznámka:

Indie je známá pro inženýry a programátory. To je pravda! Ale na školách se to nenaučíme. Učíme se to sami.

Toto je moje první dlouhá odpověď !! Prosím, hlasujte, pokud se vám to líbilo ...

Upravit:

Moje první odpověď na získání 25 upvotů a 500+ zhlédnutí! ^ _ ^


Odpověď 2:

Naučit se kódovat je snadné a netrvá dlouho.

Můžete se začít učit, jak okamžitě kódovat, a netrvá tak dlouho, než si vyzvednete základy.

Zvažte tento řádek kódu:

tisk („Ahoj svět!“)

Pravděpodobně není těžké pochopit, co se tam má stát, i když jste nikdy předtím neviděli kód. Bude to tisknout

Ahoj světe!

někde -

náznak:

není to vaše tiskárna.

Základy programování se vyučují na většině univerzit nebo středních škol v jednom semestru. Existují online kurzy, které vám umožní ovládat jediný programovací jazyk během několika týdnů nebo měsíců.

Existují některé koncepty, které jsou snazší, pokud rozumíte základní logice a dokážete pochopit myšlenku, že počítače jsou doslovné a budou dělat přesně to, co jim řeknete (a jen to, co jim).

Naučit se kódovat je těžké a zabere vám to zbytek života.

Skutečnou výzvou není naučit se psát kód. Není to ani učení se psát kód dobře.

Věc, která je skutečně těžká, je naučit se řešit problémy. A to je věc, kterou trávíte většinu času děláním.

Vidíte, kód je jen nástroj, jako kladivo nebo háčkovací jehla nebo počítač. To nedělá

cokoliv

na vlastní pěst. Co je tak cool, je, že to dokáže

cokoliv

pokud potřebujete vyřešit problém. To softwaroví inženýři dělají - řeší problémy.

Ve skutečnosti většina techniků, které znám, netráví většinu času psaním kódu. Většinu času tráví přemýšlením, čtením a analýzou kódu. Zkoumají různé přístupy k problémům a formulují možná řešení. Jakmile přijdou s realizovatelným řešením, implementují jej. Tento proces se může výrazně lišit v závislosti na prostředí (nezávislý pracovník, práce v podniku, práce při spuštění).


Odpověď 3:
  1. let isItDifficultToCode = "yes"; if (isItDifficultToCode == "yes") {alert ("Je to docela těžké, ano, když začnete");} else {alert ("Ale jakmile experimentujete, základy jsou celkem snadné" );}

Toto je kousek kódu JavaScript. Pokud to spustíte, řekne vám, že naučit se kódovat bylo těžké.

Ale pokud si to přečtete, možná uvidíte nějaké stopy.

Je snadné změnit tento kód, takže vám řekne, že základy jsou snadné - pokud jen experimentujete.

Dokážete zjistit, jaká by ta změna mohla být?

Je tu vaše odpověď.


Odpověď 4:

Kódování není těžké se naučit. Je těžké zvládnout.

Je to hodně jako jakékoli jiné pole. Vezměte si například malbu. Dozvíte se, jak štětec funguje, uchopte některé barvy barvy a vytvořte mistrovské dílo barevných kuliček.

Chcete-li se stát profesionálním malířem, musíte roky studovat, učit se vizualizovat objekty ve vaší mysli, míchat barvy, stínovat a předstírat a stovky dalších věcí.

Nakonec se stanete mistrovským malířem, který dokáže promlouvat na dlouhé vzdálenosti o rozdílech mezi olejem a akrylem a jejich vhodnosti pro různá použití. Budete moci malovat v desítkách různých stylů - nyní portrét, který je téměř fotorealistický, nyní odvážná, karikaturní krajina, kde je obloha oranžová a stíny fialové.

Programování je stejné. Je snadné se naučit programování - vezměte si z knihovny knihu „Programování pro začátečníky“ a začněte s ní pracovat. Většina z nich by vám neměla trvat déle než šest týdnů.

Nyní jste se naučili programování. Budete mít několik základních představ o tom, co jsou konstrukty a jak fungují různé příkazy. Ale nestal jste se skutečným kodérem.

Zvládnutí kódování trvá roky. Stejně jako umělec budete muset trénovat každý den. Napíšete desítky programů a jak budete dělat, budete mít pocit, jak by se věci měly dělat - ve skutečnosti si vytvoříte osobní styl kódování a kritizujete ostatní.

Po roce psaní programů každý den budete schopni snění a implementaci jednoduchého programu docela instinktivně. Psaní kódu bude stále vyžadovat, abyste na každém kroku pečlivě promýšleli, a vždy bude existovat několik chyb, které můžete ladit, ale celkově můžete kódovat jednoduché projekty s rozumnou lehkostí.

Ale nejsi mistrovský kodér.

Budete pracovat na větších a větších projektech. Začnete si pamatovat API a knihovny. Když píšete jednoduchý nástroj, zjistíte, že to dokážete i bez přemýšlení - pouze v případě větších projektů nebo komplikovaných rohových případů musíte pečlivě přemýšlet o tom, jak všechno zapadá dohromady.

Ale nejsi mistrovský kodér.

Vyzkoušíte různé jazyky a prozkoumáte nová paradigmata - objektově orientovaná, zvláštnostně orientovaná, funkčně orientovaná a další. O IDEs budete velmi vybíraví. Naučíte se používat Git. Na úžasných projektech budete spolupracovat s ostatními kodéry. Zjistíte, že někdy už kód ani nevidíte - přesně to, co dělá, jak to funguje společně a vytváří něco skvělého.

Ale nejsi mistrovský kodér.

Vyzkoušíte svou ruku na všech úrovních kódování, od operačních systémů po webové aplikace. Budete používat desítky jazyků a budete mít silný názor na každý z nich. Kurzy jsou, bude existovat jeden nebo dva jazyky, které používáte kdekoli je to možné (pro mě, Python a Rust) a jeden divoký, esoterický jazyk, který se vám líbí, ale nikdy ho nepoužíváte (pro mě, Forth).

A den přijde, až uvidíte kód. Je to stále tam, ale nezaměřujete se na písmena, čísla a symboly, které tvoří kód. Díváte se na abstraktní strukturu - jak každá část pracuje s každou další částí, to vše se spojuje a vytváří program. Když se rozhodnete něco přidat, nemusíte přemýšlet o tom, jaké příkazy použít, jaké názvy proměnných mají. Kód se zapíše sám.

Nyní

jsi mistr kodér. Máte extrémně silné názory na umístění složených závorek, tabulátorů a mezer, středníků, správu paměti, IDE, jazykové paradigma, kompilátory, operační systémy a počítače. Můžete psát velké projekty nebojácně. Trvá vám méně než tři týdny, než se naučíte nový jazyk a zdatní. Ale tento postup vás asi za deset let zabral.

Proto je obtížné se naučit kódování. Dá se snadno naučit, ale velmi obtížné je používat, dokud nebudete mít roky praxe.


Odpověď 5:

Dobré kódování je obtížné. Špatné kódování není těžké a je velmi populární. Udržování a opětovné použití špatného kódu je obtížné. Psaní dobrého kódu, který lze snadno udržovat a opakovaně používat, je zjevně obtížné, protože tolik lidí tak špatně selže.

Myslím, že nejtěžší aspekt programování je

Abstrakce

. Mnoho programátorů tomu nerozumí, aktivně se mu nelíbí, ani o tom neslyšeli. Vytváření / výběr vhodných abstrakcí pro váš program a práce na správné úrovni abstrakce v jakékoli dané části programu je klíčem k psaní kódu, který je účinný, efektivní a komplexní (dokáže se vypořádat se všemi různými vstupy, s nimiž se bude muset vypořádat) ), škálovatelné a snadno použitelné

  • Rozumět
  • Test
  • Ladit
  • Refaktor
  • Opětovné použití
  • Přizpůsobit se

Výběr správných abstrakcí k uspokojení kterékoli z těchto výzev není pro většinu lidí triviální. Zvládnutí uspokojit všechny z nich je obvykle nemožné, takže je třeba učinit kompromisy a kompromisy. Jsou vyžadovány zkušenosti, vhled a úsudek.

Někteří lidé vám řeknou, že kódování je snadné. Několik z nich tak již učinilo v odpovědi na vaši otázku. Je pro ně docela snadné vyhodit posloupnost pokynů, které za typických okolností více či méně vyřeší daný problém v úzkém rozmezí. Oprava, pokud se nedokáže vypořádat s neočekávaným, ale platným vstupem, bude těžší. Přizpůsobit to, pokud bude změna požadavků, bude mnohem těžší. To, že bude škálovat, aby se vypořádalo s těžkým nákladem, bude - obtížný problém někoho jiného.

Špatní kodéry se ani nesnaží předvídat tyto problémy. Prostě vyhodili celou novou sekvenci instrukcí (opakování, s malými obměnami, nejen kód z posledního problému, ale stejný kód znovu a znovu v nové výzvě). Je to snadné a vidí všechny výsledné obtíže jako „jen část toho, jak věci fungují“. Cítí se chytří a rozhodně tvrdě pracují.

Abstrakce není snadná. Dobrý návrh programu není triviální.


Odpověď 6:

Pokud začnete jednoduše, začněte pomalu, buďte trpěliví, pak to není tak těžké.

Děti se mohou naučit jednoduché programování, není to tak těžké.

Problém, který dnes vidíme, jsou však studenti

ne

od začátku chtějí rychle dosáhnout výsledku, napsat tuto aplikaci a stát se milionářem!

Proto vidíme tolik otázek jako „Proč je programování tak těžké?“, „Proč nemohu kódovat?“

Není to těžké, ale ty

dělat

je třeba začít s kroky dítěte.


Odpověď 7:

Programování výuky se skládá ze dvou částí:

  • učení programovacího jazyka: syntaxe a jaké operace jsou k dispozici.
  • Naučit se, jak spojit jednotlivé věci, které programovací jazyk může udělat, do něčeho užitečného pro vyřešení skutečného problému.

Mnoho programovacích jazyků je velmi složitých a naučit se první část může trvat dlouho. Zvláště pokud nevíte, jak programovat. Moderní C, C ++, Java, C #, Python spadají do této kategorie. Je to jako umístit dítě do profesionální dílny se soustruhy, svářeči, směrovači, vrtáky a tuctem druhů materiálů a stovkami druhů spojovacích prostředků - když to, co by rozumná osoba udělala, je dát jim spoustu Lego bloků. Nedoporučuji žádný z těchto jazyků pro začátečníky.

Existuje několik programovacích jazyků, které jsou dostatečně jednoduché, abyste se naučili jejich základy .. možná ne za deset minut, ale za hodinu stejně, ale které jsou stále dostatečně silné, aby v nich bylo možné postavit cokoli. Schéma, FORTH, BCPL (nebo časná C), dokonce i některé jednoduché montážní jazyky jako možná 6502, ARM, MIPS, RISC-V.

Pak se můžete soustředit na zajímavou část 2.

Ve skutečnosti existují dvě další části výuky programování:

3. naučit se používat knihovny, které byly dodány s jazykem nebo které již napsal někdo jiný.

4. naučit se vytvářet užitečné knihovny, které lze znovu a znovu použít v různých projektech a různých částech stejného projektu.

Dobrý programovací jazyk (podle mého názoru) je takový, ve kterém můžete vytvářet nové věci v knihovnách, které vypadají a jednají, jako by byly vždy zabudovány do jazyka: jak v syntaxi (co píšete), tak v rychlosti.