Nie tak dawno temu byłem początkującym programistą, próbując znaleźć dobre książki / samouczki na temat języków, których chciałem się nauczyć. Mimo to są chwile, gdy muszę stosunkowo szybko wybrać język do nowego projektu, nad którym pracuję. Celem tego postu jest udokumentowanie jednych z najlepszych samouczków i książek dla tych języków. Zacznę listę od najlepszych, jakie mogę znaleźć, ale mam nadzieję, że tam będziecie mogli pomóc w lepszych sugestiach / nowych językach. Oto, co znalazłem:
Ponieważ jest to teraz edytowalne wiki, daję kontrolę społeczności. Jeśli masz sugestię, umieść ją w tej sekcji. Postanowiłem także dodać sekcję dla ogólnych, aby być lepszymi książkami dla programistów i referencjami online. Jeszcze raz wszystkie rekomendacje są mile widziane.
Programowanie ogólne
Samouczki online
Podstawy programowania Karl Seguin - Z Codebetter, opartego na C #, ale pomysły brzmią ogólnie, nie mogę uwierzyć, że nikt jeszcze tego nie opublikował.
Jak pisać nieusuwalny kod - Anty podręcznik, który uczy, jak pisać kod w najbardziej niemożliwy do utrzymania sposób. Byłoby zabawnie, gdyby wiele z tych sugestii nie brzmiało tak prawdziwie.
Sekcja programowania książek Wiki - zasugerowana przez Jima Roberta jako posiadająca dużą liczbę książek / samouczków na wiele języków na różnych etapach ukończenia
Tylko podstawy Aby poznać język.
Kod książek zakończony - Ta książka jest oczywista, jest naprawdę genialna na zbyt wiele sposobów, aby o niej wspominać.
Pragmatic Programmer - Kolejna najlepsza rzecz do pracy z nadrzędnym koderem, ucząca cię wszystkiego, co wiedzą.
Opanowanie wyrażeń regularnych - wyrażenia regularne są niezbędnym narzędziem w przyborniku każdego programisty. Ta książka, zalecana przez Patricka Lozzi, to świetny sposób, aby dowiedzieć się, do czego są zdolni.
Algorytmy w C , C ++ i Javie - Świetny sposób na nauczenie się wszystkich klasycznych algorytmów, jeśli książki Knutha są zbyt głębokie.
do
Samouczki online
Ten samouczek wydaje się dość skrupulatny i przemyślany, przejrzał materiał i wydaje się całkiem niezły. Nie jestem jednak pewien, jak przyjazny byłby dla nowych programistów.
Książki
K&R C - na pewno klasyk. Można argumentować, że wszyscy programiści powinni to przeczytać.
C Primer Plus - Sugerowany przez Imran jako najlepsza książka C dla początkujących programistów.
C: A Reference Manual - Świetne źródło informacji polecane przez Patrick Lozzi.
C ++
Samouczki online Samouczek
na stronie cplusplus.com wydaje się być najbardziej kompletny. Znalazłem tu inny samouczek , ale nie obejmuje on takich tematów jak polimorfizm, który moim zdaniem jest niezbędny. Jeśli pochodzisz z C, ten samouczek może być dla Ciebie najlepszy.
Kolejny przydatny samouczek, C ++ Adnotation . W rodzinie Ubuntu ebook można uzyskać w wielu formatach (pdf, txt, Postscript i LaTex), instalując c++-annotation
pakiet z Synaptic (zainstalowany pakiet można znaleźć w /usr/share/doc/c++-annotation/
.
Książki
Język programowania C ++ - kluczowy dla każdego programisty C ++.
C ++ Primer Plus - Oryginalnie dodawany jako literówka, ale recenzje amazońskie są tak dobre, że będę go tu trzymał, dopóki ktoś nie powie, że to niewypał.
Skuteczne C ++ - sposoby na ulepszenie programów w C ++.
Bardziej efektywne C ++ - Kontynuacja skutecznego C ++.
Skuteczny STL - sposoby na lepsze wykorzystanie STL.
Myślenie w C ++ - Świetna książka, oba tomy. Napisane przez Bruce'a Eckela i Chucka Ellisona.
Programowanie: zasady i praktyka przy użyciu C ++ - wprowadzenie Stroustrup do C ++.
Przyspieszone C ++ - Andy Koenig i Barbara Moo - Doskonałe wprowadzenie do C ++, które nie traktuje C ++ jako „C z dodatkowymi bitami przykręconymi”, w rzeczywistości zanurzasz się bezpośrednio i zaczynasz używać STL wcześnie.
Naprzód
Książki
FORTH, tekst i odniesienie. Mahlon G. Kelly i Nicholas Spies. ISBN 0-13-326349-5 / ISBN 0-13-326331-2. 1986 Prentice-Hall. Książki Leo Brodiego są dobre, ale ta książka jest jeszcze lepsza. Na przykład obejmuje dogłębne definiowanie słów i tłumacza.
Jawa
Samouczki online Samouczki
Javy firmy Sun - Oficjalny samouczek, który wydaje się być przeświadczony, ale nie jestem ekspertem od języka Java. Znacie jakieś lepsze?
Książki
Head First Java - zalecane jako świetny tekst wprowadzający autorstwa Patrick Lozzi.
Skuteczna Java - zalecana przez pek jako świetny tekst pośredni.
Core Java Volume 1 i Core Java Volume 2 - Sugerowane przez FreeMemory jako jedne z najlepszych dostępnych źródeł Java.
Współbieżność Java w praktyce - zalecane przez MDC jako świetne źródło do równoczesnego programowania w Javie.
Pyton
Samouczki online
Python.org - Dokumentacja online dla tego języka jest całkiem dobra. Jeśli znasz coś lepszego, daj mi znać.
Dive Into Python - sugerowane przez Nickola. Wydaje się być książką w języku Python online.
Perl
Samouczki online
perldoc perl - tak właśnie zacząłem z językiem i nie sądzę, że będziesz w stanie go pokonać.
Books
Learning Perl - świetny sposób na zapoznanie się z językiem.
Programowanie Perla - zwane w dużej mierze Biblią Perla. Niezbędne odniesienie dla każdego poważnego programisty perla.
Perl Cookbook - świetna książka, która ma rozwiązania wielu typowych problemów.
Modern Perl Programming - nowo wydany, zawiera najnowszą wiedzę na temat nowoczesnych technik i narzędzi, w tym Moose i DBIx :: Class.
Rubin
Samouczki online
Adam Mika zasugerował Dlaczego (Poignant) Guide to Ruby, ale po ich obejrzeniu nie wiem, czy to jest dla wszystkich. Znaleziono tę witrynę, która wydaje się oferować kilka samouczków dla Ruby on Rails.
Books
Programming Ruby - sugerowany jako świetny odnośnik do wszystkich rzeczy ruby.
Visual Basic
Samouczki online
Znaleziono tę stronę, która wydaje się poświęcać wizualnym samouczkom podstawowym. Nie jestem jednak pewien, jak są dobrzy.
PHP
Samouczki online
Główna strona PHP - Prosty samouczek, który pozwala na komentarze użytkowników do każdej strony, którą naprawdę lubię.
Samouczki PHPFreaks - Różne samouczki o różnej długości trudności.
Samouczki Quakenet / PHP - samouczek PHP, który poprowadzi Cię od podstaw.
JavaScript
Ćwiczenia Online
Znaleziony porządny poradnik tutaj nastawiona nie-programistów. Znaleziono inną bardziej zaawansowaną wersję tutaj . Nickolay zasugerował ponowne wprowadzenie do javascript jako dobrą lekturę tutaj.
Najpierw książki JavaScript
JavaScript: The Good Parts (z filmem autorki Google Tech Talk )
DO#
Samouczki online Samouczek
stacji C # - Wydaje się, że to przyzwoity samouczek, który wykopałem, ale nie jestem facetem C #.
Specyfikacja języka C # - sugerowana przez tamberg. Nie tak naprawdę samouczek, ale świetne odniesienie do wszystkich elementów C #
Books
C # do rzeczy - sugerowane przez tamberga jako krótki tekst wyjaśniający język z niesamowitą głębią
ocaml
Książki
nlucaroni sugerują, co następuje:
OCaml dla naukowców
Wprowadzenie do ocaml
Korzystanie ze zrozumienia i rozwikłania ocaml: praktyka do teorii i odwrotnie
Rozwijanie aplikacji przy użyciu Ocaml - O'Reilly
The Objective Caml System - Official Manua
Haskell
Samouczki online
nlucaroni zasugerował:
Poznaj funkcjonalne programowanie z Haskell
Books
Real World Total Functional Programming Haskell
LISP / Schemat
Książki
wfarr zasugerowały, co następuje:
The Little Schemer - Wprowadzenie do schematu i ogólnie programowanie funkcjonalne
The Seasoned Schemer - Followup to Little Schemer.
Struktura i interpretacja programów komputerowych - Ostateczna książka o Lisp ( dostępna również online ).
Practical Common Lisp - Dobre wprowadzenie do Lisp z kilkoma przykładami praktycznego zastosowania.
O Lisp - Zaawansowane tematy w Lisp
Jak projektować programy - Wprowadzenie do obliczeń i
paradygmatów programowania sztucznej inteligencji: studia przypadków w Common Lisp - podejście do wysokiej jakości programowania Lisp
Co z wami chłopaki? Czy jestem totalnie nieobecny? Czy pominąłem twój ulubiony język? Wezmę najlepsze komentarze i zmodyfikuję pytanie za pomocą sugestii.
źródło
Wszystkie są naprawdę dobre, napisane przez środowisko akademickie i (niektóre) są książkami (na przykład niepublikowana książka oreilly - przetłumaczona z francuskiego, ale nie znalazłem żadnych problemów). Byłem moim ulubionym, który najbardziej mi pomógł.
ocaml:
Haskell:
źródło
Dla C # :
źródło
W przypadku C ++ proponuję Accelerated C ++ autorstwa Koeniga i Moo jako tekst początkowy, chociaż nie wiem, jak by to było dla absolutnego nowicjusza. Koncentruje się na natychmiastowym użyciu STL, co znacznie ułatwia wykonywanie zadań.
źródło
Haskell :
Książka O'Reilly:
Moje ulubione ogólne, mniej akademickie samouczki online:
Książki o programowaniu funkcjonalnym w Haskell:
źródło
Skuteczna Java jest koniecznością, ale zalecam najpierw zapoznać się z Javą, aby w pełni zrozumieć przykłady.
źródło
Rubin
źródło
Dodałbym książki programistyczne Bruce'a Eckela:
Ogólnie rzecz biorąc, jego strona „Książki” ( http://mindview.net/Books/ ) jest dobrym źródłem. Książki dostępne bezpłatnie można również znaleźć na stronie http://www.ibiblio.org/pub/docs/books/eckel/
źródło
Nie mogę uwierzyć, że nikt nie wspomniał o najlepszych praktykach Perla . Istnieje również kanał na Twitterze, który dostarcza jeden PBP dziennie.
Nauczyłem się Perla z Samouczka Roberta Perla , który polecam, ale nie był aktualizowany od 1999 roku. Nowszym polecanym samouczkiem jest Samouczek Perla Steve'a .
Jeśli chodzi o tworzenie stron internetowych w Perlu, wyraźnym zwycięzcą jest Catalyst , a wiki Catalyst jest punktem wyjścia do nauki.
źródło
W przypadku Lisp i Scheme (piekło, ogólnie programowanie funkcjonalne), jest kilka rzeczy, które zapewniają bardziej solidne podstawy niż The Little Schemer i The Seasoned Schemer . Oba zapewniają bardzo proste i intuicyjne wprowadzenie zarówno do Schematu, jak i programowania funkcjonalnego, które dla nowych studentów lub hobbystów są znacznie prostsze niż w przypadku typowych tomów, które ocierają się jak non-fiction wersja War & Peace .
Po wyjściu poza serię Schemer zarówno SICP, jak i On Lisp są fantastycznymi wyborami.
źródło
sprawdź sekcję programowania Wikibooks
Wiele z nich jest w pełni uformowanych, a wiele z nich ma bardziej zaawansowane sekcje (w różnych stanach ukończenia) dotyczące określonej funkcjonalności.
Ponadto w3 szkoły mają świetny samouczek php i sekcję referencyjną
ich sekcje HTML i CSS również są przydatne w celach informacyjnych.
źródło
C ++
Pierwszy jest dobry dla początkujących, a drugi wymaga bardziej zaawansowanego poziomu w C ++.
źródło
źródło
W przypadku Javascript:
Dla PHP:
Do projektowania i programowania OO wzorce:
Do refaktoryzacji:
W przypadku SQL / MySQL:
źródło
C Primer Plus, wydanie 5 - książka C do zdobycia, jeśli uczysz się języka C bez wcześniejszego doświadczenia w programowaniu. Jest to mój ulubiony, gdy nauczyłem się programować z tej książki. Ma wszystkie cechy, które powinna mieć przyjazna dla początkującego książka:
źródło
Nie zapominajmy o Head First Java , które można uznać za niezbędny pierwszy krok w tym języku, a może krok po samouczkach online Sun. Świetnie nadaje się do zwięzłego rozumienia języka, jednocześnie dodając trochę zabawy, stanowiąc odskocznię do bardziej szczegółowych książek, o których już wspomniano.
Sedgewick oferuje świetne serie na temat algorytmów, które są obowiązkowe, jeśli uważasz, że książki Knutha są zbyt szczegółowe. Pomijając Knutha, Sedgewick zapewnia solidne podejście do tej dziedziny i oferuje swoje książki w językach C , C ++ i Java . Książki w C ++ mogłyby być używane wstecz na C, ponieważ w swojej prezentacji nie czyni dużego rozróżnienia między dwoma językami.
Ilekroć pracuję nad podręcznikiem C, C: A Reference, autorstwa Harbison i Steele , idzie ze mną wszędzie. Jest zwięzły i wydajny, a jednocześnie niezwykle dokładny, co czyni go bezcennym (dla mnie i tak).
Pomijając języki, a jeśli ten wątek ma stać się punktem odniesienia dla odniesień, w których myślę, że zmierza w tym kierunku ze względu na liczbę solidnych wkładów, prosimy o dołączenie wyrażeń regularnych do masteringu , z powodów, o których myślę, że większość z nas jest świadoma ... , niektórzy powiedzieliby również, że wyrażenie regularne można uznać za język sam w sobie. Co więcej, jego przydatność w wielu różnych językach sprawia, że jest nieoceniony.
źródło
Common Lisp
Dla dobrego odniesienia do CL sprawdź Common Lisp the Language, 2nd Edition
źródło
Dla celu C:
Cocoa Programming for Mac OSX - Third Edition Aaron Hillegass Opublikowane przez Addison Wesley
Programowanie w celu C, Stephen G Kochan,
źródło
Head First JavaScript to dobre wprowadzenie do JS dla początkujących programistów - twórczo wyjaśnia podstawowe pojęcia programistyczne przy użyciu składni JS. Seria Head First oparta jest na opracowanych technikach pomagających w nauce i zapamiętywaniu nowych informacji. Mają wiele ćwiczeń i łamigłówek, które mogą wydawać się młodzieńcze, ale naprawdę pomagają utrwalić wiedzę w mózgu.
Jednym z ćwiczeń, które naprawdę mi się podobały, było wyjaśnienie typów danych, pokazanie zdjęcia ulicy miasta i powiedzenie „oznacz wszystkie typy danych, które można znaleźć na tym zdjęciu”. Tak więc kierunkowskaz w samochodzie jest logiczny, znak w sklepie to ciąg znaków, a adres to liczba. To pomogło mi zrozumieć, jak przetłumaczyć prawdziwe informacje na program.
Opierając się tylko na tej książce, powiedziałbym, że seria Head First to świetny sposób na naukę czegoś za pierwszym razem , ale ich podobny do historii format utrudniłby ich wykorzystanie jako odniesień.
źródło
The Ruby Way Hal Fulton
Okładka Ruby Way http://rubyhacker.com/trw2cover.gif
źródło
Python: http://diveintopython.net/
JS: ponowne wprowadzenie do JavaScript jest dla programistów wprowadzeniem języka (a nie specyfiki przeglądarki). Nie znam dobrego samouczka na temat JS w przeglądarce.
Nawiasem mówiąc, świetny pomysł!
źródło
Biorąc pod uwagę ostatnie zmiany, uważam, że ważne jest uwzględnienie niedawnej eksplozji bezpłatnych ofert kursów online z uniwersytetów i firm prywatnych. Nowy Boston to strona z samouczkami, z której zawsze korzystałem w wielu językach, świetny punkt dla początkujących.
http://www.udacity.com/
https://www.coursera.org/
http://www.coursehero.org/
http://www.codecademy.com/
http://mitx.mit.edu/
http://www.khanacademy.org/
http://thenewboston.org/
źródło
Drugie zalecenie K&R dla Kristophera dla C.
Uważam, że książka „Essential Actionscript 2.0” jest całkiem przydatna do kodowania AS (wydaje mi się, że obecnie dostępna jest wersja AS3).
Przekonałem się, że posiadanie prawdziwych książek do przejrzenia jest bardziej pomocne niż referencje online w niektórych przypadkach. Jednak nie bardzo wiem dlaczego.
źródło
hmm, nie wiem czy powiedziałbym, że materiały online są bezużyteczne, ale zgadzam się, że coś jest w książkach. Być może są one lepiej napisane, a może to fakt wykuwania ponad 50 USD sprawia, że jesteś bardziej skłonny do studiowania materiału.
Tak czy inaczej, zgadzam się, że książki powinny być częścią tego pytania. Jeśli ktoś ma jakieś sugestie dotyczące książek dla języków, zredaguję post z najlepszymi sugestiami.
źródło
Odniesienie, które wymieniłeś dla Ruby, to Ruby on Rails. Chociaż wciąż głęboko rubinowo, zdecydowanie nie jest to miejsce dla osób chcących nauczyć się Ruby.
W przypadku samouczków w języku Ruby sugerowałbym, dlaczego (Poignant) Guide to Ruby jest doskonałym punktem wyjścia dla wszystkich zainteresowanych językiem.
Jeśli chcesz uzyskać więcej szczegółów, poleciłbym książkę Programowanie Ruby , która stała się standardem dla wszystkich rzeczy Ruby. Trzecie wydanie jest w trakcie pisania, podkreślając funkcje Ruby 1.9, więc wstrzymałbym się na chwilę, jeśli ktoś zastanawia się nad zakupem tej książki.
źródło
W przypadku J2EE masz bardzo obszerny samouczek na stronie: http://java.sun.com/javaee/5/docs/tutorial/doc/
źródło
W przypadku Javy bardzo polecam Core Java . To duży tom (lub dwa duże tomy), ale uważam, że jest to jedno z najlepszych odniesień do Javy, jakie przeczytałem.
źródło
Wiem, że jest to cross-post stąd ... ale myślę, że jedną z najlepszych książek o Javie jest Java Concurrency in Practice autorstwa Briana Goetza. Książka raczej zaawansowana - ale dobrze zużyje się na współbieżnym kodzie i ogólnie Javie.
źródło
Standardem defacto do nauki Grails jest doskonały Pierwsze kroki z Grails autorstwa Jasona Rudolpha. Możesz debatować, czy jest to samouczek online, czy książka, ponieważ można ją kupić, ale jest dostępna do pobrania za darmo. Wydawanych jest więcej „prawdziwych” książek i polecam Beginning Groovy and Grails.
źródło
DO#
C # to the Point autorstwa Hanspeter Mössenböck. Na zaledwie 200 stronach wyjaśnia C # w zadziwiającej głębi, koncentrując się na podstawowych koncepcjach i zwięzłych przykładach zamiast machania ręką i zrzutów ekranowych Visual Studio.
Aby uzyskać dodatkowe informacje na temat określonych funkcji językowych, sprawdź specyfikację języka C # ECMA-334 .
Framework Design Guidelines , książka autorstwa Krzysztofa Cwaliny i Brada Abramsa z Microsoft, zapewnia dalszy wgląd w główne decyzje projektowe dotyczące biblioteki .NET.
źródło