Popüler diller için Dil Kitapları / Eğiticiler


249

Öğrenmek istediğim diller hakkında iyi kitaplar / öğreticiler bulmaya çalışan bir kodlayıcı olduğum uzun zaman önce değildi. Yine de üzerinde çalıştığım yeni bir proje için nispeten hızlı bir şekilde bir dil seçmem gerekiyor. Bu yazının amacı, bu diller için en iyi öğretici ve kitapları belgelendirmektir. Listeyi bulabildiğim en iyi şeyle başlatacağım, ancak umarım siz daha iyi öneriler / yeni diller konusunda yardımcı olabilirsiniz. İşte buldum:

Bu artık wiki düzenlenebilir olduğu için topluma kontrol veriyorum. Bir öneriniz varsa, lütfen bu bölüme koyun. Genel olarak daha iyi bir programcı kitapları ve çevrimiçi referanslar için de bir bölüm eklemeye karar verdim. Bir kez daha, tüm öneriler bekliyoruz.

Genel Programlama

Çevrimiçi Öğreticiler Karl Seguin tarafından
Programlamanın Temelleri - Codebetter, onun C # tabanlı ama fikirleri kurulu genelinde halka, kimsenin bu aslında yayınlanan inanamıyorum.
Untaintainable Code Nasıl Yazılır - Kodun mümkün olmayan en kolay şekilde nasıl yazılacağını öğreten bir anti-el kitabı. Bu önerilerin birçoğu bu kadar doğru olmasaydı komik olurdu.
Wiki Kitaplarının Programlama Bölümü - Jim Robert tarafından çeşitli tamamlama aşamalarında birden fazla dilde çok sayıda kitap / öğretici olması önerildi
Sadece Temel Bilgiler Bir dil hakkında fikir edinmek.

Kitap
Kodu Tamamlandı - Bu kitap söylemeye gerek yok, bahsetmek için pek çok şekilde gerçekten mükemmel.
Pragmatik Programcı - Bir ana kodlayıcı ile çalışmak için en iyi şey, size bildikleri her şeyi öğretmek.
Normal İfadelerde Uzmanlaşma - Normal İfadeler her programcının araç kutusunda önemli bir araçtır. Patrick Lozzi tarafından önerilen bu kitap, neler yapabileceğini öğrenmek için harika bir yoldur.
İçinde Algoritmalar C , C ++ ve Java derinlemesine biraz fazla Knuth'un kitaplarını bulursanız tüm klasik algoritmaları öğrenmek için harika bir yol -.

C

Çevrimiçi Öğreticiler
Bu öğretici oldukça kısa ve öz görünüyor, materyale baktı ve oldukça iyi görünüyor. Yeni programcılar için ne kadar kolay olurdu emin değilim.
Kitaplar
K&R C - kesinlikle bir klasik. Tüm programcıların okuması gerektiği söylenebilir.
C Primer Plus - Imran tarafından programcılara başlamak için nihai C kitabı olarak önerildi.
C: Bir Referans Kılavuzu - Patrick Lozzi tarafından önerilen harika bir referans.

C ++

Çevrimiçi Öğreticiler cplusplus.com'daki
öğretici en eksiksiz gibi görünmektedir. Burada başka bir öğretici buldum ama çok önemli olduğuna inandığım polimorfizm gibi konuları içermiyor. C'den geliyorsanız, bu eğitim sizin için en iyisi olabilir.

Başka bir yararlı öğretici, C ++ Ek Açıklama . Ubuntu ailesinde c++-annotation, Synaptic'ten paket kurarak (kurulu paket bulunabilir ) e-kitabı birden fazla formatta (pdf, txt, Postscript ve LaTex) alabilirsiniz /usr/share/doc/c++-annotation/.

