abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 14
dnes 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 4
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 11
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 10
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 4
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 1
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 773 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Jaký programovací jazyk učit

3.9.2012 14:37 Robert | skóre: 16 | blog: zabak
Jaký programovací jazyk učit
Přečteno: 5975×
Zdravím všechny, začal jsem učit na jedné průmyslové škole a trochu mě zarazilo, že se tu učí jen obsluha aplikací, rád bych do výuky zavedl také nějakou kreativní činnost, tedy základy algoritmizace + výuku nějakého programovacího jazyka. Delší dobu jsem nad tím přemýšlel, ale pořád se nemohu rozhodnout. Co by bylo podle vás vhodné? Určitě se programováním nebudou živit, ale mohlo by jim to rozšířit obzor a kdo ví... Ten předmět mají jen jednou týdně hodinu :-( .

Zatím jsem přemýšlel nad těmito variantami:

Pascal je pro výukové účely dobrý, ale jeho použitelnost dosti pokulhává. Nebo zkusit Lazarus, to by bylo dle mého o něco lepší. C je už větší kalibr, ale použitelnost také nic moc (myšleno pro bežného uživatele). Docela mě zaujal Python, ale nevím, jak by to studentíci brali a také ta použitelnost. Taky jsem přemýšlel nad javascriptem, při tvorvě webu by se jim určitě hodil nějaký základ.

Starší kolega jim chce ukázat makra (12hodin) v excelu a pak s nimi tvořit prezentace a psát ve wordu. To se mi zdá málo. Jaký je váš názor?

Řešení dotazu:


Odpovědi

3.9.2012 14:42 George O.
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
C je zaklad, pouzivat high-level funkce scriptovacich jazyku, aniz bys poradne vedel, co se deje s pameti a jak moc procesor tika, vede ke spatnym navykum:-)
3.9.2012 14:49 mich
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Pokud to nejsou budoucí programátoři a mají výuku hodinu týdně, tak jim to C asi moc nedá. Skoro nic z něj nepochopí a zůstanou u "Hello word" aplikací. Zmíněný Python mi přijde mnohem lepší a zajímalo by mě, jak to myslel tazatel s tou jeho použitelností.
3.9.2012 14:59 George O.
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
No python mam nejradsi:-) A s tou pouzitelnosti - neznam jiny jazyk, ktery by mel takovou sirokou skalu pouzitelnosti, od webovych aplikaci (Django) po desktop appky s wxWidgets atd... Jen jsem proste zastancem toho, ze pokud se necemu venovat, tak poradne :-)))
3.9.2012 15:02 tom
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Python je na vyuku zlo. Pri zakladnim programovani se pouzivaji objekty, sekvence atd., behem takto kratkeho kurzu neni sance poradne vysvetlit ani zakladni algoritmy, protoze tam porad bude ukryta nejaga magie uvnitr.
pavlix avatar 3.9.2012 15:16 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Je potřeba rozlišovat, jaká úroveň programování se učí. Jestli má být výsledkem detailní znalost fungování procesoru, tak je nejlepší nějaký assembler. Jestli má být výsledkem slušná znalost systémového programování, je dneska 100% nejlepší C. Ale jestli má být výsledkem schopnost uplácat jednoduchý výpočet, skriptík, nebo třeba i GUI prográmek tak se dá Python klidně doporučit.

V tomto ohledu nelze vypracovat obecný soud a kdo to dělá, tak se podílí na degradaci vzdělání. Ono to totiž nakonec dopadne úplně jinak, protože když na výuku zatratíte Python, tak se nepoužije C ale třeba PHP nebo Excel.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
rADOn avatar 3.9.2012 16:34 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Každý jazyk složitější než stroják má "nějakou magii uvnitř". V pythonu je aspoň jednoduchá a moc nevyčnívá. Srovnej si to třeba s Javou kde nejde napsat ani Hello world bez objektu a statické metody, nebo s C++ kde totéž nejde bez namespaců as funkcí. V pythonu use toho dá napsat docela dost jen s tim co mas v builtinech.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
pavlix avatar 3.9.2012 18:45 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
V pythonu je aspoň jednoduchá a moc nevyčnívá.
Že je jednoduchá… to je relativní pojem, ale že nevyčnívá, to je pravda.
V pythonu use toho dá napsat docela dost jen s tim co mas v builtinech.
A hlavně se to dá zkoušet bez napsání jediného skriptu.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
3.9.2012 22:02 tom
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
V pythonu je prave ta magie velice slozita. Zkuste si popsat treba popsat cyklus for: Na ten potrebujete objekt, pres ktery jde iterovat. Takze musite popsat, co je objekt a jak se iteruje. Kdyz to same budete delat v C, tak vam staci podminka a skoky, protoze nic jineho v tom neni.

-----------------------

A hello world v C++ napisete bez namespacu celkem v pohode, muzete totiz pouzit cstdio.h.
pavlix avatar 3.9.2012 22:50 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
V pythonu je prave ta magie velice slozita. Zkuste si popsat treba popsat cyklus for: Na ten potrebujete objekt, pres ktery jde iterovat.
Tomu se říká abstrakce. A Python má úroveň abstrakce velmi přívětivou (samozřejmě nejen Python).
Takze musite popsat, co je objekt a jak se iteruje.
Není potřeba. Co je to objekt vnímají lidi intuitivně. Iterovatelný objekt se rovněž nemusí vysvětlovat, protože každý někdy viděl (telefonní) seznam (mladší ročníky alespoň ten svůj v mobilu).

A každý někdy dělal nějakou rutinní práci, kdy musel z hromady (řady) brát jednu věc za druhou a něco s ní udělat (na což přesně funguje pythoní for cyklus).
Kdyz to same budete delat v C, tak vam staci podminka a skoky
Skoky použité ke zpracování cyklů jsou pro začátečníka nepříjemně nízkou úrovní abstrakce. Člověk běžně nepřemýšlí na té nejnižší úrovni abstrakce. Například při mytí sklenic se snaží „umýt každou sklenici, která je na lince“, ne „label START, podmínečně skočit na label STOP pokud je na lince nulový počet sklenic, vzít sklenici, umýt sklenici, skočit na label START, label STOP“.

Je fajn, že céčko ty skoky umožňuje dělat značně pohodlněji pomocí cyklů, ale pokud člověk neví, jestli kdy bude chtít být programátorem, je mnohem vhodnější úrovní abstrakce ta Pythoní.
A hello world v C++ napisete bez namespacu celkem v pohode, muzete totiz pouzit cstdio.h.
Dokonce i v Pythonu se dají posílat řetězce na výstup pomocí POSIXových rutin a oproti nim je ANSI stdio docela vysoká úroveň abstrakce :).
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
4.9.2012 13:06 JS
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Jeste bych k tomu doplnil, ze Active Python ve Windows podporuje COM API, coz se hodi na automatizaci MS Office. A knihovny.. treba takove SQLite primo jako soucast jazyka - parada. Takze realna pouzitelnost Pythonu pro prakticke ucely je casto vyssi nez u C++ nebo Javy.
xkucf03 avatar 22.9.2012 18:40 xkucf03 | skóre: 45 | blog: xkucf03
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Srovnej si to třeba s Javou kde nejde napsat ani Hello world bez objektu a statické metody
A v čem je problém?
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
22.9.2012 19:00 Kit
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Problém je v tom, že pro úplné začátečníky je to několik řádek nepřehledného kódu, který musí opsat, aniž by mu rozuměli. Začátečník se zpočátku topí v hromadě klíčových slov a syntaktických pravidel, jejichž význam nechápe. Pokud na něco zapomene, nefunguje to.
xkucf03 avatar 22.9.2012 19:40 xkucf03 | skóre: 45 | blog: xkucf03
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Pokud je to pro někoho překážkou, tak si ty úplné základy může odkroutit třeba v BASHi – vypsat si tam první textový řetězec, udělat první IF… a pak teprve začít s Javou. Ale osobně v tom žádný problém nevidím, beru to spíš jako výhodu – čistota a jednoduchost, vše funguje na stejných principech (třídy/instance/metody), nejsou tam záludnosti a hacky, jako v jiných jazycích, které dělají cosi magického na pozadí.

Např. v Perlu, kde se ti po vyhodnocení regulárního výrazu „zázračně“ objevují nové proměnné, které obsahují části textu vyhovujících skupinám v tom regexpu. Je fakt, že jsem si to časem oblíbil a používám to, ale je to prasárna a když někdo začíná programovat, tak bych mu to určitě nedoporučoval (nejen používat, ale vyhnout se takovým jazykům úplně).
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
3.9.2012 14:56 tom
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
+1

C je primitivni a dobre se na nem vysvetluje, jak pocitac funguje, takze na tom budete moci studentum ukazat, jak pocitac spousti programy a zaroven vysvetlit zakladni algoritmy. Vyssi jazyky jsou ze zacatku mnohem komplikovanejsi a na zakladni vyuku se moc nehodi.
3.9.2012 15:28 l4m4
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
-1

C je sice můj oblibený jazyk, ale v C nejdou triviální věci jednoduše, i hello world musí řešit low-level systémové záležitosti typu inkludování hlavičkových souborů a návratové hodnoty programu. K těm by se sice programátor měl dopracovat -- ale hned v první lekci?

Navíc je pro začátečníka obtížné ladit program v C, opět to vyžaduje spoustu pomocných znalostí.
pavlix avatar 3.9.2012 15:39 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Naprostý souhlas. Ladit céčkovský program není žádná prdel. Kdykoli jsem někoho učil programovat v C na Linuxu, tak jsme se po chvilce začali učit i gdb. Na jiné platformě zase jiné nástroje. C není tak platformě nezávislé, jak by si běžný uživatel představoval.

Céčko pro začátečníky fajn, ale jen pokud je cílem je rychle vypracovat ke znalosti fungování počítače a procesů a hlavně, na jejich cílové platformě. Tedy žádné ANSI IO, pokud je cílem POSIX systém apod. To samé pro Windows. Céčko by mělo jít formou komplexního „výcviku“ ne formou předvedení, jak se dá udělat pár prográmků.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
12.9.2012 22:53 pocitujlasku | skóre: 15
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit

Ale to ich aspon nauci programovat. Ja som dlhe roky pracoval v Pascale, Delphi, a ked som presiel na C, tak som bol mimo. Pascal ma dost "rozmaznal" doslova ma vodil za rucicku toto mozes, toto uz nie. C-cko ma naucilo davat si pozor na to, co robim.

Dnesni programatori robia v style: toto si naklikam, ono to nejako skompiluje, optimalizacia a pochopenie co sa vlastne deje je nulova.

