C++- czy nie za wcześnie?


(Xpecet11) #1

Mam pytanie odnośnie do nauki języków. Otóż czy powinienem uczyć się C++ jeśli umiem Pascala w konsoli ?? Otóż z nauką C++ narazie nie mam problemów, gdyż uczę się z dobrego kursu. Czy jednak powinienem się uczyć Delphi? Jeśli tak, prosiłbym o linka do dobrego kurzu.

Pozdr.


(Balon) #2

Bawiłem się Delphi i moim zdaniem lepiej uczyć się C++. Delphi jak dla mnie za wolno działa, a C++ śmiga aż miło. Ostatnio też próbuję swoich sił w C++ i bardzo mi się podobało. C++ daje Ci duże pole do popisu, można prawie wszystko dzięki niemu zrobić.

Złączono Posta : 06.08.2007 (Pon) 18:30

Co do kursu to dla początkujących dobra byłaby Symfonia.


(Ryan) #3

Po co kolejny temat z tym samym pytaniem wałkowanym bez przerwy? Każdy z poniższych tematów sprowadza się do pytania: czego się uczyć i w jakim celu. Część odpowiedzi jest bzdurna, ale część pochodzi od ludzi, którzy faktycznie jakieś pojęcie o programowaniu mają. Odsiej odpowiedzi w stylu "mnie się wydaje", "słyszałem że", "podobno" oraz te, które odpowiadają na postawione pytanie bez podania argumentów.

Programowanie - ale jaki język wybrać?

Od czego zacząć robienie gry?

Czego można się na początek nauczyć?

Jaka książka do nauki C++?


(mich@l2312) #4

C++ zawsze się przyda. Ja najpierw nauczyłem się Pascala, ale uważam że popełniłem błąd bo mogłem od razu C++. Co do Delphi jeśli czujesz się na siłach to nic nie stoi na przeszkodzie.


(Xpecet11) #5

Dziękuję za odpowiedzi. Uczę się z kursu:

http://fatcat.ftj.agh.edu.pl/~e6bryzek/download.html

(Środkowe) Czy to dobry kurs?

Przy okazji chciałbym się spytać, czy opyla się Visual Basic? Jeśli tak, poproszę o linka do kursu. :stuck_out_tongue:

Co do Pascala, umiem całą konsolę (Obsługa plików .txt- 99 % :smiley: ).


(Ryan) #6

Ludzie twierdzą, że kurs dobry. Chwalą go sobie. Kiedyś zerknę na niego, żeby sprawdzić czy faktycznie wartościowy.

Co do VB - szkoda czasu.

Co do konsoli w Pascalu - zapewniam Cię, że jeśli jesteś na etapie, na którym mówisz, że coś "prawie całe potrafisz", to jeszcze guzik umiesz. Jeśli nie odejdzie Ci ochota do dalszej nauki, za kilka lat zrozumiesz jak zabawne są deklaracje tego typu i będziesz się uśmiechał do tego co napisałaś. :slight_smile:


(Xpecet11) #7

Bo mam problem. Już piszę o nim w topicu. Daltego przestałem programować w Pascalu. Co do VB- można pisać skrypty :twisted: .


(baciany) #8

Symfonia C++ jest Boska. Autor przez 1200 stron (ponad ) uczy cię wszystkiego (prucz szablonów i czegos - to co nie opisal jest w jego 2 księdze pasja C++ ale to dla bardziej wtajemniczonych)

A co najlepsze przez 1200 stron tylko porgramy konsolowe (tu troche szkoda ale przynajmniej książka jest genialna) Jak umiesz Symfonie to umiesz wszystko niektórzy mówią.

Ja mam ją od nie dawna i podoba mi się jej styl.

Polecam. Kupp sobie (wydanie 2 2006 rok 2 tomy) najlepsza jest.

nie ucz się niczego innego. Przelec Symfonię C++ Standard :smiley:


(Ryan) #9

