ChceszList NR.9 Witam. Mam na imię ****** i jestem osobą dosyć młodą. W tym roku kończę 18 lat. Chodzę to technikum informatycznego, w którym żadnych problemów nie mam.

Chciałbym zacząć przygodę z programowaniem. Pomimo, że zostały mi jeszcze 2 lata nauki już myślę o studiach programistycznych. Wiedzę przyswajam dosyć łatwo chociaż zależy to od przedmiotu i rodzaju wiedzy. Tylko nie wiem od czego zacząć .

Czym zajmować się na początku. Czego uczyć się pierwszego i czego w następnej kolejności. Chciałbym prosić o poradę dotyczącą początków z programowaniem.

[Koniec listu]

[Inny list]

Hej. Chciałbym rozpocząć swoją przygodę z programowaniem, ale nie wiem od czego, zacząć, nie wiem czy dam radę. Skończyłam zupełnie inny kierunek studiów. Mój brat jest informatykiem, ale on interesował się komputerami od zawsze. Co byś mi poradził od czego zacząć? Pozdrawiam.

[Koniec listu]

Postanowiłem napisać ten wpis i być może więcej wpisów tego typu ponieważ naprawdę jest mi trudno odpisywać na takie listy w kilku zdaniach. Chcecie więc zostać programistami. Napisania fragmentu tekstu, który by wam pomógł jest nie lada wyzwaniem.

Istnieje wiele ścieżek programistycznych. Ścieżka .NET jest oczywiście mi najbardziej znana i na niej się skoncentruję. Gdyby jednak chciał ktoś zacząć programować w Pythonie albo Ruby. Java moim zdaniem też jest akceptowalna, gdyż łatwo to doświadczenie przełożyć na inne.

Przejdźmy jednak do platformy:

.NET

.NET wspiera wiele języków programowania. C# jest jednak standardem. Zalecam zdecydowanie skupić się tylko na C#. F# to wysoka szkoła jazdy i nie jest to tylko język dla początkujących. Visual Basic jest językiem archaicznym i lepiej nie zawracać sobie nim głowy.

Jak poznać składnię C#? Wystarczy przeczytać wpisy pod tagiem C# na tym blogu. To spokojnie wystarczy do nauki składni.

To jednak za mało. Poznanie samej składni C# nie gwarantuje dobrego kodu. Co więcej będziesz musiał poznać pewne biblioteki w C#, które ułatwiają życie programistom na co dzień. Przykładowo biblioteka JSON.NET do obsługi formatu JSON.

Warto zapoznać się z LINQ.

LINQ TO OBJECT W C# 4.0

http://helion.pl/ksiazki/linq-to-objects-w-c-4-0-troy-magennis,linobj.htm

Jeśli chodzi o frameworki to zdecydowanie WPF i Windows Forms odpada. Karierę programisty warto skupić na budowaniu stron internetowych. ASP.NET MVC jest solidną opcję w karierze. Istnieje wiele książek w wydawnictwie Helion, które pomogą wam zrobić pierwsze kroki.

ASP.NET MVC 5. Zaawansowane programowanie

http://helion.pl/ksiazki/asp-net-mvc-5-zaawansowane-programowanie-adam-freeman,asp5zp.htm

Bazy danych i SQL

Niestety na tym nie kończy się nauka. Każda praca programisty wymaga znajomości podstaw SQL. Podstawy SQL są właściwie uniwersalne do każdej popularnej bazy danych. Nie zmienia to jednak faktu, że każda może mieć swój język składniowy. Najgorszy jest PL/SQL z bazy Oracle.

W .NET możesz pracować z każdą bazą. Skoro jednak wybraliśmy platformę .NET do nauki, to warto poćwiczyć na bazie Microsoft SQL Server. Po nauce podstaw SQL warto też zwrócić uwagę na język rozszerzony T-SQL.

Alternatywnie polecam PostgresSQL

