Strona 3 z 5
: 03 maja 2008, 18:48
autor: 3ndriu
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).
: 03 maja 2008, 22:16
autor: mikolajs
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
: 04 maja 2008, 15:18
autor: AdeBe
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.
: 05 maja 2008, 14:44
autor: 3ndriu
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).
: 06 maja 2008, 01:09
autor: jedi1
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
: 06 maja 2008, 08:17
autor: giaur
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
: 06 maja 2008, 09:34
autor: Theq
+ C# - ciagle windows only :-P
: 06 maja 2008, 09:51
autor: AdeBe
Theq pisze:+ C# - ciagle windows only :-P
A Mono to co?
: 06 maja 2008, 10:05
autor: Theq
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.
: 06 maja 2008, 12:54
autor: mikolajs
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.