Kitaplar
C ++ Programlama Dili - herhangi bir C ++ programcısı için çok önemlidir.
C ++ Primer Plus - Orjinal olarak bir yazım hatası olarak eklendi, ama amazon yorumları çok iyi, birisi bir dud olduğunu söyleyene kadar burada tutacağım.
Etkili C ++ - C ++ programlarınızı geliştirmenin yolları.
Daha Etkili C ++ - Etkili C ++ devamı.
Etkili STL - STL kullanımınızı iyileştirmenin yolları.
C ++ Düşünme - Harika bir kitap, her iki cilt. Bruce Eckel ve Chuck Ellison tarafından yazılmıştır.
Programlama: C ++ Kullanmanın İlkeleri ve Uygulamaları - Stroustrup'un C ++ 'a girmesi.
Hızlandırılmış C ++ - Andy Koenig ve Barbara Moo - C ++ 'ya "C ekli bitleri takılı olan C" gibi davranmayan mükemmel bir giriş.

ileri

Kitaplar
FORTH, bir metin ve referans. Mahlon G. Kelly ve Nicholas Spies Karşılaştırması. ISBN 0-13-326349-5 / ISBN 0-13-326331-2. 1986 Prentice-Hall. Leo Brodie'nin kitapları iyidir ama bu kitap daha da iyidir. Örneğin, sözcükleri ve yorumlayıcıyı derinlemesine tanımlamayı kapsar.

Java

Online Tutorials
Sun'ın Java Tutorials - Resmi görünen bir öğretici, ama ben bir java uzmanı değilim. Daha iyi olanları biliyor musunuz?
Books
Head First Java - Patrick Lozzi'nin harika bir tanıtım metni olarak önerilir.
Etkili Java - pek tarafından mükemmel bir ara metin olarak önerilir.
Core Java Volume 1 ve Core Java Volume 2 - FreeMemory tarafından mevcut en iyi java referanslarından bazıları olarak önerildi.
Uygulamada Java Eşzamanlılığı - MDC tarafından Java'da eşzamanlı programlama için mükemmel bir kaynak olarak önerilir.

Java Programlama Dili

piton

Çevrimiçi Öğreticiler
Python.org - Bu dil için çevrimiçi belgeler oldukça iyi. Eğer daha iyisini biliyorsan bana haber ver.
Python'a Dalış - Nickola tarafından önerildi. Çevrimiçi bir python kitabı gibi görünüyor.

Perl

Online Tutorials
perldoc perl - Kişisel olarak bu dili kullanmaya başladım ve onu yenebileceğini sanmıyorum.
Books
Learning Perl - kendinizi dile tanıtmanın harika bir yolu.
Perl Programlama - büyük ölçüde Perl İncil olarak adlandırılır. Herhangi bir ciddi perl programcısı için temel referans.
Perl Yemek Kitabı - Birçok yaygın soruna çözüm getiren harika bir kitap.
Modern Perl Programlama - yeni piyasaya sürülen, Moose ve DBIx :: Class dahil olmak üzere modern teknikler ve araçlar hakkındaki en son bilgeliği içerir.

yakut

Çevrimiçi Eğiticiler
Adam Mika , Ruby'nin (Poignant) Rehberini önerdi, ancak bir göz attıktan sonra herkes için olup olmadığını bilmiyorum. Bulunan bu Ruby on için çeşitli öğreticiler teklif gibi görünüyor siteyi.
Kitap
Programlama Yakut - yakut her şey için harika bir referans olarak önerildi.

Visual Basic

Çevrimiçi Öğreticiler
Bulunan bu visual basic öğreticiler kendisini adamak gibi görünüyor siteyi. Ne kadar iyi olsa emin değilim.

PHP

Çevrimiçi Öğreticiler
Ana PHP sitesi - Gerçekten sevdiğim her sayfa için kullanıcı yorumları sağlayan basit bir öğretici. PHPFreaks Tutorials - Farklı zorluk uzunluklarında çeşitli öğreticiler.
Quakenet / PHP öğreticileri - sizi baştan aşağı yönlendirecek PHP öğreticisi.

JavaScript

Çevrimiçi Eğiticiler Burada, programcı olmayanlara yönelik
iyi bir öğretici bulundu . Burada daha gelişmiş bir tane daha buldum . Nickolay, burada iyi bir okuma olarak javascript'e yeniden giriş önerdi .

Kitaplar
Önce JavaScript
JavaScript: İyi Parçalar ( yazarın bir Google Tech Talk videosu ile)

C #

