Re: Edukacja informatyczna (Bylo: Generator dzwieku)

Autor: Gregorio Kus (Grego_at_RMnet.IT)
Data: Thu 09 Jan 1997 - 02:54:34 MET


On Wed, 8 Jan 1997 20:00:50 +0100, Jarek Lis wrote:

>In pl.comp.pecet Gregorio Kus <Grego_at_RMnet.IT> wrote:
>: a jednak dowod Karpio, i tym powyzszym jedynie to potwierdzasz.
>: Konstrukcji petli w pascalu jest 3 (slownie trzy) a nie trzydziesci,
>: i zapewniem Cie ze wybor odpowiedniej jest znacznie latwiejszy
>: niz uzycie 'for' w C, ktorej skladnia (jak i calego C) przyprawia
>: o bol zebow (juz nawet nie glowy) kazdego kto kiedykolwiek
>: zetknal sie z elegancja i czystoscia skladni porzadnego jezyka.
>
>Alez co Ty piszesz. Skladnia C jest rownie elegancka i prosta co Pascala.
>Moze nawet prostsza.
>
>for ( [wyrazenie] ; [wyrazenie]; [wyrazenie]) instrukcja
>
>prostsze niz w Pascalu !.
>
>: Juz na pierwszy rzut oka widac ze autorzy C (Kerningham, Ritchie)
>: nigdy tego jezyka nie zaprojektowali. Oni zwyczajnie usiedli
>: i zaczeli pisac kompilator. W miare jak im rosl pod rekami -
>: dodawali nowe funkcje i zawsze poswiecali skladnie na rzecz mocy
>: jezyka.
>
>Jakies konkretne przyklady moze?

prosze bardzo:
1. typowo assemblerowe przyjecie ze pierwszy index tablicy
   jest zawsze rowny 0.
2. inkrementacje/dekrementacja przed i po obliczeniu wyrazenia
   (swietnie poprawia efektywnosc w pewnych przypadkach, ale
   "jeszcze swietniej" utrudnia zrozumienie nawet autorowi
   kodu [po tygodniu czy po miesiacu])
4. nieodroznianie instrukcji od wyrazen tzn. wyrazenia
   ktore sie wykonuja i instrukcje ktore maja wartosc.
   i=j=k to po prostu piekne, to puszka pandory z ktorej
   wysypuja sie miliony efektow ubocznych
5. nieodroznianie liczb o wartosci boolowskich i znakow
   while (s[k++]) typowa "elegancka" w rozumieniu
   programistow C konstrukcja - dla mnie jedynie krotka
   w zapisie i latwa do kompilacji, ale beznadziejna
   w sensie czytelnosci kodu tzn, zwiazku syntaktyki
   z semantyka.
6. o wszystkich swinstwach z rachunkami na wskaznikach
   nawet tam gdzie jest to zupelnie niepotrzebne szkoda nawet
   gadac - tu miesci sie 90% bezsennych nocy spedzonych
   przez C-programmers na poszukiwaniu burakow we wlasnych
   programach

moge tak tygodniami.
o jakosci jezyka C swiadczy chociazby to, ze gdy lata temu
uczylem sie go z ksiazki Robina Jonesa i Iana Stewarta
pt. "The Art of C Programming" znalazlem z cyba 10 bledow
w prezentowanych tam przykladach (ktore wszystkie byly
naprawde krociutkie).

>Sproboj wytlumaczyc LISP, Prolog i smalltalk :-)

Lisp - latwo, smalltalk trudniej, prolog najtrudniej.

>: nie ma znaczenia wielkosc. C jest bardzo kiepskim narzedziem do
>: pisania wielkich programow (a to czy na sprzedaz czy nie to juz
>: zupelnie nie rozumiem jaki ma wplyw na wybor jezyka).
>
>C [wg K&R] kiepskie. C wg ANSI - nienajgorsze. C++ - dosc dobre.

C++ bylby calkiem dobrym jezykiem gdyby Bjoern Stroustrup nie
zalozyl jego kompatybilnosci w dol, dziedziczac w ten sposob
wszystkie grzechy C.

>Zadajesz wyjatkowo zle postawiony problem. Raczej sie zapytaj kiedy
>bedzie MFC na Sun'a czy na Mac'a, ale dla rownowagi odpowiedz
>ile mniej pracy by to zabralo, gdyby twoj program lub MFC
>byly napisane w assemblerze czy Pascalu :-).

