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í
×
dnes 13:12 | Bezpečnostní upozornění
Univerzita Illinois objevila zranitelnost v Intel CPU u SoC Ring Interconnect. O zranitelnosti se mluví jako o "Lord of the Ring(s)". Výzkum byl zaměřen na procesory Skylake/Coffeelake, takže není jasné, zda postihuje i novější architektury. Procesory AMD používají jiné druhy propojení, takže tam je zatím stav neznámý, resp. vyžadoval by další výzkum. Podrobnosti naleznete na The Hacker News, samotná publikace pak viz: 2103.03443.pdf. Dále jsou k dispozici zdrojové kódy pro test zranitelnosti na github - lotr.
Max | Komentářů: 0
dnes 08:35 | Zajímavý software
Toužíte si prohlížet youtube videa v konzoli? Pokud ano, je zde projekt ytfzf, který vám to umožní. Jedná se o bash script, který jako backend mj. používá youtube-dl.
Max | Komentářů: 0
včera 21:22 | Nová verze

Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript a TypeScript naprogramované v Rustu, bylo vydáno ve verzi 1.8. Přehled novinek v poznámkách k vydání. Z novinek lze zmínit experimentální podporu WebGPU API. Cílem je podpora TensorFlow.js s GPU akcelerací.

Ladislav Hagara | Komentářů: 0
včera 15:44 | Nová verze

Byla vydána verze 8.00 linuxové distribuce SystemRescue, původně SystemRescueCd. Přehled novinek v changelogu. Linux byl povýšen na verzi 5.10.20. GParted na verzi 1.2.0. Xfce na verzi 4.16. Nově byl začleněn paperkey pro vytištění OpenPGP privátních klíčů.

Ladislav Hagara | Komentářů: 0
včera 14:33 | Komunita

Byly vyhlášeny výsledky soutěže firmy Adfinis o nejlepší šablony pro LibreOffice. Z třiceti přihlášených vybrala porota šest vítězů. Všechny šablony si lze prohlédnout a stáhnout na stránce s oznámením o výsledcích soutěže. Green cabinet připravuje překlady šablon do češtiny, obdobně jako to již učinili v případě šablon indonéské komunity.

Zdeněk Crhonek | Komentářů: 0
5.3. 20:22 | Pozvánky

Zítra proběhne jednodenní online konference InstallFest 2021. Na programu je celá řada zajímavých přednášek, workshopů a také stánků. Dění lze sledovat na Twitteru.

Ladislav Hagara | Komentářů: 3
5.3. 13:11 | Nová verze

Byla vydána nová verze 6.5 v Javě napsané aplikace pro komplexní návrh rozmístění nábytku a dalšího vybavení v interiérech Sweet Home 3D. Vyzkoušet lze online verzi. Nedávno byly aktualizovány také knihovny nábytku.

Ladislav Hagara | Komentářů: 1
5.3. 08:00 | Humor

Nové verze webových prohlížečů Firefox a Chrome byly vydávány každých 6 týdnů. Vývojářům Firefoxu se nelíbilo, že Chrome bude mít vždy větší číslo verze, proto se rozhodli vydávat nové verze Firefoxu každé 4 týdny. Aktuální stav: Firefox 86 byl vydán v 8. týdnu a Chrome 89 v 9 týdnu letošního roku. V kterém týdnu bude mít Firefox větší číslo verze než Chrome?

… více »
Ladislav Hagara | Komentářů: 45
5.3. 07:00 | Zajímavý článek

Thom Holwerda popisuje na OSnews pracovní stanici Raptor Blackbird Secure Desktop (architektura POWER9) a své zkušenosti s ní včetně provozu desktopových aplikací.

Fluttershy, yay! | Komentářů: 2
5.3. 06:00 | Nová verze

Byla vydána nová verze 1.54 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.54 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

Ladislav Hagara | Komentářů: 2
Vzděláváte se formou hromadných online kurzů (MOOC)?
 (62%)
 (8%)
 (1%)
 (6%)
 (23%)
Celkem 159 hlasů
 Komentářů: 1, poslední včera 11:50
Rozcestník

Vložit další komentář
Bluebear avatar 15.7.2007 12:45 Bluebear | skóre: 30 | blog: Bluebearův samožerblog | Praha
Rozbalit Rozbalit vše Re: Za Pascal modernější
Držím palce :-) Myslím, že takovéto projekty vždycky mají smysl, protože se při nich může přijít na ledacost nového a užitečného, třeba i úplně mimochodem.

Pomohl bych, jenže už mám rozpracovaný jiný megalomanský projekt :-)
To mi připomíná, jak jsem si pořídil květináč, že v něm budu mít květinu. Opravdu tam byla, ale potom být přestala...
15.7.2007 12:52 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
Rozbalit Rozbalit vše Re: Za Pascal modernější
Heh další zastánce pascalu, to bude super flame :-D. Imho se má učit v něčem prakticky použitelném a ne v jazyce, který byl od samého začátku navržen pro výuku a ne pro normální programování ;-). Škola pro život a ne škola pro školu!

Jinak "není to OOP kráva" považuji za druhou největší nevýhodu, hned po divné syntaxi -- s Pascalem jsem naštěstí moc času netrávil, ale ještě teď se občas zapomenu a do ifu dám jen jedno rovnítko. Grrr. :-)
θηριον ειμι
Fluttershy, yay! avatar 15.7.2007 12:58 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Imho se má učit v něčem prakticky použitelném a ne v jazyce, který byl od samého začátku navržen pro výuku a ne pro normální programování ;-). Škola pro život a ne škola pro školu!

Právě, že ne! Kdosi to hezky zdůvodnil, ale teď se mi to nechce hledat.

Jinak "není to OOP kráva" považuji za druhou největší nevýhodu, hned po divné syntaxi -- s Pascalem jsem naštěstí moc času netrávil, ale ještě teď se občas zapomenu a do ifu dám jen jedno rovnítko. Grrr. :-)

Část syntaxe mi taky vadí (proto to píšu). Vysvětli vyjukanému začátečníkovi "Hello, World!" v Javě! Dobře nedopadneš.

Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 14:52 Petr Zelenka | skóre: 24 | Semice/Stuttgart (Sindelfingen)
Rozbalit Rozbalit vše Re: Za Pascal modernější

Právě, že ne! Kdosi to hezky zdůvodnil, ale teď se mi to nechce hledat.

A ty to zdůvodnit neumíš? ;)
A teď si uvědomte, jaký je vztah mezi krychlí a motýlem.
Fluttershy, yay! avatar 15.7.2007 14:57 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Bylo by to to, co tam bylo (ten člověk mi mluvil z duše). Komplikuje se to tím, že jsem sklerotik.
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 15:08 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Problém té praktické použitelnosti je ten, že na scéně se střídají progrmaovací jazyky jako ponožky. Podle mě se stejně běžný programátor setká každou chvíli s tím, aby se naučil něco nového. Z tohoto hlediska nevidím důraz na praktickou použitelnost až tak podstatnou. Škola je pro život a nutnost flexibility je výborná škola :-). Podstatné vidím to, aby ten jazyk naučil člověka dobře základy.
15.7.2007 12:53 Jarek Čecho | skóre: 13 | blog: Jarcec_Zone | Koprivnice
Rozbalit Rozbalit vše Re: Za Pascal modernější
Taky patrim k tem rvajicim puberkum, kteri pascal nemaji radi. Ten jazyk mi proste naprosto vadi - a to uz v syntaxi - prehledna mi proste neprijde. Akorat teda na zacatky programovani bych nedal ani javu ani PHP, ale hned C :-)

A rikejte si co chcete :-D
Fluttershy, yay! avatar 15.7.2007 12:59 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
...ale hned C :-)

U Céčka se dá lépe prasit.

Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 13:06 Jarek Čecho | skóre: 13 | blog: Jarcec_Zone | Koprivnice
Rozbalit Rozbalit vše Re: Za Pascal modernější
jj vim, ale tak pokud se clovek teprve uci a jsou mu prasarny vycitany ze zacatku, tak proc ne?
15.7.2007 13:10 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: Za Pascal modernější
Je pravda, že znalost Pascalu ti nezabrání psát takovéhle oškliviny:
	// Generating mines
	for(counter = 0; counter < mines_count; counter++)
	{
		// Be aware not to replace one mine by another
		do
		{
			x = rand() % MAXX;
			y = rand() % MAXY;
		} while(pole[x][y] == -1);

		pole[x][y] = -1;
	}
(http://distfiles.jarcec.net/miny/miny.c)

Ale ten zdroják určitě není ukázkou tvého umění, nelíbí se mi v něm vůbec nic :-(
15.7.2007 13:14 Jarek Čecho | skóre: 13 | blog: Jarcec_Zone | Koprivnice
Rozbalit Rozbalit vše Re: Za Pascal modernější
njn :-) Mam sice vymluvu, ze toto je jen narychlo splacana gamesa, ale tak priznavam ze je psana odporne :-)
15.7.2007 13:21 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: Za Pascal modernější
Tak hlavně že to splnilo účel :-) Ale na web bych to radši nedával, nikdy nevíš, kdo to proti tobě může použít :-D
15.7.2007 13:29 Jarek Čecho | skóre: 13 | blog: Jarcec_Zone | Koprivnice
Rozbalit Rozbalit vše Re: Za Pascal modernější
To preziju :-)
15.7.2007 13:24 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
Rozbalit Rozbalit vše Re: Za Pascal modernější
Co je na tom ošklivého? (nejde mi o smysl toho kódu)
Pochybnost, nejistota - základ poznání
15.7.2007 14:17 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: Za Pascal modernější
No představ si, že bys měl vylosovat několik očíslovaných kuliček z pytle a dělal bys to tak, že bys zašmátral, vytáhnul kuličku, kuličku si poznačil a pak ji do pytle vrátil, když bys vytáhl už poznačenou kuličku, zase bys ji vrátil a pokračoval.
15.7.2007 14:22 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
Rozbalit Rozbalit vše Re: Za Pascal modernější
No tak to máš recht.
Pochybnost, nejistota - základ poznání
15.7.2007 19:55 Jirka P
Rozbalit Rozbalit vše Re: Za Pascal modernější
A jak bys to chtel delat? Tohle je jeden z mala korektnich (za podminky MAXX a MAXY jsou mocniny dvojky) zpusobu jak to udelat (i kdyz by se asi melo zapracovat na rychlosti a nezacyklovani :-) ).

Takovyhle zpusob (nageneruju si nahodne neco, a kdyz to nahodou nevyhovuje, generuju znova) je bezny i v jinych oblastech (treba Monte Carlo Markov Chains s Metropolis filtrem, generovani prvocisel atd.). Jde jenom o to, aby pravdepodobnost "nevraceni" byla v nejakem smyslu "velka".
andree avatar 16.7.2007 08:07 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: Za Pascal modernější
ono by to slo tak, ze by si si napr. drzal zoznam nepouzitych policok... akurat si clovek musi rozmysliet, ci sa mu oplati tu pamat navyse pouzivat (v tomto pripade to je jedno, ale pri poli 10000x10000 by to uz mohlo zacinat byt neprijemne). Ale kym to pole bude obsadene z 5% percent, tak myslim ze alokovat pamat navyse je zbytocne, pretoze ku "konfliktom" aj tak dojde (pravdepodobne) len parkrat za celu inicializaciu
17.7.2007 00:26 Jirka P
Rozbalit Rozbalit vše Re: Za Pascal modernější
Nojo, ale pak prijde ten zasadni problem: Jak vybrat uniformne nahodne prvek ze seznamu.
16.7.2007 16:26 MJ | Tady a teď
Rozbalit Rozbalit vše Re: Za Pascal modernější
Korektní způsob to určitě je, ale zbytečně pomalý -- N prvků budeš tímto způsobem umisťovat v průměru N*log N kroků.
17.7.2007 00:39 Jirka P
Rozbalit Rozbalit vše Re: Za Pascal modernější
Myslim, ze Tva analyza neni uplne presna. Me to vyslo, pokud N je pocet prvku z kterych vybiram (policek) a n pocet prvku ktere chci vybrat (min), n*log(N/n)

E(cas)=sum^n_i=0 E(cas vlozeni i-teho)=sum^n_i=0 n/(n-i)=n*sum^N_j=N-n 1/j=n*sum^N_j=0 1/j-n*sum^N-n-1_j=0 ~~ n*log(N/n)

Takze pokud by bylo v kodu zaruceno ze min muze byt nejvys 2/3 pole tak je to linearni. Kdyby ne, tak se da treba generovat prvnich n/2 prvku, pak n/4 s tim, ze nah. cisla budeme brat z mensiho rozsahu atd. coz da ve vysledku linearni slozitost.

Znas nejaky zpusob jak to vygenerovat korektne "z jedny vody nacisto"?

Jo, a promin, ze jsem predefinoval vyznam velkeho N.
17.7.2007 01:36 Jirka P
Rozbalit Rozbalit vše Re: Za Pascal modernější
Eh, sorry, ma byt vsude log(N/(N-n))
17.7.2007 10:47 Jirka P
Rozbalit Rozbalit vše Re: Za Pascal modernější
Uf, tam je chyb. Prispevky po pulnoci by mely byt cenzurovany :-)
15.7.2007 12:59 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Za Pascal modernější
Myslel jsi Ruby Quiz?
Pascal pravda je krapet zastaralý, ale není lepšího jazyka pro výuku základů.
Souhlasím, taky jsem moc rád, že mě učili na MFF na Pascalu. Trochu jsem se zděsil, když se ke mě donesly zvěsti, že se údajně jako na první jazyk přejde na Javu či C#. Ani vlastně nevím, jak to nakonec dopadlo. Snad z toho sešlo :-)
úplné vyhodnocování logických výrazů
Pascal logické výrazy vyhodnocuje tak, jak mu řekneš. Zkráceně, nebo úplně.

K tomu nadšenému postu: pokud se do toho někomu chce, tak prosím. Ale myslím si, že už tady byly daleko užitečnější a nadějnější náměty na různé projekty, které nakonec skončily pod kytičkama :-)
Fluttershy, yay! avatar 15.7.2007 13:01 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Myslel jsi Ruby Quiz?

