Diskuse:Programování

Obsah stránky není podporován v jiných jazycích.
Přidat téma
Z Wikipedie, otevřené encyklopedie

Stránka je nazvaná "programování", ale toto slovo nedefinuje a nevysvětluje, místo toho se mluví o programu a algoritmu. Čekal bych, že programování je činnost, nebo obor apod.

Zda se mi, že v článcích počítačový program, programovaní, software je dost duplicit a celkově trochu chaos.

Mojža 16:47, 21. Čer 2004 (UTC)

Potíž je v tom, že na Programování je odkaz z hlavní stránky, takže stránka nemá vysvětlovat pojem programování, ale spíš fungovat jako takový rozcestník, asi jako en:Software engineering na anglické Wikipedii. Takže naše stránka začíná povídáním o algoritmu, metodikách a končí výčtem (!) programovacích jazyků. Možná náš název nebyl zvolen zrovna nejlépe, protože programování samotné se týká spíš opravdu jen kódování programu – zapisování zdrojáku – než plánování, designu a podobných věcí.

Nejlepší by bylo zavést úplně nový rozcestník, pod jakýmkoliv jménem (třeba úvod do programování, softwarové inženýrství, cokoliv), a v pojmech algoritmus, software, počítačový program a programovací jazyk udělat jednou pro vždý pořádek.

slady 17:34, 21. Čer 2004 (UTC)

Podle mne by hlavní stránka měla být informatika. -- Vít Zvánovec 10:07, 22. Čer 2004 (UTC)
Nesouhlasím. Máme dva protipóly: en:Computer science a en:Software engineering. Počítačová věda už definováno máme. Podle mě je ale informatika pořád příliš blízko tomu prvnímu (navíc, v současnosti je na něj přesměrovaná). Takže nemá cenu dělat dva rozcestníky pod slovy, která jsou synonyma. slady 20:30, 22. Čer 2004 (UTC)
Mám takový intensivní pocit, že počítačová věda je nepříliš užívaný kalk. Co já vím, tak na VŠ se přednáší informatika. -- Vít Zvánovec 07:04, 23. Čer 2004 (UTC)
Souhlasím. (V Jyxu nějakých 255 000:891, z čehož jedno je [1]. --Malýčtenář 11:11, 23. Čer 2004 (UTC)
Computer science=Počítačová věda=informatika. S tím se dá souhlasit. Teď hledáme výraz pro Software engineering, což je docela jiná disciplína. Nějaké návrhy? slady 20:39, 23. Čer 2004 (UTC)
Softwarové inženýrství? Ale nevyznám se v tom . . . -- Vít Zvánovec 20:58, 23. Čer 2004 (UTC)
Samozřejmě, že softwarové inženýrství. Sice je to poměrně bezmyšlenkový překlad, ale naprosto běžně se používá (viz např. [2]). --Mormegil 21:13, 23. Čer 2004 (UTC)

Ještě k obsahu - první dva odstavce si zjevně protiřečí. Mojža 11:43, 27. Čer 2004 (UTC)

Ano, počítám s tím. "Algoritmus je postup. Program je algoritmus zapsaný v daném programovacím jazyce. Programovací jazyk je soubor pravidel pro zápis algoritmu." K napsání změn se už ale do konce června nedostanu. --slady 13:50, 27. Čer 2004 (UTC)

METODIKY[editovat zdroj]

Nic proti, ale to s temi metodikami je popletene. Klasicke metodiky vývoje jsou jak kaskádové (vodopád), tak iterační (spirála, rup). Další vlnou jsou agilní metodiky. To ze programovat se dá iterativne nebo kaskádově je pravda, ale nepleťte tu prosím metodiky vývoje. To ze klasické metodiky = kaskadové je pitomost. AB

XSLT apod.[editovat zdroj]

XSLT je programovací jazyk. Zná proměnné, if, switch, for cyklus, volání podprogramu, rekurzi atd. Má výpočetní sílu Turingova stroje. Jsou tu jiné neprocedurální jazyky jako LISP, Prolog či Haskel, patří sem i XSLT.
-- Egg 12:53, 1. 12. 2004 (UTC)

Vezměme si třeba TeX: má proměnné, má funkce, má cykly... Ale je to jazyk na zpracování textu. Je to velmi propracovaný systém se spoustou dceřiných projektů, instalace má spousty mega, ale pořád není označovaný jako programovací jazyk, protože jeho úkolem je něco jiného. (Ale prý je v TeXu naprogramovaný i interpretr BASICu, takže jeho síla je skutečně úžasná.)
Stejně tak nástroj sed nebo troff jsou jen malé prográmky na spracování textových dokumentů, ale na nic většího se nehodí.
Podle mě se komunita lidí pracujících s XSLT snaží dělat z tohoto nástroje programovací jazyk, aby o sobě mohli prohlašovat, že programují. Programování je přeci jenom společensky akceptovatelný pojem. Narozdíl od toho je nahrazování textu jaksi pojem méněcenný. ;-D
Moje rada zní: „Umístěte odkaz někam pod WWW, HTML, XML, atd., kam patří, ale nesnažte se zbytečně dělat komára z velblouda.“
slady 15:32, 1. 12. 2004 (UTC)
Já bych to nebral tak dogmaticky. ;-) Takový PostScript je jistě také hlavně jazyk pro formátování dokumentu, ale jako programovací jazyk bych ho klidně označil (viz třeba [3], co pomocí něj lze vyrobit). Možná je vhodné podobné věci oddělit od řekněme „klasických“ programovacích jazyků, do samostatného odstavce, ale alespoň zmínka/odkaz by tu být mohla. --Mormegil 15:53, 1. 12. 2004 (UTC)
Je pravda, že takové hříčky se v PostScriptu dělat dají, ale protože to není programovací jazyk, tak na téhle stránce není. A proto by tu neměl být ani XSLT.
Možná by stálo za to udělat nějaký odstavec „nástroje, ve kterých se dá mimo jiné i programovat“. :-)
Pak by se ale mohlo stát, že to bude hoooodně dlouhá stránečka, protože těch „skutečných“ programovacích jazyků, které si tam zaslouží být, nějaká ta tisícovka určitě bude. ;-)
slady 16:16, 1. 12. 2004 (UTC)
Tohle v podstatě podporuju. Nejsou to jazyky, z jejichž zdrojáků by se měly překládat spustitelné binárky, slouží většinou k něčemu jinému. Ale jsou to z výše uvedených důvodů plnohodnotné programovací jazyky ve smyslu definice. Čili by si asi zasloužily zvláštní sekci a myslím, že tak extra velká nebude, pokud tam budou jen ty významnější. (Já vím, to je subjektivní. Ale kdyby se to rozrostlo moc, můžem to řešit až pak.) Takové XSLT se zdaleka nepoužívá jen na formátování dokumentů. Vím o několika projektech, které ho používají ke generování zdrojáku C++ apod. Programuje se v tom o 106. TeX má sice taky tu sílu, ale nevím, že by ji někdo využíval na něco jiného než typografii. No nic. Návrh zní, založit zvláštní sekci.
-- Egg 17:29, 1. 12. 2004 (UTC)
Můžete mi někdo vysvětlit, proč není shell (bash) plnohodnotný jazyk? Unix mě živí už asi 15 let, ale to mě ještě nenapadlo. O nějaký odstavec výš je jakási definice jazyka a nevidím v čem shell nevyhovuje.
Nechci za nic bojovat, jen bych to rád pochopil.
--Mojža 16:57, 2. 12. 2004 (UTC)
Taky nechci za nic bojovat. Klidně se tomu dá říkat programovací jazyk. Dal jsem ho tam, protože se mi zdálo, že shell má i jiné vlastnosti než jen programovatelnost. -- slady 17:27, 2. 12. 2004 (UTC)
To snad není argument? Jestli má nějaký jazyk vlastnosti navíc (oproti čemu vlastně navíc?), tak to snad neznamená, že přestává být jazykem. V jazycích je zařazen taky VBScript - tak takovému rozlišování opravdu nerozumím.
Ale o nic nejde, jsem toho názoru, že to nemůžeme kvalifikovaně rozdělit. Nemáme nějakou použitelnou definici prog. jazyka, té co je o odstavec výše, vyhovuje téměř cokoli. Takže to dělení není ničím podloženo.
--Mojža 17:40, 2. 12. 2004 (UTC)
Mimochodem, nahoře je program definován pomocí programovacího jazyka, O kus dál je definován prog. jazyk pomocí pojmu program.
První dva odstavce stránky si stále protiřečí:
Není-li způsob řešení zapsán v programovacím jazyce, nejedná se o program, ale pouze o algoritmus.
... programy jsou např. i návody k použití, předpisy v kuchařkách apod.
Tím vším chci jen říct, že je celý článek více než zralý na přepsání.
--Mojža 17:48, 2. 12. 2004 (UTC)

