Cytat:matematycznych i eksperymentalnych. Z t matematyk nie zawsze jest
tak
sodko. Wszystko zaley od modelu. Piszesz, e wiadomo, i sortowanie o
zoonoci n log n jest lepsze ni n^2 (cokolwiek by to miao znaczy),
ale skd to wiadomo? Czy czasem kto nie sprawdzi tego dowiadczalnie?
A jeli nie, to moe jednak teoria si myli (bo np. nie uwzgldnia
jakiego elementu).
To troche nie tak: jesli algorytm ma zlozonosc n^2 to oznacza, ze do
jego wykonania dla danych 100 razy wiekszych trzeba 100^2 wiecej
czasu. Dodatkowo dodaje sie stala, np. zlozonosc 4 n^2 oznacza, ze
wykonanie algorytmu dla n elementow zajmuje 4 n^2 taktow procesora -
dzialania komputera nie sprawdza sie doswiadczalnie, jesli dzielenie
trwa 34 takty, to tyle musi trwac. Po prostu komputery konstruuje sie
na podstawie poewnych zalozen, ktore sa spelnione (chyba ze mamy do
czynienia z wadliwym procesorem np. Intela, ale wtedy to problem
producenta, ktory nam procesor wymienia. Zreszta od zadnego software
nie wymaga sie, aby dzialal na uszkodzonym sprzecie).
Czy teoria sie myli? W informatyce nie ma mozliwosci probablistycznego
zachowania sie komputera, wiec dzialanie programu, ujete za pomoca
teorii, jest deterministyczne, wiec teoria jest zupelna.
Cytat:Inna sprawa to "przeteoretyzowanie". Dla mnie, jako
uytkownika komputera waniejsza jest praca chopaka, ktry "z klockw
lego" skada program, ktry dziaa i jest dla mnie uyteczny, ni
profesor informatyki, ktry wymyla algorytmy - moe i super - ale nie
dajce si zrealizowa na istniejcym sprzcie.
Na jakiej podstawie dziala Delphi, Java czy Visual Basic? To skladanie
algorytmow ulozonych przez jakis tam profesorkow. Problem kompilacji
(optymalnej) jest jednym z najbardziej zlozonych problemow
informatyki: wiekszasc teorii dotyczy wlasnie tego. W kompilatory
wbudowuje sie coraz bardziej skomplikowane mechanizmy tak, aby
odciazyc uzytkownika. Powtarzam: uzytkownika, a nie informatyka. W tym
momencie pisanie programow, czy raczej w Pana slowach, skladanie
klockow, to praca biurowa analogiczna do pisania tekstu w Wordzie,
wprowadzania danych do bazy danych (bo tym jest wlasciwie nowoczesne
srodowisko tworzenia
oprogramowania: wpisywanie do bazy danych
kompilatora, czego i gdzie ma uzyc). Taki "praktyk" to nie jest wiec
informatyk, a tylko uzytkownik komputerow.
Ktos powiedzial, ze informatyk w porownaniu do uzytkownika komputerow,
np. sekretarki, bedzie wolniejszy w typowej pracy (np. pisanie
prostych makr w MS Office, tworzenie baz danych w Accesie, czy nawet
tworzenie aplikacyjek w Javie na strone internetowa przedsiebiorstwa).
Prawda - informatyk ksztalcac sie, nie uczy sie obslugi programow. Nie
warto - zanim skonczy studia, zmieni sie ono 10 razy. Uczy sie go
metod programowania, zasad tworzenia algorytmow, semantyki jezykow
programowania. Dzieki temu w momencie rozpoczecia pracy nauczenie sie
bieglego programowania w nowym jezyku zajmuje mu kilkanascie godzin
(w porownaniu, w najlepszym wypadku, do kilkunasu tygodni u normalnego
uzytkownika). Ale czy warto przez to przez 5 lat studiowac? Nie. Ale
pomiarowego czasu rzeczywistego. Albo posortowac i obrobic plik z
danymi doswiadczalnymi 10GB (mam na astronomi i w fizyce czastek do
czynienia z tym). Odpowie: daj mi 20 GB ramu albo 1 mies czasu.
Informatyk natomiast, znajac algorytmy, znajac
metody optymalizacji i
majac caly aparat matmatyczny zmniejszy czas wykonania procedury o
kilka rzedow wielkosci (i wystarczy 8MB RAMu). Efekty opanowania
rynkuoprogramowania przez "praktykow" (w negatywnym sensie - ludzi nie
majacych pojecia o teorii) widac - zgodny z Wordem 7 edytor tekstu na
Amige 500 (okolo 500 razy wolniejsza od najnowszego PC) jest szybszy i
zajmuje 10 razy miej miejsca - zapomina sie o czyms takim, jak
optymalizacja. Ja mam w domu 386SX 4MB RAM i swobodnie radze sobie z
obrobka danych po kilkaset MB. Pod baza danych MS to samo trwaloby 5-6
razy dluzej, i to na Pentium 200MMX (testowalem).
Nie mam nic przeciwko wolnym programom, niewykozystaniu szybkiego
sprzetu etc. Chodzi mi tylko o to, aby sprawnego uzytkownika komputera
nie nazywac informatykiem. Gdyby pozbawic go wszystkich narzedzi
stworzonych przez informatykow-teoretykow i informatykow-praktykow,
nie zrobilby nic. (Czy wyobraza Pan sobie Visual basicowca, ktory
siada przed terminalem i wpisuje slowa maszynowe jako rozkazy? Bez
graficznego nterfejsu??? kto to slyszal...)
Cytat:A moe by z ni wrci do grupy?
Jestem za. Mam skopanego mailera, wiec bylbym wdzieczy za
forwardowanie tego maila na liste, gdyby tam nie doszedl.
Cytat:--
Krzysztof Ciesielski
"... jeli odzrzucisz wszystko, co niemoliwe, to, co pozostanie -
nawet jeli niesprawdzalne - musi by prawd ..."
Sherlock Holmes
zapraszam: http://tytan.umcs.lublin.pl/~krzycie
Konrad Wawruch