3.9.2012 15:25 psholty2 | skóre: 7 | blog: char
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
C pre studentov strednej fakt nie. Vacsina ludi programovat nikdy nebude a jebat sa so smernikmi len aby som spojil dva retazce skutocne nie je pre neprogramatorov. Mali sme C na strednej (strojnicka priemyslovka) a pochopili sme to tam asi tak 3 ludia (ty co uz programovali v niecom inom). Pascal je fajn ale v praxi tazko pouzitelny (co s tim, laudo laudare, ve šroubárne :D). Prihovaram sa za javascript. Mozu v tom riesit kvadraticke rovnice a podobne skolske blbosti naprosto v pohode, s retazcami to pracuje tiez normalne, a je ista sanca ze to aj realne niekde pouziju.
23.8.2013 21:14 Jose
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
+1
pavlix avatar 3.9.2012 15:30 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
myšleno pro bežného uživatele
Pro běžného uživatele doporučuju jazyk, kde každý řádek něco znamená a který je co nejméně spjat se znalostí hardware a ke kterému existuje slušný interaktivní interpret.

Mně osobně napadá Python 3 (kvůli bordelu, co se naskládal v Pythonu 2). Použitejnost je všude kromě webových browserů. Nicméně, na webovém javascriptu se nic nenaučí, ztratíte příliš mnoho času řešením problémů s běhovým prostředím, nehledě na to, že většina věcí na webu lze bez javascriptu. A ty, co se bez JS neobejdou jsou na začátečníka příliš složité.

Jo, kdyby se učili javascript jako obecný jazyk, tak by se to dalo. Ale to se v praxi vyskytuje spíš okrajově a lidi tomu nevěří.
Starší kolega jim chce ukázat makra (12hodin) v excelu a pak s nimi tvořit prezentace a psát ve wordu. To se mi zdá málo. Jaký je váš názor?
Python by je alespoň seznámil s příkazovou řádkou a se způsoby, jak dělat věci primitivně a jednoduše, což je dobré. Makra v excelu jsou docela overkill, na to, co se s tím dá rozumně dělat a není při tom vidět, že počítačový program je obyčejný soubor.

Jinak kdo bude umět trochu Pythonu, může směřovat do mnohých českých firem, které ho používají na všechno možné.

Učit psaní ve wordu je dost náročné, protože ti lidi se to naučí sami a špatně. Ten nástroj je celý špatně postavený (i když v novějších verzích se snažili), takže bych maximálně věnoval chvilku vysvětlení, co jsou to styly a jak se používají a praktické ukázce. Hodina, maximálně dvě.

Prezentace? Podle mě ztráta času, ale hodina se tím zabít dá. Lidi by se měli především učit jak prezentovat, ne jak naplácat do slajdu skákající písmeka.

Makra v tabulkách se občas hodí, ale spíš bych to viděl na ta nejjednodušší (suma nějakého sloupce apod), rozhodně bych se z nich nesnažil dělat programovací jazyk. Když budou chtít plácat programy do maker, naučí se to mimo školu.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
3.9.2012 18:07 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Jo, kdyby se učili javascript jako obecný jazyk, tak by se to dalo. Ale to se v praxi vyskytuje spíš okrajově a lidi tomu nevěří.
JavaScript je totiž příšerný jazyk.
LangPa avatar 4.9.2012 01:41 LangPa | skóre: 12 | blog: LangPavel | Hradec Králové
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
JavaScript není příšerný, je to first class jazyk lepší než smalltalk :-) Má pár přišerných vlastností, které souvisejí s typovou konverzí, ale jinak je fajn. First class jako objektový v prvním stupni - objekty jako literály.. {...}

No lepší než PHP, ne? :-D
pavlix avatar 4.9.2012 02:24 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
No lepší než PHP, ne? :-D
Cokoliv, co bylo od začátku navrhováno jako reálný programovací jazyk bude zpravidla lepší než cokoliv, co bylo od začátku navrhováno jako šablonovací systém :). Výjimky se najdou, ale Javascript a PHP jimi rozhodně nebudou :).
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
4.9.2012 09:56 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Zásadní problémy JavaScriptu:
  • způsob, jakým se určuje platnost proměnných – stačí zapomenout var a je veselo
  • nejde vytvořit konstantu
  • uzávěry a nekonstantní reference
  • dvě různé "rovnosti" a "nerovnosti"
Další problémy JavaScriptu:
  • přítomnost a chování undefined a null
  • automatické vkládání středníků
  • chování typeof
  • konstanty nejsou standard
  • parsování čísel začínajících 0: číslo 0707 je v osmičkové soustavě a číslo 0708 je v desítkové soustavě
  • konstrukce polí: pole new Array(2) i pole new Array(1, 2) mají 2 prvky
Problém JS, ač se to někomu může líbit, je přílišná volnost, kvůli níž se těžko hledají chyby.
24.9.2012 14:39 __dark__
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Wow, to by mě zajímalo, v čem programuješ, když ti vadí takové drobnosti.
24.9.2012 15:55 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Nejčastěji v OCamlu a bohužel hodně často také v C#.
Jakub Lucký avatar 5.9.2012 19:33 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
If you understand, things are just as they are; if you do not understand, things are just as they are. (Zen P.) Blogísek
9.9.2012 01:42 Messiah
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
+1
23.8.2013 08:51 ...
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
twat?
stativ avatar 4.9.2012 20:36 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Dovolil bych si taky zahlasovat pro Python 3, a to zejména kvůli interaktivnímu režimu bez nutnosti hned začít psát skripty.
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
3.9.2012 17:47 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Určitě bych zvolil jednoduchý jazyk, u něhož budeš moci snadno vše přesně vysvětlit. Pokud chceš jazyk, který se prakticky používá, tak doporučuji Haskell nebo Erlang. Pro oba jazyky existují pěkné knížky zdarma (například Learn You a Haskell for Great Good nebo Learn You Some Erlang for Great Good). Špičkový jazyk pro výuku programování a teorie programovacích jazyků je Standard ML, bohužel však nemá tak aktivní komunitu jako Haskell nebo Erlang.

Jednoduchost jazyka je důležitá – aspoň sám budeš vědět, co různé příkazy nebo výrazy znamenají. Jazyky jako C, C#, Java, Python příliš jednoduché nejsou, neboť obsahují mj. věci jako volatile, podtypový polymorfismus, overloading, dědičnost nebo dokonce konstrukce, jejichž efekt není definován. Tohle všechno začátečníkovi komplikuje život. Naopak mají velmi špatnou podporu pro neměnné datové struktury, které programování ulehčují.
pavlix avatar 3.9.2012 18:57 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
To by mě hodně zajímalo, jak si začátečníci poradí s neimperativním stylem. Možná bych do toho šel, kdybych věděl, že publikum budou všechno lidi dobří v matice.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
3.9.2012 21:46 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
publikum budou všechno lidi dobří v matice
Záleží, z jakého konce se to vezme. Já bych se inspiroval například kurzem Haskell For Kids: 1-8, kde žádné hluboké znalosti matematiky nejsou třeba.
pavlix avatar 3.9.2012 22:57 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
S dětmi, které si ještě nevybudovaly zbytečné bloky, to bude mnohem jednodušší. I tak mezi nimi budou rozdíly, ale o to tak nejde. Já nevím, jestli jsi někdy zkoušel učit matiku byť i jediného středoškoláka, kterému to nejde, nebaví ho to, vůbec ho to nezajímá a vůbec to dělat nechce. Jestli ne, doporučuju zkusit :).
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
3.9.2012 20:55 l4m4
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Pokud chceš jazyk, který se prakticky používá, tak doporučuji Haskell nebo Erlang.
Nemám statistiky, zda je více používán Erlang, nebo FORTRAN 77, ale skoro bych se vsadil, že ten druhý. Toť můj komentář k používanosti.
LangPa avatar 4.9.2012 01:53 LangPa | skóre: 12 | blog: LangPavel | Hradec Králové
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
+1 za erlang
4.9.2012 07:12 l4m4
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Klidně +1 za co chceš, ale zdůvodňovat Erlang používaností je zoufalství.
LangPa avatar 4.9.2012 01:52 LangPa | skóre: 12 | blog: LangPavel | Hradec Králové
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
+1 ale obávám se, že někdo, kdo absolvuje tyto kurzy (funkcionálního programování) (bohužel) nepochopí nic, co se považuje za "důležité znalosti v IT". Pokud někoho takového hledáte, řekněte mi :-)
4.9.2012 07:08 l4m4
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Takových těch případů, kteří chtějí řešit problém genetickými algoritmy, ale krachují na tom, že nedokáží přečíst data ze souboru, jsem už viděl dost. Nejdůležitejší jsou opravdu znalosti pomáhající řešit reálné problémy.
rADOn avatar 3.9.2012 18:05 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Pokud zkurvíš mozky další generace Pascalem, budiž proklet na věky věkův. Amen.

Javascript potažmo cokoliv webového je závislé na značně složitém běhovém prostředí, učit se něco takového bez základních znalostí IP, http a vnitřností browserů je šílenství.

C je magořina pro začátečníky, ale pokud se chceš dotknout low-level věcí jako je práce s pamětí a procesy, tak je IMO lepší magořina která se řídí pár jednoduchými a pochopitelnými pravidly než o fous menší magořina která se řídí větší spoustou přesložitělých pravidel (aka C++).

Makra a podobné vylomeniny mají stejný problém se závislostí na nějakém prostředí jako javascript, ale pokud už to prostředí probíráte v rámci učení se ovládání office, tak to je celkem jedno. Ale učit se základy algoritmizace v oficím basicu… no nevím nevím.

Já kdybych hledal výukový jazyk tak budu chtít:
  • Běhové prostředí které zachytí chyby. Výjimky se srozumitelnými tracebacky, žádné ošklivé segfaulty a kryptické errory z kompilátoru.
  • Silné typy. Když se někde ocitne něco co tam nemá být, musí to být zachytitelné a musí být zřejmé co tam být mělo.
  • Automatická práce s pamětí.
  • Interaktivní řádka. Na zkoušení, hledání chyb ve složitějších výrazech nebo prostě jen na hraní k nezaplacení.
  • Reálné nasazení. "Výukové" jazyky dříve nebo později ztratí kontakt s realitou a ve výsledku učí něco co se nedá využít.
  • Minimalismus. Jazyky ve kterých nejde psát nejjednodušší úlohy bez záhadných klíčových slov a nepochopitelných obratů nelze chápat postupně, od jednoduchých ke složitým věcem.
  • Maximalismus. V ve výukovém jazyce by mělo být možné zkonstruovat co nejširší paletu úloh. Včetně těch nebezpečných. Zvláště těch nebezpečných.
Vzato kolem a kolem, python je první co by mě při čtení těchto bodů napadlo. Ale rozhodně ne jediný.

