http://programy.net.pl/program,turbo-pascal.html interesuje mnie ostatnie zdanie przy opisie:
Pascal [...] jest wstępem do programowania w języku C++.
http://programy.net.pl/program,turbo-pascal.html interesuje mnie ostatnie zdanie przy opisie:
Pascal [...] jest wstępem do programowania w języku C++.
Tak samo jak łacina jest wstępem do nauki języka angielskiego :)
Ma to sens, pascal jest językiem dość podobnym do C++ jeśli chodzi o dostępne feature'y, a jednocześnie składnia jest wg mnie bardziej przyjazna dla osoby, która wcześniej nie miała styczności z programowaniem. Czy jest po co uczyć się "pośredniego" języka zanim się przejdzie do C++ to już inna kwestia ;)
Tylko pod słowem "Pascal" obecnie mieści się wiele rzeczy, wiele dialektów i kompilatorów. Nowoczesne - chociażby Delphi czy Free Pascal, całkowicie dają radę. Ale w 2019 roku TurboPascal powinien być jedynie postrzegany w kategorii ciekawostki/zabytku. Coś jak Trabant lub Maluch w dziejach motoryzacji - kiedyś odegrały istotną rolę, ale obecnie raczej nikt z nich nie korzysta, bo są nowsze i lepsze konstrukcje.
Zaczynałem od delphi ale osobiście uważam, że niczego by nie zmieniło gdybym zaczął od c lub c++. Ważne by był to język o stosunkowo małej abstrakcji i był silnie typowany.
Ważne jest to co napisano wyżej, nowoczesny dialekt może być całkiem niezłym wstępem, jest prostszy, wspiera paradygmat obiektywy. Turbo Pascal chyba nie miał? Z drugiej strony, biorąc pod uwagę nowe standardy, C++ juz dosyć daleko odbiegł od tego co było za czasów popularności Delphi.
Jednak jeśli spojrzeć całościowo to nie, Pascal nie jest (tylko) wstępem do C++. To samodzielny język, który ma (za sobą?) Karierę komercyjną
Nauczyciele w szkołach przyczynili się do opinii o Pascalu. Nie chciało im się uczyć innych języków i wmawiali uczniom, że Pascal jest najlepszym wyborem na początek ;)
Jeśli pascal jest wstępem do C++ to naprawianie dwusuwowego diesla jest wstępem do naprawy silników odrzutowych. Niewiele to da. Nauczone konstrukcje w pascslu jak instrukcje sterujące, pętle czy funkcje można nauczyć się Od razu w C++ a reszta zupełnie nieprzydatna w C (np with czy obiekty).
Moim zdaniem na początek dobry będzie każdy język który zmusi piszącego do zrozumienia decyzji podejmowanych przy tworzeniu języków i aplikacji. Oczywiście c++ i Delphi spełniają to założenie całkiem dobrze.
Zaczynałem od Turbo Pascala 7.0 w liceum, ale nie uważam, żeby to był wybór, który ułatwił mi naukę. Gdybym dał sobie spokój z Pascalem, Assemblerem i innymi nieprzydatnymi rzeczami, które uważałem za hobby i na początku XXI wieku zacząłbym naukę od C#, to byłoby idealnie.
Ciezko powiedziec. Z jednej strony tak sie uczylem, wiec jak sie rozumialo wskazniki, funkcje, konstrukcje warunkowe petle itp. To przejscie na C bylo latwe, z C++ i obiektowoscia bylo troche gorzej bo w Pascalu tyle co nas uczyli to strukturalnie. Z drugiej strony przy obecnym podejsciu gdzie czesto sie pisze funkcyjnie, uzywa lambd itp. to bardzo mocno odstaje i trzeba sie przerzucic na inny sposob myslenia co jest trudne.
elwis napisał(a):
Ważne jest to co napisano wyżej, nowoczesny dialekt może być całkiem niezłym wstępem, jest prostszy, wspiera paradygmat obiektywy. Turbo Pascal chyba nie miał?
Miał.
Tylko szkolny Turbo Pascal zwykle kończył się na dość podstawowym poziomie jeśli chodzi o możliwości języka, dlatego w poszkolnej świadomości TP7 ma sporo niższe możliwości niż w rzeczywistości.
EDIT jakoś tak:
{ Turbo Pascal 7 }
type
PMyClass = ^TMyClass;
TMyClass = object
public
constructor Init;
procedure Foo; virtual;
destructor Done;
end;
procedure TMyClass.Foo;
begin
{ etc. }
end;
Później w Delphi słowo object
zastąpiono przez class
i wprowadzono parę innych zmian, jak uproszczenie składni przez pozbycie się konieczności robienia tego PMyClass = ^TMyClass
(samo TMyClass utworzyłoby nam obiekt na stosie, co zresztą jest bliższe C++ niż delphiowe klasy).
U mnie było po kolei C -> Pascal -> Turbo Pascal -> C++ -> Delphi -> C++.
Dzisiaj Pascal może być dobrym wstępem do programowania tak ogólnie (np. Free Pascal), bo mniej z tym problemów jak chcesz dać swoje dzieło koledze.
Ale z C++ to ma to mało wspólnego dzisiaj.
Chyba jednak łatwiej uczyć się obecnie z Pythonem, jednak na C++ nie ma to żadnego przełożenia.
Zresztą C++ w obecnych czasach też średni sens się uczyć.
Raczej proponowałbym Jave / C# (po Pythonie, C i ASM).
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.