Którą książkę wybrać C#?

Witam serdecznie, czy ktoś z was miał do czynienia z tymi książkami?:

http://helion.pl/ksiazki/c-programowani … cshpro.htm

http://helion.pl/ksiazki/c-praktyczny-k … ,cshpk.htm

Jeśli tak to która będzie lepsza dla początkującego użytkownika? Może ktoś z was chciałby sprzedać którąś z pozycji? O ile ta pierwsza jest jeszcze dostępna na allegro o tyle tą drugą nigdzie nie umiem znaleźć :-(, pozdrawiam i czekam na opinie.

Co znaczy początkujący użytkownik?

Jeżeli pierwszy raz na oczy widzisz C# to proponuję książkę Marcina Lisa. Jest napisana przystępnie. Autor prowadzi Ciebie za rękę i pozwala na wspólne tworzenie pierwszych aplikacji (wyświetlanie tekstu na ekranie, podstawowe działania na operatorach, pierwsze klasy, podstawy dziedziczenia i polimorfizmu, wątki…). Programy są bardzo krótkie. Na sam początek powinna być odpowiednia. Nada się również programistom, którzy przesiadają się na platformę .NET z C++ / Javy - tylko w ramach szybkiego przyzwyczajenia się do drobnych zmian, które (przynajmniej w konfrontacji Java vs C#) zaskoczą użytkownika. W przypadku C++ różnica jest zdecydowanie większa.

Wspominając C++, tutaj jest dobre miejsce, aby odnieść się do drugiej książki. Jest zdecydowanie grubsza a więc i dosadniej, szerzej opisuje poszczególne elementy technik programowania w C#. Tutaj możesz zbudować swoją wiedzę od podstaw.

Prawdę powiedziawszy nie wiem jaki jest zamysł i Twoje podejście do C#. Osobiście uważam, że jeżeli ma służyć do nauki programowania obiektowego to lepszym rozwiązaniem będzie wybór języka C++. Jest trudniejszy, jednak wymusza na programiście konieczność zrozumienia zdecydowanie większej ilości technik, podstaw i zasad działania - obudowanych już w C# - bebechów: alokowanie i zwalnianie pamięci, działania na wskaźnikach i wiele innych, zaawansowanych technik, których w C# się przestraszono.

Ostatecznie jednak - jeżeli Twoim celem jest nauka platformy, a obiektowość już znasz - dobrym rozwiązaniem będzie… Przeczytanie obu tych książek. Najpierw tej autorstwa p. Lisa, w drugiej kolejności p. Liberty’ego.

Dobrym pomysłem dla początkujących programistów (takich od zera) jest dość humorystycznie i nowatorsko napisana książka “C#. Rusz głową!”.

Obie książki możesz zamówić ze strony wydawnictwa. Co prawda po cenie sugerowanej, bez zniżek - ale przynajmniej będziesz mieć pewność, że będzie w dobrym stanie i przyjdzie szybko. Jak przeczytasz i stwierdzisz, że znasz zawarty w niej materiał - możesz odsprzedać na allegro, zapełniając tym samym niszę rynkową, o której wspomniałeś. :wink:

To tyle. Pozdrawiam.

Jest trudniejszy, ma porąbaną składnię, a poza tym obiektowość jest w nim dość toporna i niepełna.

Sugerujesz, że w C# nie ma wskaźników? Fail.

I na czym niby polegało to “przestraszenie”? Na zrezygnowaniu z ułomności trzydziestoletniego języka w celu likwidacji 70% przyczyn występowania najczęstszych błędów i znacznego zwiększenia produktywności?

A propos “zaawansowanych technik”, o ile lat C++ jest zacofany w porównaniu z C# w kwestii np. wyrażeń lambda? Bali się ich wcześniej?

IMHO, książka Liberty’ego jest słaba w porównaniu z C# Core, którą bym polecił. Ma mniejszy zakres tematyczny i jest niechlujnie napisana, chociaż może po tylu latach poprawili niektóre błędy.

Nie napisałem, że w C# nie ma wskaźników. Miałem raczej na myśli fakt, że w C# jest to zorganizowane w zupełnie inny sposób (tutaj napisałem “obudowane”). Nieważne - nie to jest obiektem rozmowy w tym temacie.

@tommus

Są wskaźniki (słowo klucz - unsafe code), ale nikt z nich w takiej postaci nie korzysta, bo i po co ? :slight_smile: Ten język ma ułatwiać życie, a nie je utrudniać i dlatego wprowadzono delegaty.

Wiem o istnieniu delegat. Miałem je na myśli w chili pisania o swego rodzaju “obudowie” wskaźników. Nie rozwodziłem się nad tym, bo nie to jest celem tego tematu. Co więcej - Autor tematu jest początkującym programistą C# więc tym bardziej dalsze dywagacje na temat poruszony przez somekinda nie mają sensu. Proponuję wrócić do wyrażania opinii na temat w/w pozycji książkowych, bądź zamknięcie tematu…

Ty poruszyłeś temat, ja tylko poprosiłem Cię o wyjaśnienie. Moją motywacją było to, że autor tematu jest początkujący, a Ty pisaniem ewidentnych bzdur możesz mu namieszać w głowie i zaszkodzić.