Baciany, ogranicz ochy i achy. Autor w Symfonii wyrabia kilka złych nawyków i w żadnym wypadku nie tłumaczy "wszystkiego". Po Symfonii wydał przecież Pasję, a i ta książka tematu nie wyczerpuje. Bo tematu się wyczerpać nie da.


(baciany) #10

Wszystkiego możenie ale podstawy na pewną. Zresztą ta książka jest wszędzie polecana a dlatego że jest łatwa i łatwo z niej się uczy (z tąd nazwa "łątwy podręcznik" )


(somekind) #11

Ryan - możesz zdradzić o jakie złe nawyki Ci chodzi?

Symfonia jest bardzo dobra do nauki, bo autor ciągle powtarza dane zagadnienia i mocno wbijają się w pamięć. Szkoda, że ja nie uczyłem się z Symfonii :slight_smile: Moim zdaniem zdecydowanie jest najlepsza do podstaw, a dalej trzeba się uczyć z netu, dokumentacji, itd., już nie z książek.

Zresztą język to tylko narzędzie. Algorytmów i myślenia w języku nie da się nauczyć z żadnej książki, trzeba praktykować.

A Pascal, Delphi i VB to moim zdaniem strata czasu i energii. Nie polecam nikomu. (nie uczyłem się oczywiście, sam widok kodu mnie odrzucał :slight_smile: )


(Ryan) #12

Czytałem dawno i to co pamiętam to fakt, że nie ze wszystkim się zgadzałem. Naczelny problem Symfonii to pchanie paradygmatu programowania obiektowego jako remedium na całe zło. Problem w tym, że obiektowość C++ jest mocno na wyrost i wiele cech C++ wbrew optymizmowi autora jest zwyczajnie szkodliwych lub nadużywanych/błędnie używanych (wielokrotne dziedziczenie, wyjątki, przestrzenie nazw). Wiele użytecznych cech jest skromnie reprezentowanych lub nie pojawiają się wcale (np. template metaprogramming). Język C++ ma wiele niuansów, których Symfonia nie porusza i pytań, odpowiedzi na które w S nie znajdziesz. Nie jest to książka od A do Z jaką się mieni. Co nie zmienia faktu, że to jedna z najlepszych na rynku pozycji. Jeśli potrzebujesz konkretów - we wrześniu będę w Polsce to mogę kupić S i "przelecieć" ją w poszukiwaniu kardynalnych błędów. Tylko jakimże ja jestem autorytetem w porównaniu do Grębosza? :slight_smile: Są lepsze osoby do recenzowania tej pozycji.


(somekind) #13

Nie sposób się nie zgodzić. Grębosz pisze takim... optymistycznym językiem i wszystko tak na "Hurra! Do przodu!", i ciągle pisze jaki C++ jest genialny. No, ale w porównaniu z czymkolwiek wcześniejszym i wieloma późniejszymi, to akurat prawda.

Wyboru tego, których mechanizmów języka używać i jak ich używać nie nauczy żadna książka, to kwestia doświadczenia.

Programowanie to praktyka, a nie teoria. Szkoda, że tak wiele osób nie może tego zrozumieć... A może i lepiej, zawsze to mniejsza konkurencja na rynku pracy :wink:

Chyba większość z tego, czego nie ma w Symfonii jest w kontynuującej Pasji. A reszta w dokumentacjach i na necie.

Takich książek niestety nie ma i na żadną nie można tak patrzeć. Ale Symfonia moim zdaniem na rynku jest najlepsza.

Inna rzecz - gdyby istniała książka od A do Z ucząca programowania zabrałaby kupę frajdy i satysfakcji z odkrywania wielu rzeczy samemu :slight_smile:

Nie potrzebuję konkretów :slight_smile: I nie bądź taki skromny, on jest tylko fizykiem :slight_smile:


(Ryan) #14

Zależy jak leży. Nie ma języków uniwersalnych. Do pisania wydajnego kodu jednowątkowego na poziomie średnim (nie aplikacja kliencka, ale i nie sterownik; serwis systemowy) i wysokim (aplikacje klienckie z małą ilością UI) jest to jeden z lepszych obok C wyborów. Do wszystkiego innego się nie nadaje lub jest wręcz szkodliwy. Pisanie kodu wielowątkowego w C++ to katorga.