Díky!

Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 13:12 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: Za Pascal modernější
Líné vyhodnocování je default.
15.7.2007 13:54 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Za Pascal modernější
Líné vyhodnocování v Pascalu? Spíše zkrácené :-) Navíc si nejsem úplně jist, zda se norma Pascalu od defakto normy (Borland) v tomto neliší.
When your hammer is C++, everything begins to look like a thumb.
15.7.2007 14:11 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: Za Pascal modernější
Já jsem nenapsal v Haskellu? :-) Jasně.
15.7.2007 14:14 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
ono, vymyslet uzasnou a genialni syntaxi je jeden krok... ale naprogramovat prekladac nebo interpreter, aby byl nejak pouzitelny.... je beh na hodne dlouhou trat a chce to sve zkusenosti...
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
15.7.2007 14:18 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Za Pascal modernější
To si taky myslím. Ale protože o konstrukci překladačů nic nevím, tak jsem tuhle stránku věci raději nezmiňoval. :-)
Fluttershy, yay! avatar 15.7.2007 14:28 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Má to být výukové, takže by to nemuselo být tak složité -- stačila by interpretace do něčeho jiného. Ale zatím to vypadá, že nic nebude (vzhledem k reakcím).
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 13:05 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
Rozbalit Rozbalit vše Re: Za Pascal modernější
To že někomu přijde Pacal nečitelný je nejspíš důsledkem toho, že píše jako prase a nikdy s ním opravdu neprogramoval. Vždyť jsou v Pascalu napsány i spousty fajn programů. Nejvíce se mi do hlavy vryla Deus ex Machina od Dementa. Možná někteří znáte.
Pochybnost, nejistota - základ poznání
15.7.2007 14:04 hydrandt | skóre: 35 | blog: Kanál | Ko Pha-ngan
Rozbalit Rozbalit vše Re: Za Pascal modernější
No jo, diskmag Realtime v Gamestaru...kde jsou ty časy :-) Když přešli na nový engine, šel do kšá i obsah - škoda...co se tam děje teď, netuším.
I am Jack's wasted life.
15.7.2007 13:40 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Za Pascal modernější
Doporučuju k nahlédnutí specifikaci ISO Extended Pascalu a draft Object-Oriented Extensions to Pascal. K tomu, co jsi označil za chybky, se nehodlám vyjadřovat, takže to radši označím za těžce subjektivní.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
15.7.2007 14:03 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
pascal modernejsi? uz je to sice nejaky patek, kdy jsem programoval primo v pascalu... ale...

moderni pascal uz tady je... a to v podobe delphi nebo dialektu implemenotovaneho ve freepascalu... tyto implementace ... jsou vicemene zpetne kompatibilni s turbo/borland pascalem 7.0 a navic prinaseji silne moznosti v oblasti OOP, ktere jsou srovnatelne s Javou i C#... vcetne potrebnych standardnich knihoven.

OOP za moc (spíš nic) nestojí. -- muzete to nejak dolozit.... jedine, co ve srovani s ostatnimi jazyky chybi jsou genericke typy, potazmo templaty... ale ty java i c# zavedli teprv nedavno...

a k tomu se přidalo pořádné OOP -- muzete uvest priklad jak by takove poradne OOP melo vypadat?

btw. jeste pridam svuj skromny nazor na jazyk na vyuku programovani -- vicemene je to jedno... dulezite je JAK clovek programuje, ne V CEM programuje... nicmene, moji preferenci pro vyuku je Scheme -- da se v nem programovat funkcionalne, imperativne, objektove a kdyz chcete tak i "logicky"... a na rozdil od velkeho LISPu je trosku jednodussi...
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
15.7.2007 14:15 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Za Pascal modernější
Myslím, že autor blogpostu nic nedoloží ani neuvede, páč problematice rozumí asi jako koza petrželi (čili zhruba jako já :-D) ;-)

Jo jo, Scheme, to by byla paráda. Ale jsem rád aspoň za ten Pascal.
Fluttershy, yay! avatar 15.7.2007 14:25 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Já beru Pascal jako výukový jazyk. Delphi (klik-klik) se nehodí pro výuku. A ono se to Delphi ani v praxi moc nepoužívá, spíš se přechází na Javu, C, nebo něco podobného. Proto navrhuji ony změny. (ten konec byl možná reakcí na něco jiného)

Existuje jediný opravdu objektově orientovaný jazyk -- Smalltalk. Implementace je podobná v mnohem použitelnějším Ruby. To je extrém, který se do Pascalu nehodí, proto bych to viděl na něco mezi Pythonem (jednoduché, ale povedené) a Javou (zdá se mi to zmatené). Nejspíš bych OOP vynechal, ještě by se to mohlo začít používat.

S tím názorem na výuku souhlasím až na to Scheme (je moc atypické).
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 15:02 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
vy, pascal muzete brat sice jako vyukovy jazyk.... ale v praxi jsem delal na nekolika komercne uspesnych projektech psanych v delphi, takze muj pohled je trochu sirsi...

pletete si tu dva pojmy... delphi jako IDE resp. RAD tool a programovaci jazyk, ktere tyto nastroje vyuzivaji... viz treba ten freepascal, ktery dokonce nabizi(el -- uz jsem to dlouho nevidel) stejne IDE jak borland pascal 7.0... takze toto jako argument neberu... btw. kdyz se podivate na TIOBE index... tak delphi je jen o neco min popuLarni nez python! http://www.developer.com/java/other/article.php/3448451

zavadet do pascalu objektovost ala smalltalk je vcelku hloupy napad... pascal je staticky typovany jazyk, ma to sice sva omezeni, ale ma to sve vyrazne benefity v podobe lepsi kontroly spravnosti kodu jiz v prubehu kompilace! coz si myslim, ze u vyukoveho jazyka je to velky prinost.... btw. vsechny mainstreamove "objektove" jazyky (java, c#) pouzivaji staticky typovy system....

bych to viděl na něco mezi Pythonem (jednoduché, ale povedené) a Javou (zdá se mi to zmatené) -- muzete uvest konkretni priklady...
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
Fluttershy, yay! avatar 15.7.2007 15:16 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Á, tady si někdo plete ObjectPascal a Delphi.

Kdo používá Python, co je v něm napsáno? Některé linuxové distribuce, NASA, Zope, filmová studia,... Kdo používá Delphi? Malé firmy. A co v tom dělají? Účetní/evidenční programy, PSPad a to je tak všechno.

Však jsem taky zavrhl implementaci OOP ze Smalltalku.
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 15:30 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
hele, podme se bavit vecne...

vsechny jazyky se vyviji... muzeme se tu bavit o object pascalu, ktery vysel naposledy nekdy v roce '92! stejne tak se tu muzeme bavit o python 1.0 a stejne tak o jave 1.0 akorat ta diskuze nebude mit hlubsi smsyl

k tomu... "tak vsechno" dodam jenom velice strucny seznam

pojdme se bavit o jednotlivych problemech... bez toho se zadny novy jazyk sam nevytvori....
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
15.7.2007 15:41 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
C++ standard je plus mínus ze stejné doby jako Obejct Pascal například.

V Delphi se napsala úžasná spousta projektů - a něco ještě napíše - ale má to jeden háček. Delphi - a tím i Object Pascal to má spočítané. Prostě mele z posledního. Velmi brzy to bude minulost.

Vytvářet nový jazyk? Jak byste si ho představoval? A k čemu by měl být dobrý. Vždyť jazyk není těžké vytvořit - dokonce ani není nemožné udělat kompilátor - ale neprosadíte ho bez silného marketinku. Ale budiž, pojďme si hrát na nový jazyk :-) Jaký by měl být.
15.7.2007 15:50 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
ja jsem s vytvarenim jazyku nezacal... me staci ty soucasne a pak treba ten LISP/Scheme v tech si muzu nove konstrukty dopsat aniz bych cekal az to nekdo vymysli ;-]
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
15.7.2007 15:56 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Jinak řečeno, vymyslíte si v LISPu de facto nový jazyk :-)
Fluttershy, yay! avatar 15.7.2007 15:52 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Existuje Pascal (prehistorický), Borland Pascal (historický, příšerné OOP) a ObjectPascal (celkem nový, použitelné OOP). Delphi je jenom front-end k ObjectPascalu, který je ve FreePascalu. Mimochodem, poslední Delphi bylo Delphi 7, další jsou v podstatě jenom IDE pro .NET, hmmm?

To jsou všechno projekty -- desktopové aplikace. Budiž, ale nejsou to jádra a podobně, tam Pascal končí kvůli výkonu.
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 16:02 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Za Pascal modernější
Object Pascal byl naposledy v Delphi 6. Od Delphi 7 se tomu říká (říkalo) Delphi Language. To jen pro přesnost, pane neomylný. A další Delphi se sice těžce zaměřovaly na .NET, ale používal se taky Delphi Language (ale to už jsem moc nesledoval).
Ještě na tom nejsem tak špatně, abych četl Viewegha.
15.7.2007 15:19 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Ano, Delphi bylo komerčně úspěšné - hlavně díky RAD. Ale ten jazyk za tím stál za hovno, že to tak tak musím říct na plnou hubu. Delphi Pascal má dost hrůzně udělanou implementaci OOP a jsem rád, že Delphi jde pomalu do kytek, a že se s tímto OOP modelem bude setkávat čím dál méně častěji. Doufám jen, že na Delphi nikdo OOP učit nebude, moc doufám - to by byl dost hloupý a nevhodný začátek.

Co se týká statický x dynamický typový systém, všechno má své výhody a nevýhody.

Znovu musím zopakovat, nemyslím si, že je vhodné, aby začátky programování začaly hned od OOP.
15.7.2007 15:36 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
krotte se! a kdyz uz rikate, ze neco stoji za hovno, uvedte proc... treba me se nelibi c++... nejednotost chovani objektu... jedna trida muze poskytovat referencni i hodnotove objekty, dvojakost class a struct, definice tridy musi byt ve dvou souborech, STL taky neni zadna slava... ale to by bylo na delsi diskuzi...
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
15.7.2007 15:52 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Ale no tak. Syntakticky je OOP v Pascalu dost prkenné. Mě se v C++ právě líbí, že mohu mít objekt stejné třídy jako hodnotu i jako referenci - to dává obrovské možnosti. Class a struct je naprosto to samé, není v tom rozdíl. Ohledně STL souhlasím, nic moc, ale pořád jsou k dispozici alespoň jakž takž udělané základní datové struktury.

Můžu vyjmenovávat co konkrétně mi v OOP u Delphi nesedí - řeknu to jedním slovem - syntakticky to není dobře vymyšleno. Pak mi nesedí to, když v OOP jazyku mám pouze reference a nemám garbage collector - pak je to velmi velmi nepříjemné. Všude lítají mraky pointerů na objekty a ty programátore starej se o to, aby nebyly memory leaky. Tohle v C++ neznám.
Fluttershy, yay! avatar 15.7.2007 15:57 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 15:00 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Já patřím mezi Ty, co se naučili základy programování na Pascalu - a nikdy jsem toho nelitoval. Ačkoliv jsem po roce Pascalu vše vyměnil za C a pak za C++ (a 15 let v něm programoval), to co mi dal Pascal bylo skvělé. Tuhle cestu doporučuji.

Nejsem ale zastánce Delphi Pascalu, a už vůbec ne, to jak Borlandi zprznili OOP, považuji to za jednu z nejhorších implementací OOP v jazycích - je to nalepovák na nalepovák.

Nemám nic proti OOP, sám ho masívně používám, ale podle mě by se nemělo začínat učit na OOP. Začátek progrmaování by se měl odbývat v prvních krocích bez OOP - cítím to jako lepší cestu.

A můj skromný názor - není jedno v čem programuje (respektive v čem se učí programovat), protože z toho vyplyne jak programuje. Nejsem ani zastánce Scheme jakožto prvního jazyka pro programování - podle mě Pascal je poměrně ideální.

Co bych ale nerad viděl je potom používání Pascalu v opravdových projektech - ten jazyk na to nemá.
15.7.2007 15:19 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
ja jsem zacinal na basicu a pascalu, pak presel na delphi, kratce perl a z nej php... a pak to slo raz naraz C, C++, Java, Scheme...

nedokazu posoudit jak moc borlandi zprznili OOP... ale OOP konstrukty v borland pascalu odpovidali tehdy vicemene C++... takze zadna slava... prulom prisel az s delphi... kdy zavedli referencni objektovy model, treba jako ma java... btw. pokud chcete videt sadu uzasnych nalepovaku... doporucuji precist spefikaci c# 3.0... proti tomu je delphi slaby odvar....

nicmene musim s vami neslouhlasit v pouzivani pascalu v opravdovych projektech... sam jsem se na nich delal... a nelisil se to v zadnem podstatnem bodu od "dnesnich" jazyku a nastroju... neni to o programovacim jazyce, ale o programovani....
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
Fluttershy, yay! avatar 15.7.2007 15:30 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Mohu vědět, co to (aspoň orientačně) bylo za projekty? Možná si každý představujeme velký projekt jinak.
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 15:38 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
desetitisice az statisice radku... zpracovani dat...
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
15.7.2007 15:36 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Dobrá ja začínal na Basicu, Asm, Fortranu, pak Pascal - a tvrdím, že až s Pascalem jsem se naučil programovat. Mohl bych pokračovat dál a vyjmenovat šňůru dalšího, ale není to tu o předvádění.

OOP konstrukty sice víceméně odpovídaly C++, až na to, že v C++ to bylo stokrát elegantnější a příjemnější. Syntakticky to OOP je v Delphi strašné.

Ohledně C# 3.0 ani nemluvím - ale už jsem si zvyknul, že MS pokud přežene svojí invenci vytváří hrozné zmotaniny. MS vždycky lépe kopíroval, než vytvářel vlastní.

Ale no tak, Pascal samozřejmě použít jde - koneckonců člověk si zvykne i na smrt. Ale Pascalu - i Delphi Pascalu toho moc chybí. Třeba jen udělat obecnou datovou strukturu, řekněme typu seznam pro libovolný typ prvku je v Pascalu dost nepříjemné - Delphi Pascal na to nenabízí adekvátní prostředky typu generika (šablony, chcete-li) - musíte to obejít společným předkem a přetypovávat a přetypovávat a připravovat se tak o výhody statické typové kontroly.