Gdy już opanujesz postawy SQL. Warto sobie zadać pytanie jak te zapytania wykonać z poziomu aplikacji .NET. Na tym etapie zalecam tworzyć proste aplikacje konsolowe, które mają spełnić ten cel. Aby wykonać kod SQL z programu C# możesz skorzystać z technologii ADO.NET.

Istnieją też technologie, które pozwolą ci zmodyfikować bazę bez pisania kodu SQL tylko przy użyciu C#. Te technologie to ORM. ORM to notacja obiektowa, która mapuje relację tabelkową w bazie na obiekt klas w C#. W .NET są dwie technologie, które są używane : Entity Framework i NHiberante.

Do nauki SQL polecam tę książkę.

Praktyczny kurs SQL. Wydanie III

http://helion.pl/ksiazki/praktyczny-kurs-sql-wydanie-iii-danuta-mendrala-marcin-szeliga,pksql3.htm

Istnieją też specjalne kursy na stronie Pluralsight dostosowane do tych problemów.

Poza kodem

Algorytmy? Różnie z tym bywa. Ktoś ci powie, że jest to super potrzebne. Ja stwierdzam, że jako początkujący programista masz tyle do nauki, że warto traktować to jako ciekawostkę, wartą poznania na wszelki wypadek, gdyby ktoś zadał ci pytanie na rozmowie kwalifikacyjnej.

Warto więc poznać i napisać w C# dla utrwalenia algorytmy sortujące i pewne struktury danych. Pamiętaj jednak, że to wszystko jest już wbudowane w języku, więc musisz uważać na to tylko w rozmowach kwalifikacyjnych.

Gdybyś naprawdę chciał zgłębić, co się dzieje na poziomie komputera, gdy wykonuje się kod, to istnieje tylko jedna polska książka, która to objaśnia. Przykłady jednak nie są napisane w C#.

Zrozumieć programowanie

http://helion.pl/ksiazki/zrozumiec-programowanie-gynvael-coldwind,a_03c3.htm

Strony internetowe

Tutaj będą prawdziwe smoki. Będę szczery, ale jeśli chodzi o tworzenie strony internetowej, wszystko zacząłem rozumieć dopiero, gdy przeżyłem rok pracując jako programista.

Jest tego dużo. Lista jest długa i sam się zastanawiałem, czy tego nie olać, ale później się okazało, że jest to najlepsza inwestycja.

  • HTML, CSS
    • Bootstrap
  • Protokoły HTTP, HTTPS
  • Javascript,
    • jQuery, AngularJS

Istnieje wiele materiałów na te tematy. Radzę zaczynać od postaw. Prosta strona HTML i CSS. Czysty kod JavaScript bez dodatkowych bibliotek.

Kurs, który polecam to ten HTML5 & CSS3 Fundamentals: Development for Absolute Beginners, JavaScript Fundamentals for Absolute Beginners

Jeśli chodzi o książki to polecam:

JavaScript - mocne strony

http://helion.pl/ksiazki/javascript-mocne-strony-douglas-crockford,jscmoc.htm

Narzędzia

Warto się zapoznać z Visual Studio, SQL Server Managment Studio do baz danych, GIT.

Jak raz nauczysz się GIT-a, to nie będziesz mógł żyć bez niego. Upraszcza on życie bardzo. Pozwala śledzić historię swojego projektu.

Git. Rozproszony system kontroli wersji

http://helion.pl/ksiazki/git-rozproszony-system-kontroli-wersji-wlodzimierz-gajda,gitroz.htm

Warto rzucić okiem na Visual Studio Code.

Podsumowanie

Nie ograniczaj swoich źródeł. Zaczynaj od małych kroków. Na początek składnia C#. Potem LINQ i inne ważne triki w tym języku. Przestudiuj narzędzie Visual Studio.

Potem baza danych SQL i narzędzie SQL Menagment Studio.

To na razie na tyle, choć zdaję sobie sprawę, że te porady są bardzo globalne i mało szczegółowe, ale na pytanie jak zostać programistą można by było napisać niejedną książkę.