Reklama

Blogi, które czytam

Kategorie

Archiwum

2008

2007

2006

2005

2004

Stat4u

Stat4u

Komentarze do wpisów

Pascal?! Brrrr....

21.01.2006 - Sobota - 18:11

Jak większość programistów amatorów, swoje pierwsze zetknięcia z programowaniem realizowałem w Turbo Pascalu. Nie zdążyłem jednak dobrze go poznać, bo szybko odkryłem rewelacyjny język, którym jest C. Po tym jak poznałem dobrze C, zacząłem zauważać, jak bardzo Pascal jest niewygodnym i nieintuicyjnym językiem z ograniczonymi możliwościami. W krótkim czasie Pascal stał się moim znienawidzonym językiem. Było to na początku 2000 roku.

Teraz jest rok 2006. Przez te sześć lat starałem się omijać Pascala z daleka i raczej mi się udawało. Najwyżej raz czy dwa, musiałem spojrzeć na kod w Pascalu.

Dziś zostałem poproszony o wprowadzenie poprawek i rozbudowanie pascalowego programu. Pierwsze co zrobiłem, to od razu Google -> "kurs pascala". Zdziwienie było straszne. Ten przestarzały język, który w dzisiejszych czasach ma małe racje bytu (wykluczam tutaj Object Pascala, czyli Delphiego, bo to zupełnie inny sektor), jest wciąż niesamowicie popularny, a kursy piszą już nawet programiści z dwutygodniowym doświadczeniem ;-) Nie wgłębiałem się jeszcze w żaden kurs, ale ważne, że już coś miałem "pod ręką"

Otwieram plik źródłowy programu. Hmm... Ale zupa... Wszędzie tylko widzę begin i end, na dodatek bez wcięć. Próbuję analizować. Nie ma szans. Straszny kod. Ale pewnie się skompiluje. Wciskam Run i wyskakują błędy. Ech... Po omacku staram się poprawić błędy (które później okazały się być strasznymi błahostkami). Udało się skompilować, ale wyniki coś nie tego. Istota programu polega na obliczeniu wszystkiego co tylko możliwe na podstawie dwóch boków trójkąta i kąta pomiędzy nimi. Wredna matematyka. Nie chce mi się sprawdzać wszystkich użytych wzorów po kolei, bo z pewnością musiałbym poświęcić na to cały dzień. Ale powracam do analizy. Wszystkie wzory wyglądają na poprawne, więc gdzie jest błąd... O! Tu coś jest! b:=(6*pi)/180;. Jakie sześć?! Chyba b:=(b*pi)/180;. O! I wyniki wreszcie są normalne.

Przystępuję do dalszych działań. Mam do napisania kod, który będzie rysował dany trójkąt oraz okrąg opisany na tym trójkącie. Co nieco pamiętam jak działał tryb graficzny w Borland C++, więc tutaj (w Turbo Pascalu) nie powinno być większych problemów. Trójkąt narysowałem, ale jak znaleźć środek okręgu?! ;-) Nie chce mi się kombinować, więc korzystam z wyznaczonego już promienia tego okręgu oraz symetralnej jednego z boków. Proste równanie kwadratowe (z pominięciem ujemnego pierwiastka tego równania) i już mam. Ale... Ale dlaczego to koło jest za małe?! Tak... Funkcja round() zawsze zaniża wartości. Trudno dodam nieco do promienia i będzie dobrze. Kompiluję, widzę, że działa. Sukces! Coś pamiętam z tego Pascala ;-)

Dorabiam wcięcia. Tutaj już się chciałem pochlastać, bo ten kod jest straszny. Zamiast klamerek, jakieś dziwne słówka, kropki, średniki, funkcje bez nawiasów... Wrr.... Dziwny język.

A teraz muszę z tego kodu zrobić schemat UML. Zaczynam się bać...

Zastanawiam się też, dlaczego rozpoczynając pisanie tego tekstu miałem w zamyśle stworzenie ostrej krytyki Pascala, a wyszło mi słabe opowiadanko bez drastycznych scen. Hm... Pascal, lepiej po prostu gotuj!

Słowa kluczowe: programowanie

Dodaj komentarz

Uzupełnij poniższe pola

Imię:

E-mail (opcjonalny, nie zostanie wyświetlony):

Strona WWW (opcjonalna):

Uwaga! Komentarze pojawią się dopiero po ich zaakceptowaniu. Zastrzegam sobie prawo do usuwania komentarzy obraźliwych wobec mnie i innych czytelników, komentarzy nic nie wnoszących do tematu oraz komentarzy będących typowym spamem.

© Krzysztof Sawicki