Çevrimiçi Öğreticiler
C # İstasyonu Eğitimi - Ben kazdık iyi bir öğretici gibi görünüyor, ama ben bir C # adam değilim.
C # Dil Özellikleri - Tamberg tarafından önerildi. Gerçekten bir öğretici değil, ama C #
Kitaplar
C # tüm unsurları üzerinde büyük bir referans - tamberg tarafından dili inanılmaz derinlikte açıklayan kısa bir metin olarak önerilen

ocaml

Kitaplar
nlucaroni aşağıdakileri önermiştir:
Bilim İnsanları için OCaml ocaml'a Giriş Okaml'ı
kullanma ve çözme ocaml: teoriye uygulama ve tersi
Ocaml kullanarak uygulama geliştirme - O'Reilly
Objektif Caml Sistemi - Resmi Manua

Haskell

Online Tutorials
nlucaroni aşağıdakileri önerdi:
Haskell
Books ile
Gerçek Programlamayı Keşfedin Real World Haskell
Toplam Fonksiyonel Programlama

LISP / Şema

Kitaplar
wfarr şunları önerdi:
Küçük Schemer - Şemaya Giriş ve genel olarak fonksiyonel programlama
The Seasoned Schemer - Little Schemer'ı Takip Etmek .
Bilgisayar Programlarının Yapısı ve Yorumlanması - Lisp hakkında kesin kitap ( online olarak da mevcuttur ).
Pratik Ortak Lisp - Çeşitli pratik kullanım örnekleri ile Lisp'e iyi bir giriş.
Lisp Hakkında - Lisp'te İleri Konular
Programları Tasarlama -
Yapay Zeka Programlama Paradigmalarının Hesaplanması ve Programlanmasına Giriş : Ortak Lisp'te Örnek Olaylar - yüksek kaliteli Lisp programlamasına bir yaklaşım

Siz ne dersiniz? Bazıları için tamamen kapalı mıyım? En sevdiğiniz dili dışarıda bıraktım mı? En iyi yorumları alacağım ve önerileriyle soruyu değiştireceğim.

Yanıtlar:


33

Bunun eski moda görüneceğini biliyorum, ancak programlama dillerini veya platformlarını öğrenmek için çevrimiçi öğreticiler kullanmayı fazla düşünmüyorum. Bunlar genellikle size dilin biraz tadından fazlasını vermez. Gerçekten bir dil öğrenmek için, bir "kitap" ın eşdeğerine ihtiyacınız vardır ve birçok durumda bu gerçek bir ölü ağaç kitabı anlamına gelir.

C öğrenmek istiyorsanız, K&R okuyun. C ++ öğrenmek istiyorsanız Stroustrup'u okuyun. Lisp / Scheme öğrenmek istiyorsanız, SICP'yi okuyun. Vb.

Bir dili öğrenmek için 30 dolardan fazla ve birkaç saat harcamak istemiyorsanız, muhtemelen onu öğrenmeyeceksiniz.


Gerçekten bir dili derinden öğrenmek istiyorsanız, bir kitabın genellikle gitmenin yolu olduğunu kabul ediyorum. Ancak, Stroustrup'un kitabının pedagojik açıdan oldukça zayıf olduğunu düşünüyorum. GoF kitabında aynı eleştiriyi (daha da önemlisi) düzleştirirdim.
Dónal

Stroustrup'un kitabını gerçekten sevmiyorum, tercihim Bruce Eckel tarafından C ++ ile Düşünme'ye gidiyor. Ve e-kitapları tercih ederim, çünkü Ctrl + F yapabilirsiniz. Algoritmalar I dersini yaptığımda hayatımı kurtardı (Algoritmalara Giriş kitabı ile)
Tian Bo

9
E-kitaplara karşı hiçbir şeyim yok. Mesele şu ki, bir uzman tarafından yazılmış ve uzmanlar tarafından incelenen gerçek bir "kitap" olması gerekiyor ve web'de bir yerde bulduğunuz, sizden daha fazlasını bilmeyen biri tarafından yazılmış ücretsiz 5.000 kelimelik bir öğretici değil. yapmak.
Kristopher Johnson

20