Rozebrat ve třech kapitolách pojmy procedurální, funkcionální a logické programování s příklady takových jazyků.
-- Egg 17:48, 1. 12. 2004 (UTC)

Ve třech kapitolách? Hochu, hochu, na tobě je opravdu vidět, že jsi z matfyzu ;-)) Možná by stál za úvahu můj dřívější návrh (viz výše) rozbít tuto stránku do menších celků, pak by snad mělo takové vysvětlování smysl. – slady 13:17, 2. 12. 2004 (UTC)
No jsem no. :)) Ale ty kapitoly nemyslím kdovíjak dlouhé, to za to nestojí. Jen vysvětlit co mají ty techniky společného, v čem se zásadně odlišují a v jakých jazycích se tak programuje. Příležitostně to napíšu. Možná by stačilo o každém jeden odstavec, ale ono to členění na odstavce je dost málo opticky výrazné. Ad rozbití - ještě to podle mě není tak dlouhé. Dík za Další jazyky, takhle je to dobré.
-- Egg 17:50, 2. 12. 2004 (UTC)

Koncepce algoritmizace[editovat zdroj]

Nechci tu být za rejpala, ale nemohu souhlasit s tím, že "Koncepce algoritmizace je určena použitým programovacím jazykem." Naopak jsem přesvědčen, že algoritmizace na použitém jazyku nezavisí. V některých případech teprve z analýzy vyplyne, jaký by bylo vhodné zvolit jazyk nebo systém.

--Mojža 22:55, 2. 12. 2004 (UTC)

Pravda, většinou se postupuje opačně. Jazyk se volí až podle toho, co a jak chci programovat, ne předem.
-- Egg 08:47, 3. 12. 2004 (UTC)

Soutěž[editovat zdroj]

Neboť jde o soutěžní článek, dávám přehled o provedených pracích v rámci vylepšování článku: