Skocz do zawartości

Pascal. Czy opłaca się go uczyć jako pierwszy język


Polecane posty

Ja mam takie pytanko. Ostatnio gadałem z kumplem o programowaniu i powiedział mi że zanim rozpocznę naukę C++ to powinienem nauczyć się Pascala. I tu takie pytanko, czy to prawda? I jeszcze jedno pytanko. Gdzie w necie mogę znaleźć darmowe, dobre poradniki. Wiem że zaraz będzie "Google nie gryzą" ale znalazłem kurs z 2001 roku i takie pytanko, czy jest on przestarzały czy mogę spokojnie się z niego uczyć? A zapomniałbym. Czy Pascal i Turbo Pascal to to samo?

Link do komentarza
Udostępnij na innych stronach

Google nie gryzie, tak ?!

Nie polecam Ci Pascal'a na początek. Polecam C++ na początek.

wies.niak << Jestem prorokiem ;) Niestety piszę pracę magisterską i kompletnie nie mam czasu. Może udałoby mi się coś na boku naskrobać, pytanie tylko po co ? Adam Sawicki (plus koledzy z Warsztatu) odwalił kupę dobrej roboty pisząc to faq: http://wiki.gamedev.pl/Warsztat_FAQ Rzecz jasna skopiować bezczelnie nie wolno, ale za wstawienie linka to się chyba nikt nie obrazi.

Link do komentarza
Udostępnij na innych stronach

A moim zdaniem warto się go uczyć.

Jest co prawda przestarzały i ograniczony, ale dobrze uczy podstaw programowania (szeroko pojętego i często międlonego 'myślenia programistycznego' i algorytmiki) i jest dużo prostszy niż np. C++ (większość składni to słowa po angielsku, nie ma motywów typu (*pA)1?0; ).

A Turbo Pascal to raczej kompilator Pascala.

Link do komentarza
Udostępnij na innych stronach

Sergi - Tylko że podany przez Ciebie przykład nie tylko jest akurat... no powiedzmy "średnio zaawansowany"... ale też da się go zapisać w dużo czytelniejszej dla początkującego formie. Imo czysty C czy nawet C++ bez używania obiektowości jest równie prosty jak Pascal i może tak samo służyć do zrozumienia podstaw algorytmiki itd. Bonusem jest to, że w większości popularnych języków składnia podstawowych konstrukcji jest identyczna lub niemal identyczna jak w C, więc łatwiej się później przesiadać.

Link do komentarza
Udostępnij na innych stronach

Osobiście zaczynałem uczyć się C++ jako pierwszego, potem załapałem się na Pascala. Początki z C++ są proste i oczywiste, potem zaczynają się ciekawsze momenty, ale nie wyskakują jak Filip z konopii - zapoznasz się z językiem lepiej, to sobie na spokojnie poradzisz. Zaś podstawy C++ uważam za prostsze i logiczniejsze od analogicznych w Pascalu, który mnie po prostu drażnił (a musiałem w nim pisać na potrzeby liceum). Parę przykładów - nie mogłem w łatwy sposób używać zmiennej całkowitej jako zmiennej typu logicznego, nie mogłem łatwo dzielić z ucinaniem reszty, nigdy na dobrą sprawę nie umiałem stawiać średników (stawia się NIEMAL zawsze, przy czym kluczowe jest to NIEMAL - mówcie co chcecie, ale przy konstrukcji IF ... THEN ... ELSE ... naprawdę chce się postawić średnik przed ELSE), deklaracje zmiennych nie mają nic wspólnego z ich późniejszym przywoływaniem w programie, musisz w sztywny sposób deklarować funkcje (main koniecznie na dole) czy zmienne (u góry funkcji) i zapewne wiele innych rzeczy, które mnie w tym języku porządnie denerwowały/

Link do komentarza
Udostępnij na innych stronach

Mi się wydawało, że C++ jest znacznie trudniejszy od Pascala... zacząłem programować (ale tylko w szkole) w tzw. programie Logo Komeniusz, potem w Pascalu...

W każdym razie z tego co wiem, w C++ pisane są Windowsy (a może się jednak mylę? nie wiem, bo obecnie piszę tylko w xhtml i css a to inna bajka).

