On Wed, 7 Jul 2004 01:07:47 +0200, Przemek SAKO Galczewski wrote
> Hi
>
> ppb> wole uzywac almsd niz skryptow perlowych, to rozwiazanie jest
> ppb> wygodniejsze, i mniejsze.
> ppb> co jest wazne przy upakowywaniu AP-routera na karcie flash.
>
> tylko ze program w perlu prawie kazdy moze sobie szybko poprawic i
> dorobic brakujace funkcje, a program w c wymaga duzo wiekszych
> nakladow pracy i umiejetnosci
>
> ja osobiscie lubie rozwiazania elastyczne, a na grzebanie w c po
> prostu szkoda mi czasu, ktorego i tak mam malo :/
Tak jak pewnie kazdy, ja napisalem podanie o wydluzenie doby do 48h, ale nie
za bardzo wiem komu je wyslac :P
A tak na serio wg mnie rozwiazania proste, poligonowe, robione na szybkiego
sa dbobre, ale na krotka mete. Jezeli w stosunku do mocy serwera bedziesz
rozzutny, to pewnie niedlugo bedziesz musial postawic nastepny. Prawda jest
taka ze w erze gigahercowych czestotliwoci procesorow oraz gigabajtowych
pojemnosci ramu malo kto zastanawia sie nad optymalizacja programu pod kontem
wydajnosci i pamieciorzernosci. Efekt jest taki ze wzros predkosci mamy ale
wzrost wydajnosci oprogramowania jest raczej ciezki do zauwazenia. Co gorsza
pewna czesc uczelni technicznych ksztalcacych informatykow i programistow (na
przyklad krakowska AGH) ksztalci ich tak by pisali szybko, malo wydajnie, a
jak cos sie nie miesci w pamieci lub potrzebuje wiekrszej wydajosci (na
pierwszy zut oka) to zeby kazali kupowac mocniejsze maszyny.
Dlaczego wszelkie powazne programy sa napisane w jezykach nizszego poziomu
niz na przyklad java? mysql, pgsql, jadro systemu, cale systemy, apache,
squid? Za p[ewne dlatego ze gdyby je napisac w takich jezykach ni holery nie
mialay by takiej wydajnosci i takiej wszechstronnosci zastosowania. Tym
bardziej ze widzialem juz serwery WWW napisane w PERL'u ale jakos furory one
nie zdobywaja. Tak samo MRTG (chyba przez wszystkich znany). Oryginalnie byl
napisany calkowicie w PERL'u. I byl tak malo wydajny i obciazajacy system ze
lezeal zapomnianyny jakims serwerze. Zacza byc wykozystywany i rozwijany
dopiero w tedy gdy ktos przetlumaczyl na C krytyczne dla wydajnosci czesci
kodu.
Ja posune sie w stwierdzeniu nawet troche dalej ci, ktorzy powazne programy i
powazne zastosowania staraja sie upchnac w jezlyki interpretowane, to raczej
dla mnie krotkowzroczni partacze ktorzy nie maja zielonego pojecia o pisaniu
powaznego oprogramowania i ktorzy jedyne co chca zrobic to napisac na
szybkiego program i go zostawic zeby sobie lezal.
I jeszcze dwa slowa o jezykach interpretowanych. Sa dobre, sa potrzebne, ale
raczej do rozwiazan na szybkie gdy potrzeba cos na juz. Tak jak kolega
wspomnial ze moglby napisac daemona w dwa dni w javie. I co z tego? Nie
sztuka jest tworzyc programy, sztuka jest tworzyc dobre programy.
Na koniec slowo o jezykach nizszego poziomu, czasem oplaca sie w krytycznym
dla wydajnosci miejscu wstawic cos w jezyku nizszym od c czli assemblerze.
Mialem z 6 lat temu problem z wydajnoscia przy przeszukiwaniu bardzo dlugiego
ciagu danych. Wtedy posiedzialem troche przy kompie, pomyslalem i udalo mi
sie napisac algorytm ktory przeszukiwal ciag danych w tepie 4 znaki na trzy
cykle procesora (nie liczac czasu ladowania danych do pamieci). Wstawka miala
okolo 20 lini w assemblerze, ale wtedy byl to stwierdzilem jak bardzo moj
pascal marnuje moc obliczeniowa na moim Pentium 75.
sorki ze tak dlugo, ale czasami mnie draznia wypowiedzi w stylu "piszmy
wszystko w jacvie". Kazdy jezyk jest do czegos, i tego sie trzyajmy, java,
perl czy cos w tym stylu na pewno nie jest dobry do napisania demona.
z powazaniem
Rafal Ramocki