Bunların hepsi gerçekten iyi, akademi tarafından yazılmış ve (bazıları) kitaplar (örneğin, Fransızcadan çevrilmiş, yayınlanmamış bir cevher kitabı, ancak bulduğum hiçbir sorun yok). Bana en çok yardımcı olan favorilerim *.

ocaml:

  1. * Ocaml'a giriş
  2. Anlamak ve ocaml'i çözmek: teori pratiği ve tam tersi
  3. * Ocaml Kullanarak Uygulama Geliştirme - O'Reilly
  4. Objektif Caml Sistemi - Resmi Kılavuz
  5. Objektif Caml'a Kısa Bir Giriş
  6. Pratik Ocaml

Haskell:

  1. Haskell ile fonksiyonel programlamayı keşfedin
  2. * Gerçek Dünya Haskell
  3. * Toplam Fonksiyonel Programlama


8

İçin C ++, ben önermek ++ C Hızlandırılmış Ben mutlak acemi için nasıl olacağını bilmiyorum ama, bir başlangıç metni olarak Koenig ve Moo tarafından. STL'yi hemen kullanmaya odaklanır, bu da işlerin yapılmasını çok daha kolay hale getirir .


Ama Accelerated C ++ tam başlayanlar için değil, ben C ++ Primer Plus (5. Baskı) tam başlayanlar için olduğunu düşünüyorum.
İbn Saeed

7

Haskell :

O'Reilly Kitabı:

  1. Gerçek Dünya Haskell , Haskell hakkında çevrimiçi ve basılı olarak öğretici büyük bir kitap .

Favori genel, daha az akademik çevrimiçi derslerim:

  1. Mükemmel Yet Another Haskell Tutorial'ın tamamını içeren Haskell wikibook . (Bu eğitici, örneğin bir Haskell dağıtımını ayarlama ve örnek programlar çalıştırma özelliklerine yardımcı olur.)
  2. Why'nin Yakut Rehberi'nin ruhuyla, ama daha da önemlisi, Büyük İyilik için bir Haskell öğrenin .
  3. 48 saat içinde kendinize bir Şema yazın . Gerçek bir proje ile ellerini Haskell öğrenme kirli olsun.

Haskell ile Fonksiyonel Programlama Kitapları:

  1. Lambda hesabı, birleştiriciler, daha teorik, ancak çok aşağıya doğru: Davie'nin Haskell Kullanarak Fonksiyonel Programlama Sistemlerine Giriş
  2. Tembellik ve program doğruluğu, işlevsel düşünme: Bird'ün Haskell Kullanarak Fonksiyonel Programlamaya Giriş

5

Etkili Java bir zorunluluktur ancak örnekleri tam olarak anlamak için önce Java ile rahat olmanızı öneririz.



4

Bruce Eckel'in programlama kitaplarını eklerdim:

Genel olarak, "Kitaplar" sayfası ( http://mindview.net/Books/ ) iyi bir kaynaktır. Serbestçe temin edilebilen kitapları http://www.ibiblio.org/pub/docs/books/eckel/ adresinde de bulabilirsiniz.



3

Lisp ve Scheme için (cehennem, genel olarak fonksiyonel programlama), Küçük Schemer ve The Seasoned Schemer'den daha sağlam bir temel sağlayan birkaç şey vardır . Her ikisi de hem Şema'ya hem de yeni öğrenciler veya hobiler için, Savaş ve Barış'ın kurgusal olmayan bir yorumu gibi ortaya çıkan tipik ciltlerden çok daha basit olduğunu kanıtlayan fonksiyonel programlamaya çok basit ve sezgisel bir giriş sağlar .

Schemer serisinin ötesine geçtiklerinde, SICP ve On Lisp her ikisi de harika seçimlerdir.


3

kontrol Vikikitap'a programlama bölümünü

Birçoğu tamamen oluşturulmuştur ve oldukça azında belirli işlevsellik konusunda daha gelişmiş bölümler vardır (bunlar farklı tamamlanma durumlarındadır).

ayrıca, w3 okullar harika bir php öğretici ve referans bölümüne sahiptir

onların html ve css bölümleri de referans için iyidir.



3
  • C - C Programlama Dili - Açıkçası , orada en iyi programlama kitaplarından biri olan K&R'ye başvurmak zorunda kaldım .
  • C ++ - Hızlandırılmış C ++ - Bu açık, iyi yazılmış C ++ giriş doğrudan STL kullanmaya gider ve güzel, açık, pratik örnekler verir. Adına kadar yaşıyor.
  • C # - Pro C # 2008 ve .NET 3.5 Platform - Bir lokma ama harika yazılı ve büyük derinlik Bit.
  • F # - Uzman F # - F # uzman sıfırdan deneyimli programcıları almak için tasarlanmıştır. Çok iyi yazılmış, yazarın icat ettiği F # 'dan çok yanlış gidemezsiniz!
  • Şema - Küçük Schemer - Bir programlama dilini öğretmek için gerçekten benzersiz bir yaklaşım gerçekten iyi yapıldı.
  • Ruby - Programlama Ruby - 'Seçim baltası' kitabı olarak bilinen bu, Ruby'ye defacto girişidir. Çok iyi yazılmış, açık ve ayrıntılı.

3

Javascript için:

PHP için:

OO tasarım ve programlama için desenler:

Yeniden düzenleme için:

SQL / MySQL için:


2

C Primer Plus, 5. Baskı - Herhangi bir programlama deneyimi olmadan C öğreniyorsanız C kitabı. Bu kitaptan programlamayı öğrendiğimde kişisel favorim. Başlangıç ​​dostu bir kitabın sahip olması gereken tüm özelliklere sahiptir:

  • Programlamaya önceden maruz kalma varsayımı yoktur
  • Okumak keyiflidir (For Dummies /
  • Aşırı basitleştirmez

2

Bu dilde önemli bir ilk adım ya da Sun'ın çevrimiçi derslerinden sonraki adım olarak düşünülebilecek olan Baş İlk Java'yı unutmayalım . Biraz eğlence eklerken, daha önce bahsedilen daha derin kitaplar için bir adım taşı olarak hizmet ederken, dili kısaca kavramak için harika.

Sedgewick, Knuth'un kitaplarının çok derinlikli olduğunu görürseniz olmazsa olmaz olan Algoritmalar hakkında harika bir dizi sunuyor. Knuth bir yana, Sedgewick sahaya sağlam bir yaklaşım getiriyor ve kitaplarını C , C ++ ve Java'da sunuyor . Sunumunda iki dil arasında çok büyük bir ayrım yapmadığı için C ++ kitapları C'de geriye doğru kullanılabilir.

Ne zaman C, C üzerinde çalışsam, Harbison ve Steele'nin bir Referans El Kitabı benimle her yere gider. Son derece kapsamlı (pahasına olursa olsun) paha biçilmez hale getirirken kısa ve etkili.

Diller bir yana ve eğer bu konu katı katkıların sayısından dolayı bu yönde ilerlediğini düşündüğüm referanslar için bir go-to olacaksa, lütfen çoğumuzun farkında olduğumuzu düşündüğüm nedenlerden dolayı lütfen Düzenli İfadeler ekleyin . bazıları regex'in kendi başına bir dil olarak kabul edilebileceğini söyleyebilirler. Ayrıca, geniş bir dil dizisindeki kullanışlılığı onu paha biçilmez kılar.



2

Hedef C için:

Mac OSX için Kakao Programlama - Üçüncü Baskı Aaron Hillegass Addison Wesley tarafından yayınlandı

Amaç C'de Programlama, Stephen G Kochan,


2

Head First Javascript , programcıları başlatmak için JS'ye iyi bir giriş niteliğindedir - JS sözdizimini kullanarak temel programlama kavramlarını yaratıcı bir şekilde açıklar. Head First serisi, yeni bilgileri öğrenmenize ve hatırlamanıza yardımcı olacak araştırılmış tekniklere dayanmaktadır. Onlar çocuk gibi görünebilir, ama gerçekten beyninizdeki bilgileri çimento yardımcı çok egzersiz ve bulmacalar yapmak var.

Gerçekten sevdiğim bir egzersiz, veri türlerini açıkladıktan sonra, bir şehir caddesinin resmini gösteriyor ve "bu resimde bulabileceğiniz tüm veri türlerini etiketleyin" diyordu. Yani bir arabadaki yanıp sönen bir boole, mağazadaki işaret bir dizedir ve adres bir sayıdır. Bu, gerçek bilgilerin bir programa nasıl çevrileceğine dair bir fikir edinmeme yardımcı oldu.

Sadece bu kitaba dayanarak, Head First serisinin ilk kez bir şey öğrenmenin harika bir yolu olduğunu söyleyebilirim , ancak öykü benzeri formatın referans olarak kullanılmasını zorlaştıracaktır.




2

Son gelişmeler göz önüne alındığında, üniversitelerden ve özel şirketlerden gelen ücretsiz çevrimiçi kurs teklifleri patlamasının dahil edilmesinin önemli olduğunu düşünüyorum. Yeni boston, yıllardır her zaman sayısız dil için kullandığım bir eğitim sitesi, harika bir başlangıç ​​noktası.

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/


1

Kristopher'nın C için K&R önerisini ikinci olarak aldım.

"Essential Actionscript 2.0" kitabını AS kodlaması için oldukça yararlı buldum (şimdi inandığım bir AS3 sürümü var).

Bazı durumlarda gerçek kitaplara sahip olmanın çevrimiçi referanstan daha yararlı olduğunu buldum. Neden olsa emin değilim.


1

hmm, çevrimiçi materyallerin işe yaramaz olduğunu söyleyebilir miyim bilmiyorum, ama kitaplar hakkında bir şey olduğunu kabul ediyorum. Belki daha iyi yazılırlar ya da belki de materyali incelemeye daha yatkın hale getiren 50 $ 'dan fazla para çekme eylemidir.

Her iki durumda da, kitapların bu sorunun bir parçası olması gerektiğine katılıyorum. Herkesin kitaplar için herhangi bir önerisi varsa, yayını en iyi önerilerle düzenleyeceğim.


1

Ruby için listelediğiniz referans Ruby on Rails içindir. Hala derin yakut olsa da, Ruby'yi öğrenmek isteyen insanlar için kesinlikle başlamak için bir yer değil.

Ruby dersleri için, Why'nin (Poignant) Rehberini dil ile ilgilenen herkes için harika bir başlangıç ​​noktası olarak öneririm .

Daha ayrıntılı bilgi almak isterseniz, Ruby'nin her şeyi için standart haline gelen Programlama Ruby kitabını öneriyorum . Üçüncü baskı şu anda yazılmakta ve Ruby 1.9 özelliklerini vurgulamaktadır, bu yüzden kimse bu kitabı satın almayı düşünürse bir süre beklerim.


Neden kitabı iyi, ama küçük fırtınalar çok saçmalık. Bana yardım etmedikleri için rahatsız ettiler.
Rayne


1

Java için, ben son derece tavsiye Çekirdek Java . Büyük bir tome (veya iki büyük tomes), ama okuduğum Java'da en iyi referanslardan biri olduğunu gördüm.



1

Grails öğrenmek için defacto standardı , Jason Rudolph tarafından mükemmel Grails ile Başlamaktır . Çevrimiçi bir eğitim mi yoksa bir kitap mı olduğunu tartışabilirsiniz, çünkü satın alınabilir, ancak ücretsiz olarak indirilebilir. Daha fazla "gerçek" kitap yayınlanıyor ve Ben Başlangıç ​​Groovy ve Grails öneririz.


1

C #

Hanspeter Mössenböck tarafından C # noktasına . Sadece 200 sayfada, C #'ı şaşırtıcı derinlikte, el sallama ve Visual Studio ekran görüntüleri yerine altta yatan kavramlara ve özlü örneklere odaklanarak açıklıyor.

Belirli dil özellikleri hakkında ek bilgi için C # dil belirtimi ECMA-334'e bakın .

Krzysztof Cwalina ve Microsoft'tan Brad Abrams'ın bir kitabı olan Framework Tasarım Yönergeleri , .NET kitaplığının arkasındaki ana tasarım kararları hakkında daha fazla bilgi vermektedir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.