Link do komentarza
Udostępnij na innych stronach

@Mormegil - Nie stresuj się tak bo Ci żyłka pęknie. Forum jest po to aby zadawać pytania.
To nie jest stres tylko ironia.

Chcesz się nauczyć programować, no i fajnie.

Nie wiesz jednak czego się uczyć i jak zacząć. To jest całkiem zrozumiałe, no bo skąd masz to wiedzieć ?!

Zadajesz więc pytania, takie same jak setki, tysiące, miliony przed Tobą. Na razie nie wiesz jaki język, zaraz nie będziesz wiedział jakie ide, potem jaka biblioteka, potem znajdziesz buga w kompilatorze ("unresolved ..."). Rzecz w tym, że na te pytania odpowiedziano już naprawdę wiele razy. Wystarczy zadać sobie odrobinę trudu i poszukać (nawet Ci linka podałem).

Chcesz być programistą, to naucz się przede wszystkim samodzielnego myślenia i języka angielskiego ;).

EDIT

Ooo, drobna złośliwość mi się nie uda :( Chciałem podać bezpośredni link do sekcji z odpowiedzią na pytanie jaki język, ale coś nie działa tak jak powinno i wyrzuca na koniec dokumentu.

Link do komentarza
Udostępnij na innych stronach

Ja od siebie mogę dodać, że Pascal jest według mnie najprostszy, kod czyta się bardzo naturalnie i łatwiej znajduje się błędy.

To zależy co chcesz robić, jeśli tylko nauczyć się jakiegoś języka to polecam Pascala, ze względu na jego prostotę. A jak chcesz robić "coś więcej" to raczej lepszy będzie C++, oczywiście jeśli masz jakieś pojęcie o programowaniu, bo jak nie to lepiej zacznij od Pascala, bo raczej bardzo irytujących błędów z niewiedzy nie uświadczysz. Ja nie miałem z nim problemów.

Pascala traktowałem jako rozgrzewka przed C++.

Link do komentarza
Udostępnij na innych stronach

Ja zaczynałem od Pascala i wbrew opinii wielu ludzi uważam, że jego nauka ma sens... Czasem ;) Po pierwsze, kod jest o wiele czytelniejszy. No bo porównaj kod w pascalu:

program prosty_program;
begin
   write ('Witaj świecie!');
end.

z tym z C++

#include <iostream>
int main()
{
  cout<<"Witaj świecie!";
  return 0;
};

W tym pierwszym od razu widać co robi, w tym drugim... No już chyba nie za bardzo ;) Rzecz jasna, jak już trochę programujesz, to jest to absolutnie jasne, ale mimo wszystko jak widzisz nowy kod w Pascalu, to łatwiej go pojąć. Między innymi również dlatego, że jest o wiele bardziej uporządkowany. Może to faktycznie wkurzać, że wszystko ma sztywną kolejność, ale za to od razu wiesz, gdzie spojrzeć jak chcesz szukać funkcji/zmiennej/czegokolwiek innego. W C++ trzeba przewalać się przez cały kod, bo nie wiesz gdzie ktoś mógł to wcisnąć.

Zresztą w kwestiach czysto językowych, C++ wcale nie jest we wszystkim lepszy, wystarczy choćby wspomnieć zupełnie nieintuicyjny, niewygodny i w ogóle beznadziejny system podziału kodu na pliki nagłówkowe i takie zwykłe.

I ostatnia rzecz: jeśli chcesz tworzyć zwykłe okienkowe aplikacje pod Windowsa, nie męcząc się za bardzo, by uzyskać sensowny efekt, Pascal (a dokładniej rzecz biorąc Delphi, ale to tak naprawdę to samo, tylko nowsza wersja) jest lepszy. Choć do gier mimo wszystko C++ przede wszystkim. No i bądź co bądź jest o wiele bardziej popularny.

A co do kursów, to jest świetny C++: http://xion.org.pl/productions/texts/coding/megatutorial/

A to również niezły Delphi: http://4programmers.net/Delphi

Link do komentarza
Udostępnij na innych stronach

w tym drugim... No już chyba nie za bardzo ;)
#include <cstdio.h>

int main()
{
   puts("Hello world");
   return 0;
}