Tak można powiedzieć o wszystkim. Książka z definicji nie naucza tylko pokazuje. Książka może pokazać Ci co w jakich ogólnych przypadkach wybrać. Może ostrzegać. Symfonia tego raczej nie robi.

Programowanie to praktyka i teoria. Nie napiszesz dobrego kodu jeśli masz dziury w wiedzy. Wynajdziesz rzeczy, które już istnieją zamiast skupić się na tym co ważne. Napiszesz suboptymaly kod i zajmie Ci to więcej czasu niż powinno.

Wszystkie niuanse podane w sposób średnio zjadliwy są w C++ Bjarne Stroustrupa.

Nikt Ci nie każe czytać książki od deski do deski. Poza tym niektóre rzeczy odnajduje się w sposób bolesny. Lepiej, żeby były wyjaśnione w książce niźli miałbym spędzić tydzień (lub dłużej) starając się zrozumieć jak zbudowana jest VTable przy wielokrotnym, głębokim dziedziczeniu.

A ja tylko użytkownikiem forum. :slight_smile:


(somekind) #15

Pewno, że nie ma uniwersalnych. Ale dla większości programistów, w ich codziennej pracy jest najbardziej uniwersalny. Albo przynajmniej był do czasów Javy i C#.

Na szczęście nigdy nie musiałem. Ale wierzę.

Mam inny pogląd na tą kwestię. Moim zdaniem Symfonia właśnie pokazuje i ostrzega. Ale nawyków nie nabierze się czytając, tylko pisząc właśnie, książka nie pokaże wszystkiego, tylko ruszy z wierzchu tematykę.

Mi chodziło o to, że nie napiszesz dobrego kodu, jeśli przeczytałeś wszystkie książki, a sam do tej pory niczego nie napisałeś. Z resztą się zgadzam.

Ja akurat nie trawię tej pozycji. I znam wiele osób, które potrafiła ona w ogóle zniechęcić do C++. Z całym szacunkiem, ale jej wartość dydaktyczna jest żadna.

Jakoś nie wierzę :stuck_out_tongue:


(Ryan) #16

Ani Java ani C# nie są językami bardziej uniwersalnymi niż C++. O S napisałem niejasno: pokazuje ale nie ostrzega. Nawyków można nabrać także czytając: skoro książka pokazuje zły model, nabierasz nawyku powielania go w swoich programach. Napisałeś, że kodowanie to praktyka, a nie teoria. Nie twierdzę, że praktyka jest zbędna, ale teoria wbrew temu co napisałeś (bez względu na to co pomyślałeś) jest ważna. C++ Stroustrupa nazwałem pozycją średnio zjadliwą właśnie z powodu tego jak jest ona napisana. To almanach a nie podręcznik do nauki. Jeśli ktoś wierzy, że z C++ B.S. nauczy się języka, to ma nierealne oczekiwania wobec tej pozycji. No a wierzyć nie musisz. Z punktu widzenia forum moje opinie są warte tyle, co dowolnego innego użytkownika.


(somekind) #17

Java i C# nie są bardziej uniwersalne, rzekłbym, że wręcz przeciwnie (zwłaszcza Java), ale znacznie ułatwiają i przyspieszają tworzenie najpopularniejszych programów (np. interfejsy do baz danych, aplikacje biurowe, programy klienckie używane w systemach rozproszonych, ASP).

Teoria jest ważna, oczywiście. Ale jest tylko ułamkiem tego, co jest potrzebne do programowania.

Ta "średnia zjadliwość" to z Twojej strony był mocno przesadzony eufemizm. Myślę, że książka telefoniczna jest ciekawsza.

Szkoda tylko, że tak wielu wykładowców szkół wyższych twierdzi, że się da i tego wymaga od biednych studentów.

No jasne. Z tą drobną różnicą, że Ty się znasz i wiesz o czym piszesz.