|
[+] Pascal/C++ - od którego zacząć?
Slow - 17-04-2008 23:02
Witam. Wiem że takich pytań jest na forach pełno ale w żadnym nie jest dokładnie określone czy lepiej zacząć od pascala czy odrazu od C++. Wprawdzie pascala już się kiedyś uczyłem ale jedyna rzecz którą jeszcze pamiętam to to że program zaczyna się begin a kończy end. Od czego waszym zdaniem powinno się zaczynać naukę programowania?
thalcave - 17-04-2008 23:13
Myślę, że od C/C++. Języki te są częściej stosowany i bliżej im do innych języków (PHP, Java)
B33RK4 - 17-04-2008 23:14
c++, pascal to przeżytek.
salmon - 17-04-2008 23:42
python to przyszłość
AdeBe - 18-04-2008 00:41
Zdecydowanie C++, aczkolwiek nie próbuj uczyć się od razu całego języka z wszystkimi wyjątkami, niuansami konstuktorów itp. Opanuj raczej w podstawowym stopniu składnię i ugruntowuj tą wiedzę pisząc programy, a potem dodawaj po kawałku następne elementy.
taz0e - 18-04-2008 00:57
Pascal jest dobry jesli chcesz nauczyc sie myslenia algorytmicznego, jesli tak to na poczatek polecam 'Turbo Pascal. Ăwiczenia praktyczne'.
giaur - 18-04-2008 08:40
Po co komu pascal? C++, C# i Java w takiej kolejnosci, jak poznasz C++ pozostale dwa pojda bardzo latwo.
Calasilyar - 18-04-2008 10:30
C++ -> PHP, Java (ewentualnie można zacząc od C, ale to raczej nie potrzebne), Pascala nie ma sensu ruszać.
lupinek - 18-04-2008 11:18
C++ rzecz jasna :)
Slow - 18-04-2008 12:58
No dobra to jeszcze jedno pytanie czy takie coś starczy na początek czy lepiej zainwestować w jakąś książkę.
http://xion.org.pl/?dl_id=7
Arnvald - 18-04-2008 14:56
Inwestuj w książki, naprawdę warto
_Toshi_ - 18-04-2008 23:27
Znacznie wydajniejsze jest czytanie książki i klepanie kodu niż przeskakiwanie ALT-TAB'em pomiędzy edytorem a wersją elektroniczną kursu... nie wiem czemu ale tak już jest oO'. Jeżeli chcesz opuścić C i zacząć od C++ to polecam Synfonię C++ Grebosza. Bardzo dobra pozycja :)
Calasilyar - 19-04-2008 13:46
Ze swojej strony polecam również "Język C++. Szkoła programowania" S. Praty. Bardzo fajna pozycja.
hellhax - 21-04-2008 01:05
Zalezy jakie masz doswiadczenie w programowaniu Ja proponuje taka kolejnosc:
1) Pascal - nauka podstaw programowania, podstawowych struktu danych, podstawowych instrukcji sterujacych, ew wskaznikow - nie ma sie co zaglebiac w pascala bo to jezyk czysto dydaktyczny ale jak sie nie ma pojecia o programowaniu to tylko pascal - jezt DUZO latwiejszy od C. Generalnie jak sie umie programowac i sie napisalow zyciu pare algorytmów, czy struktur danych w zyciu to mozna olać:)
2) C - ten jezyk to absolutna podstawa - nie dlatego ze w nim sie pisze duzo w dzisejszych czasach (choc troche sie pisze jednak) ale dlatego ze ne jego skladni opieraja sie najpopularniejsze jezyki programowania (c++,java,c#, php) - najwazniejsze jest poznanie wskaznikow, dynamicznej alokacji pamieci - tablic lanchuchów znaków, struktur etc - a jednoczesnie jest dosc prosty i wydajny:)
3) C++ ten jezyk jest bardzo poteżny ale tez bardzo skomplikowany - napewno nie polecam zaczynania nauki programowiania od niego - powinno sie znac przynajmniej C. a jak sie nie ma pojecia o programowaniu to nie radza wkladac lap w to na start bo mozna sie szybko zniechecic.
salmon - 21-04-2008 01:10
E tam, przesadzasz. Ja się uczyłem w dokładnie odwrotnej kolejności co podajesz i nic mi się nie stało :) (pascala z przymusu). Później poznałem pythona i wszystko poszło w odstawkę...
hellhax - 21-04-2008 13:20
No tak tylko jeszcze pozostaje kwestia na ile wiedziales co sie dzieje w Twoim programie w C++ napisanym bez znajomosci C - oczywiscie wszystko zalezy od tego jak skomplikowane programy sie pisze.
Ale to jest tylko moje zdanie:)
salmon - 21-04-2008 14:28
Może ustalmy co nazywamy C, bo wskaźniki w C++ też są. Po prostu zamiast stdio używałem iostream, zamiast char*, string, zamiast qsort(bardzo długa lista parametrów), korzystałem z sorta z STLa. Z STLem w ogóle to się bardzo szybko zaprzyjaźniłem i doskonale wiedziałem co się dzieje w moim programie, nawet kod był bardziej przejrzysty :)
giaur - 24-04-2008 22:31
salmon: dobrze prawisz, a nastepny krok to boost.
Jezeli chodzi o stl-a to generalnie stringi zamiast char*, vector zamiast tablicy i masa problemow z glowy, jest tez kilka innych przydatnych rzeczy, ot chodziazby map.
Co do wskaznikow: w C# wcale ich nie ma (no chyba ze ktos sie bardzo uprze ze mu sa potrzebne, ale naprawde uzasadnione jest to baaaardzo rzadko), nie ma zarzadzania pamiecia (prawie) - jest new a nie ma delete :) Dlatego m.in jest tak latwy
hellhax - 29-04-2008 23:34
Mi chodzilo o to ze wsazniki i manipulacja pamiecia bezposrednio na niskim poziomie maja duza wartosc edukacujna jak ktos sie uczy - ja tam przynajmniej mialem z tym do czynienia troche i wcale nie zaluje:)
jest to o tyle wazne ze w dzisiejszych czasach jezyka c sie uzywa glownie do programowania niskopoziomowego i sprzetowego (tj mikroprocki etc)
oczywiscie moze nie jest to jakos top importance bo jednakwiekszosc softu sie pisze w javie i .necie a one maja zarzadzana pamiec albo w c++ ale jak juz salon wspomial mozna sie bez niego obejsc...
tak czy inaczej uwazam ze jezyk C warto znac i choc troche go liznac przed c++
ale to je tylko moje zdanie:)
AdeBe - 30-04-2008 00:11
C warto znać jeszcze choćby z takiej przyczyny, żeby wiedzieć w czym C++/Java/C# są lepsze przy tworzeniu aplikacji użytkowych :mrgreen:
3ndriu - 03-05-2008 18:48
Nie chcę zakładać niepotrzebnie nowego tematu, więc zapytam tutaj. Wiele osób zachwala książkę "Symfonia C++". Jak prezentuje się w porównaniu z nią "Thinking in C++"? Może ktoś miał w ręku obie te pozycje? Zastanawiam się, która byłaby lepsza dla początkującego programisty (czyli takiego, który wie mniej więcej o co chodzi z programowaniem, co to są obiekty i wskaźniki).
mikolajs - 03-05-2008 22:16
Obie książki są dobre. Uczyłem się z Symfoni i polecam, Thinking ... czytałem kawałki i też całkiem niezła, choć nie gwarantuje za całość bo np. w Thinking in Java Eckel wymyślił sobie że każdy musi znać wyrażenia regularne i skonstruował dziwne klasy które służyły zamiast wydruków programów co powodowało moją niechęć do czytania tej książki, mimo bardzo dobrego tłumaczenia składni javy. A wracając do Twojego wcześniejszego pytania to: pascal - w miarę łatwy język do nauki dla początkującego programisty, ale nie za bardzo przyda ci się w przyszłości, wymyślono go jako pomoc dydaktyczną i w tym sprawdza się najlepiej. Na windows mógłbyś ewentulnie przenieść się na Delphi który jest oparty na Pascalu c/c++ - są dość trudne dla początkującego i obecnie raczej rzadko używa się ich do pisania programów dla biznesu, opłaca się w nich pisać programy które mają działać szybko, w czasie rzeczywistym lub gdy bardzo wielu użytkowników będzie z nich korzystać Java i C# - to obecnie chyba najbardziej popularne języki do tworzenia oprogramowania użytkowego - wcale nie musisz zaczynać od C lub C++ aby nauczyć się w nich programować, (chyba że chcesz poświęcić dużo czasu na naukę wtedy warto zapoznać się w cześniej z C/C++) języki skryptowe - dość łatwe do nauki, umożliwiają wykonywanie w prosty sposób rzeczy które w innych językach wymagają wielu godzin pracy i wysokich umiejętności . Niestety ich wadą jest mniejsza prędkość działania więc nie napisze się w nich wielkiej szybkodziałającej aplikacji. Za to szybkość tworzenia programów jest dużo większa. Wybór języka zależy głównie od tego ile czasu chcesz poświęcić na naukę i co chcesz zrobić z tą umiejętnością. Osobiście polecałbym Ci rozpoczęcie nauki języka skryptowego typu python, perl itd a z czasem wraz ze wzrostem wiedzy ogólnej douczenie się innych języków w zależności od potrzeb. Słyszałem kiedyś taką opinię, że należy zaczynać naukę od C bo później gdy ktoś nauczy się Javy lub pythona to nie chce już sięgać do tak niskopoziomowego języka jak C. Ale świadczy to chyba o tym, że większości nie jest on już potrzebny. To oczywiście moja subiektywna opinia, ale najważniejsze abyś się szybko zdecydował i zaczął wreszcie pisać bo jak mówił pewien znany poeta: "ÂŻeby nauczyć się pisać trzeba pisać ..." Pozdrawiam MS
AdeBe - 04-05-2008 15:18
mikolajs poruszył ważną kwestię. Zastanów się CO chcesz programować. Jeżeli aplikacje okienkowe dla zwykłych biznesu to faktycznie Java może być dobra. Jeśli aplikacje okienkowe dla zwykłych juserów, to IMHO C++ nadal ma duże znaczenie. Natomiast C obecnie jest używany głównie (pomijając GTK) do pisania sterowników, kernela, ogólnie "blisko" sprzętu.
3ndriu - 05-05-2008 14:44
mikolajs, cała Twoja wypowiedź jest skierowana do mnie? Nie wiem, czy zauważyłeś, ale to nie ja założyłem ten temat. Ja tylko zastanawiam się, która z ww. książek jest lepsza (bo słyszałem, że "Thinking in C++" jest dla osób "oblatanych" w programowaniu).
jedi1 - 06-05-2008 01:09
3ndriu thinking in C++ mozesz sobie zobaczyc w necie, jest do sciagniecia za darmo (angielska wersja)
thinking in C++ tylko przegladalem, ale wydaje mi sie ze symfonia jest ciekawiej napisana i lepiej wytlumaczona, thinking in C++ taki bardziej techniczny imho, ale nie przeczytalem calej ksiazki wiec moge sie mylic, ale przy tym chyba posiada wiecej informacji:)
giaur - 06-05-2008 08:17
Na p2p jest masa ksiazek informatycznych, do C++ multum, po polsku tez. Zreszta moim zdaniem upieranie sie na materialy po polsku uczac sie programowania to glupota i niestety predzej czy pozniej przyjdzie chwila, ze trzeba bedzie siegnac po angielska dokumentacje. Jezeli angielski to dla kogos bariera nie do pokonania, to niech da sobie spokoj z programowaniem, bo zbyt daleko nie zajdzie. Tak na dobra sprawe ksiazke mozna przeczytac uczac sie samych podstaw (typu skladnia i wszystkie konstrukcje dostepne w danym jezyku), ale zawsze najlepsza nauka to praktyka. A poza tym, poznajac nowe technologie ksiazka bedzie zawsze nieaktualna albo wcale jej nie bedzie.
Pokazcie mi jakakolwiek ksiazke o wxWidgets, GTK (po polsku, ale porzadna), QT. Ilosc ksiazek po polsku do C#, to pewnie okolo 2-3, a zadna nie dotyczy na pewno Visual C# 2008, .NET 3.5. Linq, WebSerwice Software Factory - takich rzeczy najlepiej uczyc sie z oficjalnej dokumentacji, a nie wydawac kase na ksiazki.... no ale to tylko moje zdanie
Co do wydajnosci... C++ - natywne, szybkie, C# - prawie rownie szybkie (najwiekszy narzut przy pierwszym uruchomieniu aplikacji, co wynika ze sposobu dzialania .net) i bardziej pamieciozerne, Java - cholernie pamieciozerna i bardzo wolna w porownaniu z pozostalymi dwoma, ale za to wieloplatformowa..... czego uzyc to zalezy od sytuacji
Theq - 06-05-2008 09:34
+ C# - ciagle windows only :-P
AdeBe - 06-05-2008 09:51
+ C# - ciagle windows only :-P
A Mono to co?
Theq - 06-05-2008 10:05
A robiles cos (powazniejszego) pod mono? Jedno nie dziala, jednego nie ma, az w koncu jedynym wyjsciem jest robienie pod windows. Troche jak z wine tylko gorzej.
mikolajs - 06-05-2008 12:54
Przepraszam 3ndriu ale nie zauważyłem, że kto inny pyta o książkę, a kto inny zakładał post.
Co do C# to na Windows działa on trochę szybciej niż Java (ale nie tak bardzo) natomiast w mono jest znacznie wolniej niż w Java (Linux). Poza tym C# jest dużo wolniejszy od C++ a nie prawie tak samo szybki. Można co prawda używać unsafe mode ale jest to kłopotliwe. Przenośność C# na inne platformy nie jest tak dobra jak Javy. Język jest bardzo podobny do Javy dlatego też dużo łatwiejszy od C++, ale nie daje takich możliwości jak C++. Programiście który chce robić programy głównie na Linux nie polecałbym tego języka. Jest on idealny dla programistów windows. Moja opinia oczywiście jest bardzo subiektywna bowiem pisałem dużą aplikację w tym języku choć szczerze go nienawidzę!
Jeśli chodzi o książki po polsku to osobiście zdecydowanie lubię czytać w rodzinnym języku! Czytając książkę po polsku szybciej zrozumiem o co chodzi. Oczywiście książka jest tylko podstawą, wporwadzeniem do zagadnienia, a wszystkiego i tak trzeba nauczyć się w praktyce i dopiero tutaj sięgam po dokumentację. ÂŻadna dokumentacja nie jest napisana dobrze pod względem dydaktycznym. Nie wyobrażam sobie nauczenia się języka programowania z dokumentacji (references). Pozdrawiam.
Slow - 06-05-2008 19:03
Ja wybrałem C++ ponieważ i tak od września będę miał go w szkole więc będzie mi wtedy łatwiej a czy później przy nim pozostanę czy wybiorę inny to się okaże a innych języków spróbuje na pewno bo inaczej nie znajdę tego odpowiedniego dla mnie.
Marcinnn - 22-05-2008 12:48
Do początków dobry jest python, ob jest dosyć prosty, jest używany, wymusza pisanie przejrzystego kodu.
Kolcz - 08-06-2008 08:00
Ja w pierwszej klasie liceum uczyłem się pascal'a, potem dwa lata przerwy. Teraz zaczełem się uczyć C++ i żałuje że wcześniej tego nie zrobiłem. Gdybym miał teraz wybierać od czego zacząć, bez wahania wybrałbym C++. Co do książek to polecam "Symfonia C++" Grębosza, jest świetna! :)
giaur - 24-06-2008 13:25
Jeśli chodzi o książki po polsku to osobiście zdecydowanie lubię czytać w rodzinnym języku! Czytając książkę po polsku szybciej zrozumiem o co chodzi. Pozdrawiam.
Hm... a ja juz niekoniecznie. Problem w tym, ze tlumaczenia sa czasami dosc karkolomne (na przyklad jak bedzie po polsku "Garbage Collector"), czasami wrecz zastanawiam sie czego dotyczy tekst.... chociaz dobrze napisanych artykułów i ksiazek to nie dotyczy
Oczywiście książka jest tylko podstawą, wporwadzeniem do zagadnienia, a wszystkiego i tak trzeba nauczyć się w praktyce i dopiero tutaj sięgam po dokumentację.
Dokladnie, wlasnie to mialem na mysli i pisalem o tym wyzej.
ÂŻadna dokumentacja nie jest napisana dobrze pod względem dydaktycznym. Nie wyobrażam sobie nauczenia się języka programowania z dokumentacji (references).
To zalezy... osobiscie jestem zdania, ze nie warto kupowac ksiazek. Dlaczego? Do nauczenia sie podstaw (podstawowej skladni jezyka) spokojnie wystarcza kursy w internecie. Majac podstawy, mozna siegnac do oficjalnej dokumentacji opisujacej bardziej zaawansowane techniki, dostepne frameworki, bitlioteki itd, ktora niejednokrotnie wcale nie jest tak zle napisana jak twierdzisz (chociaz bywaja i wyjatki) Z kolei, majac jakis konkretny problem: - 90% szans, ze w zadnej ksiazce nie bedzie jego rozwiazania (albo nie w tej, ktora akurat posiadasz), a jezeli nawet bedzie, to przestarzale - na google znajdziesz rozwiazanie problemu (lub jego przyczyne) wielokrotnie szybciej
Poza tym, nie wyobrazam sobie siedzenia przy komputerze i kartkowania ksiazki, a nie daj Boze przepisywania listingow przykladowych programow. Ksiazke to moge sobie poczytac siedzac w wygodnym fotelu
Pomijam juz fakt, ze kazda ksiazka bedzie ZAWSZE nieaktualna w stosunku do oficjalnej dokumentacji
mikolajs - 24-06-2008 14:13
A widziałeś kurs internetowy na poziomie zbliżonym do dobrej książki? Ja oczywiście czytam książkę siedząc właśnie w fotelu :-) A do komputera zasiadam dopiero po przeczytaniu lektury i wtedy dopiero naprawdę zaczynam się uczyć. Kodu nigdy nie przepisuję, dobre książki mają dołączony kod źródłowy na płycie lub na stronie internetowej i wtedy można sobie poeksperymentować. Na pewno można samodzielnie nauczyć programować się bez książek, ale łatwiej to zrobić z książką. Osobiście nie lubie błądzić tam gdzie istnieją drogowskazy. Co do języka angielskiego to jest kwestia jego dobrej znajomości. Zgadzam się z tym, że często można spotkać problemy z jakością tłumaczenia. Jest wiele sporów co do polskiego nazewnictwa terminów informatycznych i w tym przypadku najlepiej znać angielskie określenia. Jedank takie określenie jak "Odśmiecacz" nie przeszkadza mi w rozumieniu jego sposobu działania. Zgadzam się że książka NIE ZASTÂĄPI dokumentacji, tylko ułatwia uczenie się. Być może zdolniejsi mogą sobie odpuścić czytanie. Ja uczę się szybciej gdy najpierw coś przeczytam (i myślę, że jest nas więcej ;-) ) Niech więc każdy wybiera metodę, która jest w jego przypadku skuteczniejsza. Pozdrawiam
HeNiEk - 24-06-2008 14:55
Na początek polecę co to poprzednicy, czyli Symfonię C++ Grębosza, ale jeśli już się trochę orientujesz temacie to może Thinking in c++? Bardzo fajna książka :-)
Itadakimasu - 17-07-2008 15:57
A ja nie polece na poczatek C++. Zaczynajac zabawe z programowaniem powinno sie zaczac wedlug mnie od czystego C i programowania proceduralnego. Przy dobrej podstawie z C, mozna wedlug mnie wejsc na wysokopoziomowe C++ oraz rownolegle uczyc sie zagadnien z zakresu ogolnie pojetego programowania obiektowego. No i nie zgodze sie ze ksiazki sa nie warte zakupu. Jest wiele dobrych ksiazek oferujacych kompleksowa wiedze niedostepna w takiej zbiorczej formie w internecie, opatrzona czasem takze instrukcjami o dobrych nawykach programistycznych itp.
Do C polecam "ANSI C" - klasyka "Symfonia C++" jest niezgorsza do C++. Polece tez "Zaawansowane programowanie w C++" do poglebienia wiedzy z wydawnictwa Helion (nie pamietam autorow)
TheMasakra - 26-07-2008 11:26
A ja nic nie polecę, bo ile ludzi, tyle opinii.
Co nie zmienia faktu, że zaczynając programowanie w C++ z książką "Programowanie C++" wydawnictwa Jamnik bodajże, pierwsza część była poświęcona C. Na początku zaznaczyli, że każdy program w C jest też programem w C++, z kilkoma wyjątkami, które w trakcie nauki były przedstawione. Dlatego ucząc się C, zdobędziemy podstawową wiedzę o C++ i zawsze jak kiedyś przyjdzie nam pracować z C (bo nigdy nie wiadomo), nie będziemy mieli problemów.
pietrzuch - 29-08-2008 21:48
Ja tam uważam dokładnie odwrotnie z początku zaczynałem od Pascala i nie uważam to za czas stracony, nauczyłem się podstaw programowania, dzięki czemu później bezproblemowo opanowałem c++. A jako książkę przypominającą język c++( i trochę uczącą) to mogę polecić "C++ ćwiczenia praktyczne" :-P - Andrzeja Stasiewicza.
lucyfer666 - 03-12-2008 17:52
Przepraszam, że tak wtrącę w środku tematu, ale mam 2 małe pytania, a szkoda mi zaśmiecać nowym tematem. Niedawno zacząłem bawić się w pisanie w C\C++'ie więc proszę Was o wyrozumiałość.
1. Jak skompilować program za pomocą gcc napisany w C? 2. Jak włączyć kolorowanie składni w VIMie?
snah - 03-12-2008 18:14
Przepraszam, że tak wtrącę w środku tematu, ale mam 2 małe pytania, a szkoda mi zaśmiecać nowym tematem. Niedawno zacząłem bawić się w pisanie w C\C++'ie więc proszę Was o wyrozumiałość.
1. Jak skompilować program za pomocą gcc napisany w C? 2. Jak włączyć kolorowanie składni w VIMie?
1.
gcc program.c -o program
2.
:syntax on
maly - 03-12-2008 18:16
Przepraszam, że tak wtrącę w środku tematu, ale mam 2 małe pytania, a szkoda mi zaśmiecać nowym tematem. Niedawno zacząłem bawić się w pisanie w C\C++'ie więc proszę Was o wyrozumiałość.
1. Jak skompilować program za pomocą gcc napisany w C? 2. Jak włączyć kolorowanie składni w VIMie?
Ad2 Plik /etc/vim/vimrc. Tam znajdź linijkę syntax on i usuń z niej cudzysłów. Vim powinien teraz kolorować składnię.
lucyfer666 - 06-12-2008 09:17
debian:/home/lukasz# vim Error detected while processing /usr/share/vim/vimrc: line 20: E319: Sorry, the command is not available in this version: syntax on Press ENTER or type command to continue
Niestety nic. Wyświetla takie coś gdy uruchamiam VIMa. A kolorować składni za nic nie chce. Z tego co rozumiem to
Można skądś wziąć inną wersję albo cokolwiek? Proszę o pomoc.
snah - 06-12-2008 10:11
apt-get install vim
Domyślnie jest zainstalowana okrojona wersja vim-tiny.
lucyfer666 - 06-12-2008 17:16
No racja :-) Pomogło. Dzięki bardzo.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|