"2^24 comments ought to be enough for anyone" -- CmdrTaco
3.9.2012 18:54 Petr
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Pokud zkurvíš mozky další generace Pascalem, budiž proklet na věky věkův.
Proč?? Náhodou mi přijde ten Pascal z výše vyjmenovaného jako celkem dobrá varianta. Pokud se vykašle na ukazatele, tak je to pohoda - žádný problém se správou paměti, každý řádek kódu je snadno vysvětlitelný. Tak co?
mess avatar 3.9.2012 19:04 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Pokud se vykašle na ukazatele, tak je to pohoda...
Vzpomněl jsem si na legendární kód jednoho našeho profesora (schválně, kdo uhodne jeho jméno a fakultu :-D):
var LUk, PUk: Tuk;
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
3.9.2012 19:34 Ivan
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
S tim Pascalem souhlsim. Zacinat Cckem je fakt ulet, to spousti lidi odradi a amater v nem nikdy nic nenapise.

Pacsal je genialni jazyk na vyuku, na nic nic jineho se uz bohuzel nehodi. Vzdyt i pro vyuku algoritmu se pouziva takovy pseudo Pascal. Pro vyuku je dulezite rychle preskocit tu uvodni fazi, IDE, deklarace promennych, kompilace, spusteni. Kdyz tohle zvladnete tak muzete vesele prikrocit k bubble sortu, stromum, ...

PS: dokonce i na MIT se donedavna zacinalo Pascalem a Lispem.

Pokud chcete studenty navnadit a ukazat jim, jak se za malo penez udela hodne muziky, tak je tu Visual "Basic for Applicacions" (FUJ!) anebo PHP.
pavlix avatar 3.9.2012 21:26 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
PS: dokonce i na MIT se donedavna zacinalo Pascalem a Lispem.
A čím se tam začíná teď?
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
4.9.2012 12:18 Ivan
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Myslim, ze Pascal nahradili Javou. Preci jenom dneska, kdyz nekdo nastoupi do prvaku na vejsce, tak tak uz nejaky IDE ovladat umi - neni to uplnej amater.

Pokud je jde o vyuku zakladu programovani, tak je Borland Pascal skvela vec. Cely "projekt" mate v jednom souboru, nikde se neda nic nastavit a nemusite porad dokola obihat studenty protoze jim zmizelo nejaky okynko a oni ho neumeji vratit nazpatek. Uvedomte si, ze ne vsichni lidi na svete jsou nadseni z programovani a vy to musite dostat i do lidi, ktery to vubec nebavi a ani nechteji chapat jak se ovlada Eclipse. Pro vyuku potrebujete co nejjednodussi IDE, ktere se da vysvetlit i tem nejvetsim ignorantum za pul hodiny.

V Jave je to vsechno tak nejak "obracene", drive nez studentum vysvetlite co je to promenna, datovy typ, if-else, tak musite nejdrive vytvorit projekt, package, tridu, metodu, static metodu, ...

4.9.2012 12:29 Kit
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
V Jave je to vsechno tak nejak "obracene", drive nez studentum vysvetlite co je to promenna, datovy typ, if-else, tak musite nejdrive vytvorit projekt, package, tridu, metodu, static metodu, ...
To mi na Javě dost vadí. Když spustím Python a napíšu první příkaz, tak hned vidím, co to udělá. Postupně to mohu rozšiřovat o proměnné, podmínky, cykly, funkce, objekty,... Přesně tak jak potřebuji postupovat a žáci nejsou zahlceni tunou deklarací.
pavlix avatar 4.9.2012 17:46 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Myslim, ze Pascal nahradili Javou.
OK.
Preci jenom dneska, kdyz nekdo nastoupi do prvaku na vejsce, tak tak uz nejaky IDE ovladat umi - neni to uplnej amater.
Nevidím souvislost.
Pokud je jde o vyuku zakladu programovani, tak je Borland Pascal skvela vec.
Nic skvělého na starém Pascalském kompilátoru, IDE ani tvorbě dosovských aplikací se všemi jejich omezeními v dnešní době jaksi nevidím. Užitečnost nabytých dovedností je taky značně pochybná.
Cely "projekt" mate v jednom souboru,
Měl jsem pascalovské projekty ve více souborech a navíc jsem to považoval za výhodu :).
nikde se neda nic nastavit
A proto nám padal kód od učitele, dokud jsme nezapnuli zkrácené vyhodnocování, ne?
a vy to musite dostat i do lidi, ktery to vubec nebavi
To je omyl vycházející z dlouhodobé profesní deformace.
Pro vyuku potrebujete co nejjednodussi IDE, ktere se da vysvetlit i tem nejvetsim ignorantum za pul hodiny.
Když použiješ s/IDE/nástroje/, tak by se s tím dalo částečně souhlasit.
V Jave je to vsechno tak nejak "obracene", drive nez studentum vysvetlite co je to promenna, datovy typ, if-else, tak musite nejdrive vytvorit projekt, package, tridu, metodu, static metodu, ...
Java je značně těžkopádná a osobně bych ji na výuku nedoporučil.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
22.9.2012 20:32 w4rr10r
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
> Preci jenom dneska, kdyz nekdo nastoupi do prvaku na vejsce, tak tak uz nejaky IDE ovladat umi - neni to uplnej amater.

Byl jsem se podívat na první cvičení z programování na nejmenované informatické škole. Na přímou otázku, zda už někdy programovali, odpověděla kladně sotva třetina studentů.
pavlix avatar 3.9.2012 19:04 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Pokud zkurvíš mozky další generace Pascalem, budiž proklet na věky věkův. Amen.
Tolik expresivity a žádné zdůvodnění nevhodnosti Pascalu pro výuku.
Vzato kolem a kolem, python je první co by mě při čtení těchto bodů napadlo. Ale rozhodně ne jediný.
Až na silné typování. Už jenom funkce a objekty mají slabé typování (typ argumentů lze kontrolovat jen běhově, atributy i metody se vyhledávají podle jména a jejich existence je opět pouze běhová). Automatická reinterpretace datových typů standardními prostředky jazyka a knihovny taky silnému typování nepřispívá.

Zajímal by mě jazyk, který všechny tyto požadavky splňuje a taky by mě v něm zajímal nějaký ukázkový reálný kód a jeho příjemnost či pochopitelnost pro začátečníka.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
3.9.2012 20:59 l4m4
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
To zdůvodnění je prosté: učí se snad programovat nikoli jako plané cvičení, nýbrž proto, že by to třeba mohli k něčemu někdy i použít. A většina lidí se víc než jeden jazyk nenaučí.
pavlix avatar 3.9.2012 21:29 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
A většina lidí se víc než jeden jazyk nenaučí.
I kdybys měl nakrásně pravdu, je velký rozdíl mezi korelací a kauzalitou. Znalost jednoho jazyka nebrání získání znalosti druhého jazyka. Když člověk umí programovat (přemýšlet o programech), jazyk se naučí během chvilky.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
4.9.2012 07:10 l4m4
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Jak se ti do toho podařilo dostat rozdíl mezi korelací a kauzalitou, když nemluvím ani o jednom?
pavlix avatar 4.9.2012 17:48 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Přečti si i druhou a třetí větu :).
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
4.9.2012 23:11 l4m4
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Taky nic ;)
rADOn avatar 4.9.2012 15:32 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Pokud zkurvíš mozky další generace Pascalem, budiž proklet na věky věkův. Amen.
Tolik expresivity a žádné zdůvodnění nevhodnosti Pascalu pro výuku.

To je na dlouhé povídání. Dám radší příklad – když se v našich krajích začalo prosazovat php, nikoho z pascalovské generace jsem neviděl používat foreach. Nikdy. Lidi byli prostě naučení že jediný způsob jak procházet struktury je přes numerický index, a když jsem se na tohle téma bavil tak se vždy ukázalo že vůbec nechápou princip iterátoru. Pascal je nenaučil programovat, jen opisovat jednu šablonu.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
4.9.2012 15:45 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Vám tedy vadí, že lidé nepoužívali X, protože Pascal X nepodporoval?
Pascal je nenaučil programovat, jen opisovat jednu šablonu.
V čem se jiné jazyky liší?
rADOn avatar 4.9.2012 17:10 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Mě vadí že lidé, pokud mám pokračovat v příměru, používali jen a pouze jedno X protože Pascal je nejenom nic jiného nenaučil, ale aktivně jim zkurvil mozky aby cokoliv jiného považovali za neexistující nebo nemožné. A nejhorší ze všech X je představa že na všechny problémy se dá jít se stejným nástrojem a žádný další jazyk už znát nemusí.
V čem se jiné jazyky liší?
Pokud to srovnám s pythonem, IMO cokoliv z toho mála co se dá učit na pascalu se dá v pythonu vysvětlit stejně dobře. S tím rozdílem že v pythonu můžu od jednoduchých věcí přejít ke složitým aniž bych musel bojovat se umělými omezeními které měly dokazovat něčí dávno neplatnou fantazii o "správném" programování. Ano, ve světě který by se skládal jen z pascalu a C by pascal měl opodstatnění protože by byl jednoduchý (a skalní pascalisti se zkurvenými mozky tak často svět vidí). Jenže ve skutečném světě je dost dobrých jednoduchých jazyků. Python sám není bůhvíjak skvělý, to Pascal je tak primitivní.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
pavlix avatar 4.9.2012 17:54 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Myslím, že v tomto případě i ty zaměňuješ korelaci s kauzalitou. Pascal byl většinovým výukovým jazykem, tudíž logicky většina lidí, co přišli do styku s Pascalem zůstali začátečníky. Protože PHP byl většinovým webařským jazykem, tak se mnoho z nich pustilo do webu. Tudíž jsi mohl potkat hodně špatných PHPkářů a hodně z nich začínalo na Pascalu.

Když to vezmeš z druhé strany, zjistíš, že i velká část těch dobrých začala na Pascalu a nešťastná část z nich si stihla sáhnout i na PHP.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
rADOn avatar 4.9.2012 19:03 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
To zní logicky, ale mělo by to znamenat že mezi nepascalisty by měl být podobný poměr mezi začátečníky a profíky. Což se mi nezdá, ale zase tolik nepascalistů neznám takže se hádat nemůžu.