Prostě nemohu souhlasit s tím, že Delphi Pascal se neliší v žádném bodě od dnešních jazyků - naopak je málo vybavený. Programovat se v tom sice dá a samozřejmě úspěšně, ale na rozdíl od jiných jazyků se v Delphi cítím jak s ustřelenou rukou. Ať vezmu jakýkoli z běžných jazyků, řekněme C++, C#, Javu, Python, Ruby, atd.. - jsou to jazyky schopnější a efektivnější na větší projekty.
15.7.2007 15:43 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
takze problem neni v OOP, ale syntaxi... to je pak otazka vkusu.... to muzu rict, me se libi LISP... a vsude kde, je min zavorek, povazovat za hruzu...

btw. genericke typy/templaty nemeli do nedavna (2 roky zpet) ani java, ani C# a skoro to nevadilo....
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
15.7.2007 15:55 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
C# i Java generické typy mají - a C# je zavedl velmi rychle, pokud vezmete dobu od jeho počátků. Pro mě je podstatný dnešek.
15.7.2007 16:15 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
takze problem neni v OOP, ale syntaxi

Já bych chtěl jen podotknout, že všechny programovací jazyku nejsou skoro o ničem jiném, jen o syntaxi. Když budete chtít, můžete klidně dělat OOP v Céčku, nebo v assembleru - není to problém. Samotné OOP je metodika, která nepotřebuje podporu v jazyce. Programovací jazyk není skoro nic jiného, než "syntaktický cukr" nad strojákem. Takže asi tak :-)
15.7.2007 16:33 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
mate priblizne pravdu... existuji tridy jazyku, kde mezi jednotlivymi jazyky je rozdil opravdu jen v syntaxi... a metodice... ale jsou i rozdily v jazycich, ktere proste tak to oblbnout nejdou... tak napriklad funkce vyssich radu... to v cecku neudelate, ani kdyz se rozkrajite na nudlicky... (ukazatele na funkce jsou jenom siditko)

a abych neodbihal od OOP, nevim jak je na tom C++, ale umi udelat anonymni tridu a diky ni uzaver? takze, i presto, ze nakonec z toho vypadne program ve strojaku... vyjadrovaci schopnosti jazyku jsou ruzne...

a aby me nikdo nechytl za slovicko: tak to cele popru tvrzenim, ze pokud jeden problem jde vyresit v jednom jazyce, pujde vyresit i v druhem...
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
15.7.2007 16:42 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
proto jsem napsal slovíčko "skoro" - samozřejmě, že nemůžete v C/C++ hledat vše

i když zase C++ je hrozný nezmar :-) http://okmij.org/ftp/cpp-digest/Functional-Cpp.html
15.7.2007 16:51 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
Rozbalit Rozbalit vše Re: Za Pascal modernější
nebo InteLib
Pochybnost, nejistota - základ poznání
15.7.2007 23:25 Jirka P
Rozbalit Rozbalit vše Re: Za Pascal modernější
anonymni trida a uzaver? Myslite closure (cesky jsem to nikdy neslysel, resp. slysel, ale nikdy v tomto vyznamu)?

Anonymni trida v C++ nejde.

Na closures se da pouzit knihovna boost::lambda (prip. s boost::function), jestli teda myslime tu samou vec. V C++0x to bude nejak i nativne (ale ne pres anonymni tridy).
15.7.2007 23:47 Jirka P
Rozbalit Rozbalit vše Re: Za Pascal modernější
Problem s OOP v Pascalu neni jen v syntaxi. Za syntakticky problem v Pascalu povazuji napr. to, ze tam, kde ma byt typ, musi byt jmeno typu (a navic typy co se ruzne jmenuji jsou ruzne, takze pokud chcete udelat funkci ktera bere ukazatel na int, musite si vybrat jestli to bude PInt nebo UkInt a na ten druhy to nebude fungovat).

Problemy s OOP v Pascalu jsou treba nutnost manualne volat konstruktory a destruktory (to ale castecne prameni prave z pascalske syntaxe), absence jakekoli podpory vicenasobne dedicnosti (ani jako Java).

Pascal na me dela dojem, ze se snazili udelat "cisty" jazyk, ale nedotahli to do konce. Treba rozdeleni podprogramu na funkce a procedury je uplne na nic kdyz je povolene mit funkce se side-effecty. Kdyby bylo urceno, ze funkce side-effecty nemaji, davalo by smysl napr. ze volani funkce nemuze byt prikaz, ze vyrazy (ve kterych zase nemuze byt volani procedury) nikdy nemaji side-effecty atd. Takhle je nemoznost napsat f(x, 1); kde f je funkce spis buzerace a zmateni jako v C (co je f(x++, x++) ) to nezabrani.

Pak se Pascal uz nebezpecne podoba C, az na to ze ma pole, bohuzel jen s velikosti zakodovanou do typu. (Proto se Delphisti vsude ptaj "A co xxx (Vas oblibeny jazyk), ma dynamicke pole?") A retezce, samozrejme.

Disclaimer: Delphi neznam, a Pascal jsem mel jen ve skole po tom, co uz jsem umel C++ (takze muzu rict ze mi nic nedal :-) )
16.7.2007 00:20 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
nektere argumenty mate docela zajimave... ale jdete na to spatne...

"tam, kde ma byt typ, musi byt jmeno typu" -- toto pravidlo je vhodne pro stabni kulturu (ADA to pak dotahla do dokonalosti)... pojmenovavat typy PInt nebo UkInt je zverstvo, nazev typu neni o tom, jak ten to typ vypada, ale co popisuje... melo by to byt treba PZasobnik... a pak se prekladac bude rozume branit, kdyz mu tam nekdo bude cpat PBinarniStrom.... btw. jak casto pisete v cecku funkce, ktere si deklaruji vystupni/vstupni typ primo u te funkce?

funkce a procedury jsou oddelene spis nez kvuli side-effectum (schvalne ktery jazyk to ma?) na vyreseni problemu s navratovou hodnotou... proste pri dekompozici nekterych problemu zjistime, ze navratova hodnota je zbytecna... a co bysme tedy meli vratit? vracet neco za kazdou cenu... treba typ void.... co je to za typ ten void... ano muzeme takove funkce definovat jako zobrazeni z N^k->N^0 ale to me moc srozumitelnosti neprida.... tak radsi nebudeme vracet nic a budeme tomu rikat procedura
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
16.7.2007 02:02 Jirka P
Rozbalit Rozbalit vše Re: Za Pascal modernější
> jak casto ...?

Nikdy. V C++ to (snad) ani nejde. Ale skoro nikdy neurcuju typ jmenem (totiz "const Stack&", "int*" ani "pair<T, bool>" (kdyz T je typovy parametr) jmena typu nejsou).

Jinak bych chtel videt typ PInt ktery by se dal prejmenovat na PZasobnik (jo, vim, papir snese vsechno :-) ). Jde mi o to, ze takove pentleni nazvu, aby se tam nemusela psat hvezdicka (v pripade Pascalu strecha) nebo jine modifikatory, je vetsinou spis na skodu (vite co je LPCTSTR? a ma byt LPTSTR konvertibilni na LPCTSTR? podle pravidel Pascalu ne).

Samozrejme ze do funkce ktera chce Zasobnik* vam Strom* nepujde, to da rozum.

Neco jinyho je definovat type Milisekundy : integer; s tim, ze typ Sekundy (definovany obdobne) s nim nebude kompatibilni. Pak by to ale chtelo zpusob, jak rict ze milisekundy se ze sekund dostanou tak, ze se vynasobi 1000. To ale nejde. Ale tlacit programatory aby pojmenovavali ukazatele na neco, ktere nemaji jiny smysl nez ukazatel na neco, s tim, ze kdyz to dva pojmenuji ruzne, tak jim to vynada ... podle mne je to zbytecna buzerace.

Fce vs. procedury. Me vadi ne ze se to jmenuje jinak, ale ze nejde funkci zavolat jen tak, kvuli jejim side-effectum. Pritom nejaky ekvivalent f(x++, x++), coz je v C docela velka pasticka, napsat jde.

Jinak typ Void je nulovy prvek vzhledem k temer vsem operacim s typy, a jednicka v polosvazu konverzi :-) . Nevim, co se vam na tom nelibi. (Jo, bylo by super, kdyby to tak v C++ opravdu fungovalo.. aspon ze jde hodnota typu void vratit pres return).

V nejake forme ma side-effectni a neside-effectni funkce rozlisene treba Haskell.
16.7.2007 09:43 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
a jsme u toho praseni... ja bych to shrnul do prislovi: "nenadavejte zrcadlu, kdyz mate krivou hubou"

vy chcete v pascalu programovat jako prase a on vam v tom brani....

omlouvam se, ze jsem priklad s PInt prevedl na PZasobnik... ale nepodarilo se me vymyslet nejaky rozumny priklad, kdyby mel ukazatel na int nejake rozumne pouziti... (pominu-li pointerovou aritmetiku a dualitu mezi polem a ukazatelem, coz neni nic jineho nez forma praseni, povysena na zakladni princip v jednom jazyce ;-])

btw. nikdo vas nenuti pouzivat PZasobnik.... muzete vsude v kodu pouzivat ^TZasobnik...

ke konverzim jsem se vyjadroval jiz vyse... proste vam brani chovat se jak prase a prevedat vsechno na vsechno... vezmete si hypotetickou funkci sleep(time: Seconds) a usleep(time: MiliSeconds) .... v takovem pripade vas prekladac upozorni na chybu...

otazka zni jak moc je uzitecne a programatorsky vhodne volani fce jenom kvuli jejim side-effectum... btw. nevim jak ve starsich verzich... ale obrat f(inc(x), inc(x)) by asi prosel bez problemu...

a typ void... hezky jste popsal jak se chova! ale co ve skutecnosti je... jaky ma vyznam? jde ten vyznam nejak jednoduse uchopit...
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
16.7.2007 23:51 Jirka P
Rozbalit Rozbalit vše Re: Za Pascal modernější
> a jsme u toho praseni... ja bych to shrnul do prislovi: "nenadavejte zrcadlu, kdyz mate krivou hubou"

> vy chcete v pascalu programovat jako prase a on vam v tom brani....

Tak tady byste to asi mel vic rozvest. V opacnem pripade prestante placat nesmysly.

> btw. nikdo vas nenuti pouzivat PZasobnik.... muzete vsude v kodu pouzivat ^TZasobnik...

Nuti. Jak se doctete v gramatice Pascalu, v seznamu formalnich parametru musi byt jmeno typu, coz ^TZasobnik neni. Dokonce takovou vec jako ^^TZasobnik nelze napsat v Pascalu vubec nikam.

> f(inc(x), inc(x)) by asi prosel bez problemu...

a to je prave ten problem. Vysledek tohohle je totiz nedefinovany, coz do "bezpecneho" a "nezakerneho" jazyka jaksi nepasuje. Kdyby vyrazy nesmely mit side-effecty, nemohlo by se to stat.

Pokud obecne funkce smi mit side-effecty, pak volat ji kvuli jen side-effectum je OK.

Konverze: Prevadet vsechno na vsechno nikdo nechce. Ale Pascal nedokaze prevest nic na nic, a to ani semanticky i rozsahem hodnot totozne typy, coz sekundy a milisekundy jsou. Takze je na programatorovi aby si tu konverzi, vcetne toho nasobeni/deleni tisicem ohlidal sam, prestoze to lze udelat spravne jen jednim zpusobem. Programator v tom akorat naseka chyby.

Vyznam Voidu je asi jako vyznam nicoty... je to podobne jako vyznam prazdne mnoziny nebo /dev/null. Pokud si pod tim predstavujete nulatici, ok.

Jinak pokud vam vadi nebezpecnost pointrove aritmetiky, tak to je vlastnost implementace toho konkretniho kompilatoru. Je mozne implementovat standard C, a mit pristupy pres pointry i pointrovou aritmetiku stejne bezpecnou jako v Pascalu.
17.7.2007 01:28 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
dobra tedy... s tou striskou vam budu verit, ten standard se me ted fakt louskat nechce... ale zda se me ze takove konstrukty v "modernich" prekladacich prochazely stejne jako treba navratovy typ "array"

f(inc(x), inc(x)) -- projde bez problemu... jenom postup vyhodnoceni je podle specifikace zavisly na implementaci... stejne tak jako v C nebo treba scheme... kdo tak programuje at se pak nedivi...

pozadavek, aby funkce meli moznost side-effectu je naprosto regulerni... jak byste v takovem pripade, chtel resit trivialni zalezitost - "cekej az uzivatel stiskne klavesu a vrat prislusny znak?" to ze nacetl znak je side effect. technicke reseni by bylo snad pres referenci... ale je to proti logice veci...

"Pokud obecne funkce smi mit side-effecty, pak volat ji kvuli jen side-effectum je OK." -- toto je nazor kodera, programator se zamysli jestli nema chybu v analyze... proc vlastne v te funkci pocita navratovou hodnotu, kdyz ji nepouzije?

ad konverze - ma vam vubec smysl vysvetlovat vyznam silneho typoveho systemu? jedna vec je cas v sekundach, dalsi vec je cas v milisekundach... chcete-li mit cas v sekundach s presnosti na milisekundy... to ze to nepovoli prirozene konverze je jen pro vasi dobro... takto hur udelate chybu... podivejte se kam to s typy dotahla ADA

void -- takze void muze byt cokoliv, ale vlastne nic.... takovy prirozeny jev, ktery se kazdemu snadno vysvetli -- proto to rozdeleni na funkce a procedury
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
19.7.2007 02:09 Jirka P
Rozbalit Rozbalit vše Re: Za Pascal modernější
Side-effecty: Ano, resil bych to varenym parametrem. Muzu se mylit, ale myslim, ze Pascal takhle vstup i resi (tzn. neni x=read; ale read(x) ).

Volani kvuli side-effectum: Obecne je problem mit funkce, ktere delaji dve (a vice) veci. Ale zivot neni jednoduchy a takove funkce proste existuji, at uz z praktickych duvodu (treba ze vykonat ty dve veci zvlast by bylo neefektivni) nebo z nutnosti (jedna vec primo ovlivnuje tu druhou). Samozrejme je dobre se tomu vyhnout z mnoha dobrych duvodu (napr. proto, ze neni jasne, co znamena, kdyz ta funkce selhala). Ale pokud uz funkci ktera ma side-effect a soucasne neco vraci, mame (treba proto, ze nekdy se ta navratova hodnota hodi, jindy ne), pak neni proti nicemu tu hodnotu ignorovat. (Pokud to neni zrovna chybovy kod, ale, uprimne, oznamovani chyb navratovou hodnotou je spis znouzectnost a v praxi ... nefunguje).