No naprawdę nie wiem co w tym bardziej skomplikowanego ? Czy może chodzi o to, że zwracamy na końcu 0 ??

w ogóle beznadziejny system podziału kodu na pliki nagłówkowe i takie zwykłe
Ten beznadziejny system podziału ma swoje ogromne zalety, na przykład łatwość podziału kodu na definicje i deklaracje klas, dzięki czemu nie musimy przekopywać się przez kilometry kodu, tylko wszystko jest ładnie uporządkowane.

jeśli chcesz tworzyć zwykłe okienkowe aplikacje pod Windowsa, nie męcząc się za bardzo, by uzyskać sensowny efekt, Pascal (a dokładniej rzecz biorąc Delphi, ale to tak naprawdę to samo, tylko nowsza wersja) jest lepszy
a) Borland C++ Builder

b) Qt

I pewnie sporo innych rozwiązań do tworzenia GUI, o których nawet nie słyszałem.

Link do komentarza
Udostępnij na innych stronach

Borland C++ Builder to taki biedniejszy młodszy brat Delphi. Starałem się używać jednego i drugiego i, dla mnie przynajmniej, przewaga tego drugiego środowiska jest bezapelacyjna, ale może to moje zdanie...

Co do Qt się nie wypowiem, nie używałem, ale bądź co bądź jest to tylko biblioteka. A biblioteka jest na pewno mniej wygodna w użyciu niż integralny element IDE (mówię tu o projektowaniu okienek z Delphi)

>>No naprawdę nie wiem co w tym bardziej skomplikowanego ? Czy może chodzi o to, że zwracamy na końcu 0 ??

Może jestem jakiś dziwny, ale IMO ten kod jest identycznie wiele mówiący co wersja z iostream. Chodzi mi rzecz jasna, o punkt widzenia ludzi, którzy nigdy w C++ nie programowali, bo dla mnie i dla Ciebie pewnie jest to oczywiste.

>> Ten beznadziejny system podziału ma swoje ogromne zalety, na przykład łatwość podziału kodu na definicje i deklaracje klas, dzięki czemu nie musimy przekopywać się przez kilometry kodu, tylko wszystko jest ładnie uporządkowane.

Ma też ogromne wady, w postaci konieczności tworzenia dwóch razy więcej plików niż miałoby to miejsce w Pascalu/Javie/C#, wolnej kompilacji, konieczności jakiejś dziwnej zabawy z dyrektywami typu #pragma once, żeby zabezpieczyć się przed wielokrotnym włączeniem tego samego. A w Pascalu tworzysz ładnie sobie moduł, a wszyściutkie definicje są jeszcze ładniej uporządkowane niż w nagłówkach C++ - wszystko co jest widoczne na zewnątrz musi być wypisane w sekcji interface, która jest zawsze na początku. Zresztą, gdyby to by był taki wspaniały system, to języki które stworzono inspirując się C/C++ by go zachowały, a nie tworzyły własne, podobne do tych z Pascala (np. assemblies w .NET). Bardzo długo na ten temat rozpisał się xion na swoim blogu: http://xion.org.pl/2007/09/01/bolaczki-cpp...ietowanie-kodu/

Zresztą ja nie twierdzę, że C++ jest od Pascala gorszy. Ja tylko twierdzę, ze ten drugi nie jest tak beznadziejny, jak go malują ;)

Link do komentarza
Udostępnij na innych stronach

Co do Qt się nie wypowiem, nie używałem, ale bądź co bądź jest to tylko biblioteka. A biblioteka jest na pewno mniej wygodna w użyciu niż integralny element IDE (mówię tu o projektowaniu okienek z Delphi)

Qt udostępnia cały IDE - edytor kodu, edytor graficzny formatek, własny zestaw klas od wszystkiego (np. QString). Robię w tym teraz projekt i całkiem przyjemnie mi się z tego korzysta (kolorowanie składny, podpowiedzi kodu - cud, miód i orzeszki). Jedynie QListView mnie rozwala, bo zgranie tego z modelem i obsługa są straszne - trzeba robić superclassing i własne metody implementować.