Zato můžu vycházet z vlastní zkušenosti – úspěšně jsem se "odnaučil" paskvilit a naučil programovat v asi půltuctu jazyků. I když by bylo moc hezké myslet si že jsem nějak chytřejší než spousta pascalistů ze stejných dob, připadá mi mnohem logičtější připsat to faktu že jsem byl jestě v programátorské kolébce krátce vystaven působení céčka. Ne že bych se ho naučil, to až mnohem později :-) Ale když pak do náš začali na škole nalejvat pascalovský idiosynkrazie tak jsem věděl že kecaj…
"2^24 comments ought to be enough for anyone" -- CmdrTaco
pavlix avatar 4.9.2012 21:53 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
To zní logicky, ale mělo by to znamenat že mezi nepascalisty by měl být podobný poměr mezi začátečníky a profíky. Což se mi nezdá, ale zase tolik nepascalistů neznám takže se hádat nemůžu.
Spíš to neznamená v podstatě vůbec nic.
Ale když pak do náš začali na škole nalejvat pascalovský idiosynkrazie
Specifikuj :).
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
rADOn avatar 5.9.2012 14:04 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Specifikuj :).
První na co si po těch letech ještě vzpomenu je nasrání že to neumí funkce s proměnným počtem argumentů. Nemělo to žádný makrojazyk. Středníky to používalo podivným způsobem takže někam se dávat musely a někam nesměly. Zabudované typy byly nedostatečné a vlastní typy méněcenné. Minimum operátorů. Nedomyšlený knihovní systém který si neporadil s rekurzivními závislostmi. Strukturované konstrukce neměly break ani continue a simulovalo se to přes pomocné proměnné… fuj, je mi blivno jen na ty hovadný léta pomyslím.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
pavlix avatar 5.9.2012 14:12 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Nic z toho mi nepřijde, že by překáželo v základní výuce programování. Mimochodem pár věcí by mohlo být specifické pro borland a nemuselo by u jiných implementací platit.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
rADOn avatar 5.9.2012 16:43 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Nic z toho mi nepřijde, že by překáželo v základní výuce programování.
Jinak řečeno, ten jazyk je blbej, ale ne tak moc aby se nedal použít. Sotva polovina toho co se v něm člověk naučí je zbytečná a vysloveně škodlivá ještě méně tak jakýpak copak… Ať si haranti zvykaj že život není peříčko, co?
Mimochodem pár věcí by mohlo být specifické pro borland a nemuselo by u jiných implementací platit.
Většina. Ale tím je to horší, nemohu než citovat klasika (Doporučuji přečíst celé, je to velmi poučné.):
… Because the language is so impotent, it must be extended. But each group extends Pascal in its own direction, to make it look like whatever language they really want. Extensions for separate compilation, Fortran-like COMMON, string data types, internal static variables, initialization, octal numbers, bit operators, etc., all add to the utility of the language for one group, but destroy its portability to others. …
To je jádro pudla. Nejde (jenom) o to portabilitu učit, je to hlavně prostředek jak jazyk udržet aktuální. Python byl původně podobně primitivní jako pascal, ale díky lepšímu návrhu a fungujícímu standartizačnímu procesu do něj bylo postupně doplněno spousta věcí (včetně takových drobnůstek jako jsou objekty). Jak vidno z výše citovaného textu pascal byl zastaralý už v době kdy byl stejně starý jako je dnes python a java.

"2^24 comments ought to be enough for anyone" -- CmdrTaco
pavlix avatar 5.9.2012 23:47 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Jinak řečeno, ten jazyk je blbej, ale ne tak moc aby se nedal použít.
Tak. I když hodně záleží na dialektu.
Sotva polovina toho co se v něm člověk naučí je zbytečná a vysloveně škodlivá ještě méně tak jakýpak copak…
Tady už jsme se myslím shodli na tom, že se neshodnem :).
Ať si haranti zvykaj že život není peříčko, co?
To rozhodně, nezávisle na nějakém pascalu.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
5.9.2012 15:22 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Že do toho tak nesměle vstupuji :)…:
je nasrání že to neumí funkce s proměnným počtem argumentů - to je spíše dobře.
Středníky se používají naprosto normálně, pravděpodobně je to narážka, na středník za „end“ kde se píše jen za „posledním“ (ne před else apod.). To je snad jediné co mě napadá.
Zabudované typy byly nedostatečné a vlastní typy méněcenné. co je tím myšleno?
break a continue tam jsou.
Zazlíval bych mu to, že klávesa 'e' a 'n' odešla na klávesnici jako první z toho psaní begin a end… :-)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
6.9.2012 11:14 jos
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
já se nesměle přidam, možná sem úplně mimo

Nedomyšlený knihovní systém který si neporadil s rekurzivními závislostmi

jakože tohle?
rADOn avatar 6.9.2012 13:33 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
je nasrání že to neumí funkce s proměnným počtem argumentů - to je spíše dobře.
I kdyby na tom bylo něco špatného, tak by to ten jazyk měl umět aby šlo názorně ukázat _proč_ je to špatně. Výuka zatajováním je kravina. Je to něco co se používá neustále a ve spoustě jazyků, nelze zavřít oči a dělat že to neexistuje.
Středníky se používají naprosto normálně, pravděpodobně je to narážka, na středník za „end“ kde se píše jen za „posledním“ (ne před else apod.). To je snad jediné co mě napadá.
Středníky jsou v pascalu oddělovač (separator) nikoliv terminátor jako v C & co. V Céčkových jazycích může být všude, i jako "prázdný" výraz. V pascalu se často musel odmazávat nebo přidávat. Žádný moderní jazyk (dokonce ani Java která se jinak v syntaktické buzeraci vyžívá :-) ) tuhle pitomost nepřevzal.
Zabudované typy byly nedostatečné a vlastní typy méněcenné. co je tím myšleno?
String omezený na 255 znaků. Každá délka pole byla vlastní typ. Nedomyšlené priority operátorů. Neexistující asociativní pole. A aby to náhodou nešlo spravit, definice vlastních typů byla dokurvená tak aby byly k ničemu.
break a continue tam jsou.
Zcela záměrně nejsou a verze pascalu o které je řeč to neuměla (pavlix se ptal na idiosynkrazie který do nás lili ve škole, čili BP 6.0). Wirth je zastánce filozofie "jeden vstupní bod – jeden výstupní bod" která už mezitím zastarala (resp. pro netrivialní programy nikdy nefungovala). A pokud jazyk potřebuje 30+ let na standartizaci takové základní věci, tak to samo o sobě něco říká.
já se nesměle přidam, možná sem úplně mimo Nedomyšlený knihovní systém který si neporadil s rekurzivními závislostmi
jakože tohle?
Přesně to. Knihovní systém který neumí zbuildit projekt načisto naučí člověka leda to, jak knihovní systém nemá vypadat.

BTW ještě než to někdo vypálí – nestandartní rozšíření té nebo oné mutace pascalu na věci nic nezmění, dokud zůstanou "nestandartní". Já si ještě pamatuju jak mi pascalisti říkali že Delphi většinu debilit pascalu nemá a že učit se céčko je ztráta času. A taky jak mi jeden starší fachman trpělivě vysvětloval že "céčko je standartizovaný a co se v něm naučíš, to se nikdy neztratí". Pak Delphi chcíplo a zbytek je historie :-)

"2^24 comments ought to be enough for anyone" -- CmdrTaco
6.9.2012 14:47 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Středníky jsou v pascalu oddělovač (separator) nikoliv terminátor jako v C & co. … Žádný moderní jazyk (dokonce ani Java která se jinak v syntaktické buzeraci vyžívá :-) ) tuhle pitomost nepřevzal.
V Haskellu středník funguje jako oddělovač. V jazycích z rodiny ML je středník binární operátor, který vyhodnotí levý výraz a zahodí jeho hodnotu, poté vyhodnotí pravý výraz a vrátí jeho hodnotu. Takže funguje také jako oddělovač.
I kdyby na tom bylo něco špatného, tak by to ten jazyk měl umět aby šlo názorně ukázat _proč_ je to špatně. Výuka zatajováním je kravina.
Přeci nechcete, aby první jazyk obsahoval každou špatnost jen kvůli tomu, aby se řeklo, že je to špatné a nemá se to používat.
rADOn avatar 9.9.2012 12:36 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Přeci nechcete, aby první jazyk obsahoval každou špatnost jen kvůli tomu, aby se řeklo, že je to špatné a nemá se to používat.
Nemá používat? Tohle přesně ilustruje jak přihlouplé "výukové" jazyky kazí mozek. Je to součástí většiny moderních jazyků a BUDE se to používat ať se to Wirthovi líbí nebo ne. "Výukový" jazyk by tě tedy měl naučit co je na tom nebezpečné a jak si s tím poradit.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
9.9.2012 14:18 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Má poznámka byla myšlena obecně na každou „špatnost“ – nejen na proměnný počet argumentů. Programovací jazyk prostě nemůže obsahovat vše, a proto se složité nebo nepoužívané nebo špatné věci do jazyka nedají, aby ten jazyk byl buď jednodušší nebo aby se tam mohlo dát něco jiného.
Tohle přesně ilustruje jak přihlouplé "výukové" jazyky kazí mozek.
Řekl bych, že omezení na pevný počet argumentů je úplná drobnost proti tomu, jak C++, Java, C# a i další jazyky spojují dědičnost a podtypy – aby jste mohl vytvořit podtyp, musíte použít dědičnost. A přitom obecně podtřída nemusí být podtyp a ani podtyp nemusí být podtřída.
pavlix avatar 9.9.2012 14:54 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
aby jste mohl vytvořit podtyp, musíte použít dědičnost.
Interfaces v Javě?
A přitom obecně podtřída nemusí být podtyp
To musí být nějaká zvláštní definice podtřídy.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
9.9.2012 17:13 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Interfaces v Javě?
Máte pravdu, pro C# a Javu jsem měl napsat: podtyp třídy jde vytvořit pouze pomocí dědičnosti (tj. vytvořením podtřídy).
A přitom obecně podtřída nemusí být podtyp.
Stačí do nadtřídy dát metodu foo(x : self), kde self reprezentuje typ aktuální třídy. Když by nadtřída A měla takovou metodu, tak ji podtřída B != A zdědí. Ve třídě A značí self typ A, ve třídě B značí self typ B. Když by B <: A (B je podtyp A), tak musí platit foo(x : B) <: foo(x : A), a tedy musí A <: B (pozice argumentu je kontravariantní), což ale neplatí (použitím B <: A a antisymetrie <: dostaneme A = B).
pavlix avatar 10.9.2012 00:35 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Popravdě jsem musel dát zavděk jinému zdroji…
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
10.9.2012 09:21 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Zkusím to trochu konkrétněji:
class A {
  // zde je self typ A
  bool equals(self x);
}

class B : A {
  // zdědí následující metodu,
  // zde je self typ B
  bool equals(self x);