to po prsotu swiadczy o tym ze oprogramowanie moze byc przenosne
jedynie wtedy gdy narzedzia sa adekwatne do srodowiska. W srodowisku
termianali znakowych, ze scisle okreslonym input'em i output'em
mozna bylo pisac programy w C, ktore bez wiekszych zmian chodza
pod Unixami, OSem i DOSem. W swiecie obiektow, okien, ikon i myszy
potrzebne sa nam inne narzedzia - przede wszystkim niezalezna
od systemu definicja obiektow i dokumentow. Poczatki odpowiednich
technologii juz istnieja: SOM i OpenDOC. Ale jak uczy przeszlosc -
jak zwykle wygra standard jak najbardziej zamkniety, w dodatku
technologicznie circa 10 razy gorszy: OLE z COMem, ktore proponuje
nam M$, oczywiscie jak zawsze oglaszajac to szczytem techniki.

>P.S. nie probowalem, ale czy trudne byloby napisanie czegos udajacego
> MFC, gdyby moglo korzystac z OWL?

pewnie ze sie da.
da sie np. napisac emulator assemblera 80486 w BASICU na Macintosh'u
:-)
a powazniej - owszem da sie, ale straciloby sie cala efektywnosc,
te dwie przykrywki na windows api roznia sie zbyt gleboko.

>: ja rowniez nie widze potrzeby masowego nauczania nawet podstaw
>: programowania.
>
>A tu mam obiekcje. Na pewno nie w C, Pascalu czy w Javie.
>Ale jakies programowanie (shell unixa, makra excela, wordbasic?)
>to by sie przydalo.

komu? po co? mowimy przeciez o masowym uzytkowniku ...

>: zreszta - programista to wymierajacy zawod.
>: za kilka lat maszynki beda tak potezne, ze przemysl informatycznych
>: klockow lego - programowanie obiektowego (bardziej smalltalk niz c++)
[...]
>: (SOM, Corba) upowszechnia sie naprawde i niewielu bedzie potrzebnych
>: prawdziwych programistow. Aplikacje bedzie sie skladac z gotowych
>: komponentow.
>
>Raczej co innego - konczy sie rynek na samotnych programistow.
>Konczy sie rynek dla malych firm. Wspolczesny program to setka
>osobolat, z czego 98 w interfejsie uzytkownika i bajerach.

i to jest wlasnie cale nieszczescie - wiekszosc prawdziwych,
"nawiedzonych" programistow to indywidualisci, nie znoszacy
pracy grupowej. Dzis jednym z podstawowych skill jakich sie
wymaga od programisty to wlasnie umiejetnosc pracy w grupie
(a ja mam to w d...)
[rymnelo mi sie]
wiec wciaz wyszukuje sobie firmy, ktore zajmuja sie produktami
o takim stopniu zlozonosci aby byl je w stanie objac i zrealizowac
(w skonczonym czasie) pojedynczy programista.
musze przyznac ze rynek mi sie zaweza.

>Na rynku zostana jedynie duzi, co beda ciagnac pare tysiecy
>produktow, zatrudniajac do tego .... pareset tysiecy
>programistow.

z ktorych w moim rozumieniu ogromna wiekszosc bedzie zwyklymi
wyrobnikami, podczas gdy moim pokoleniu programowanie to byla sztuka.
bylo sie po prostu artysta
;-)

zwroccie uwage naprzyklad jak w ciagu niecalych 50 lat upadl
prestiz (ale i jakosc) inzyniera. Jeszcze 50 lat temu inzynier
to przewaznie byl bardzo ciekawy facet, polnaukowiec, polartysta,
polopetaniec - przedmiot podziwu gawiedzi, ale tez i dokonujacy
naprawde wspanialych czynow. Dzis jest to (srednio rzecz biorac)
osobnik dosc ograniczony, wykonujacy nieciekawa wyrobnicza prace,
pogardzany (nie bez powodu, ze wzgledu na niemal przyslowiowy
waski horyzont umyslowy) przez wiekszosc ludzi z wyksztalceniem
humanistycznym. Zawod programisty byl (mimo inzynierskich
konotacji) pewnym wyjatkiem - otaczala go mgielka tajemniczosci
i pionierstwa. To sie juz skonczylo.

i Einstein umarl
i Newton
a i ja sie nienajlepiej czuje

;-)

Grego

--
/-----------------------------------------------------------------
Gregorio Kus    Grego_at_RMnet.it                Grego_at_cyberspace.org
ROMA, Italy     http://www.RMnet.it/~grego    Grego_at_FreeNet.hut.fi
Anonymous Mail Service - http://free.rmnet.it/~grego/AnonMail.html


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:51:19 MET DST