Zresztą ja nie twierdzę, że C++ jest od Pascala gorszy. Ja tylko twierdzę, ze ten drugi nie jest tak beznadziejny, jak go malują ;)

Beznadziejny nie jest, ale IMO mniej elastyczny i mniej wygodny. Poza tym obecnie nie jest szeroko wykorzystywany, więc jeśli ktoś chce pracować jako programista, to zamiast poświęcać czas na pascala, lepiej by zaczął od razu od czegoś bardziej użytecznego. Fakt, że może write jest bardziej intuinyjne niż cout, ale wystarczy przeczytać pierwsze parę stron książki o C++ by dowiedzieć się co to jest, co robi i od czego to jest skrót, by dobrze zapamiętać znaczenie tego polecenia. Poza tym jest jeszcze printf, które jest z nazwy też intuicyjne :-)

Osobiście uważam, że pascala można poznać w podstawach tylko po to, by ułatwić sobie przyswajanie pseudokodów, aczkolwiek po zapoznaniu się z dowolnym językiem, czytanie ich nie sprawia większych problemów.

Link do komentarza
Udostępnij na innych stronach

Ktoś, kto nie ma typowo matematycznego umysłu będzie miał problemy z każdym bardziej zaawansowanym językiem programowania... wiem, bo sam miewałem problemy. Chyba, że program nie będzie się opierał na typowo matematycznych działaniach typu "wylicz to, sprawdź tamto, zsumuj, podziel przez xyz itp.".

Link do komentarza
Udostępnij na innych stronach

@Mormegil - Jak już pisałem że google nie gryzą ;) Chodziło mi tylko o to z jakim językiem zacząć a całą resztę w stylu poradników bibliotek kompilatorów itd. sam sobie znajdę :)

@Down - Dlatego zacząłem już kurs C++ XD

Link do komentarza
Udostępnij na innych stronach

Aha, dobrze, bardzo dobrze :) Pogratulować takiego podejścia. Żebyś tak jeszcze 5 postów wcześniej je wprowadził w życie ;)

Wpisz w wyszukiwarkę forum hasło pascal z ograniczeniem do tego działu. Zobaczysz ile razy padła już sugestia "pascal fuj".

Link do komentarza
Udostępnij na innych stronach

Pascala nie znam bo nigdy się go nie uczyłem tak na serio, znam tylko trochę z lekcji. O samej specyfikacji tego języka wypowiadał się więc nie będę. Mogę jednak odpowiedzieć na pytanie czy trzeba zaczynać właśnie od niego. Odpowiedź brzmi nie. Sam zacząłem od C++ i nie miałem jakiś wielkich problemów z jego opanowaniem, trzeba było tylko kodować 10 razy tyle niż czytać. W trakcie nauki programowania należy tworzyć sobie jakieś samodzielne projekty, za każdym razem większe. Nie wolno ograniczać się tylko do przepisywania przykładów. Osobiście polecam jeszcze C# do typowych aplikacji okienkowych, umożliwia szybkie i wygodne ich tworzenie.

Link do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

Znam na średnim poziomie C++ i uważam, że każdy może łatwo i przyjemnie się go nauczyć (polecam symfonię C++ Grembosza), a co do Pascala- wg. mnie strata czasu- dla przyjemności można jak się już pozna coś sensowniejszego.

Link do komentarza
Udostępnij na innych stronach

Pascal niestety jest językiem liniowym. W dzisiejszych czasach, większość programów jest pisana obiektowo, więc pomijając pisanie niskopoziomowych programów (sterowniki), proponuje zacząć naukę od jakiegoś obiektowego języka np. C++ (ew. Java - łatwiejsza na początek).

Link do komentarza
Udostępnij na innych stronach

Od Javy na 100% łatwiejsze jest Delphi (czyli język, który wywodzi się z Pascala). Jak ktoś nowy w programowaniu zobaczy taką linijkę:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

To się może przerazić i zrezygnować z programowania ;)

Link do komentarza
Udostępnij na innych stronach

Jeśli docelowym językiem jest C++, to jednak lepiej zacząć od Javy. Object Pascal ma zupałnie inną składnie i potem ciężko się przyzwyczaić do tej z C++ (wiem bo sam mialem ten problem, zacząłem od Pascala i potem były problemy)

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...