  void novaMetodaKteraNeniVA();
}
Když by třída B byla podtyp třídy A, tak můžu instance A nahradit instancemi B. V následujícím kódu však nejde nahradit a' instancí třídy B, neboť metoda equals třídy B požaduje více (konkrétnější typ) než metoda třídy A:
A a = new A();
A a' = new A();
a'.equals(a);
Mnoho staticky typovaných jazyků s podporou OOP však nepodporuje typ self – výjimkou je například OCaml.
7.9.2012 10:48 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Dík za vysvětlení, s něčím souhlas, něco mě nesedí, ale asi by bylo zbytečné to dál kuchat - fčil už rozumím tomu postoji.
Pak Delphi chcíplo a zbytek je historie
- kéž by, stále si sem tam musím omlátit ruky od psaní begin/end.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
4.9.2012 17:16 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
OT: Ale v té dávné minulosti také udělali dobře, protože foreach byl o kus pomalejší než for. :-)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
pavlix avatar 4.9.2012 17:50 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
To je na dlouhé povídání. Dám radší příklad – když se v našich krajích začalo prosazovat php, nikoho z pascalovské generace jsem neviděl používat foreach.
[rejp]To může být i tím, že jim PHP připadalo jako zprasené céčko :).[/rejp]
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
pavlix avatar 4.9.2012 17:51 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Nikdy.
Myslím, že se ti i tady na Abclinuxu ozve hromada protipříkladů :). Můžeme začít u mě.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
stativ avatar 4.9.2012 20:35 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Můžeš to dokázat? Třeba fotografií, kde používáš foreach v php a rADOn při tom na tebe kouká?
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
4.9.2012 19:00 Radovan
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Pascal je naučil programovat, ale pascalským stylem. Tam se to prostě dělá jinak, netroufnu si tvrdit jestli lépe nebo hůře, je prostě víc způsobů "jak stáhnout kočku z kůže" ;-)

Mám tu jednu starou učebnici Pascalu, ve které je v každém ukázkovém programu minimálně jedno GOTO. Co bys asi řekl na jejího autora?
rADOn avatar 4.9.2012 19:05 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
"2^24 comments ought to be enough for anyone" -- CmdrTaco
6.9.2012 14:43 vatoz | skóre: 6 | blog: Vatoz
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
6.9.2012 23:40 Kit
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Začínal jsem s Pascalem, napsal jsem v něm spoustu programů. Nyní se snažím vyhnout všem druhům cyklů, protože dnešní jazyky to umožňují. A když už nějaký cyklus, vždy se nejprve pokouším aplikovat foreach, potom teprve while a for. Numerickým indexům se vyhýbám tak, jak jen to jde.

Pascal byl vhodným výukovým jazykem své doby. Dnes je překonán a nahrazen.
pavlix avatar 9.9.2012 14:55 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Dnes je překonán a nahrazen.
Čím?
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
9.9.2012 15:34 Kit
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Dnes je překonán a nahrazen.
Čím?
Vším.

Jediný Správný Programovací Jazyk neexistuje. Každý má své nedostatky a přednosti. Mohu napsat název kteréhokoli z nich a najdu tady příznivce i odpůrce. Dělám v PHP, ale vidím jeho chyby. Nemám rád Javu, ale vidím její přednosti. Obdivuji stručnost Pythonu, ale také má své mouchy. Naučit se C++ je náročné, ale výnosné.

Co vybrat? Pokud bych šel cestou názornosti, od jednoduššího ke složitějšímu, vybral bych Python. Pokud ho někdo nezvládne, asi nemá smysl ho učit Javu a už vůbec ne C++. Pokud ho zvládne, může ho dál používat jako velmi praktický nástroj. Může také přejít na Javu či C++. Myslím si, že si přenese spíš dobré návyky.
pavlix avatar 9.9.2012 15:45 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Byla to zcela konkrétní otázka, čím byl nahrazen dřívější král Pascal jakožto dle tvých vlastních slov vhodný výukový jazyk své doby.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
9.9.2012 17:26 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Já bych řekl: Standard ML '97. Důvodem je jednoduchost jazyka, kvalita návrhu jazyka a také standard, který je stabilní a formální.
pavlix avatar 9.9.2012 20:01 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
To nevím, co bys musel udělat, abys mě přesvědčil, že lze pascal přímočaře nahradit standard ML.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
7.9.2012 07:10 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Když se v našich krajích začalo prosazovat php, nikoho z pascalovské generace jsem neviděl používat foreach. Nikdy. Lidi byli prostě naučení že jediný způsob jak procházet struktury je přes numerický index, a když jsem se na tohle téma bavil tak se vždy ukázalo že vůbec nechápou princip iterátoru. Pascal je nenaučil programovat, jen opisovat jednu šablonu.

Když se v našich krajích začalo prosazovat php, nikdo foreach nepoužíval, protože jej PHP neobsahovalo.

While foo = each používali jen sebevědomí jedinci a dobrodruzi, kteří vylučovali možnost, že by zapomněli vyresetovat iterátor, případně jim to bylo jedno.

Když přišlo foreach, nepoužívali ho také ti, kterým vadilo, že se celé pole kopíruje a celkově je to pomalé (většinou asi Céčkaři, z těch co jim to bylo jedno se vyvinuli Javisti). A také ho používali ti, kteří někdy chtěli iterovat i ve vnořeným cyklu, protože to s foreach nešlo. Suma sumárum, možná jste se bavil s nějakými truhlíky, ale osobně bych nepoužívání foreach v PHP (!!) v jeho začátcích nikomu nezazlíval, já osobně jsem byl také příliš sexy než abych se zabýval řešení uvedených nedostatků, for byla jistota, nevýhody neexistovaly. Dnes samozřejmě také používám foreach, jader i dramek je všude dost :D
3.9.2012 22:09 sigma
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Já kdybych hledal výukový jazyk tak budu chtít:

...
Krom silných typů - MATLAB! Na zamýšlený účel to fakt není, ale při přečtení těch požadavků si na nic jiného nevzpomenu. Ve srovnání snad se všemi jinými jazyky, ve kterých jsem něco dělal, z toho je vidět obrovská inženýrská pragmatičnost. Zajímal by mě názor "hardcore" programátorů, pokud tu někdo takový MATLAB zná. Vždycky si říkám, že tihle lidé dbající na čistotu kódu a konceptů by se zbláznili, vidět jak se v tom programuje. Ale používá se to fakt dobře, i v základních konceptech, když zapomeneme na matematiku a matice.

3.9.2012 22:28 Kit
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Občas používám Octave a skutečně je to skvělá věc. Stačí pár čísel a vykreslí to i grafy. Pokud potřebují dělat protokoly do laboratoří, může být pro ně dostatečnou motivací, aby se ten program nejen naučili, ale také používali.
pavlix avatar 3.9.2012 22:58 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Jo, to není úplně špatná cesta. Ale matlab bych rovnou zavrhnul, chce to něco obecně dostupného, bezplatného a nejlépe opensourcového.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
3.9.2012 23:41 Kit
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Proto jsem uvedl Octave jako alternativu Matlabu.
pavlix avatar 3.9.2012 23:52 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Proto jsem napsal, že to není úplně špatná cesta :).
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
4.9.2012 08:41 jos
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Javascript potažmo cokoliv webového je závislé na značně složitém běhovém prostředí, učit se něco takového bez základních znalostí IP, http a vnitřností browserů je šílenství.

bejvávalo
3.9.2012 19:41 Vinicius
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Já bych zkusil nejprve vysvětlit datové struktury a algoritmy jen tak bez programovacího jazyka a pak Javu (prozatím bez vymožeností verzí 5 a 6), zpočátku bez použití IDE (aby se studenti naučili pořádně používat editor a překladač).

Výhody: Jednoduchý jazyk, množství dostupných knihoven, podpora více OS a také velmi dobré IDE dostupné zdarma (NetBeans)
3.9.2012 21:53 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Java je docela komplikovaný jazyk a kvůli tomu není vhodná na výuku programování – a troufám si tvrdit, že není vhodná ani na výuku podtypového polymorfismu a dědičnosti.
Bystroushaak avatar 12.9.2012 16:56 Bystroushaak | skóre: 30 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Java a komplikovaný jazyk? Osobně mi vždy přišla silně triviální (mluvím tu o jazyku, ne API), což může být dáno tím, že jsem na ní přešel po pascalu, C, C++ a pythonu, ale stejně, až na naprosté antitalenty s ní nikdo v mém okolí neměl problém.
12.9.2012 18:33 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Myslím, že Java je složitý jazyk – přispívá k tomu mj. overloading, podtypový polymorfismus, autoboxing, mutace, automatické konverze a null.

Zkuste třeba říct, co a proč dělá následující kód (samozřejmě bez pomoci kompilátoru :-)). Dám 3 možnosti: buď vypíše Integer nebo vypíše Object nebo se nepřeloží.
interface A<T> {
  void doIt(T x);
}

class B implements A<Integer> {
  public void doIt(Integer x) { System.out.println("Integer"); }
  public void doIt(Object x) { System.out.println("Object"); }
}

class Main {
  public static void main(String[] args) {
    B b = new B();
    b.doIt(null);
  }
}
stativ avatar 12.9.2012 18:49 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Řekl bych, že zrovna tohle je docela logické…
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
12.9.2012 20:28 Radek Miček | skóre: 23 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Řekl bych, že zrovna tohle je docela logické…
Pokud víte, jak Java překládá generika, tak ano.

3.9.2012 20:18 petrxn
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Spíše bych se na to kouknul z pohledu těch "obsluhovaných" aplikací. Např. pokud je to něco ala Autocad, Inventor, Revit, SolidWorks, tak si myslím, že má význam aby uživatelé měli přehled o možnostech tvorby doplnků pro tyto aplikace a to se děje ve VBA, C# popř Autolispu. Každý technik navíc používá tabulky, takže makra v excelu/Libreoffice je dobré také umět. Dělám admina v projekční firmě a někdy mě dost překvapí, kolik času konstruktéři stráví opakující se prací, které se dá jednoduše naprogramovat a kromě úspory času by se také rapidně omezily některé chyby. Přitom by stačilo kdyby tito konstruktéři věděli, že to jde a přišli s tím za mnou, navíc si myslím, že někteří by si to, pokud by takové školní základy měli, byli schopni sami naprogramovat. Petr
5.9.2012 18:51 Zdenek
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Uplny souhlas. Manzelku drtili ve skole C++ a jedine, co si z toho pamatuje, ze je to desne a kdyz jsem ji chtel pomoct aspon se zaklady VBasicu, tak uz nechtela.

scriptovani v ramci kancelarskeho baliku ma asi nejvetsi uplatneni pro zacatecniky a lidi, kteri programovat nikdy nebudou.

VBasic nemam rad, nikdy bych v tom nic vetsiho nenapsal, ostatne normalne nemam ani bezici windows :), ale pro obycejneho uzivatele je to proste (skoro) vsude a pokud bude nekdy migrovat na unix like system, tak se urcite lehce nauci jiny jazyk, ktery bude pro danou platformu vhodnejsi.