Konverze: Pokud se spravne definuje co a jak se da prevadet, tak to typovou cistotu nijak neovlivnuje. Jinak mam v podstate dve moznosti, bud pouzivat jen jeden z ekvivalentnich typu uplne vsude (v nasem pripade treba Milisekundy), coz ne vzdy jde, zvlast kdyz na tom dela vic lidi. Druha moznost je knovertovat to explicitne a v tom se delaj chyby.
16.7.2007 00:25 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Naprosto s Vámi souhlasím, že Delphi a OOP je hnus. Jenže to není Pascal.

Pascal vznikl jako učební jazyk, a proto vypadá tak jak vypadá. Nikdy nebyl zamýšlen jako jazyk pro praxi, na to Wirth vymyslel Modulu a Oberon. Podle mě je Pascal pro praxi ne moc dobrý, a že Borland vymysleli proprietární rozšíření Pascalu i s OOP je už jiná věc. Mimochodem, podle mě v Delphi je nejhorší implementace OOP ze všech OOP jazyků, co jsem kdy viděl. Některé důvody jste uvedl.

Pokud jste už programovat uměl, tak Vám Pascal neměl moc co dát.
15.7.2007 15:31 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Za Pascal modernější
Pokud můžu mluvit za sebe, tak základy mi dal BASIC. S jeho dialekty jsem bojoval na ZX81, ZX-Spectru, Ondrovi, TNS-kách, PMDčku, Commodorovi a nakonec jsem zakotvil u Qbasicu. Následoval Assembler. Z něj jsem dost pochopil, ale tehdy jsem to nezvládal. Pak Pascal - důsledek školství. Ten jsem opět prokládal Assemblerem. Celkem slušná znalost Pascalu + QBasicu mi příliš zbytečně dlouho bránila v přechodu na tajemné Céčko. Ale i to se zlomilo a céčko, král jazyků, mi dalo asi nejvíc. Následoval opět Assembler, tentokrát pro jednočipy. Pak intermezzo s PHP. Pak asi rok C++. Pak Perl - moje největší programovací euforie - měl jsem pocit, že jde všechno snadno a rychle! Pak se do toho připlétaly různé matematické jazyky/nejazyky. Poté shell, externí programy, roury - bylo to báječné. Momentálně jsem u Pythonu a ten mi dal (pořádné) objekty a různé high-level věci.

Závěr: Pascal mi nedal vůbec nic! Na každý z těch jazyků vzpomínám, každý mi ukázal své dobré i špatné stránky - jen Pascal je nemastný neslaný a nahraditelný skoro čímkoli. Ztráta času.
Fluttershy, yay! avatar 15.7.2007 15:32 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Algoritmy psané v Pascalu se dobře čtou.
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 15:45 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
To je spíš otázka zápisu - dobře zapsaný kód v C++ se čte lépe (můj subjektivní názor).
15.7.2007 15:47 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Za Pascal modernější
Tomu ani moc nerozumím. Nevím, co jsou "algoritmy" a jak moc často jsou v běžném kódu zastoupeny. Podle mě se Pascal čte zhruba jako céčko.
Fluttershy, yay! avatar 15.7.2007 15:54 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Algoritmus je třeba quick-sort. V kódu je celkem často. Já hovořím o vydestilovaných algoritmech pro výukové účely.

Proč pak na matfyzu používají Pascal?
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 16:05 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Za Pascal modernější
Algoritmus můžeš vydestilovat v jakémkoli jazyce a nebude se to moc lišit.

A proč se ve vědecké sféře programuje úplně příšerným způsobem (např. v Pascalu, a dodnes i ve Fortranu)? Není možné přece umět všechno. Například já jsem fyzik a svou nevzdělanost v informatice pociťuji velmi často.
15.7.2007 15:58 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
Rozbalit Rozbalit vše Re: Za Pascal modernější
Tak to je moc :-D (ty algoritmy)
Pochybnost, nejistota - základ poznání
15.7.2007 15:45 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Pascal je v praxi nahraditelný - pro praxi ten jazyk nemá cenu.
15.7.2007 16:16 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Za Pascal modernější
Mám dojem, že máme rozdílný pohled na to, co to znamená "naučit se programovat". Několikrát jsem přečetl tvůj příspěvek a zajímalo by mě, co myslíš tím "základy mi dal BASIC" (jaké základy?), "Následoval Assembler. Z něj jsem dost pochopil, ale tehdy jsem to nezvládal." (co?), "Celkem slušná znalost Pascalu + QBasicu mi příliš zbytečně dlouho bránila v přechodu na tajemné Céčko", "céčko, král jazyků, mi dalo asi nejvíc" (co?), "Pascal mi nedal vůbec nic!" (co ti měl dát?), "Pascal je nemastný neslaný" (heh?), atd.?

Pro mě osobně znamená "umění programovat" znalost různých algoritmů (grafových, třídících, ...), jejich výhod a nevýhod (např. časová a paměťová složitost) a schopnost tyhle znalosti alespoň trochu úspěšně použít na řešení nějakého problému. Zatímco u příspěvků jako je ten, který jsi právě napsal, mám dojem, že si pod učením se programovat představujete (tím "vy" myslím skupinu tobě podobných, protože bych ani nespočítal, kolikrát jsem už podobné příspěvky četl) výběr toho nejpromakanějšího jazyka, narvaného fičurami, které jsou pro výuku programování tak, jak jsem ji popsal, akorát na obtíž. Nechápu, co bys měl na samém začátku z toho, že má tvůj první jazyk "(pořádné) objekty", "různé high-level věci" a já nevím, co ještě.

Fakt nechápu tyhle "argumenty" proti Pascalu, pokud mluvíme o začátcích s programováním.
15.7.2007 16:35 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Za Pascal modernější
No, můj příspěvek byl i tak příliš dlouhý, že jsem to nechtěl rozpatlávat víc.

Já nikomu pascal neberu - jen u sebe mám pocit, že kdybych ho vynechal, o nic bych nepřišel.

A co se týče umění programovat - já v tom vidím hlavně strašnou administrativu. Jak to udělat, abych se v tom za čas neztratil? Když to po mě někdo bude číst - pochopí to? Mám to rozdělit do dvou souborů/knihoven hned nebo až potom? Proč autoconf vyhazuje chybu? Bude to fungovat i na topinkovači? Neudělal to už někdo? Co tahle knihovna/funkce dělá? Je k tomu dokumentace? Jaký má autor mail? Proč neodpovídá?

A když se nááááhodou dostanu k otázce algoritmu, jsem rád, že jsou lidi jako ty, kteří se tím zabývají - těch se pak ptám :-)
Fluttershy, yay! avatar 15.7.2007 16:39 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
To zní skoro, jako bys byl javista.
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 17:03 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Za Pascal modernější
Nejsem žádný *ista ;-)
Jo a to jsem ještě zapomněl zmínit další věci jako - proč to dnes nejde slinkovat, když včera to šlo? Aha, někdo změnil knihovnu. Sakra, segmentation fault. A co tady ten patch? Proti které je verzi? Proč jsou tam konflikty? A těch warningů si nevšímáte? Proč z toho nejde udělat balíček? Proč je manuálová stránka v Zulukafrštině? Cože, autoři se pohádali a forkli projekt? Co teď používat? A tady je evidentně blbost - šup s tím do bugzilly. Cože? Not a bug? Vám to funguje a já to mám rozbitý? Ne, vy to máte rozbitý.
A tak dále, a tak dále - je to radostné :-)
Fluttershy, yay! avatar 15.7.2007 17:06 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
To je ten oupnsórs.
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 18:40 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Za Pascal modernější
To je ten oupnsórs.
Klaus-sós je totéž :-)
15.7.2007 18:41 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Za Pascal modernější
Akorát že komunikace není veřejná a účastníci si vykají.
15.7.2007 17:35 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Za Pascal modernější
No, můj příspěvek byl i tak příliš dlouhý, že jsem to nechtěl rozpatlávat víc.
Stačilo by stručně, protože to fakticky nechápu. Co je tedy to všudypřítomné to něco a ty základy, o kterých jsi mluvil? Třeba tady: "základy mi dal BASIC" (jaké základy?). Pro mě jsou ty základy tvořený nejdůležitějšími algoritmy a znalosti jejich výhod a nevýhod. To honění se za Tím Nejlepším a Nejvymakanějším Jazykem™ mi přijde pro výuku naprosto nepodstatné.
Já nikomu pascal neberu - jen u sebe mám pocit, že kdybych ho vynechal, o nic bych nepřišel.
Hmmm, fakt to moc nechápu. Ani nevím, co přesně bys čekal, že by ti měl konkrétně dát. Jak už jsem řekl, důležitá je podle mě ta algoritmická stránka výuky a pak ještě něco obecného, čemu se v literatuře říká "dobré programátorské návyky" (to pro tuhle diskusi ale není nějak důležité, tak se tady nebudu snažit vyjmenovávat, co ten pojem zřejmě všechno obsahuje). Pro nic z toho není žádný jazyk, který má "(pořádné) objekty" nebo "různé high-level věci", potřebný.
A co se týče umění programovat - já v tom vidím hlavně strašnou administrativu. Jak to udělat, abych se v tom za čas neztratil? Když to po mě někdo bude číst - pochopí to? Mám to rozdělit do dvou souborů/knihoven hned nebo až potom? Proč autoconf vyhazuje chybu? Bude to fungovat i na topinkovači? Neudělal to už někdo? Co tahle knihovna/funkce dělá? Je k tomu dokumentace? Jaký má autor mail? Proč neodpovídá?
Samozřejmě, že jsou tyhle praktické otázky důležité. Ale člověk by si je měl začít klást až poté, co zvládne základy, o kterých jsem psal. Pokud by to tak nebylo, dopadlo by to asi dost špatně.
15.7.2007 18:41 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Za Pascal modernější
OK, zkusím to. Ale opravdu jde jen o mé subjektivní pocity.
V Basicu jsem se naučil print, proměnné, podmínky, cykly, příkaz beep a později řetězce a pole. Byl to můj _první_ jazyk a myslím, že v Pascalu bych to v deseti letech nezvládl. Zatímco v Pythonu možná ano. V Perlu možná taky. Interpret byl tehdy pro mě naprosto zásadní věc, abych mohl napsat
print "Ahoj, 5*9=", 5*9
a takhle jsem si hrál celé hodiny a dny. V Pascalu bych měl smůlu. A pro začátek je úplně jedno, jak vymakaný ten jazyk je (na tom se stoprocentně shodujeme), hlavně ať neklade překážky.
No a ve věku, kdy jsem začal s Pascalem, bych asi úplně stejně dobře mohl začít s Céčkem. Prostě kdybych mohl vrátit čas, Pascal bych (u sebe) vynechal.
15.7.2007 23:31 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Za Pascal modernější
Bez urážky, ale míru toho, nakolik je schopno v tom či onom jazyce desetileté dítě pochopit "print, proměnné, podmínky, cykly, příkaz beep", nepovažuju za směrodatnou pro určování kladů a záporů jakéhokoli jazyka pro výuku základů programování.

No nic.
15.7.2007 23:29 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Za Pascal modernější
"Pro mě jsou ty základy tvořený nejdůležitějšími algoritmy a znalosti jejich výhod a nevýhod. To honění se za Tím Nejlepším a Nejvymakanějším Jazykem™ mi přijde pro výuku naprosto nepodstatné."
Tak to by sis možná měl přečíst Structure and Interpretaton of Computer Programs, druhé přepracované vydání. Ta učí i "něco navíc". Někteří v čtenářských recenzích říkají, že jim ta kniha třebas i po patnácti letech je stále platná a užitečná, jelikož na některé věci z ní by sami nepřišli (přesněji řečeno věci, které v abstraktních knížkách o algoritmech odtržených od jakéhokoli jazyka nejsou) a pořád tam nacházejí nová moudra. Nedivím se jim, vidím to stejně.
15.7.2007 23:53 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Za Pascal modernější
Tuhle knížku mám zazáložkovanou v prohlížeči už dlouho, ale bohužel jsem si zatím nenašel čas se do ní pořádně pustit, četl jsem z ní jenom kousek. :-( Rád bych si ji sehnal v tištěné podobně, pokud se mi to někdy podaří...

Chvíli jsem přemýšlel, jestli byl tvůj příspěvek vyjádřením nesouhlasu nebo jsi ho napsal "jen tak". Nakonec jsem došel k názoru, že to asi bude ten první případ (jestli ne, tak ani nečti dál :-)), i když si nejsem jistý, jestli jsem dobře pochopil to, na co narážíš. :-) Takže bych rád zdůraznil, že si nemyslím, že všechna moudrost leží "v abstraktních knížkách o algoritmech odtržených od jakéhokoli jazyka", to jsem určitě naznačit nechtěl a snad jsem ani nic podobného nenapsal (rozhodně ne úmyslně). Chtěl jsem říct jenom to, že podle mě není důležité (a ani vhodné), aby se programování učilo na komplikovaných záležitostech typu C++ nebo Java.
16.7.2007 00:17 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Problém je, že nám s jazyky jaksi prořídlo. V době, kdy já jsem studoval programování bylo jaksi jazyků přehršel a nějak tak se moc nedělaly štráchy s tím, že člověk bude muset přebíhat mezi více jazyky. Nemohu si pomoci, ale byly to i jazyky velmi promyšlené, nad jejichž návrhem se leckdo zamýšlel.

Takže na čem chcete dnes učit? Já se strukturované programování učil na Pascalu, OOP jsem pokřtil na Simule (výborný jazyk, však taky C++ vzniklo jen proto, že se Stroustrupovi stýskalo po dokonalosti Simuly), pokračoval jsem Smalltalkem (tehdy jedna disketa 1,44 MB a požadovala PC 286, nehorázný požadavek :-)). K tomu pár realtimových jazyků - dodnes se mi stýská. A šup Ada. Jsem už starší, učil jsem se programovat někdy kolem 90-tých let, ale tyhle všechny jazyky měly osobnost a byly promyšlené.

Když vezmu dnešní běžné jazyky pro praxi - C++ je velmi složité, Java je zase tak osekaná, že se v ní pořád všechno co nemá emuluje pomocí objektů, C# je trochu lepší, ale v poslední verzi je to hodně zmatený jazyk ve stylu pejsek s kočičkou vařili dost. Python - no dobře, dejme tomu.
Jardík avatar 15.7.2007 18:41 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Za Pascal modernější
úplné vyhodnocování logických výrazů

