Pascal

W końcu na studiach zostałem zmuszony do nauczenia się Pascal’a. Nigdy wcześniej nie chciało mi się tego uczyć bo i po co? Na lekcjach informatyki w liceum pisałem wszystko w C i nauczyciel nic do tego nie miał.

Teraz jednak już trzeba się go nauczyć. Jako, że programuję już około 7 lat w C++, myślałem że nauka Pascala będzie mnie męczyć i denerwować. Myliłem się chociaż nie jest to język specjalnie ciekawy ani ładny.

Wg mnie Pascal to zabawka dla dzieci i naukowców, którym nie chce się ( albo nie potrzebują ) uczyć się prawdziwego języka programowania albo chociaż jakiegoś poważniejszego języka skryptowego. Jest to język zawierający masę niepotrzebnych udogodnień, że nie wspomnę już o tym że jest po prostu brzydki.

Chcąc rozwinąć nieco te zarzuty o niepotrzebnych udogodnieniach wymienię chociażby stwór o nazwie SET. Zupełnie nie wiem dlaczego jest to część języka. Równie dobrze można by było to jakoś „okodzić” na tablicach. Dodatkowo zupełnie nie widzę potrzeby stosowania typów okrojonych oraz indeksowania tablic zaczynając od dowolnej liczby.

Jeśli chodzi o estetykę języka – IMHO jest okropny. BEGIN oraz END są różnej długości co daje blokowi instrukcji nieprzyjemny wygląd:

BEGIN
i := 5;
END .

Instrukcja przypisania też mi się nie podoba bo jest niewygodna do pisania ale już tego czepiać się nie będę. Następna rzecz składniowa która mnie denerwuje to blok VAR:

VAR    i, j : integer;
r : real;

Jak by człowiek nie próbował tego zapisywać zawsze wygląda szpetnie. Druga sprawa, że zmienne muszą być zadeklarowane w tym bloku i nie można ich deklarować później w kodzie w żaden sposób. Powoduje to często (przynajmniej u mnie) odrywanie się od kodu tylko po to żeby dodać jedną zmienną i przy okazji się rozproszyć 😐

Takie rozwiązanie z blokiem zmiennych jest dobre jeśli się pisze jakiś algorytm na podstawie schematu blokowego. Wskażcie mi programistę, który robi schematy blokowe do programów które pisze… Musi być masochistą albo człowiekiem cierpiącym na nadmiar czasu.

Ja często piszę kod  „na żywca” i nie potrzebuję się dodatkowo rozpraszać dodawaniem zmiennej tam gdzie trzeba bo w międzyczasie mogę stracić wątek i będzie klops.

Nie dziwię się, że `młodzi` programiści mają problem z przestawieniem się na Pascala skoro jest tam tyle udogodnień wbudowanych, że później ciężko się pogodzić z ich utratą. Może dlatego panuje przekonanie, że C++ jest taki strasznie trudny.  Jeśli tak to można pójść dalej w tych rozważaniach i stwierdzić, że nauczyciele robią krzywdę uczniom przekazując im wiedzę dotyczącą Pascala.

Dlatego cieszę się, że sam się pokarałem książką o C++ w młodości i teraz mogę się cieszyć tym, że mogę pobawić się w Pascalu, w którym zdecydowanie łatwiej tworzy się małe programiki.

Wniosek z tego jeden: z programowaniem jest jak z pływaniem w morzu, lepiej rzucić się na głęboką wodę i płynąć w stronę brzegu niż na odwrót ^^

5 komentarzy do “Pascal

  1. Pod względem liczby udogodnień C# bije Pascala na głowę, więc zaczynając od niego nie jest się wcale w ‚najgorszej’ pozycji. Zresztą w ogóle nie zgadzam się z twierdzeniem, jakoby nauka Pascala miała komukolwiek zaszkodzić. Sam na przykład zaczynałem od Visual Basica i nie uważam się za pokrzywdzonego 🙂 Znajomość wielu języków może tylko pomóc.

    A cukierki składniowe? Każdy język je ma. Sety to na przykład ładne zapisanie flag bitowych, podobnie jak właściwości są ładnym zapisaniem metod dostępowych – i tak dalej. Nie ma czegoś takiego jak jedynie słuszny zestaw możliwości języka, żeby można było mówić, że coś jest niepotrzebne.

  2. Może i jest trochę racji w tym co piszesz, ale chodziło mi głównie o to, że nauka C++ po Pascalu – w którym ludzie przyzwyczajeni są jednak do sporej wygody – faktycznie może sprawiać trudności.

  3. hmmm… przyznaję, przeskakiwanie do var żeby zadeklarować nową zmienną jest denerwujące i rzeczywiście rozprasza. Ale blok var zapisać się ładnie da…

    var
    i : integer;

    przy zastosowaniu stylu do wszystkich bloków w miarę to wygląda 😉

  4. „uczyć się prawdziwego języka programowania” – tak, są języki prawdziwe i fałszywe(czytaj dla cieniarzy), naciągane, no ale co tam ;). Nie lubisz – to nie używaj i nie narzekaj 🙂 Pozdrawiam
    Użytkownik Pascala i C++

  5. @adzio: nie mam nic do użytkowników danego języka. Chodzi mi tylko o fakt, że Pascal jako język programowania jest raczej zabawką dla dzieci i profesorów 😉 Niczego konkretnego się w tym nie naskrobie. Delphi daje już większe możliwości ale jest Borlanda 😛

Dodaj odpowiedź do moriturius Anuluj pisanie odpowiedzi