Dnes dokáže vyklikat web i mimono ve WordPressu s placenym template... Ja jsem se začal věnovat programování před pár měsíci prostřednictvím Appky v mobilu (Lrn) a https://www.learn2code.cz/kurzy to bych chtěl všem odporučiť. Nestojí to skoro nic a ušetříte si spoustu času :)
Tvl, co je to za prasárna psát kód v konzoli prohlížeče? Ten nástroj slouží k debugu!!!
Je pěkné, že Chrome umožňuje vytvářet kód / css / html a dokonce to na lokálu i uložit (což je dokonce u ladění CSS celkem super), ale proboha, matlat něco v konzoli a kopírovat to tam a zpět do texťáku kvůli uložení?!? Když už tak, je proboha problém vytvořit jednoduchou HTML stránku a ten texťák tam coby .js soubor nalinkovat?
Doporučil bych Python ve spojení s prostředím Jupyter. Tam jednoduše udělá výstup i grafy a běží to v prohlížeči. Nebo R ve stejném prostředí. https://try.jupyter.org/
Hmm, není náhodou důležitější si nejprve definovat, co to je to "naučit se programovat", na chvíli zapomenout, že existují nějaké programovací jazyky a ujasnit si, co že vlastně chci tím programováním vyřešit nebo co se chci naučit?
Nejde přece o to, že umím programovat v Pythonu, PHP, v Céčku nebo v Javě, ALE že umím udělat Web stránku, umím vytvořit mobilní aplikaci, umím udělat sestavu z databáze...
Tohle by snad měla být motivace! Co takhle poradit začínajícímu "programátorovi", ať se naučí ovládat nějaký nástroj na tvorbu třeba toho Webu nebo na tvorbu (generování) aplikace dle vizuálního / logického návrhu? No a pak, po prvních výsledcích a uspokojení, že to "programování" je vlastně jednoduché, začít pronikat do tajů zdrojového kódu a učit se cokoliv, co se dá využít ke zlepšení prototypu, který vzniknul bez programování?
Znám jednoho doktora, který se taky chtěl naučit "programovat" a chtěl si "naprogramovat" grafický výstup z databáze v nemocnici. Taky byste mu poradili Python nebo snad SQL, aby se učil dělat složité dotazy na úrovni příkazové řádky?
Základním podnětem pro běžného uživatele (v případě doktora i s nadprůměrnou inteligencí) by bylo, zda si programováním může nějak usnadnit práci. Pokud náš MUDr používá systém pro řízení ordinace, pak by tento program měl sám zjednodušovat jeho práci maximálním způsobem. Může ale nastat situace, že si měsíční report pro pojišťovnu Zdravý Šťastný Občan musí datlovat ručně v Excelu - pak by mu jedno makro mohlo ušetřit třeba 2h měsíčně. A, obávám se, že nějaké UML, Java nebo Ruby nepadá pro BDU* vůbec v úvahu - musí to být něco, co bude okamžitě fungovat, s využitím běžných systémových prostředků.
(*) BDU - běžný doktor uživatel
Jenze ono to ve skutecnosti vypada spise nasledovne. bud je lekar(ka) veku rekneme zraleho, a zadny pocitac nema, vasi anamnezu zapise nekolika slovy na list papiru a tim je vyreseno, popovida si s vami, vysetri vas ... nebo je veku rekneme nedomrleho, pocitac ma, a vase navsteva z 90% spociva ve valceni s datlovanim jednim prstem do pocitace, aby nakonec dotycny vitezoslavne vysledek vytiskl a vlozil do vasi slozky, rkouc, ze na vysetreni mate prijit priste, protoze uz vycerpal cas ktery na vas mel.
Osobne bych ocenil, kdyby lekar lecil, a neprogramoval, ani pripadne nevyplnoval hory lejster, stejne tak u programatora ocenim, pokud se bude venovat programovani a ne leceni. Jsem zvedav, kdy se tu objevi clanek na tema jak se programator pres noc slepe strevo operovati naucil.
V praxi se návrhový vzor Singleton z několika důvodů zcela neosvědčil. Znamená to, že máme odpískat všechny návrhový vzory a zakázat frameworky založený na MVC (MFC)?
V praxi se neosvědčilo to přehánět s dědičností, Tak dobře, nepoužívejme ani agregaci, interface, privátní atributy,...
A budeš se divit, ale třeba u návrhu DB je běžný postup její naklikání a vygenerování SQL z obrázku...
Zajímalo by mne, jestli autor v poslední době byl v nějaké ordinaci a sledoval co lékař nebo jeho zdravotní sestra dělají na počítačích.
IMHO využívají různé programy navázané na různé databáze a nadřazené systémy a pokud by se něco snažili naprogramovat sami a do těch nainstalovaných programů se jim podařilo dostat, mohli by nadělat pěkný nevěstinec.
Takže pokud programování není lékařovo hobby, nevidím důvod, proč by se měli chtít lékaři učit programovat.
Spíš by se mohli snažit využívat všech užitečných vlastností programů co mají k dispozici.
Pánové, dovolte jednu lstivou otázku. Opravdu jsou "tvorba software", "programování" a "kódování" synonyma? Jenom že tady řešíte, jak si někdo může vytvořit svůj kousek SW, říkáte tomu programování a bavíte se ve skutečnosti o tom, v jakým jazyku kódovat...
Můj kandidát do začátku a na to, co by se mělo učit povinně, je rozhodně UML2. Protože:
- Dovolí začátečníkovi si problém vizualizovat, ať už jako sekvenci kroků, komunikaci subsystémů, strukturu dat,... Obrázek je názornější, než 100 řádků kódu a 10kLOC komentářů.
- Dá se použít nejenom na tvorbu SW, ale na hodně užitečných věcí mimo obor.
- Slušný CASE nástroj dokáže vyblít přímo zdrojáky bez toho, že by se někdo zdržovat učením příkazů.
- Do čeho se analyzovaný problém pak překlopí, je šumák. Klidně do uzlíkovýho písma kmene Kipu, podstatná je přece myšlenka a analýza problému.
Zásadní nedostatek dnešních systémů - neobsahují nástroj, který by umožnil zjednodušení práce způsobem, který může průměrný uživatel pochopit. Tedy spustit záznamník maker, provést úkon klávesnicí/myší a pak si zobrazit zdrojový kód makra. V tu chvíli už mám motivaci kód měnit, vylepšovat a učit se tak nenásilně programovat. K tomu se snad blíží jen výše zmíněný AutoIT.
Ja v JavaScriptu delam profesionalne. K Visual Basicu jsem take pricuchnul.
Problem tehle jazyku je ten, ze jsou tam veci, ktere prekvapi i programatora, ktery s tim dela 10 let a pritom to nejsou nejak vyrazne pokrocile veci.
Proto rozumni programatori doporucuji jazyky, ktere maji alespon nejakou vnitrni logiku a nevznikly tak, ze nekdo slepil narychlo nekolik jinych jazyku. Coz je presne to, jak vzniknul javascript i visual basic.
V tomto v zásadě souhlas. Běžně se ovšem setkávám i s tím, že spousta lidí neumí ani inteligentnější použití funkce "vyhledej a nahraď".
Na druhé straně si ale uvědomte, že pokud někdo pravidelně nepíše v nějakém programovacím jazyce, tak ten "skriptík" (byť na něco hodně triviálního) nebude mít napsaný za pět minut, ale může mu to klidně trvat i hodiny, navíc s nejistou dobou ukončení práce (zvlášť když bude odchytávat nejrůznější chyby). Oproti tomu ta ruční práce má vcelku jasnou a s vysokou pravděpodobností předpověditelnou perspektivu úspěšného dokončení.
C++ a C# jsou balasty a to dost hrozivé.
C samo o sobě není ani čistý strukturální jazyk, ale je někde napůl cesty mezi asemblerem a procedurálním.
A když se do toho "doplácají" objekty, tak je pak z toho ta hrůza, která je.
Proto taky vznikla JAVA a proto se tak rozšířila - protože náklady na vývoj a údržbu větších programů v tomhle céčku kombinovaném s objekty jdou jednoduše do astronomických čísel...
Omyl. Cílem je vyřešený problém. A k tomu se naučení algoritmizace a kódování hodí.
Kolik tisíců člověkohodin se prošustruje jen tím, že lidé dělají ručně úkony, které by ihned vyplivnul skriptík, spíchnutý za pět minut? Někteří tuto ruční práci dělají dokonce opakovaně a pořád, skriptík by zničil jejich pracovní pozici :)
Problém je, že třeba ten návod s F12 na spoustě prohlížečů nefunguje (na linuxovské verzi Mozilly taky ne).
Javascript je určený pro web, jako doplněk HTML (umí např. vygenerovat novou webovou stránku na základě dat, zadaných uživatelem). Má zablokováno cokoli ukládat na místní disk, což je z důvodů bezpečnostních (aby se v něm nedalo napsat malware, které po otevření html stránky začne přepisovat disk), což se dá obejít (taková malware v reálu existují), ale ne běžným uživatelem.
V současné době už umí např. i vygenerovat nad zadanými daty obrázek, buď ve svých grafických knihovnách (zdaleka je ovšem neumějí všechny prohlížeče) nebo vygenerováním kódu SVG (i jeho zobrazení je v různých prohlížečích různé, pokud daný prohlížeč vůbec umí svg zobrazit).
Absence možnosti zápisu výsledků nějakých výpočtů na místní disk by se asi dala obejít jejich zobrazením ve víceřádkovém okně (jeden z prvků JS) a copy paste přenesením do normálního textového editoru.
Nevýhodou JS pro začátečnické programování je naprosto šílená syntaxe a existence velkého množství "dialektů", kdy řada kódů (hlavně složitějších) bude vyžadovat konkrétní prohlížeč konkrétní verze a v jiných se bude chovat buď "divně", nebo se vygeneruje chybové hlášení. Některé prohlížeče např. nepodporují všechny prvky JS ale jen některé, jak jsem zmínil výše.
Kurňa to jsou ale sračky. Různé code academy a další blbosti jsou naprosto k ničemu. Prostě přiznejte, že jste další z generace "hledačů díry na trhu" a nabízíte něco jako kdysi podomní prodejce vysavač.
Lékař začít kódit nemůže, protože je mu to naprosto k ničemu, nerozumí tomu. Cílem není kód a nikdy nebyl. Cílem jsou funkční celky. Ale i spoustu vystudovaných vývojářů tuhle základní věc nikdy nepochopilo.
Scratch funguje taky v prohlížeči ;-). A má-li být jedinou výhodou to, že funguje v prohlížeči, tak to je kapku málo. A pokud někdo není ani schopen nainstalovat nějaké IDE, tak ať se raději na nějaké programování vykašle.
Jinak muj nazor už zde padl. Skriptování v Excelu je dobrý nápad, Python, ačkoliv já sám ho moc nemusím, tak bych jej zacatecnikovi asi taky doporučil.
A nakonec proč by ne i tu Javu? Neni nutné v ni programovat objektově stejně jako v tom Pythonu. Alespoň ze začátku.
Pro poučené laiky vhodné prostředí je http://jupyter.org/, jde o interaktivní prostředí v prohlížeči, které podporuje 40 programovacích jazyků a umožňuje okamžitou grafickou prezentaci výsledků.
Mezi podporované jazyky patří Python, R, Julia, Scala.
Ukázka prostředí pro Python http://nbviewer.jupyter.org/github/ipython/ipython/blob/4.0.x/examples/IPython%20Kernel/Index.ipynb
Také přihodím trochu do mlýna.
Začínal jsem na Basicu, později Pascal - to se přerodilo v Delphi, k C[|++|#] jsem jen čuchnul a odešel, makra ve VB, už i na ten Python došlo.
Největší úsporu času a obdivuhodné možnosti jsem však nedosáhl ani v jednom z výše uvedených, ale v opravdu softwaru na psaní krátkých ale efektivních skriptů - AutoIt.
Má to své IDE, ve kterém je to přehledné, obsáhlá nápověda a hlavně to funguje hned i s dialogy.
Nejúžasnější je na tom simulace "ťukání" do klávesnice či pohyby a kliky myší. Krátký kód na 10 řádků a je schopen ušetřit manuální "klikačku" v hodinách.
Mrknul bych na toto: http://hmgextended.com/home.html. Jde pohrobka systému Clipper (odnož xBase). Používá free verzi překladače Borland C++, výsledkem procesu je 1 (jeden) EXE modul. Výsledný Hello World má asi 1,3 MB. Součástí balení je i hromada ukázkových hotových aplikací. Sympatické je, že zvětšující se složitost programu nevede k přílišnému nárůstu výsledného kódu - pořád se vejde do 2MB.
Tak dobre: skusenost v praxi - minule som bol u jedneho doktora. Bol som mu opravit pocitac, lebo mu tam nesli videa a bolo treba nieco doinstalovat. V pocitaci boli doktorove videa, ako reze chrbticu a zapiluje kosti. Pricom svaly lepil ako kanagonom. Som nechapal, ako to vobec mohol polepit nazad... :)
Za opravu pocitaca a notebooku mi podakoval a opytal sa ma zaujimavu otazku. Ako som sa mohol naucit taku zlozitu vec, ako je nastavovanie Ubuntu a Windowsu + instalacia kodekov ???? Tak zlozitu vec, by sa asi on nikdy nevedel naucit !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Keby som mu zacal vraviet o programovani, tak ma asi ukamenuje :D
A to je podstata tychto drbnutych programatorskych clankov, ktore sem-tam vidim na nete. Kazdy programator si mysli, ze programovanie je cely svet. Nechape, preco ho nerobi ziady doktor, geolog a ucitel. Potom to tak aj vyzera. Kazdy retart programuje a mysli si aky je super. Lenze napriklad o bezpecnostni nic nevie.....
Ja si myslim ze doktor by mal vediet operovat, programator programovat a elektrikar zapajat elektrinu. Lebo ked programator zapaja elekrinu, tak vznikaju fotky na Facebooku v sekcii "elektrikarske kuriozity" :)
Takze kazdy programator! - Hor sa zapajat elektrinu. Je to cely svet a jedoducha vec. Vsak to nieje nic tazke. Vsetko je to len faza+ a nulak- o sile par Amper. Ale pozor!!! Priroda sa takto lahko zbavuje namysleneho genetickeho odpadu ! :D
Tohle nejsou žádné argumenty:
https://github.com/nicolaspanel/numjs
https://github.com/node-tensorflow/node-tensorflow (tensorflow je c++ s bindingy do mnoha jazyků)
https://github.com/mateogianolio/matplotnode (matplotlib je taky c++ s bindingy do mnoha jazyků)
https://www.npmjs.com/package/scipy
Aha, děkuji za rozšíření obzorů. Bohužel to ve vztahu k onomu začátečníkovi znamená, že zatímco dosud pravděpodobně (skoro) všude, když potřeboval odřádkovat, stiskl prostě Enter, tak nyní si bude muset zvyknout, že k tomu je třeba dvojkombinace. A že když se náhodou splete, tak šipkou nahoru získá kód zpět a může pokračovat.
Ale jak mi tu už někdo poradil, mám zkusit jiný prohlížeč. To opravdu pomůže, Internet Explorer mi dovolí Enter, Firefox (s Firebugem) taky, oba mají i o fous lepší chybové hlášky (v tom mém příkladu aspoň zahlásí neukončený řetězec, i když mi neřeknou kde). Jen přes tu práci se soubory (včetně samotného ukládání kódu) nejede vlak.
> Ani v jednom se ten jazyk neprosadil.
Zajímavé, já viděl weby v Pythonu (Bottle, Django, …) a na mobilu mi také funguje Python.
> To logicky vede k tomu, že jazykem pro začátečníky musí být Javascript!
Podivný historický balast, datové typy, obtížná interakce s okolím pokud nejde jenom o web (interaktivní konzolový program, soubory, sqlite, sockety, …), nedostatek knihoven jako NumPy, SciPy, Matplotlib, Tensorflow, což je to, co vědecký pracovník a lékař využijí.
Do něčeho takového bych se nepouštěl. I s knihovnami je většina statistických testů vykládána v dostupné literatuře naprosto obskurně a v podstatě tak, že se podle toho výkladu naprogramovat nedají.
Tady se dá použít R (existuje i pro windows), které umí skoro vše, včetně grafických výstupů. Hodnotím v tom rutinně průběžné testy od studentů.
Potřeboval jsem občas vyrobit nějakou triviální aplikaci (zpracování souborů, evidence, konverze...). Vždy windows, vždy gui (žádná konzola). Nutné IDE, maximálně jednoduchá práce s objekty, jednoduchá redistribuce (ideálně vyrobit jeden exe). Ideálně jazyk, který už nějak ovládám (s C++ si moc netykám).
Nakonec mi z toho vyšel Lazarus - jednoduché IDE, vše v jednom, Pascal, výsledný spustitelný kód (budiž - Hello World má 19MB :-) ).
Má někdo nějaký jiný tip?
Ty asi netušíš co všechno běží na Pythonu viď, půlka Google, Dropbox....alespoň kritizuj objektivně a neshazuj všechny jazyky, kromě toho, který jsi se naučil.. Jinak na JS je dobrá https://addons.mozilla.org/cs/firefox/addon/toggle-js/ tahle appka :)
OK, jsem začátečník, otevřu si konzoli prohlížeče, zaraduju se z Hello world, co dál? Chtěl bych vyzkoušet víceřádkový kód, ale ouha, mám Chrome a ten neumožňuje si v konzoli víceřádkový kód napsat a pak ho spustit. No, nevadí, holt si otevřu Notepad a v něm si to napíšu, konkrétně třeba
function test(){alert('Hello world".);}
test();
Copypastnu to do konzole, spustím a konzole mi řekne "Uncaught SyntaxError: Invalid or unexpected token". V pohodě, vezmu svou křišťálovou kouli a vyvěštím, že to v tomto případě znamená, že jsem řetězec začal apostrofem, ale ukončil uvozovkami. Takhle si vyzkouším přiřazení, podmínky, cykly, pole, funkce... A teď bych si to chtěl uložit. Aha, to nejde, ale však už si to stejně píšu v texťáku bokem, takže si uložím ten.
Další den bych už chtěl napsat něco, co pracuje s nějakou množinou dat, vytvořím si další texťák, do něj naházím sadu čísel, uložím... A teď bych chtěl ten soubor načíst. Cože? To nejde?
Tak dík, jsem v prohlížeči, takže otevřu Google, zadám do něj "nejlepší programovací jazyk pro začátečníka" a budu doufat, že tentokrát narazím na něco, co mi umožní si kód ukládat, načíst texťák a bude mít chybové hlášky, z nichž je možno poznat, co je špatně.
K těm lékařům, není od věci si uvědomit, že okolo Pythonu je hromada knihoven pro statistiku a zpracování dat, což se doktorovi, pokud dělá nějakou vědeckou práci může docela hodit.
Obecně je Python a jeho ekosystém docela rozšířen mezi akademiky, co potřebují počítat svojí vědu (a programování je pro ně nástroj jak to udělat.)
Instalace Anacondy zajistí běh v prohlížeči v notebooku. Učící křivka je velmi rychlá.
Buď si bude jen hrát a občas tím něco pořeší, pak se mu mnohem víc hodí něco, co má napojení na desktop a FS, anebo se z něj stane opravdový programátor (TM) a pak je jedno čím začíná - správně by měl umět zvolit správný nástroj dle toho co řeší, že? :-)
> Nejlepší běhové prostředí je dnes prohlížeč
je tak snadné najít protipříklad k tomuto tvrzení, že to ani nebudu dělat
Oficiální Python for Windows https://www.python.org/downloads/ se ve výchozím stavu nainstaluje do uživatelského datového adresáře %LOCALAPPDATA%\Programs\Python a lze nainstalovat bez administrátorských práv (stačí vypnout položku Install launcher for all users na první obrazovce instalace). Takže pokud nemáte tvrdé omezení typu možnost spouštět jen konkrétní aplikace a vše ostatní je zakázáno (což sice Windows umí, ale ještě jsem nenarazil na firmu, která by to skutečně používala, dokonce ani v bankách), tak ho spustíte prakticky kdekoliv.
A nepodporovaný, neudržovaný, to raději nechám bez komentáře...
V době Internetu a mobilů se učit Python? Ani v jednom se ten jazyk neprosadil. Když začátečník vytvoří program, jak ho bude někomu prezentovat?
Nejlepší běhové prostředí je dnes prohlížeč. To logicky vede k tomu, že jazykem pro začátečníky musí být Javascript!
Zmáčni teď hned ve svém prohlížeči F12 a pak Esc. Napiš alert("Hello world") a zmáčkni Enter. Právě jsi se stal programátorem! Tenhle jazyk ti bude fungovat všude - na mobilu, na serveru, na tom slavném ESP8266, všude.
Já osobně mám třeba radši Ruby. Ale realita je neúprosná a proto Javascript musím doporučit.
Mně se pro Python osvědčilo VS Code. Má vše, včetně Intellisense, debuggeru atd. Je tedy zapotřebí nainstalovat samotný Python, nainstalovat VS Code a v něm potom toto rozšíření: https://marketplace.visualstudio.com/items?itemName=donjayamanne.python
Nerekl bych. Resp. pokud programovat opravdu MUSI, tak mozna ano. Ale takovy lekar, ktery si obcas umi ulehcit repetitivni ukony a ve volnem case si doma napise par skriptu, ma radove vyssi sanci, ze v nemocnicnim software pozna, ze by sel vylepsit, a bude schopny sepsat rozumnejsi bugreport nez "je to kram". Pripadne vubec pozna, ze vsichni doktori v nemocnici jsou nuceni delat neco, co by zvladnul program, a pak muze jit za vedenim a presvedcit je, ze je potreba konat. A to ma podle meho velky smysl. Proto podporuju vyuku programovani uz na ZS. Aspon zaklady...
Jako programující lékař (byť neprovozující medicínskou praxi) jsem nakonec skončil u Perlu. U Pythonu mi vadila povinná objektovost (i základní proměnné jsou vlastně objekty), která vede u každého byť jen trochu složitějšího úkolu k naprosto šílenému nárůstu složitosti kódu (musejí se obcházet, podobně jako v Javě, nelogičnosti a nesmyslná omezení OOP). Python nyní používám pouze jako textovou kalkulačku.
Lékař asi nejvíc bude řešit úkoly typu "najdi v kartách všechny výsledky testů na HDL cholesterol za posledního půl roku u pacientů X, Y a Z", na což je tenhle jazyk přímo stavěný.
Druhou věcí, kterou jsem nějak zvládl, je (La)TeX a třetí Metapost. Vzájemně se to docela dobře doplňuje.
Problém ovšem vidím v tom, že lékaři musejí (alespoň praktičtí) používat povinně SW, které je v podstatě blackbox, spoustu věcí to neumí, je to proprietární a vázané na windows. Čili systém, v němž se nedá programovat prakticky nic a jakákoli havárie se musí řešit s autorizovaným servisem.
Typický problém, vyslechnuto od manželky: "Když jsem s psacím strojem odeslala pacienta po budově na odborná vyšetření, vyndala jsem ze stroje štos jeho papírů s průklepáky a mohla se věnovat dalšímu pacientovi. Až přišel, natočila jsem papíry do mašiny zpět a pokračovala, kde jsem práci přerušila. Dnes, s počítačem, musím jeho pobyt v ordinaci ukončit a až se vrátí s výsledky, tak udělat všechny úkony, jako když přišel poprvé, abych ty výsledky mohla zapsat a pracovat s nimi."
Jinými slovy "programátoři" tohoto SW nezvládli ani to, co umí většina her - uložení rozehrané mise.
Popravdě ten python moc nechápu - občas něco málo někdy naprogramuji / naskriptuji už asi 25 let a s pythonem jsem se setkal jen když kolega něco prdgal pro raspberry v jeho linuxu. Přijde mi, že je to běžným potřebám začínajícího lékaře vzdáleno podobně jako to céčko.
Osobně jsem vždy doporučoval začít Visual Basic Script v Excelu - něco, co lidi běžně používají a mají tam spoustu drobných věciček, které by chtěli usnadnit, něco co třeba nějak počítají každý den a musí pro to desetkrát něco někde zmáčknout. Ta mega výhoda je tam macro rekordér, kdy prostě provedou co potřebují a ono se to nahraje, následně jednoduchost a samovysvětlující charakter jazyka, kdy program je v podstatě popis jeho fungování v angličtině.
Takže stačí člověku ukázat kde zmáčknout makro rekordér, jak ho zastavit, jak otevřít makra, jak pochopit kód a potom už jen FOR a IF a nápovědu (která je mimochodem taky skvělá). Za čtvrt hodiny takového školení už lidi dělají praktické věci které jim osobně šetří práci.
Následně druhý krok je Apps Script pro Google Sheets - vlastně to samé co výše, jen bez toho makro rekordéru (ohromná škoda) a ne tak pohodlný debug a nápověda. Opět stačí jen čtvrthodina ukazující rozdíly a lidi jsou schopní svá Excelová makra předělat do Apps Scriptu.
A Apps Script je vlastně JavaScript, takže pak už záleží, jakým směrem se vydávají - dá se v tom programovat arduino, dělat nějaké blbůstky na webových stránkách, serverové aplikace v node ...
Není samozřejmě důvodu, proč by se kdokoliv nemohl chtít naučit právě programovat, hrát na klavír nebo jezdit na kole. Když má zájem nebo potřebu, proč ne? Jaký konkrétně jazyk se učit, to je skoro jedno. Jazyky pro "bežné" programování jsou si podobné. Asi bych vybral C#, tím se nic nezkazí.
Jen na závěr nápíšu, že pokud by lékař musel programovat, tak by měl vyměnit zaměstnavatele a jít tak, kde si jeho práce víc váží a neobtěžují ho takovými blbostmi.
Řešil jsem před časem obdobný problém a dospěl jsem ke stejnému závěru. Dvanáctiletý (tehdy) syn již dva roky úspěšně programoval ve Scratchi a nastal čas se posunout dále. Vzpomněl jsem si, jak bylo pro mě snadné začít programovat na konci osmdesátých let, když osmibitové počítače měly Basic. Ten jazyk sice nebyl ani objektový, ani hezký, byl základní, ale byl prostě stvořen na to, aby se v něm snadno a přímočaře řešil problém a ne aby se vymýšlel objektový model a podobně. Pro začátečníka je toto strašně důležité!
A tak když jsem řešil, k jakému programovacímu jazyku syna posunout od Scratche, zhrozil jsem se ze všeho toho balastu, který je zapotřebí řešit u C++, Javy a dalších dnešních jazyků. A uvědomil jsem si, že tím syna spíše odradím. To nebude správná volba. Vzpomněl jsem si taky na to, jak se za mého mládí na školách jako výukový jazyk používal Pascal, ale i ten rychle jsem ho zavrhl, kvůli dnes již malému rozšíření.
Nakonec jsem skončil právě u Pythonu. Vlastně jsem o něm nic nevěděl, sám jsem ho ještě neznal, jen jsem na něj dostal tip od známého. Ano, to je přesně ono. Jednoduché skriptování, ale na výuku programátorského myšlení je to to pravé oříškové. Člověk se může soustředit na problém samotný a to je důležité. A když později na učící křivce nastane vhodný čas, není problém přidat objekty, výjimky atd.
Dnes již syn rok a půl v Pythonu programuje, účastní se i nějakých soutěží a byla to správná volba. Rozhodně doporučuji.
Bohužel jsem pak nahlédl do studijního plánu informatiky na dvou gymnáziích v mém okolí, v jednom dělají C#, což je přesně ten objektový balast, kterému jsem se chtěl pro začátky programování vyhnout; a v druhém HTML ve spojení s JavaScriptem, což asi taky není na základy algoritmizace to nejlepší. Tak to je.
Nic proti Pythonu, ale jakožto lékař pracující v laboratoři považuji na nejužitečnější naučit se JScript (MS verze JavaScriptu). Je v každém počítaci s Windows (v medicíně ani jiné nejsou), nemusí se instalovat (často jsou jakékoliv instalace zablokované) a umí být velice užitečný. V naší laboratoři ho používáme na spoustu věcí, tiskem samolepících štítků počínaje a modifikací komunikace laboratorního informačního systému s laboratorními analyzátory konče.
Docela mě zajímá, zda se najde někdo se zkušenostmi s tím, že by se začátečník učil v pythonu. Není tam problém s indentací? Co jsem zažil, tak začátečník píše všelijak a je rád, že to dá nějak dohromady. Jak je to pak s přechodem na jiný jazyk který má věci jako {}?
Já na pár případech zkoušel javascript, protože to už každý má a není potřeba nic instalovat, ale nebyli to moc lidi, kteří by měli zápal u toho vydržet :-)