Tohle má VB, když jsem dělal v Delphi (pascal), tak to rozhodně úplné vyhodnocování neprovádělo, protože ty moje konstrukce typu (tohle je sice v C++, pascal už jsem skoro zapomněl)

if( a && a[i] && a[i]->janevimco ) {}

by tam určitě jinak neprošly.

Věřím v jednoho Boha.
15.7.2007 19:07 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
taky se me to nezda...

http://www.freepascal.org/docs-html/ref/refsu31.html#x95-1020009.7.3
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
15.7.2007 22:22 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Jenomže Delphi, ani FreePascal není Pascal! Podle normy Pascal provádí úplné vyhodnocování výrazů. Zapomeňte na to, že Delphi je Pascal, Delphi je jazyk vycházející z Pascalu proprietárně vytvořený firmou Borland.
15.7.2007 22:38 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Za Pascal modernější
Podle normy Extended Pascal existují operátory and then a or else, které provádějí zkrácené vyhodnocování.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
15.7.2007 22:39 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Za Pascal modernější
(Což asi znáte z Ady, že. Já jen, že není Pascal jako Pascal.)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
martidlo avatar 15.7.2007 20:49 martidlo | skóre: 3 | blog: Vztekárna | Opava
Rozbalit Rozbalit vše Re: Za Pascal modernější
V září nastupuji do 3. ročníku střední školy. Letos jsme se v IKT učili základy HTML, to bylo lehké. Od září se máme učit programování a to v onom zmiňovaném Pascalu. Moc se mi to nelíbí... budu studovat jazyk, který se již skoro nevyužívá, a proto nebylo by lepší studovat nějaký jazyk, kterým se "mluví" mnohem více? Náš pan učitel je líný studovat a nějak mu o těch programovacích jazycích chybí přehled. Škoda no... já sama jsem začala pythonit - viděla jsem přítelovy prográmky a zalíbilo se mi to. Jinak nám přibyde volitelný předmět PROGRAMOVÁNÍ, ve kterém se budem učit jazyk typu C(++, #) nebo Javu. Tak jsem na to zvědavá :-)
15.7.2007 21:23 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
ale programovani neni o tom, jakym jazykem pises, to je jen nastroj... dulezite je, co pises... jak psal nekdo jiz vyse, u programovani je potreba pochopit zakladni datove struktury, myslenkove postupy... a na to je pascal docela vhodny....

"jazyk typu C(++, #) nebo Javu" ... to je jak rict "do prace pojedu na kole, motorce, autem nebo traktorem" ;-] splni to svuj ucel, ale pokazde to bude kvalitatvne neco jine....
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
martidlo avatar 15.7.2007 21:29 martidlo | skóre: 3 | blog: Vztekárna | Opava
Rozbalit Rozbalit vše Re: Za Pascal modernější
Hezké a poučné :)
15.7.2007 22:38 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Za Pascal modernější
A další věc je to, že člověk by měl vyzkoušet jazyků více, aby měl přehled. Takže první jazyk by měl být pokud možno v praxi nepoužitelný a dávno překonaný.
Takže Pascal je výborná volba. A navíc - jen ať žák nebere věci jako samozřejmé. Kdyby totiž psal v něčem rozumném, mohl by nabýt dojmu, že všechny jazyky jsou case-sensitive, že mají operátor "==" atd. A také mu radši spleteme hlavu a zavedeme kromě funkcí ještě procedury - však to nevadí, že je to komplikace navíc. A pro tisknutí dáme _dvě_ funkce a hlavně ať se nejmenují PRINT - takže tu máme, write a writeln! Ještě nějakou úchylárnu by to chtělo - třeba klíčové slovo "var" - to je naprd, to tam dáme. A bylo by trestuhodné, kdyby si každý myslel, že se pole číslují od nuly - dáme mu tedy možnost, ať si to čísluje třeba od jedničky. A do cyklu "for" dáme taky nějakou pitomost - třeba "downto" (kdepak mínus jednička!). A skryjeme podmínku, kdy cyklus skončí, ať si to každý najde v učebnici. A komentáře dáme třeba - do složených závorek! To je nápad, co? A taky ještě přidáme další typ cyklu - repeat+until. Však to nevadí, že se s tím jinde nesetká. A ještě přidáme klíčové slovo "then" - ať to vypadá jak anglická věta. Pak ještě za posledním příkazem bloku zakážeme dávat středník - uvidíte, že ho tam každej dá, to bude k popukání. A trochu pomícháme terminologii - jakže se říká číslům s plovoucí desetinnou čárkou? Float? Dáme real!
No prostě na výuku algoritmů se dá použít jakýkoli jazyk. Pascal je jazyk. Takže Pascal!
15.7.2007 22:51 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
A co jste jako tímto chtěl dokázat? Já jen abych to pochopil. Všechny jazyky nejsou case sensitive, ne všude je oprátor ==. I to blbé céčko má funkcí na tisknutí vícero. Stejně tak lze považovat za výhodu, když si mohu zvolit dolní mez pole. S cyklem typu repeat until jsem se setkal prakticky skoro v každém programovacím jazyce. Atd. Atd..

Takhle můžete zkritizovat každý jazyk, protože je jen Váš subjektivní dojem, co se Vám nelíbí. Až začnete kritizovat skutečné problémy Pascalu, tak se ozvěte, ale tohle co kritizuje je prostě jsou jen vlastnosti Pascal like jazyků, kterých není málo.
15.7.2007 23:41 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
prosim vas... krotte se ...
  • case sensitivita - ne vsechny jazyky jsou case sensitive... a zalezi spis na vkusu
  • ==, vysvetlete mi, proc by pro operator "rovna se" se mely pouzivat dve "=", misto jednoho... obzvlast, kdyz uz ho na klavesnici mame
  • funkce a procedury -- videl jste v matematice funkci, ktera by byla definovana jako N^k->void -- co je to za hodnotu/typ ten void.... pro lepsi srozumitelnost je lepsi oddelit fce a procedury... nez zavadet fce. pro specialni typy)
  • write,writeln -- ma vetsina "modernich" jazyku taky oddelene... c# dokonce jako Console.WriteLine
  • klicove slovo var -- ono ma prekvapive i svuj vyznam... vlastne je to prikaz pro alokaci prostoru na zasobniku... takze nejspis historicke duvody
  • indexace od nuly -- takze ve v beznem zivote cislujete od nuly? takze anicka je moje nulte dite, barborka je moje prvni dite, cecilka je moje druhe dite,...
  • for -- dela v pascalu opravdu neco uplne jineho nez v cecku... iteruje nad ciselnou posloupnosti... v cecku je to jenom syntakticky cukr, pro while... for(i = 0; i < x; i++) je vlastne i = 0; while (i < x) { neco_delej(); i++)
  • komentare jako slozene zavorky -- uvedte duvod proc je to spatne
  • repeat-until -- uvedte duvod proc je to spatne
  • if-then -- ma spousta jazyku... a mozna to trosku zprehlednuje kod
  • cisla s plovouci radovou carkou -- vy jste se ucil ve skole pocitat s cisly s plovouci radovou carkou? nas ve skole ucili, ze jsou cisla prirozena, cela, racionalni, REALNA a komplexni!

btw. lepsi argumenty nemate...
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
15.7.2007 23:59 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Za Pascal modernější
Chovají se takhle všichni pythonisti? :/ Takovýchhle jazyků je mnohem víc než jen Pascal, navíc Pascal vznikl skoro současně s Cčkem (koncept možná ještě před ním, první manuál je z roku 1970, totéž v Cčku - 1972), takže těžko může kopírovat jeho syntaxi, aby to milostpánovi bylo po chuti. Float? Co to je? Mimochodem, syntaxe Pascalu má hodně co do činění s rychlostí tehdejších počítačů, a také s tím, že na ni lze aplikovat LL(1) parsery, a to ovlivnilo i jiné méně příjemné součásti jazyka. (Navíc Wirth se LL parsery zabýval, takže se není čemu divit. ;-)) Ale aspoň se to dalo rychle kompilovat, cože tehdy bylo docela důležité (a myslím, že až do začátku 90. let neměly počítače v tomhle směru výkonu nazbyt, a lepší je vynutit deklarace předem než nechat přetéct paměť měřenou na desítky kilobajtů a znemožnit kompilaci vůbec). Nečekám však, že Tě tohle bude zajímat...
15.7.2007 23:59 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Za Pascal modernější
Ještě teď hledám čelist pod stolem. Tohle mělo být co? Špatný pokus o vtip? Pokud ne, tak ses právě zařadil do soutěže o nejblbější příspěvek, jaký jsem měl kdy tu čest číst. Doufám, že jsi na to patříčně hrdý. :-D
16.7.2007 00:40 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Za Pascal modernější
Ježkovy zraky! Jestliže tři lidi pochopili špatně, co jsem napsal, tak je jasné, že jsem to napsal špatně. Ale aspoň si o mě nemyslete, že soudím jazyky na základě syntaxe.
16.7.2007 09:26 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Za Pascal modernější
No tak to příště napiš dobře ;-)
When your hammer is C++, everything begins to look like a thumb.
15.7.2007 21:30 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Za Pascal modernější
Můj názor k tématu "Python a výuka programování" jsem vyjádřil zde a v mých příspěvcích v tomtéž vlákně.

Pokud bys po mně chtěla, abych to všechno co nejstručněji shrnul, tak bych to řekl takhle: "V hodinách výuky programování je cílem naučit žáka především algoritmicky myslet." Z toho plyne, že není nejmenší důvod, vyučovat základy programování na komplexních složitostech typu C++ nebo Java. Tím ty jazyky nehaním, chraň bůh. Jen je podle mě pro počáteční výuku ta jednoduchost Pascalu výhodnější. Neskýtá tolik prostoru pro zmatení žáka, takže se může soustředit přímo na nějaký konkrétní algoritmický problém.
15.7.2007 21:33 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Za Pascal modernější
Eh.

Můj názor k tématu "Pascal a výuka programování"...
martidlo avatar 15.7.2007 21:53 martidlo | skóre: 3 | blog: Vztekárna | Opava
Rozbalit Rozbalit vše Re: Za Pascal modernější
Vývojové diagramy a alogoritmizaci jsme si ve škole tak zlehka prošli a bylo to docela fajn. Jsem tomu teď moc vděčná, hodí se mi to :)
16.7.2007 00:45 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: Za Pascal modernější
Je jedno jaký jazyk se používá, důležité je seznámit se základními prvky toho daného typu programování. (Imperativní => (strukturované, objektově orientované), deskriptivní => (funkcionální, logické), regulární, deklarativní) Já si myslím, že ve škole by se měli učit obecné principy jak jen to jde a co nejméně se omezovat na konkrétní technické prostředky. Mít technický prostředek, v němž se realizují cvičení, ale v těch příkladech ukázat... Tohle je ta část, která musí být jen v některých jazycích (deklarace,..) a tohle je ta část, která je nejdůležitější, tohle je algoritmus, kterým řešíme zadanou úlohu a ten můžete po pár úpravách přepsat do libovolného jazyka.
A víš přece co se říká, ne? Opravdový programátoři programují ve FORTRANu v kterémkoli jazyce ;-)
15.7.2007 21:35 rad.ovan@seznam.cz
Rozbalit Rozbalit vše Re: Za Pascal modernější
Jen na okraj, Chipmunk BASIC také umí OOP :-)
15.7.2007 21:38 melkors | skóre: 13 | blog: kdo_chce_kam
Rozbalit Rozbalit vše Re: Za Pascal modernější
Pascal jako jazyk pro vyuku programovani ma jednu obrovskou vyhodu: Je tezsi v nem napsat osklivy program nez hezky. I kdyz je pravdou, ze prase bude prasecky programovat v cemkoli ...
A pro ty, kteri nevi, k cemu jsou dobre algoritmy: Zamyslete se nad tim, proc se ona zakladni knizka programovani jemnuje "Algorithm + data structures = program" :-) Kdo nezna, prohloupil :-) :-)
15.7.2007 21:45 Martin | skóre: 10 | blog: Nádraží Perdido
Rozbalit Rozbalit vše Re: Za Pascal modernější
Je tezsi v nem napsat osklivy program nez hezky.
Tohle je bohužel naprostý nesmysl. Jsou lidi, kteří prasí i v tom údajně nezprasitelném Pascalu. Byl jsem toho už vícekrát očitým svědkem :-)
15.7.2007 22:55 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Zprasit se dá v každém jazyce. Ale v Pascalu je to těžší.
15.7.2007 23:44 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
Rozbalit Rozbalit vše Re: Za Pascal modernější
Ehm, nedávno jsem přemýšlel nad tím, proč lidi kolem Javy u nás na škole tvrdí, že v Javě se narozdíl od C++ nedá prasit, protože Java prý nutí k pěknému kódu...

Tohle je blbost. V naprosto každém použitelném jazyce lze imho vytvořit zprasený kód. Rozdíl mezi prasením např. v Javě nebo C je v tom, že při výuce Javy se hodně tlačí na "štábní kulturu" a nějaká domluvená pravidla, která jsou mnohdy implementována i v IDE. Zatímco při výuce C se takový důraz na nějaká obecná pravidla psaní kódu neklade, místo IDE se používá obyčejný editor, kde lze napsat cokoliv, a pak vznikají takové nesmyslné fámy.

No a pak je tu také imho přímá vazba mezi univerzálností jazyka a prasením. Čím víc je jazyk univerzálnější (čím víc konstrukcí umožňuje), tím líp se v něm prasí.
θηριον ειμι
16.7.2007 00:04 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Ale ano, je to přesně tak - čím schopnější a bohatší programovací jazyk, tím více se v něm dá prasit, ale i napsat čitelnější program.

Mnozí pomýlení potom doporučují velmi osekané jazyky (např. Javu) s bláhovou domněnkou, že v tom nikdo prasit nebude. Není to pravda.

Podle mě odnaučit prasení je velmi jednoduché - udělejte dostatečně velký projekt (ideálně alespoň stotisíc řádek v jazyce) a několik let ho udržujte - přidávejte do něho nové featury - a mějte nad sebou zákazníka s ostrými termíny odezvdání každé úpravy, nebo opravy chyb. Ideálně v týmu. Je úplně jedno, co používáte za jazyk.

