Książka do C#

Witam

Planuję kupić książkę do nauki języka c#. Dodam, że znam podstawy c++. Mam okazję kupić taniej tą książkę -> http://allegro.pl/item1071562573_c_i_ne … perry.html. Czytałem też o niej wiele pozytywnych opinii. Martwi mnie tylko to, że opisuje ona .Net 2.0 a obecnie jest już wersja 4. Czy różnice w tych wersjach są duże? Może warto jednak kupić jakąś książkę opisującą nowszą wersję .Neta np taką -> http://allegro.pl/item1071334072_c_3_0_ … perta.html. Proszę o pomoc.

Witam również,

Osobiście polecam tą książkę -> http://ksiegarnia.pwn.pl/produkt/7500/jezyk-c-2008-i-platforma-net-35.html

Zaznaczam tutaj jednak, że nie nauczy Cię ona czym jest pętla i tym podobnych rzeczy. Autor zakłada, że już to wiesz. Co najwyżej książka ta omawia składnię pętli w C#. Ale skoro znasz podstawy C++ to nie będzie to stanowić problemu.

Różnice między .NET 2.0, a 4.0 są bardzo duże. Szczególnie między 2.0 a 3.0, bo w 3.0 pojawiło się kilka nowych technologii. Książek po polsku do .NET 4.0 jeszcze nie ma. W końcu to coś nowego (po angielsku już są). Tych książek, które wymieniłeś nie czytałem, ale o tej drugiej czytałem pozytywne opinie.

Generalnie pytanie, czego teraz chcesz się uczyć. Patrz przede wszystkim na spis treści, a tym samym jakie tematy są poruszane, jakie są opinie, no i raczej nie kupuj książek poniżej .NET 3.0. Ta książka, którą ja podałem stanowi świetne wprowadzenie w C# i .NET i związanych z nim technologii. Ale od razu mówię to nie jest książka, którą przeczytasz w tydzień (a pewno nawet w miesiąc) :stuck_out_tongue: Oczywiście na początku połowa rzeczy, która tam jest zawarta nie będzie Ci potrzebna.

Dzięki za odpowiedź. No cóż, najbardziej interesuje mnie pisanie aplikacji okienkowych, najlepiej powiązanych z systemem operacyjnym. Tworzenie aplikacji internetowych, czy nawet samych stron www niezbyt mnie pociąga także jesli chodzi o ASP.NET to ten temat nie musi być jakoś bardzo szczegółowo poruszany. Ostatnio przeczytałem jeszcze sporo pozytywnych komentarzy o książce C# 3.0 dla .NET 3.5. Księga eksperta i chyba ją kupie. Wiem że opanowanie tegoż tematu zajmie mi sporo czasu, mam nadzieje jednak, że jak skończę to będzie jeszcze praca dla programistów C# :slight_smile:

O to, akurat, się martwić nie musisz :smiley:

Tylko, że programista C# zazwyczaj tworzy w ASP.NET - takie są potrzeby rynku.

też to ostatnio dostrzegłem :slight_smile: dziś coraz rzadziej chyba robi się aplikacje WinForms, a coraz więcej WebForms właśnie :wink:

Nie ucieszyła mnie ta wiadomość, nawet trochę się zdziwiłem. Moim zdaniem do pisania aplikacji internetowych lepiej nadaje się PHP nie mówiąc już o tym, że częściej jest wykorzystywany. Widocznie tak to już jest że biedny informatyk zawsze się musi dostosować do rynku, czy mu się to podoba czy nie…

biedny informatyk będzie robił w PHP, dlatego będzie biedny :stuck_out_tongue: :lol: dobra, może trochę przekolorowałem, bo póki co PHP jest jeszcze najpopularniejsze, ale duża część serwisów przechodzi na asp, chociażby główny serwis dobreprogramy (by daleko nie szukać), mimo że forum świetnie się trzyma pod PHP :slight_smile:

Nie rozumiem dlaczego nie ucieszyła Cię ta wiadomość. No skoro zaczynasz naukę nowego języka to chyba fajnie, gdy okazuje się, że język ten ma zastosowanie w tylu różnych obszarach (aplikacje okienkowe i internetowe, usługi sieciowe, aplikacje na PDA, aplikacje rozproszone). WinForms jest jak najbardziej używane i na pewno warto się go nauczyć. A tak przy okazji powolutku, bo powolutku, ale nowa technologia WPF będzie wypierać WinForms. I jeszcze jedno … dlaczego uważasz, że php lepiej nadaje się do pisania aplikacji internetowych?

Nie ucieszyła mnie ta wiadomość bo nie za bardzo lubię pisać strony internetowe, niezbyt mnie to interesuje. A co do PHP, to uważam tak bo jest powszechniejsze na rynku, ale skoro ASP.Net wypiera ten język to widocznie nie jest on niezastąpiony.

ależ oczywiście wcale nie musisz pisać aplikacji internetowych w ASP.NET znając C# skoro tego nie lubisz, jeśli nie przekonuje Cię ta dziedzina to kieruj się na specjalizowane aplikacje okienkowe, zamiast na internetowe :wink: swoją drogą, w PHP też można pisać inne rzeczy niż wyłącznie strony internetowe, ale że jest to najpopularniejsze zastosowanie, to już się tak wśród ludzi utarło :wink:

Ja też nie lubię, wręcz nienawidzę. Zwłaszcza, jeśli trzeba sprawić, żeby coś co działa wszędzie działało i pod Operą. Ale po ponad pół roku pracy głównie w ASP.NET idzie przywyknąć. :wink:

Poza tym np. obsługa bazy danych, obliczenia, operacje na danych nie zależą od tego, jaki będzie interfejs użytkownika. Do tego nie trzeba znać ani WinForms ani ASP.NET. Tylko raczej ciężko znaleźć pracę, w której nie będzie się tworzyło ani kawałka GUI. :slight_smile:

Aplikacja WWW to często najwygodniejsza forma aplikacji dla użytkownika, a przede wszystkim firmy, bo powoduje mniej problemów z konfiguracją komputerów, aktualizacjami aplikacji, praktycznie brak wymagań sprzętowo-programowych od komputerów pracowników, możliwość pracy spoza firmy, a nawet z komórki, itp. Ludzie chcą wygody, a nie dźwigania ze sobą wszędzie kompa. :slight_smile:

Jasne, że znaczna część oprogramowania użytkowego i narzędziowego musi być napisana jako aplikacje desktopowe, bo korzysta z zasobów, do których nie da się dostać przez przeglądarkę. Ale nie zauważyłem zbyt wiele takiego oprogramowania korzystającego z .NET ani nie znam zbyt wielu firm takie tworzące.

Nie zapominajmy także, że WinFormsy jako technologia są powoli porzucane na rzecz WPF. A WPF (czyli w zasadzie desktopowy Silverlight) bardziej od strony programowania przypomina ASP.NET niż WinFormsy (deklaratywne tworzenie interfejsu w języku opisowym, opartym na XML).

Gdy szukałem pracy w lato zeszłego roku, to liczba ofert aplikacji webowych była ze 20 razy większa od desktopowych, znaczy takie są wymagania rynku. Nie wystarczy znać C#, trzeba też znać ASP.NET, JS, CSS i XHTML. A za 5 lat być może trzeba będzie znać coś innego, bo to już będzie stare/porzucone/zmienione. C# przecież ciągle się zmienia, a .NET rozrasta. To nie jest tak, że raz się nauczysz na całe życie.