3.9.2012 20:27 Kill_Bill
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Ten starsi kolega s makry v Excelu je nejbliz realite.
3.9.2012 20:57 Jack Hokus | skóre: 31 | blog: LostHeaven
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Dobrý den,

jestli se bude jednat o naprosté začátečníky a frekvence hodin bude malá, nebylo by lepší zkusit místo programování třeba LaTeX?

Sám jej už nějakou dobu používám na psaní textů a můžu říct, že s dobře sestavenou preambulí hladce strčí do kapsy, kterýkoli kancelářský balík.

Další jeho výhodou podle mne je, že pokud chcete přijít na to jak něco udělat, stačí hodit do Googlu požadovanou činnost a LaTeX a dost často, i když ne vždycky najdete co hledáte. Takže, po zvládnutí nějakého základu se lze dost věcí naučit samostatně.

Jako další klad LaTeXu mohu uvést to, že se uživatel naučí číst chybové hlášky. U mnoha lidí, jsem se totiž potkal s tím, že mají v hlavě jakýsi podvědomí "flashblok" a chybová hlášení prostě nevidí.

Abych zcela neutekl od toho programování na které jste se ptal, tak i tady má LaTeX co nabídnout. Žáci si, krom toho, co jsem uvedl výš zvyknou používat zvýrazňování syntaxe, nebo třeba psát zdrojový text tak, aby se v něm vyznali i za týden. A samozřejmě používat i nějaký čistě textový editor.

Programování to sice pořád není, ale myslím si, že mnohé z výše uvedených věcí při programování jako když najdou

A pokud mám uvést nějaké přímé spojení s programováním, tak snad ve všech v diskusi dříve zmíněných jazycích se dá napsat program, který automatizuje některou činnost, jenž se v LaTeXu sice napsat dá, ale je to dost zdlouhavé. Na Freshmeeatu jsem kdysi vyděl program v perlu, který sloužil ke tvorbě tabulek

S pozdravem

Petr Štrajt

http://www.jackhokus.cz/
pavlix avatar 3.9.2012 21:32 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Další jeho výhodou podle mne je, že pokud chcete přijít na to jak něco udělat, stačí hodit do Googlu požadovanou činnost a LaTeX a dost často, i když ne vždycky najdete co hledáte.
A pak nad tím dva dny laborujete, i když máte celou dobu pocit, že je to tak jednoduchá věc a vůbec nechápete, proč to nechce jít. Navíc práce s latexem není moc zábavná, programování ano.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
FrostyX avatar 3.9.2012 21:59 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc / Jeseník
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Navíc práce s latexem není moc zábavná, programování ano.
To ano, ale k té zábavě se při jedné hodině za týden nedostanou. Nenechte se zmást, třída na průmce není partička zvědavých nadšenců, kteří se budou těšit, až se naučí něco nového, budou hltat každé slovo a zkoušet, jak věci fungují. Nené, ani náhodou. Takový tam bude jeden, dva. Zbytek bude mít dosti velké problémy vymyslet triviální algoritmus, nebo napsat pár řádek kódu. Výuka bude muset být šíleně pomalá, aby se alespoň větší část třídy chytala.
Mě se LaTeX zdá taky jako vcelku dobrý nápad. Naučí se alespoň trochu pracovat s kódem, řešit problémy a třeba to i někteří z nich budou moci prakticky využít. Předpokládám, že ve čtvrtém ročníku budou muset psát dokumentaci k (u nás tomu říkali) praktické maturitní práci.
FrostyX.cz | 1984 was not supposed to be an instruction manual.
pavlix avatar 3.9.2012 23:13 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Nenechte se zmást, třída na průmce není partička zvědavých nadšenců
Mám příliš mnoho zkušeností, abych se nechat zmást mohl ;).
To ano, ale k té zábavě se při jedné hodině za týden nedostanou.
Právě proto se ta zábava musí dělat i s „nudnými“ základy. V programování je možné vytyčit cíl (jakkoli malý) a splnit ho. Tedy alespoň při jednoduchých úlohách. S latexem když si vytyčím cíl, tak následuje několik pokusů o splnění a následné hledání kompromisu.
Zbytek bude mít dosti velké problémy vymyslet triviální algoritmus, nebo napsat pár řádek kódu.
Musí se přizpůsobit úroveň a způsob výkladu i zadání úkolů.
Naučí se alespoň trochu pracovat s kódem, řešit problémy a třeba to i někteří z nich budou moci prakticky využít.
Programování na střední škole není od toho, aby se z někoho v hodinách stal programátor. Jediným cílem by mělo být ukázat lidem možnosti. Dneska se většina lidí podceňuje. Jednoduchý vlastnoručně napsaný program v programovacím jazyce (třeba o deseti řádcích) může mít pro mnohé velký psychologický význam :).
Mě se LaTeX zdá taky jako vcelku dobrý nápad.
Mně se zdá příliš složitý a těžkopádný. Kdybych uměl něco jiného, co by splňovalo mé požadavky, tak bych na něj nesáhl ani hráběmi. A nevím jak na průmce, ale na gymlu všichni slintali z barevných věcí a naplácaných obrázků. Mám trochu podezření, že středoškoláci, domácí uživatelé kradených wordů a powerpointů, budou z latexu trochu rozpačití a budou mít pocit, jako bys jim předložil MS-DOS nebo Turbo Pascal.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
26.11.2012 14:22 Jarda
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Jednoduchý vlastnoručně napsaný program v programovacím jazyce (třeba o deseti řádcích) může mít pro mnohé velký psychologický význam :).
podepisuji
3.9.2012 21:45 sigma
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Další jeho výhodou podle mne je, že pokud chcete přijít na to jak něco udělat, stačí hodit do Googlu požadovanou činnost a LaTeX a dost často, i když ne vždycky najdete co hledáte.

V LaTeXu jsem pár věcí v rozsahu desítek stránek napsal, a má nepochybné výhody. Nemám problém v tom psát, nevadí mi "programovací" styl. Zároveň ale pragmaticky vidím věci, které mě při práci s tím hodně štvou, a aby tomu tak nebylo, musel bych strávit enormní čas proniknutím do hlubších principů fungování. A tak důležité pro mě psaní dokumentů zas není.

Co jsou ty problémy? Potřebuju v dokumentu udělat nějakou věc co jsem ještě nedělal. Mám zhruba představu, jak by to mělo vypadat, na přesném vzhledu ale nesejde. Neexistuje nějaká jednotná dokumentace, takže hledám na Google, a zpravidla rychle najdu tak 2-3 balíky/způsoby řešení, případně že to řešit nejde. Takže zkusím první řešení a často dojedu na to, že tam je nějaká kolize s jiným balíkem, nebo to nejede v UTF-8, nebo bych potřebovat aby se to chovalo trochu jinak a nejde to, nebo to jde ale musím nastudovat 20 stránek dokumentace, protože potřebuju 1/20 funkcionality toho balíku. Nejhorší je, když se to tváří, že to jde, a pak to v nějakém okrajovém případě dělá blbosti (často přetékání přes okraj). Takže jednu "blbost" v dokumentu řeším třeba 20 minut nebo taky 2 hodiny. Nestává se to tak často, ale je to k vzteku. Část problému je možná i v tom, že požaduju perfektní výsledek, když už se bavím s tím LaTeXem, a to někdy vyžaduje ošklivé hacky typu záporný vspace. Ale možná jen něco dělám špatně, nevím.

3.9.2012 22:22 Kit
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Mně se LaTex nejeví pro výuku moc vhodný. Proč? Protože výsledek se nehýbe, nebliká a při chybném vstupu ani nefunguje. Při neznalosti typografie žáků si učitel vyslouží akorát "Ve Wordu bych to měl rychleji".

Je nutné jim předhodit něco, co jim už při jednom napsaném řádku něco vypíše (třeba jen '+-'*10) a při 3 řádcích se to už hýbe. Python se mi pro tyto účely jeví jako velmi vhodný.
LangPa avatar 4.9.2012 01:12 LangPa | skóre: 12 | blog: LangPavel | Hradec Králové
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Hledal jsem Karla

Mluví se tu o Pythonu, Pascalu, C a Javě, ale pro výuku byly stvořeny programovací jazyky rovněž.

* C je moc blízký procesoru

* Pascal patří do minulosti (někteří mi neprominou).

* Java jede "všude", ale bez VM se neobejde, stejně jako python, ruby, smalltalk... neberte to doslova, je to "high level" výš než mrakodrapy :-)

* javascript je na tom podobně, jediný rozdíl mezi js a zbytkem je, že co dnes umí HTML tak to umí taky JS (a na tom staví FB a hodně dalších miliardových společností)

No abych to shrnul: Vždy jsem doporučoval nízkoúrovňový ale procesoru ne-vzdálený jazyk => C++, a to platí pořád, ale pro výuku algoritmizace postačí i javascript. Je všude, je nejrozšířenšjší na planetě, a dají se pro něj psát třídy (prototypy), objekty (object literály) a dá se psát funkcionálně => volá se funkce vrácená z funkce...

Vše co výuka algoritmizace potřebuje

+ Syntaxe hodně podobná C, C++, Javě a dalším

- pro výuku není moc dobré beztypový přístup, lidi budou plýtvat pamětí a neuvědomí si rozdíl mezy typem - strukturou a referencí/pointerem - což je dost důležité
LangPa avatar 4.9.2012 01:30 LangPa | skóre: 12 | blog: LangPavel | Hradec Králové
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
a někteří mi neprominou ani pravopisné chyby, jo sorry :-) Pro výuku na základce: -- Karel (ko to už na prvním stupni, no ale někdo spí no...) -- Basic (kdo ví co to je? Jo a VisualBasic je zlo, to ví každý, takže ten ne), taky nedoporučuju, ale slyšel jsem, že jeho zpaskvilina bude použita na VŠ pedagogické v HK jako prostředek právě pro výuku algoritmizace (jo, bohužel...) -- Simula (bohužel mrtvá i když asi nejlepší pro výuku, víte jak se zrodila syntaxe Pascalu?) -- ......

Vše co má IF, WHILE(a varianty, v asm x86 to je stejně jen DJNZ, CJNE..) CALL( a RET) je potřeba pochopit, ale struktury je potřeba nejen používat, ale i chápat..

* POINTER!!! většina jazyků ho zakrývá ZÁMĚRNĚ, pole ala C[]

* Virtuální funkce, polymorfizmus, dědičnost, CALL, RET, JMP...