Ale jeden postřeh k Javě - neznám žádného dobrého programátora, který by se vyučil na Javě. Neznám ani dobrého Javistu, který by se naučil programovat právě v Javě. Od té doby lidi zoufale prosím, ať mi takového člověka ukáží, ale nikde nic. Díky tomuto pozorování velmi pochybuji o vhodnosti Javy pro učení programování.
16.7.2007 08:12 Filip Jirsák | skóre: 67 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Za Pascal modernější
Ale jeden postřeh k Javě - neznám žádného dobrého programátora, který by se vyučil na Javě. Neznám ani dobrého Javistu, který by se naučil programovat právě v Javě. Od té doby lidi zoufale prosím, ať mi takového člověka ukáží, ale nikde nic. Díky tomuto pozorování velmi pochybuji o vhodnosti Javy pro učení programování.
Nebude to tím, že Java je mladý programovací jazyk? A tedy jednak zkušení programátoři (s dlouhou praxí) museli logicky začínat na něčem jiném (protože v době jejich začátků Java ještě nebyla), jednak je dnes "programátorů" spousta, takže pokud je někdo dobrý programátor i s krátkou praxí (a mohl tedy začínat s Javou), zanikne v tom kvantu rychloprogramátorů?
16.7.2007 08:29 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Za Pascal modernější
Java je prakticky stejně stará jako Ruby nebo Python...
16.7.2007 16:44 Filip Jirsák | skóre: 67 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Za Pascal modernější
A znáte nějaké dobré programátory, kteří se naučili programovat v Ruby nebo Pythonu?
16.7.2007 11:24 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Za Pascal modernější
Mnozí pomýlení potom doporučují velmi osekané jazyky (např. Javu) s bláhovou domněnkou, že v tom nikdo prasit nebude. Není to pravda.
Samozřejmě že je to nesmysl. Prasit se bude, a jak.

Zásadní rozdíl spočívá v tom, že zprasený kód v Javě se dá ještě použít.
Podle mě odnaučit prasení je velmi jednoduché - udělejte dostatečně velký projekt (ideálně alespoň stotisíc řádek v jazyce) a několik let ho udržujte - přidávejte do něho nové featury - a mějte nad sebou zákazníka s ostrými termíny odezvdání každé úpravy, nebo opravy chyb. Ideálně v týmu. Je úplně jedno, co používáte za jazyk.
Jo jo, to doporučuji. Hlavně ten tým, to je důležité. Člověk se naučí, k čemu je Java. A zapomene na C++ a podobné nápady.

Jistě, je zde možnost dát dohromady tým lidí co zvládnou C++. Nebo třeba LISP :-) Možnost v mnoha oblastech čistě teoretická - člověk co chápe LISP nebo dokáže psát udržitelný program v C++ nebude nikdy ochoten pracovat na úkolech typu "pokud si zákazník objedná kilo jablek mezi druhým a třetím úplňkem v létě, dostane slevu 15% na hrušky".
16.7.2007 14:04 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Za Pascal modernější
člověk co chápe LISP nebo dokáže psát udržitelný program v C++ nebude nikdy ochoten pracovat na úkolech typu "pokud si zákazník objedná kilo jablek mezi druhým a třetím úplňkem v létě, dostane slevu 15% na hrušky".
Jednomu kamarádovi s takovými kvalitami se naskytla příležitost dva-až-třikrát si polepšit platem...tím, že by programoval makra pro sekretářky ve VBA. Co myslíš, že udělal? Dál programuje embedded zařízení v Lispu a v Cčku... Prostě by to nepřekousl.
16.7.2007 19:01 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Za Pascal modernější
Ano, přesně to jsem tím myslel. V příkladech by se dalo pokračovat... no zas tak moc ne, většina lidí časem udělá nějaký kompromis.
16.7.2007 13:38 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Za Pascal modernější
Ale jeden postřeh k Javě - neznám žádného dobrého programátora, který by se vyučil na Javě. Neznám ani dobrého Javistu, který by se naučil programovat právě v Javě. Od té doby lidi zoufale prosím, ať mi takového člověka ukáží, ale nikde nic. Díky tomuto pozorování velmi pochybuji o vhodnosti Javy pro učení programování.
Také neznám. Ale z toho bych závěry nedělal...

Java je nevhodná, protože se jedná o nízkoúrovňový jazyk. Podobně jako C, které je vhodné jen pro ty co znají fungování mikroprocesorů (a vůbec celé architektury, především pak práce s pamětí).

Pokud se někomu zdá že je snad Java high-level jazyk, tak ať se pořádně podívá z hlediska JVM. Nebo názorněji, ať se podívá na C# (nejlépe verze 1) z hlediska CLI a v porovnání třeba s F# či Scala.
19.8.2007 05:04 RačiMlčim
Rozbalit Rozbalit vše Re: Za Pascal modernější
Mohl by mi prosím někdo vysvětlit proč neprasit kod?? Já teda o programovaní zatim moc nevim teprve se učim c++ a i ten pascal (to céčko je snažší když člověk zná pascal si myslim), ale to prasení... Obsah je snad tady zásadnější než forma. Nebo ne? A pokud ne tak proč ne? To je jak pravopis. :-))
19.8.2007 05:11 RačiMlčim
Rozbalit Rozbalit vše Re: Za Pascal modernější
..jo ještě doplňující otázka: Co je vlastně sprasenej kod?? Jak vypadá ten sprasenej od nesprasenýho prosím? Děkuji
Fluttershy, yay! avatar 27.8.2007 10:08 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Zprasený kód se špatně čte.
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
15.7.2007 23:34 melkors | skóre: 13 | blog: kdo_chce_kam
Rozbalit Rozbalit vše Re: Za Pascal modernější
Je tezsi v nem napsat osklivy program nez hezky.
Tohle je bohužel naprostý nesmysl. Jsou lidi, kteří prasí i v tom údajně nezprasitelném Pascalu. Byl jsem toho už vícekrát očitým svědkem :-)
Puvodne nasledovalo
I kdyz je pravdou, ze prase bude prasecky programovat v cemkoli ...
Kterou cast jste nepochopil?
finc avatar 16.7.2007 01:02 finc | skóre: 8 | blog: Finc | Kolín
Rozbalit Rozbalit vše Re: Za Pascal modernější
To jsou zase flamewary :) Stejne vetsina tech studentu, kteri se uci v tom ci onom jazyce, se programovanim zivit nebude. A ten kdo bude, stejne vyzkousi i dalsi jazyky a vybere si ten nejprijatelnejsi (vetsinou podle sympatii k syntaxi). At si rika kdo chce co chce, ja osobne programuji X hodin denne a musim rict, ze vec, ktera me na jazyku hodne zajima je i dana syntaxe. Zda se mi dobre cte, dobre pise, jednoduse refactoruje, atd. Algoritmy se daji ucit i na kousku papiru. ;)
Kdo Vam dal pravo ty lidi urazet? A kdo ti dal pravo cumet z okna, ty kr.vo!
16.7.2007 01:10 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: Za Pascal modernější
Algoritmy se daji ucit i na kousku papiru. ;)
No to dají, ale oni pořád v řadách studentů existují lidi, kteří více věří číslu na obrazovce, než elegantnímu matematickému důkazu :-( Tudíž je třeba ty algoritmy nabušit do nějakého programu, nejlépe aby měl i nějak hezký barevný výstup a studentíci jsou šťastní :-) A když ne šťastní tak alespoň ne znechucení.
16.7.2007 08:57 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
Rozbalit Rozbalit vše Re: Za Pascal modernější
Až se budeš muset učit stovky těch elegantních matematických důkazů na zkoušky, taky budeš raději věřit číslu na obrazovce.
Pochybnost, nejistota - základ poznání
16.7.2007 09:01 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Za Pascal modernější
Stovky jich nejsou, rozhodně těch, které by musel umět. A třeba ani nechce za jedna, a stačí mu dvojka bez důkazu. ;-)
16.7.2007 09:18 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
Rozbalit Rozbalit vše Re: Za Pascal modernější
Kéž by.
Pochybnost, nejistota - základ poznání
16.7.2007 11:02 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Za Pascal modernější

Ajéje! Nechci vyvolat flamewar, ale tenhle příspěvek mě zvedl ze židle tak, že musím reagovat.

...a praktičtí klik-klik-programátoři (Java/C# je the best, protože umí OOP, kompiluje se do bytecode a dělá se v tom EE). Balast.

Smím se zeptat, do jaké míry znáš Javu nebo C#, že si troufáš na takovéto soudy? Koho označuješ za klik-klik programátora? Toho, kdo se programováním opravdu živí? Já osobně mám mnohem radši C++ než Javu, ale tento můj názor těžko obstojí před faktem, že v Javě dnes vzniká 45% veškerého software na zakázku.

Společně pomlouvali Pascal.

Vskutku? Moc rád bych se přidal, kdykoliv by to bylo možné.

Pascal pravda je krapet zastaralý, ale není lepšího jazyka pro výuku základů.

Je obecnou zásadou slušnosti napsat v úvodu takto příkrých tvrzení něco jako „Podle mého názoru...“. Podle mého názoru je Packal hnusné svinstvo, které nemělo nikdy spatřit světlo světa a už vůbec jím neměli být nikdy obtěžováni začínající programátoři (studenti). Několik desítek tisíc řádků jsem byl nucen v Packalu napsat a říkám děkuji, již nikdy více. Ale je to jen názor, nemíním se s nikým přít.

Je čtivější než C/C++,...

Věc názoru a vkusu.

...není to OOP kráva (jinak kanón na vrabce) jako Java/C#.

Smím se zeptat, do jaké míry chápeš podstatu OOP a do jaké míry ovládáš jazyky, které kritizuješ?

K PHP se nehodlám vyjadřovat.

Ach tak. Jistě jsi v něm napsal spoustu kódu, když jsi jím tak znechucen.

Konkurovat mu čitelností může jen Python (ale ten si uživatele moc hýčká)...

Mícháš dohromady hrušky a jablka, srovnáváš jazyky bez ohledu na účel, pro který byly navrženy a bez ohledu na to, zda jsou převážně kompilované či interpretované.

Proto mě napadlo, že by bylo zajímavé založit nějaký projekt, v němž by se syntaxe nepatrně přiblížila Céčku, chování také a k tomu se přidalo pořádné OOP, aby propagátorům v Javě sklaplo.

Zaprvé, takový projekt už dávno existuje. Jmenuje se FreePascal a má rozšíření, o kterých tu mluvíš. Navazuje na něj Lazarus, což je náhražka Delphi pro ty „klikací“ programátory.

Zadruhé, podle mého skromného názoru by nebylo dobré zakládat žádný projekt. Naopak by bylo lepší zakázat Packal na všech světových školách a jednou provždy tento humus odstranit. Ale to je pouze můj ryze osobní názor, který nehodlám nikde prosazovat, protože respektuji (často opačné) názory ostatních.

Nebylo by špatné, kdyby to bylo interpretované. Lépe by se ladilo a testovalo.

Opravdu? Za jakých podmínek? Pro jaký typ projektu? Tohle se přece nedá takhle dogmaticky tvrdit.

P.S. Mě do toho tak docela netahejte, jsem v-podstatě-skoro-laik.

Jo tak. Aha. Takže o co v tomhle blogpostu vlastně šlo???

Doslechl jsem se, že na některých vysokých školách se dnes už jako první programovací jazyk vyučuje Haskell. Pravdou je, že jeho praktické využití není valné, ale mám za to, že pro pochopení základních principů programování a algoritmů poslouží výborně.

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
finc avatar 16.7.2007 13:54 finc | skóre: 8 | blog: Finc | Kolín
Rozbalit Rozbalit vše Re: Za Pascal modernější
Kazdy zapisek na blogu je preci subjektivni nazor. Konstatovani faktu je dost osemetna vec :) Je vcelku jasne, ze autor neni programator s bohatymi zkusenostmi (alespon ja si myslim :)), takze bych to bral trosku s nadhledem. Ale jinak me pobavilo to: klik-klik :) Musim priznat, ze dnesni IDE skutecne maji na spoustu veci "klik-klik", jenze pokud neznam podvozek, nemuzu vzletnout aniale dobre pristat.
Kdo Vam dal pravo ty lidi urazet? A kdo ti dal pravo cumet z okna, ty kr.vo!
16.7.2007 15:37 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Za Pascal modernější
Kazdy zapisek na blogu je preci subjektivni nazor.
To je pravda. Asi jsem reagoval moc podrážděně. Pořád si ale myslím, že „Podle mého názoru...“ na začátku některých těch ostrých tvrzení by neuškodilo. Kdyby třeba napsal „vyzkoušel jsem jazyk X a nelíbilo se mi na něm Y a Z“, nic bych nenamítal. (Vyzkoušet jazyk == aspoň 10000 řádků v procedurálním jazyce nebo aspoň 500 řádků v Lispu/Prologu/Haskellu.) Vždy mě spolehlivě naštvou nepodložené fráze o efektivitě, kanónech na vrabce, čitelnosti nebo podobných rádobycharakteristikách. Zejména když je polovina důležitých jazyků odbyta slovy „o tom raději nemluvím“.
ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
16.7.2007 15:58 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Tak to Vás mohu ujistit, že já se klidně rozhoduji o jazycích,i když v nich nenapíšu 10000 řádků. Jazyků, ve kterých jsem těch 10000 řádků napsal je poměrně dost, ale jsem zvědavý na mnoho jazyků, ale nemám čas a popravdě ani chuť je všechny zkoušet na 10^4 řádkách, což znamená v podstatě malý projekt.

Osobně si myslím, že v řadě případů lze leccos od jazyku odtušit i po krátkém seznámení se se základy - a že se člověk vůbec nemusí trefovat vedle.

Na druhé straně mě fráze o čitelnosti (kde platí jaké si to člověk udělá, takové to má - snad s výjimkou Perlu, kde si fakt nedokážu představit udržování rozsáhlejšího týmového projektu), o efektivitě (kde ale zase jsou hodně na hraně nedomyšlené jazyky), kanónech na vrabce atd. štvou.

