pátek, listopadu 19, 2004

Zlé jazyky

Přišla mi reakce na příspěvek o designu software:

. . .
V dobe, kdy jsem byl na skole jsme se zacali ucit zajimavy nove se tvorici plne graficky jazyk. Jmenuje se National Instruments Labview. Sklada se az neceho, co se podoba komponentam (napr v Builderu) az na to, ze je to vlastne funkce. Pro programatora se jevi jako ctverecek, ktery se spojuje s dalsimi ctverecky natahanim dratku = promennych. Po kratke (=opravdu kratke) dobe jsem v tomto programovacim jazyku delal ucinene divy. Po jistem case vsak firma nechala vsechny graficke symboly patentovat a cele jadro programovaciho jazyka naroubovali na prakticke pouziti testovani plosnych desek na vyrobnich linkach.
. . .
Petr Frank
Hmmm. LabView jsem krátce používal, a popravdě řečeno mi moc nevyhovuje. Stejně jako třeba HP-VEE a další podobné produkty, je to vývojový prostředek zaměřený na příliš úzkou skupinu problémů (v tomto případě řízení měřicích přístojů po GPIB skrze karty National Instruments, nebo obsluhu měřicích karet National Instruments), který spoléhá na to, že uživatel bude víceméně lineárně skládat jednotlivé předpřipravené funkční bloky, a nebude se snažit implementovat nějaké složitější algoritmy.

Já se nedomnívám, že je potřeba vzdát se textového programování -- v drtivé většině případů je to stále nejrychlejší a nejefektivnější (a taky nejvíc cool) způsob jak programovat, jen mi schází nějaký nástroj, který by mi umožnil na začátku rozvrhnout vzájemné vazby mezi komponentami, a během vývoje by tenhle návrh automaticky synchronizoval s kódem, který napíšu -- čili libovolná změna v kódu se projeví v diagramu, změna v diagramu, se projeví v kódu.

A ještě k tomu LabView: V jedné firmě, kde jsem se během studia potloukal, používali LabView jako primární prostředek pro vývoj obslužných aplikací k hardwaru, který vymýšleli. Dokud se tvořily jsem řídící konzole pro funkční generátory, bylo všechno v pořádku. Jakmile ovšem bylo potřeba napsat program pro obsluhu poměrně složitého real-time měřícího systému, který měl asynchonně pumpovat data do PC, viděl jsem na paní, která tu aplikaci tvořila, jak trpí.

To je ukázkový příklad toho, jak majitel/ředitel té firmičky nedokázal pochopit, že tak, jako se šrouby obvykle nezatloukají kladivem, není možné použít jeden programovací prostředek (byť stál pár desítek tisíc) na psaní všech programů.

Připomíná mi to ty neustálé hádky mezi vyznavači jednotlivých jazyků, kdy všechny znesvářené strany tvrdí, že jedině jejich jazyk je nejlepší, a všechno ostatní je šunt.

Osobně se domnívám, že volba jazyka závisí na řešeném problému. Asi těžko budu programovat ovladače pro Windows v Perlu, na druhou stranu nevidím důvod, proč nepoužít Visual Basic na tvorbu jednoduché, jednoúčelové grafické aplikace.

Ovšem já jsem sváteční programátor samouk, který nemá PhD z počítačové vědy, ani nepracuji pro velkou softwarovou společnost, kde bych byl zásoben novinkami z předplacené MSDN. Takže se třeba pletu, a nástroje, které mi chybí už existují, jen o nich nevím, a opravdu je potřeba naučit se jen jeden programovací jazyk a ten pak všem trpělivě vnucovat až do soudného dne.

2 komentáře:

Anonymní řekl(a)...

Ale ono je to vsude a se vsim stejne. Pascal versus C, Linux versus Windows, Oracle versus MS-SQL, Java versus .NET, ale nejenom ve svete vypocetni techniky, ale treba skoda versus peugeot, vamberecke uzeniny versus nejake jine uzeniny (co ja vim). Kazdy ma holt potrebu hlasat jen to co on osobne uznava v ten dany moment za vhodne - koneckoncu to uz kdysi rekl jahelka v nejake sve pisni, ze ten nas svet jen jednu vadu ma - ze kazdy znas jen tu svou pravdu ma.
Na stredni skole sem sedel v lavici s ultraortodoxnim ceckarem a jakozto ultraortodoxni (tehda) uzivatel pascalu sem s nim vedl "ynteligentni" debaty proc to ci ono, kazdy z nas dokazal tri roky prinest skoro kaazdy den nejaky argument, byt byl sebeblbejsi, ale hlavne ze byl. Nakonec nas to prestalo bavit a myslim, ze oboum to dalo jiny nazor na vec - ze je lepsi vedet co nejvice o vsem a pouzit to, co se na danou aplikaci hodi nejlepe. Taky to pomuze na 100 honu zjistit debatu, kde dosly argumenty a nastupuje fanatismus.

Anonymní řekl(a)...

Nástroje pro takový round trip diagram-kod-diagram existují, ale zkušenosti s takovýmto způsobem vývoje nejsou moc dobré, takže se od toho před pár lety zase upustilo...

Petr Olmer