* struct, class descriptor ... (ví někdo o nějakém fuction descriptoru? přiznejte se.. jak jede reflexe v javě, C#? :-) )

* load store procesory VS mov...
pavlix avatar 4.9.2012 02:34 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
No abych to shrnul: Vždy jsem doporučoval nízkoúrovňový ale procesoru ne-vzdálený jazyk => C++
Obecná užitečnost C++ je myslím čím dál tím menší. Zatímco C samo o sobě neimplementuje OOP (tudíž lze OOP v C vnímat jako flexibilnější) a Java je takový standardizovaný enterprise jazyk střední úrovně, a Python (Ruby, Lua a další) jsou vysokoúrovňové jazyky, C++ z hlediska výuky přináší spíš bordel, než cokoli jiného.

Samozřejmě nezpochybňuju C++ v různých výpočetně náročných aplikacích. Ale C++ jako začátečnický jazyk mi přijde jako nesmysl, už jen pro to, že jeho spodní vrstva, které se nelze vyhnout, je C.
Vše co výuka algoritmizace potřebuje
Nějaký příklad?
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
4.9.2012 07:18 l4m4
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Prosím popsat, jak to bude vypadat, když absolvent takového kursu bude chtít své znalosti použít a automatizovat nějakou jednoduchou operaci, a bude umět akorát ten zkurvený Javascript.
4.9.2012 08:41 jos
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
použije node.js
4.9.2012 23:11 l4m4
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
OK, a co když bude potřebovat něco přízemnějšího než škálovatelnou server-side architekturu s asynchronním I/O?
5.9.2012 13:51 jos
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
challenge not accepted
Bystroushaak avatar 12.9.2012 17:08 Bystroushaak | skóre: 30 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Používat pro výuku karel? Něco zbytečnějšího by nebylo?
Vždy jsem doporučoval nízkoúrovňový ale procesoru ne-vzdálený jazyk => C++, a to platí pořád
To jsem si na SŠ zažil. Měli jsme dobré score, pochopili jsme ho dva z dvaceti, jen proto, že já tou dobou už používal po pascalu python a kolega dělal v PHP, takže měl trochu tušení o čem je řeč.

Zbytek třídy .. nemám ani chuť to popisovat, průměrná známka byla někde okolo 4 a při zmínce o programování všichni projevovali takovou známku frustrace, že lepší nevědět.

Python jsem se naproti tomu naučil sám a neměl s tím problém ani můj bratr, kterému tenkrát bylo něco okolo 13/14.
Josef Kufner avatar 12.9.2012 18:52 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
To je hlavně ale tím, že většina lidí na programování prostě nemá mozek a ten způsob myšlení jim vůbec nejde. Čím mladší člověk si k tomu čuchne, tím jednodušší to má, protože ještě nemá mozek pokroucený matematikou a spoustou bordelu, co se ve školách "učí".
Hello world ! Segmentation fault (core dumped)
Bystroushaak avatar 12.9.2012 21:08 Bystroushaak | skóre: 30 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Osobně mám za to, že je to tím, že C++ je překomplikovanej starej krám s velmi nízkou abstrakcí a spoustou nechutných vlastností, ale to je čistě můj osobní názor :)
pavlix avatar 12.9.2012 23:19 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
většina lidí na programování prostě nemá mozek
Omyl.
mozek pokroucený matematikou
Matematika IMO spíše pomáhá.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
Josef Kufner avatar 12.9.2012 23:34 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Matematika IMO spíše pomáhá.
Některé její oblasti ano, ale většina z ní vyžaduje myšlení velmi odlišné od "programovacího". Jasně že bez logiky, lineární algebry a teorie grafů se člověk pořádně nehne, ale když dojde na to, jak vlastně rozložit obsáhlý problém na části a pak ho zas poskládat do programu, tak je potřeba dost odlišný styl myšlení.

Co jsem viděl programy matematiků a lidí vrtajících se hluboko v algoritmech, snad vždy to byl hrozný hnůj. Algoritmy elegantní a efektivní, ale věci jako architektura, udržovatelnost a rozšiřitelnost jim nic neříká.
Hello world ! Segmentation fault (core dumped)
pavlix avatar 12.9.2012 23:42 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
ale většina z ní vyžaduje myšlení
Ona je velká výhoda, že většina zní právě požaduje myšlení, byť do jisté míry odlišné.
Co jsem viděl programy matematiků a lidí vrtajících se hluboko v algoritmech, snad vždy to byl hrozný hnůj.
To je všechno pravda, jen ten závěr je dle mého názoru zcela chybný. Matematika, logika a schopnost navrhovat efektivní algoritmy jsou pro vývojáře větších celků software velkým plusem. Teda pokud se z něj nestane úchyl na algoritmy a nepíše drobet rychlejší implementaci datových struktur v době, kdy je potřeba řešit, aby program něco dělal.

Pochybuju, že kdyby ti tvoji špatní programátoři dokázali zapomenout kus matematiky, že by se tím z nich stali lepší programátoři :).
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
Josef Kufner avatar 12.9.2012 23:57 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
ale většina z ní vyžaduje myšlení
Ona je velká výhoda, že většina zní právě požaduje myšlení, byť do jisté míry odlišné.
Tohle je hodně blbě vytržené z kontextu.
Pochybuju, že kdyby ti tvoji špatní programátoři dokázali zapomenout kus matematiky, že by se tím z nich stali lepší programátoři :).
To ani omylem. Ale myslím, že je lepší začít programováním a pak teprve se k tomu naučit tu matematiku. Tím si člověk na začátku pokroutí mozek vhodným směrem, matematika mu sice bude dělat trochu větší potíže, neboť pro něj bude těžší matematiky pochopit, ale bude o to lépe programovat. Ve výsledku bude mít v hlavě stejné znalosti, ale bude myslet jiným způsobem.
Hello world ! Segmentation fault (core dumped)
pavlix avatar 13.9.2012 00:12 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Ale myslím, že je lepší začít programováním a pak teprve se k tomu naučit tu matematiku.
A úplně nejlepší je věnovat se tvorbě teorie, zda je lepší začínat bušením kódu nebo učením se matematiky, logiky, algoritmů a dalších teoretických disciplín.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
Josef Kufner avatar 12.9.2012 19:06 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
IMHO je Karel pro úplný začátek dobrá věc. Však on může být klidně implementovaný v C. Umožní to na začátku přeskočit pointery a vrátit se k nim později, kdy se už žáci trošku chytnou. Navíc se s ním dají dělat hezké úlohy, kdy je zadání stručné a přitom zcela jasné ("jdi z A do B", "vyhni se překážkám", "najdi B").
Hello world ! Segmentation fault (core dumped)
Bystroushaak avatar 12.9.2012 21:17 Bystroushaak | skóre: 30 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Rozdíl je v tom, že karla jednou budou muset zapomenout, protože ve chvíli kdy přestanou být začátečníky jim už bude k ničemu a nebude mít žádné využití. To se jim u pythonu nestane.

Další podstatný rozdíl je imho v tom, že v pythonu můžou začít skutečně scriptovat věci, které do té doby museli dělat ručně. Prostě ne jen ten jazyk znát a ovládat, ale taky ho nějak prakticky používat.
pavlix avatar 12.9.2012 23:19 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
+1
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
Josef Kufner avatar 12.9.2012 23:41 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Zapomenout? Ja nemluvím o té zrůdnosti, která je popsaná na Wikipedii, ale o implementaci téhož v čistém C. Prostě jednoduchá knihovna s pár fukcema, na začátku #include <karel.h> a hotovo. Z toho jim na nic bude jen popis pár funukcí.
Hello world ! Segmentation fault (core dumped)
Bystroushaak avatar 13.9.2012 01:46 Bystroushaak | skóre: 30 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
No nevím, z vlastní zkušenosti vím, že začít něco skutečně dělat je o moc lehčí u pythonu, než u C. Nechci zbrkle soudit karla v C, zkušenosti s ním nemám a možné je lecos. Přesto pokaždé, když mi někdo s tímhle dotazem napíše email, odkážu ho na python a na tom zatím nebudu nic měnit.
4.9.2012 12:30 luv | skóre: 16 | blog: luv
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
python
java? shapes and colors ... with an angle grinder!
4.9.2012 18:54 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Java. A třeba tě bude živit, až zjistíš, že dostaneš 3x větší plat než v tvém oboru :-)
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
rADOn avatar 4.9.2012 19:22 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Tazatel se neptal v čem nabouchat multimilionovej system pro nějakou megafirmu, ale v čem učit programování.

BTW proč se tolik Javistů kasá jaký berou úžasný peníze? To je nějakej komplex nebo co? Přece víme že nejlíp placenej je dnes Cobol :-P
"2^24 comments ought to be enough for anyone" -- CmdrTaco
9.9.2012 20:56 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Já spíše potřebuju nalákat omladinu, ať mám z čeho vybírat :-)
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
9.9.2012 21:04 jehovista
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Treba jenom nechapou, proc za tak malo muziky dostavaji tolik penez :)
rADOn avatar 10.9.2012 18:34 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
A dostávají? Není to spíš tím že chlubí neochmýřený mláďátka ze škol celý nadšený z první Opravdové Placené Práce kterým nikdo nesvěří nic složitějšího než bouchat nějaký blbiny v jazyce kde nenadělají moc škod? :-)

Já rozhodně můžu za sebe říci že přechodem z javovské do pajtní práce jsem si zrovna nepohoršil. A to nemluvím jen o penězích :-P
"2^24 comments ought to be enough for anyone" -- CmdrTaco
10.9.2012 23:55 dotazz
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
tak kolik mas jako python developer?
pavlix avatar 11.9.2012 00:06 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Takové věci se neříkají :).
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
4.9.2012 22:44 Jaroslav Grygar | skóre: 4
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Z dotazu je zřejmé, že se nejedná o školu se zaměřením na IT. Navíc jedna hodina týdně není moc. Neučil bych je programovací jazyk, ale programovat. Já používám vizuální programovací nástroj PETR firmy GEMTREE. Anglické stránky programu www.gemtree.com . České stránky komunity www.devbook.cz/petr-lite-programovaci-jazyk-hry-zdrojaky-priklady-tutorialy . I když je zařazen jako program na tvorbu her, dělat lze cokoliv. Například já jsem si udělal vlastní prográmek pro nastavování digitálních ochran přes RS 232, v amatérském divadle jsem používal program na pouštění zvuků od různých čidel a zapínání světel. Myslím si, že pro seznámení s programováním by to úplně stačilo. Přímo z editoru lze program spustit. Po uložení je to jediný exe soubor.
11.9.2012 16:04 Panda38
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Petr je nyní freeware, nové stránky http://petr.hostuju.cz/
6.9.2012 10:05 Marek
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Vzhledem k využitelnosti v praxi bych se spokojil s makry (VBA pokud jedete na MS Office, BASIC pokud LibreOffice). Visual Basic je plnohodnotný jazyk, na úvod do programování bohatě stačí (kdo tvrdí něco jiného, nejspíš ho nikdy pořádně nezkusil). Navíc ve spojení s Excelem je to skutečně užitečné téměř pro každého (v komerční sféře). BASIC pro LibreOffice má blbé IDE, ale abych nebyl ukamenován, zmiňuji také (dělal jsem v něm reporting pro jeden IS a také to jde).

Později bych připojil SQL, se kterým se dají v Excelu + VBA tvořit reporty ze smysluplných zdrojů, protože alespoň základní znalost databází velmi ulehčí studentům další možnost rozvoje a uplatnění.

Python a další věci mi přijdou dobré pro někoho, kdo chce programovat. VBA a hlavně SQL je něco, co je opravdu praktické a může otevřít dveře do širšího spektra firem. Vycházím z toho, že není třeba studenty ideologicky vychovávat, ale pomoci jim připravit se na pracovní uplatnění.
Josef Kufner avatar 9.9.2012 00:34 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Sáhnul bych po C, ale rozhodně bych vynechal C++. Pokud pak chceš pokročit dál a učit objekty, je rozumný Python nebo Java, ale až budou umět C.

Je potřeba, aby věděli, co se děje pod povrchem, než se začnou zabývat vyššími jazyky.

Také je fajn, aby se naučili dva rozdílné jazyky a uvědomili si, že ty rozdíly jsou v podstatě zanedbatelné.
Hello world ! Segmentation fault (core dumped)
9.9.2012 14:07 pyp
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Možná bych jim moc nechtěl vysvětlovat třeba abstraktní třídy na Pythonu :D Zase ale nevím, proč by měli vědět, co je pod povrchem. Nijak jim to asi nepomůže, protože u Javy také nevíš, jak se která konstrukce přeloží.
pavlix avatar 9.9.2012 14:58 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Možná bych jim moc nechtěl vysvětlovat třeba abstraktní třídy na Pythonu :D
Černá magie by neměla být součástí základní výuky :).
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
9.9.2012 16:36 pyp
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
"Pane učiteli, já už OOP trochu znám a jak vypadají abstraktní třídy v Pythonu?"
pavlix avatar 9.9.2012 20:30 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Teď si uvědomuju, že vlastně není zřejmé, zda mluvíme o tom samém. Abstraktní třída v jiném programovacím jazyce je totiž třída, která má tu speciální vlastnost, že s ní něco nejde. To není funcionalita, ale kontrola, a takové věci se v Pythonu moc neřeší. Abstraktní třídy k ničemu nepotřebuješ a zpravidla se na ně ani nikdo nebude ptát :). A když, tak tím prokazuje schopnost si věci najít sám a touhu prudit. Prudiče je vždy nejlepší něčím zaúkolovat :).

Na abstraktní třídu ti stačí zablokovat konstruktor, ne? Černou magií jsem měl namysli věci kolem ABC, které jsou určené právě k různým takovýmto zvěrstvům.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
pavlix avatar 9.9.2012 14:57 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Sáhnul bych po C, ale rozhodně bych vynechal C++. Pokud pak chceš pokročit dál a učit objekty, je rozumný Python nebo Java, ale až budou umět C.
Už vidím, jak je za pár hodin naučí ladit C a za dalších pár hodin objekty (třebe v Pythonu, to už je jedno).
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
9.9.2012 16:21 lertimir | skóre: 58 | blog: Par_slov
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Takhle jednoduše se to těžko dá odpovědět. Záleží na tom, co by studenti celkově měli vědět? Pokud by měli rozumět algoritmizaci, tak C je dobrá volba. Jde li o použitelné skriptíky tak i makra v excelu by mohly stačit. Python je také dobrý jazyk. Ale těžiště by mělo být co učit s pomocí toho programingu.

Proto algoritmizaci chválím. V dnešní době klikacích prostředí a výkonných HW se spousta "taky programátorů" vůbec nezabývá tím, jak je výpočetně náročné to, co napsali. Odzkouší to na pár datech a jsou spokojeni a když přijde na to mát to na desítkách či stovkách tisíc položek tak jim to začne padat. Pak kňučí pro silnější HW a důvod je v tom, že to co napsali má náročnost O(n^2) nebo O(n^3) a mohlo by mít i pouze O(n) nebo O(n*ln(n)), kdyby tomu rozuměli.
9.9.2012 17:20 tomvec | skóre: 24 | Kojetín
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Viz nový registr vozidel...
10.9.2012 11:26 lertimir | skóre: 58 | blog: Par_slov
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Je to pravděpodobně ten případ. I když konkrétně žádné informace nemám. Mohou to být špatné dotazy do databáze, špatně vymyšlené zámky na datech, mnoho vzájemného čekání, Asi to nebudou přímo špatné algoritmy, ale bezesporu je registr jako celek špatně naprogramovaný, patrně pomocí nějakého nástroje na "rapid development". Stačí si uvědomit zátěž, tuším někde uváděli, že je to tak cca 15 000 vozidel za den, to znamená cca 1 vozidlo za vteřinu (při 4,5 hodinách skutečné práce). i když by na jedno vozidlo potřebovali úředníci třeba 50 interakcí, tak je to pořád jen 50 TPS s registrovou databází a to by snad neměl být problém.
xkucf03 avatar 22.9.2012 19:47 xkucf03 | skóre: 45 | blog: xkucf03
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
V počátcích bych výkon moc neřešil, spíš bych kladl důraz na správnost a přehlednost – v požadavcích pro vývojáře jednoho svobodného softwaru jsem četl hezké doporučení – volně přeloženo:
Správnost především! Je snazší zrychlit správně pracující program, než donutit rychlý program, aby pracoval správně.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
24.9.2012 21:23 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Myslím že to je dost častý zdroj chyb. Vezme se správně fungující program, mírně se opraví algoritmus, aby se to zrychlilo, a ejhle, po čase se zjistí, že úprava nebyla co do funkcionality zcela ekvivalentní :) Výsledkem je: co funguje, na to nesahej (a pokud musíš, projdi a předělej to od podlahy). Takže je nakonec lepší se tou rychlostí zabývat už během první iterace.

To OSS doporučení bych chápal jako že se pro začátek nemají dělat úpravy, které program učiní rychlejším, ale za (nevyhnutelnou) cenu jisté obfuskace a znepřehlednění kódu. Ne že by se mělo psát blbé (pomalé) algoritmy které "hlavně že fungují".
xkucf03 avatar 24.9.2012 21:58 xkucf03 | skóre: 45 | blog: xkucf03
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
a ejhle, po čase se zjistí, že úprava nebyla co do funkcionality zcela ekvivalentní
To se nemá zjistit po čase, ale hned. Buď můžeš mít napsané testy, které to odhalí (aspoň jednotkové, ale lépe komplexní testy), nebo si uděláš ruční testy před a po velkém refaktoringu/optimalizaci – porovnáš výstupy a chování dvou verzí programu.
Takže je nakonec lepší se tou rychlostí zabývat už během první iterace.
Souhlas v tom smyslu, že by se neměly dělat prasárny a očividně neefektivní a hloupý kód. Opačný extrém je ale předčasná optimalizace – tam se vyplácá čas a energie, zhorší se čitelnost, rozšiřitelnost… jenom kvůli optimalizaci, která se projeví jen minimálně nebo vůbec.

Z didaktického hlediska mi přijde lepší, když nejdřív člověk programuje neefektivně, ale správně a časem se učí různé fígly, jak to zrychlit a vynechat zbytečné kroky – než aby ze začátku psal rychlé, ale prasácké programy a vytvořil si˙tak špatné návyky ohledně OOP nebo používání funkcí, procedur, stavby programu…
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
24.9.2012 22:41 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Ano to jsem měl na mysli. Až na ten vtip s všeodhalujícími komplexními testy :)
xkucf03 avatar 24.9.2012 23:07 xkucf03 | skóre: 45 | blog: xkucf03
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Z bezmezné víry v testy mě podezřívat nemusíš :-) (od toho jsou tu jiní). Ale stejně si myslím, že dobrý program by mělo jít překopat/refaktorovat/optimalizovat a člověk by se neměl bát. že se mu to celé zhroutí – pokud se bojí, tak je něco špatně.

Další chyby odhalí integrační testy, kdy se to napojí na skutečný software, se kterým to poběží v praxi (ne jen nějaké simulátory). Zrovna nedávno se mi jejich užitečnost potvrdila. A pak už jen revize kódu a ruční testování a laborování případně debugger… Ale fakt by se nemělo stávat, že se na něco člověk bojí sáhnout.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
10.9.2012 23:58 dotazz
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Zkusil bych BASH. Je zalozen na I/O prevazne textu, navratovych hodnotach, expanzi, ... A navic umet ho je naramne uzitecne!
pavlix avatar 11.9.2012 00:07 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Shell je rozhodně zajímavý. Ale aby poskytl něco užitečného, tak na neunixovském systému potřebuješ alespoň něco jako cygwin.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
12.9.2012 13:29 psholty2 | skóre: 7 | blog: char
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Ja som si "dovliekol" bash spolu s gitom pre windows. Funguje ok. Su tam aj nastroje okolo (namatkou: awk, basename, cat, cp, curl, cut, date, echo, find, grep, gzip, ls, pwd, rm, rmdir, sed, sleep, sort, tail, tee, touch, uniq, wc, xargs, ...)
pavlix avatar 12.9.2012 17:58 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Pravda, Git si s sebou nese Cygwin :).
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
Řešení 1× (iwtu)
iwtu avatar 15.9.2012 14:09 iwtu | skóre: 7 | blog: Personal Wiki
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit

Ja by som asi isiel do toho Pythonu. Nie kvoli tomu, aby som ich naucil programovat, ale preto, aby som im dal moznost zistit, ci by ich take nieco bavilo a mohli sa tomu venovat, pripadne dat im nejake dalsie odporucania, poradit, sukromne poradit, ak niecomu nebudu rozumiet atd.. To je, myslim si, jediny realny ciel, ktory mozete splnit za jednu hodinu tyzdenne.

Potom napiste, ako to skoncilo. Precitat si nejake pozorovanie a vzdy hodi. Drzim palce.

27.11.2012 13:00 lofcek
Rozbalit Rozbalit vše Re: Jaký programovací jazyk učit
Moja osobna volba by asi bola python, ako nie uplne zla volba by som videl pascal. Ale namiesto toho aby som rozpisoval argumenty, si myslim, ze tato otazka nepatri na toto forum. Pytat sa programatorov, co ucit na strednej skole je uplne od veci. Skus sa pytat ludi, ktory maju blizsie k pedagogike. Toto je ako by si sa pytal ako ucit fyziku odbornika, ktory poslednych 20 rokov stravil zapajanim v CERNe zahrabany 200 metrov pod zemou.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.