A ono taky není od věci se občas kouknout na jazyk i prakticky - například jako já v příspěvku výše, kde jsem zkonstatoval, že neexistuje dobrý programátor, který by se naučil programovat na Javě. Případně můj názor, že Pascal je učební jazyk, který může naučil začínajícího dobrým návykům, ale pro praxi se nehodí a ani tak nebyl zamýšlen.
17.7.2007 12:16 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Za Pascal modernější
Tak to Vás mohu ujistit, že já se klidně rozhoduji o jazycích,i když v nich nenapíšu 10000 řádků.

Já též. :-) Ale většinou v takových případech své dojmy nepopisuji veřejně a když už, tak s „Myslím si, že...“ na začátku.

Případně můj názor, že Pascal je učební jazyk, který může naučil začínajícího dobrým návykům, ale pro praxi se nehodí a ani tak nebyl zamýšlen.

Souhlasím jen s tím, že nebyl nikdy určen pro praxi. Koneckonců v něm nikdy nic rozumného nevzniklo. Jedinou světlou výjimkou je TeX, ale ten byl brzy poté přepsán do C. Pokud jde o dobré návyky, musím velmi ostře nesouhlasit.

  • Spousta učebnic této hatmatilky jen tak beze všeho počítá s indexováním [1..N], což je naprosto nevhodné. Chyby typu +-1 jsou při programování v Packalu na denním pořádku a run-time kontrola všech mezí pak vede k přístupu „nějak to zbastlím, pak to párkrát spadne a nakonec to bude v pohodě“. V C tento přístup samozřejmě nefunguje. Možná to spadne hned, možná až za hodinu, možná až na jiné platformě při odevzdávání projektu.

  • Předávání proměnných „referencí“ - poměrně jasná a rozumná koncepce - je v Packalu neprůhledný nesmysl. Reference tam sice tiše existují, ale nelze je použít nikde jinde než při předávání parametrů, a to ještě velmi ošklivým způsobem. Java i C++ využívají reference mnohem lépe. (Ale tento pojem se v obou jazycích velmi liší.)

  • Pointery - základ veškerého nízkoúrovňového programování - jsou v Packalu jakousi černou skříňkou. Sice tam existují, ale jen tak napůl. Ve světě skutečných (čti používaných) programovacích jazyků platí zásada: Buď je povolena veškerá manipulace s pointery, včetně aritmetiky (C a C++), nebo neexistují pointery vůbec (Java). (Některé jazyky umí přepínat mezi oběma režimy - C# a jeho unsafe.) Jenže Packal v sobě spojuje nevýhody obou přístupů, aniž by na oplátku přinášel jakoukoliv výhodu. Pointery nejsou nijak chráněny proti zneužití a zároveň není povolena manipulace s nimi.

  • Stringy v Packalu - toto považuji za nejhorší nápad, jaký kdo kdy mohl mít. S dobrými návyky to podle mého názoru nemá společného vůbec nic.

  • Řízení běhu - podmínky a cykly jsou navržené velmi špatně. Syntaxe mi připadá ošklivá a nepřehledná (osobní názor). Klíčová slova begin a end sice většinou ohraničují něco jako bloky kódu, ale tyto bloky nemohou mít v sobě další dočasná data. A když už jsme u toho, kam se poděly bloky u repeat - until? Když packalista přejde třeba na C, často píše cykly ošklivým způsobem. Packal nikoho nenaučí, aby správně zapsal, co přesně se v cyklu děje. Jakmile je potřeba cyklit přes něco jiného než několik integerů, jde to jen velmi ošklivě.

Ptám se tedy: V čem tkví výhody Packalu? Jaké dobré návyky se díky němu programátor naučí? Já žádné nevidím. Není to náhodou jen donekonečna opakovaná fráze, o jejíž pravdivosti už nikdo neuvažuje?

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
17.7.2007 14:51 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Samotný Pascal je hlavně základem mnoha Pascal-like jazyků. Dnes jsou tyto jazyky v pozadí, ale dříve byly na každém kroku. Pascalovská syntaxe byla v jazycích dost rozšířená, a to i v jazycích velmi dobrých. První OOP jazyk na světě - Simula - má Pascalovskou syntaxi. Jazyk Ada je taktéž s touto syntaxí a tak bych mohl pokračovat.

Pascal není podle mě zcela domyšleným jazykem (na rozdíl od té Simuly, Ady, Moduly, atd..), prostě byl zamýšlen jen pro výuku, nikoli pro praxi.

ad 1) Nevím, co vám vadí na mezích - dokonce kritizuje kontrolu mezí polí, nechápu proč. Tato kontrola mezí je i v Javě, v C#, v Adě, dokonce i v C++ jí můžete naprogramovat. To, že to někdo využívá stylem jakým píšete snad není mínus jazyka.

ad 2) Ano, reference v Pascalu existují, ale na rozdíl od Javy jsou třeba čisté. Java, kde rozhodně nepředáte typ int referencí a objekt zase ničím jiným, než referencí je ještě daleko pomotanější, než Pascal. Prostě reference jsou IMHO v Pascalu čistější.

ad 3) To, že jste si zvykl na "high level assembler" ve stylu C/C++, neznamená, že je to norma. Naopak, pro učební účely umí pointery v Pascalu vše co je potřeba.

ad 4) Konkrétně co Vám vadí na stringech v Pascalu? To jako práce se stringy ve stylu C je lepší, kde je to jen blok paměti?

ad 5) S tím částečně souhlasím, proto to není jazyk pro praxi.

Ač v Pascalu neprogramuji (kromě pár epizodek ve svém profesním životě), pak si myslím, že Pascal není až tak špatný začátek. Nemusíte hned prasit program pointerovou aritmetikou jako v C/C++, když chcete použít pouhé pole například. Nemusíte hned chápat pointery jen proto, že chcete práci s řetězcem. Nemusíte všechno násilně ohýbat na meze polí začínající od nuly. Naučíte se dobře strukturovat program, atd..

Tohle všechno je jenom můj názor, stejně tak jako Váš zápis je jen Váš názor. Určitě existují jazyky pro první učení i vhodnější, než je Pascal, ale IMHO to určitě nejsou dnešní mainstreamové jazyky. Jen můj názor:

Java - naprosto nevhodná - velmi osekaný jazyk - spoustu věcí se musí ohýbat pomocí OOP, i když to OOP není. A vlastně to není ani OOP jazyk. Neznám dobrého programátora, který se učil na Javě.

C# - v bleděmodrém jako Java, akorát je ten jazyk daleko pomotanější.

C - dost neschopný jazyk, v podstatě "portable assembler". Od začátku otravuje nutností chápání pointerové aritmetiky, která u začátečníka snad může počkat. Nemám velmi mnoho trochu high level věcí, všechno se tam dělá pomocí práce s pamětí.

C++ - trochu vhodnější jazyk, avšak dost složitý. Velmi těžký jazyk na chápání.

co dál?
17.7.2007 19:55 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Za Pascal modernější
Samotný Pascal je hlavně základem mnoha Pascal-like jazyků. Dnes jsou tyto jazyky v pozadí, ale dříve byly na každém kroku.

Tomu rád věřím. V minulosti vidíme spoustu slepých (a zdnešního pohledu přímo nesprávných) směrů vývoje. Zatímco například jazyk C (a s ním i UNIX) přetrvaly už 35 let, pascalovské jazyky (mírně řečeno) poněkud živoří.

Pascal není podle mě zcela domyšleným jazykem (na rozdíl od té Simuly, Ady, Moduly, atd..), prostě byl zamýšlen jen pro výuku, nikoli pro praxi.

Pro výuku má smysl jedině ten jazyk, který je po všech stránkách domyšlený a obecně uznávaný. Děti v první třídě jistě nedostanou slabikář s pravopisnými hrubkami. Taky by někdo mohl říct, že malé děti si záplavy chyb nevšimnou a že ten slabikář není určen pro skutečné zvládnutí jazyka a komunikace, ale jen pro výuku. Tohle je zkrátka špatný argument.

To, že to někdo využívá stylem jakým píšete snad není mínus jazyka.

Je. Nízkoúrovňově se tvářící výukový jazyk prostě nemá umožnit žádné jiné meze než od 0. Vezměte do ruky libovolnou učebnici Packalu. Po několika stranách tam uvidíte Array[1..N] of Integer. Je to jako mor - pořád dokola tenhle nesmysl. Že si v C++ můžu naprogramovat kontrolu mezí? Ano, ale jen když chci. V tom je rozdíl. Dokonce je to v STL. Buď mám nekontrolovaný operator[], nebo kontrolovanou metodu at(). To je možnost volby. V Javě je kontrola mezí vynucená filosofií jazyka, konkrétně neexistencí práce s pamětí.

ad 2) Java, kde rozhodně nepředáte typ int referencí...

public class IntRef { public int value; } A když k tomu přistupuji, přesně vím, co dělám. Když modifikuji nějakou proměnnou o deset rámců zásobníku níže, chci o tom vědět. V Packalu to nevím. Stačí někde zapomenout na var...

...a objekt zase ničím jiným...

To vyplývá z filosofie jazyka - úplná abstrakce paměti, žádné objekty na zásobníku. Ani to jinak nejde. Objekt v Javě není jen chomáč datových položek jako v C++. Je to velmi složitá struktura, provázaná s příslušnou třídou, synchronizačními vlákny, garbage collectorem... Prostě toto omezení má své přesné důvody. (To se o 90% omezení v Packalu říct nedá.)

ad 3) To, že jste si zvykl na "high level assembler" ve stylu C/C++, neznamená, že je to norma.

U toho C bych to přirovnání ještě uznal, ale C++? To fakt ne.

Naopak, pro učební účely umí pointery v Pascalu vše co je potřeba.

Neumí pointerovou aritmetiku. Jednu z nejpodstatnějších záležitostí prostě neumí. Jak už jsem psal: Buď ať tam existují pouze 100% bezpečné reference, nebo ať jsou tam pointery se vším všudy. FreePascal samozřejmě pointerovou aritmetiku má. Původní Packal nemá ani pointerovou aritmetiku, ani bezpečné pointery. Má nevýhody obou přístupů a žádné výhody.

ad 4) Konkrétně co Vám vadí na stringech v Pascalu? To jako práce se stringy ve stylu C je lepší, kde je to jen blok paměti?

Zaprvé, omezení na 255B. Zadruhé, alokace 256B pro každý string. Zatřetí, nedostatečné a nerozšiřitelné knihovní funkce. Začtvrté, jazyk nijak neomezuje takové průšvihy jako předávání stringů hodnotou. Něco takového by mělo být setsakra těžké, aby programátor přesně věděl, co a proč dělá.

Nemusíte hned prasit program pointerovou aritmetikou jako v C/C++, když chcete použít pouhé pole například.

Nejen neprasit. Nemá vůbec smysl používat pole, dokud není začátečníkovi jasné, proč se používá a co vlastně představuje. Začínám mít dojem, že i přes všechny možné námitky by byl pro začátek velmi vhodný Haskell. (Upřímně, já sám Haskell nemám moc rád, protože mi dal ve škole pořádně zabrat.) Tam člověk přesně pochopí, jak funguje zásobník a rekurze a odkud a kam „tečou“ data. Naučí se úspornému a minimalistickému přístupu ke každému problému.

Nemusíte hned chápat pointery jen proto, že chcete práci s řetězcem. Nemusíte všechno násilně ohýbat na meze polí začínající od nuly. Naučíte se dobře strukturovat program, atd..

Ano, ale proč tam pak ty pointery jsou? K čemu? Jazyk, který si hraje na vysokoúrovňový a místo toho vnáší do věci zmatek, mi moc dobrý nepřipadá. OK, zrušme tedy úplně pointery a považujme stringy a soubory dat za axiomy. To je možné. Pak je ale dobré uvažovat o Lispu nebo Haskellu.

Java - naprosto nevhodná - velmi osekaný jazyk - spoustu věcí se musí ohýbat pomocí OOP, i když to OOP není. A vlastně to není ani OOP jazyk. Neznám dobrého programátora, který se učil na Javě.

S tímto plně souhlasím, s poznámkou o C# rovněžtak.

C - dost neschopný jazyk, v podstatě "portable assembler".

Jazyk odráží účel, ke kterému byl navržen. Já si vůbec nemyslím, že by student měl začínat nízkoúrovňovými věcmi. Napřed by měl chápat aspoň základy toho, jak lze formulovat problém, co je to algoritmus, invariant, rekurze, složitost a podobně. Souběžně s tím se může zdokonalovat v technické stránce věci.

C++ - trochu vhodnější jazyk, avšak dost složitý. Velmi těžký jazyk na chápání.

Naprostý souhlas. Pro tento jazyk je nutné chápat správně vše od adresování paměti přes OOP až po algoritmy a jejich použití. Od prvního seznámení k napsání vlastního STL kontejneru vede velmi dlouhá cesta.

Myslím, že to chce začínat po částech a oddělit matematické myšlení (Prolog, Scheme/Lisp/..., Haskell) od ryze technického (C) či objektového (Smalltalk, Java) - aby programátor znal od každého trochu a neztratil se v tom. Žádný přesný recept mě ale nenapadá. Jedno ale vím jistě: Jen ne Packal.

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
17.7.2007 20:58 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Za Pascal modernější
Tomu rád věřím. V minulosti vidíme spoustu slepých (a zdnešního pohledu přímo nesprávných) směrů vývoje. Zatímco například jazyk C (a s ním i UNIX) přetrvaly už 35 let, pascalovské jazyky (mírně řečeno) poněkud živoří.

(ironie) No jo, Linux je taky slepá větev vývoje, protože svým rozšířením vedle Windows trochu živoří a drží se procentově vzadu :-) (/ironie)

Já na Vašem místě bych byl opatrnější s těmi slepými větvemi vývoje. To je jenom taková rada.

Pro výuku má smysl jedině ten jazyk, který je po všech stránkách domyšlený a obecně uznávaný. Děti v první třídě jistě nedostanou slabikář s pravopisnými hrubkami. Taky by někdo mohl říct, že malé děti si záplavy chyb nevšimnou a že ten slabikář není určen pro skutečné zvládnutí jazyka a komunikace, ale jen pro výuku. Tohle je zkrátka špatný argument.

Řekl bych tak, běžně se nemluví jazykem, který najdou děti ve slabikáři. Smiřte se s tím, že jazyk pro učení a jazyk pro praxi mohou být dva různé jazyky. A 100% domyšlený není jazyk žádný, natož obecně uznávaný.

Je. Nízkoúrovňově se tvářící výukový jazyk prostě nemá umožnit žádné jiné meze než od 0. Vezměte do ruky libovolnou učebnici Packalu. Po několika stranách tam uvidíte Array[1..N] of Integer. Je to jako mor - pořád dokola tenhle nesmysl. Že si v C++ můžu naprogramovat kontrolu mezí? Ano, ale jen když chci. V tom je rozdíl. Dokonce je to v STL. Buď mám nekontrolovaný operator[], nebo kontrolovanou metodu at(). To je možnost volby. V Javě je kontrola mezí vynucená filosofií jazyka, konkrétně neexistencí práce s pamětí.

Poslouchejte, vy jste se zaseknul někde ve strojáku. Je naprostý nesmysl trvat na nulové spodní mezi - dokonce bych řekl, že je to dost mínus. A neohánějte se C++ bez pochopení souvislostí - C++ je jazyk stvořený na maximální rychlost, ale platí za to krutou cenu - ztrátou bezpečnosti jazyka - a drobná chyba při práci s STL se dá hledat mnoho dní (programuji v C++ asi 15 let). Tyhle prasárny v C++ bych strašně nerad viděl v jiných jazycích - a už vůbec ne v jazycích pro učební účely.

ad 2) Odpovídáte úplně na něco jiného, než jsem napsal, takže se nevyjadřuji.

ad 3) Ale ano, C++ je sice high level, ale pořád je to jazyk tvořený na max, rychlost - a stále je to prací s poli velmi neohrabaný jazyk.

Zaprvé, omezení na 255B. Zadruhé, alokace 256B pro každý string. Zatřetí, nedostatečné a nerozšiřitelné knihovní funkce. Začtvrté, jazyk nijak neomezuje takové průšvihy jako předávání stringů hodnotou. Něco takového by mělo být setsakra těžké, aby programátor přesně věděl, co a proč dělá.

Jste vedle - to co píšete o stringách a jejich limitech byla pravda pro Turbo Pascal od Borlandů, ale standardní normovaný Pascal tyto limity nemá. Za druhé nechápu, proč předávání stringů hodnotou je průšvih. Pokud jste myšlením ve strojáku a počítáte bajtíky pak vám rozumím, ale já mluvím o seriózním programování. Mimochodem, v C++ klidně mohu předat hodnotou řetězec typu ::std::string a jazyk mě v tom nikterak neomezuje.

Nejen neprasit. Nemá vůbec smysl používat pole, dokud není začátečníkovi jasné, proč se používá a co vlastně představuje. Začínám mít dojem, že i přes všechny možné námitky by byl pro začátek velmi vhodný Haskell. (Upřímně, já sám Haskell nemám moc rád, protože mi dal ve škole pořádně zabrat.) Tam člověk přesně pochopí, jak funguje zásobník a rekurze a odkud a kam „tečou“ data. Naučí se úspornému a minimalistickému přístupu ke každému problému.

Já vím začínám rozumět - Vy prostě chcete začátečníka okamžitě zatížit detaily o paměti a o tom, jak to funguje uvnitř. Ale to je zbytečné. Ze začátku se musí naučit algoritmizovat a pochopit všechny abstraktní struktury. Pole má smysl používat, ale nutit hned začátečníkovi představu, že pole je pointer v paměti a je potřeba s ním pracovat pomocí pointerové aritmetiky je IMHO špatná věc.

Úsporný a minimalistický problém je prostě vhodný pro low level věci a tam kde záleží na každé milisekundě, a kde máte pro program několik kilobajtů, jako na jednočipech. Ale profesionální programování o tomhle není, tím se akorát zahrabete. Každá optimalizace (na paměť, nebo rychlost) musí mít důvod - aneb optimalizace pro optimalizaci způsobí, že nikdy nic většího nestvoříte.

Ano, ale proč tam pak ty pointery jsou? K čemu? Jazyk, který si hraje na vysokoúrovňový a místo toho vnáší do věci zmatek, mi moc dobrý nepřipadá. OK, zrušme tedy úplně pointery a považujme stringy a soubory dat za axiomy. To je možné. Pak je ale dobré uvažovat o Lispu nebo Haskellu.

Ty pointery jsou tam proto, že se pracuje s pamětí. A jen zbytečné začátečníka od první chvíle zatěžovat pointery. Takový Python například považuje stringy a datové struktury za axiomy a nikdo nemá problém. A v C++ s pomocí STL se tomuto pojetí blížíte také. V Javě to není o moc odlišné. Je velmi praktické a efektivní mít součástí jazyka základní prvky a struktury jako axiomy - to je také důvod, proč význam jazyka C (a trochu i C++) jde prudce dolů a používá se čím dál méně.

Jazyk odráží účel, ke kterému byl navržen. Já si vůbec nemyslím, že by student měl začínat nízkoúrovňovými věcmi. Napřed by měl chápat aspoň základy toho, jak lze formulovat problém, co je to algoritmus, invariant, rekurze, složitost a podobně. Souběžně s tím se může zdokonalovat v technické stránce věci.

A tohle se právě může naučit a vyzkoušet i prakticky na vhodném jazyce, který anstrahuje od stacku, pointerové aritmetiky, a bere stringy a datové struktury jako axiomy.

Myslím, že to chce začínat po částech a oddělit matematické myšlení (Prolog, Scheme/Lisp/..., Haskell) od ryze technického (C) či objektového (Smalltalk, Java) - aby programátor znal od každého trochu a neztratil se v tom. Žádný přesný recept mě ale nenapadá. Jedno ale vím jistě: Jen ne Packal.

Vidíte a na Pascalu se vyučila spousta vynikajících programátorů. To je pro mě docela měřítko, že to není špatný učební jazyk. Ale jinak s myšlenkou kromě té poslední věty souhlasím.
18.7.2007 09:11 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Za Pascal modernější

Váš názor na věc chápu a respektuji. Ale nevkládejte mi prosím do úst prosazování assembleru a kdovíčeho ještě. Já přece neříkám „vnuťme každému C“. Dokonce mám ten dojem, že jsem toho v životě napsal víc v Javě než v C, ale řádky jsem nepočítal, tak nevím. Chtěl jsem jen říct, že je třeba přesně zvolit určitý přístup a využít všechny jeho výhody. Packal je přístup typu „ani ryba ani rak“ aneb „omezení bez výhod“. Má-li být začátečník uchráněn od zásobníku, polí a pointerů, nechť tedy začíná Haskellem nebo Lispem. Tam se o samotné podstatě programování a algoritmizace dozví mnohem víc než v „techničtěji“ zaměřených jazycích. Navíc se úplně vyhne všem zmiňovaným problémům.

Mimochodem, v C++ klidně mohu předat hodnotou řetězec typu ::std::string a jazyk mě v tom nikterak neomezuje.

Ruku na srdce, není toto tak trochu demagogie? Oba přece tušíme, jak se to dá implementovat. Je tam rozhodně copy on write. Na zásobníku je jen pár bytů (možná cca 3 pointery nebo tak) a místo pro vlastní data vyhradí alokátor mimo zásobník, většinou velmi efektivně. Předání „hodnotou“ znamená kopírování malé statické části a zvýšení počítadla pro nějaký counted pointer. Jistě se nezkopíruje rovnou celý string. (Dokud není modifikován.)

Naprosto souhlasím s tím, že pro začátečníka, který neví, co se přesně děje, je STL a vůbec C++ velmi nevhodné. O to se vůbec nepřu. To ale nic nemění na faktu, že Packal přímo umožňuje předávání stringů (a dokonce i celých polí) hodnotou a nikde není přesně popsáno, kdy a jak se to optimalizuje. Jistě namítnete, že takovými věcmi by se začátečník neměl zatěžovat. Souhlasím, ale pak ať se učí jazyk, který takové věci prostě neřeší - některé kandidáty jsem již zmiňoval.

Předchozí odstavec opět není výzvou k výuce C. Právě naopak. Byl bych pro zavedení jazyků nejvyšší úrovně, tedy logických či funkcionálních. Pak by nějaké pole nebo předávání parametrů prostě nebylo nutné chápat ani optimalizovat.

A kde že to prosazuji ten strojový kód?

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
Fluttershy, yay! avatar 16.7.2007 17:49 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
0.) K hruškám a jabkům jen to, že jsem srovnával čitelnost.

1.) Klik-klik programátor je programátor, který programuje tak, že si sežene pár knihoven a slinkuje je. V grafickém prostředí á la Delphi. S hezkým grafickým prostředím. Pár takových znám, ale nejsou to žádní světoborní programátoři (díky svému stylu tvorby programů).

2.) Reagoval jsem na neodborně vyznívají diskuse.

3.) V Javě jsem před časem napsal asi tisíc řádků dnes-už-nevím-čeho. C# mě bohužel čeká ve škole. Díval jsem se na něj a na první pohled se mi zdálo nesympatické. To je ale silně subjektivní. A k PHP -- taky jsem v tom něco (malý redakční systém a blog, oboje zmizelo v propadlišti dějin) napsal, ale když to zpětně porovnám s jinými jazyky, byl humus. Ostatně programátoři v PHP jsou často obdobou klik-klik programátorů (byť bez GUI), tam to ani moc jinak nejde.

4.) FreePascal je svobodná implementace Borland Pascalu a Delphi.

5.) Zakazovat Pascal? Kdyby byl špatný, nepoužíval by se.

6.) Interpretovaný Pascal se vztahoval k výuce. Pro výuku je lepší interpret á la Python. Z jasných důvodů.

7.) O co šlo? O nahození některých nevýhod Pascalu.

8.) K tomu OOP v Javě -- budiž, ale děsit začátečníka objekty, kterým nerozumí a které nepotřebuje?

9.) Ad Haskell: Neznám, ale někde se používá Logo, což je taky hezký jazyk (na výuku rekurze).
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
16.7.2007 20:28 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: Za Pascal modernější
Pro výuku je lepší interpret á la Python. Z jasných důvodů.
Jaké jsou ty "jasné" důvody, nějak je totiž nevidím.
Fluttershy, yay! avatar 17.7.2007 05:00 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Něco napíši hned vidím výsledek. Lepší než save-compile-run(-debug).
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
17.7.2007 06:47 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Za Pascal modernější
Kompilátor a interaktivní příkazový řádek se nikterak nevylučují...
16.7.2007 20:46 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
Rozbalit Rozbalit vše Re: Za Pascal modernější
Hmm, to je teď nějaká nová móda plivat po PHP? "Pryč se starou dobou, zničme PHP, svatá válka!?" Je jasné, že suverénně vede počtem "prasoprogramátorů", kteří ho používají. Ale imho jeho velká oblíbenost pramení z jeho kladných vlastností. To, že v PHP se o něco pokouší každý druhý středoškolák imho nesvědčí o tom, že by bylo na ***. A jak bylo zmíněno výše, vysoká míra prasivosti PHP kódu plyne z jeho bohaté syntaxe. (Netvrdím, že je to dokonalý jazyk, ale nesnáším jeho apriorní odsuzování.)
θηριον ειμι
16.7.2007 21:09 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Za Pascal modernější
infoworld sveho casu zaradil podcenovani/pomlouvani php na seznam 20 nejvetsich chyb v IT ... ted jsem se na nekolik mensich projektu vratil k PHP... a je to spis o tom jak programator umi/chce programovat.... PHP5 uz ma naprosto plnohodnotny objektovy subsytem... a s dynamickym typovym systemem a orientaci na praci s textem stava se z nej mocny nastroj v oblastech, kde tezce zaostava i java nebo c#, jenom se clovek musi kroti...
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
Fluttershy, yay! avatar 17.7.2007 05:03 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Já jsem dělal v PHP 3/4. Uznávám, že řada věcí se zlepšila, ale třeba to Unicode je fakt ostuda. Jen je mi líto, že k PHP není alternativa (teda je -- komerční ASP apod. a Python/Ruby, na což nejsou hostingy).
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
16.7.2007 21:58 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Za Pascal modernější
někde se používá Logo, což je taky hezký jazyk (na výuku rekurze).
To je Karel taky. Proč tu vlastně ještě nikdo nezmínil Karla? :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
Fluttershy, yay! avatar 17.7.2007 05:01 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Karel nemá želvu.
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
17.7.2007 12:20 Andrej | skóre: 48 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Za Pascal modernější
Ad Haskell: Neznám, ale někde se používá Logo, což je taky hezký jazyk (na výuku rekurze).

Není příliš rozumné srovnávat programovací jazyk s hračkou pro děti...

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
Fluttershy, yay! avatar 17.7.2007 14:21 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Logo NENÍ hračka pro děti!
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
17.7.2007 14:45 Lukáš Rýdlo | skóre: 18 | blog: Silný kafe | Brno
Rozbalit Rozbalit vše Re: Za Pascal modernější
Logo, Karel a podobné nástroje jsou perfektním prostředkem pro výuku a praktické odzkoušení algoritmizace. Uživatel se nemusí drbat se syntaxí apod. a může se detailně zaměřit na algoritmus!
θηριον ειμι
17.7.2007 17:24 ondracch | skóre: 19 | blog: Mozková kreč
Rozbalit Rozbalit vše Re: Za Pascal modernější
Doufám, že chcete upravovat Free Pascal a né Borlanda. Nic proti Borlandu (stále používám). Vzhledem k tomu, na jakém serveru jsme se potkali je to asi jasné;-)
Proč myslíš, že nemůžeš žít jinak? Pořád Tvořím...
Fluttershy, yay! avatar 17.7.2007 17:51 Fluttershy, yay! | skóre: 88 | blog:
Rozbalit Rozbalit vše Re: Za Pascal modernější
Borland je open-source?
Science advances one funeral at a time. (Max Planck, parafráze) ✊ no gods, no masters ✊ #StopSwappingAir
17.7.2007 18:26 ondracch | skóre: 19 | blog: Mozková kreč
Rozbalit Rozbalit vše Re: Za Pascal modernější
Právě, že ne. Možná jsem ten příspěvek výše špatně formuloval. Horko je sfině:-D
Proč myslíš, že nemůžeš žít jinak? Pořád Tvořím...
18.7.2007 12:20 god dog
Rozbalit Rozbalit vše Re: Za Pascal modernější
Zdravim, no ja myslim ze zacat od zaciatku s Javou nie je az take hrozne. Momentalne robim v Symbian C++ a Jave, a Java je oproti tomu sc++ brnkacka hehe

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.