语言书籍/stream行语言教程

不久之前,我还是个开始编码的人,试图find关于我想学习的语言的好书/教程。 即使如此,有时候我也需要相对快速地为我正在开发的一个新项目select一种语言。 这篇文章的重点是logging这些语言的一些最好的教程和书籍。 我将尽我所能find最好的名单,但希望你们能帮助我们提供更好的build议/新的语言。 这是我发现的:

由于现在维基是可编辑的,我正在控制社区。 如果你有一个build议,请把它放在这个部分。 我决定也添加一个一般的部分是一个更好的程序员书籍和在线参考。 所有的build议再次受到欢迎。

一般编程

在线教程
编程基础 Karl Seguin – 来自Codebetter,其基于C#的思想虽然全面,但不能相信没有人发布这个实际上。
如何编写不可维护的代码 – 一个反手册,教你如何以最不可能的方式编写代码。 如果很多这些build议没有如此真实,这将是有趣的。
维基书籍的编程部分 – 由吉姆·罗伯特(Jim Robert)build议,在完成的各个阶段都有大量关于多种语言的书籍/教程
基本知识为了感受一种语言。

图书
代码完成 – 这本书不言而喻,它提供了太多的方式真正的辉煌。
务实的程序员 – 与主编码器合作的下一个最好的东西,教你所有他们知道的东西。
掌握正则expression式 – 正则expression式是每个程序员的工具箱中必不可less的工具。 Patrick Lozzi推荐的这本书是学习他们能力的好方法。
C , C ++和Java中的algorithm – 如果你发现Knuth的书有点过于深入,那么学习所有经典algorithm的好方法。

C

在线教程
本教程看起来相当不错,而且看起来很不错。 不知道新的程序员会有多友好。
图书
K&R C – 一个经典的肯定。 有人可能会认为所有的程序员都应该阅读它。
C Primer Plus – 由Imran推荐为最初的程序员的C书。
C:参考手册 – Patrick Lozzi推荐的一个很好的参考。

C ++

在线教程
cplusplus.com上的教程似乎是最完整的。 我在这里find了另外一个教程,但是它不包含像多态这样的主题,我相信这是很重要的。 如果您来自C, 本教程可能是最适合您的。

另一个有用的教程, C + +注释 。 在Ubuntu系列中,您可以通过安装Synaptic的c++-annotation包(安装的包可以在/usr/share/doc/c++-annotation/find)来获得多种格式的电子书(pdf,txt,Postscript和LaTex)。

图书
C ++编程语言 – 对任何C ++程序员都至关重要。
C ++ Primer Plus – Orginally添加为一个错字,但亚马逊的评论是如此的好,我会保持在这里,直到有人说这是一个失败。
有效的C ++ – 改进你的C ++程序的方法。
更有效的C ++ – 延续有效的C ++。
有效的STL – 如何改善您对STL的使用。
在C ++中思考 – 伟大的书籍,这两个卷。 由Bruce Eckel和Chuck Ellison撰写。
编程:使用C ++的原理和实践 – Stroustrup对C ++的介绍。
加速的C ++ – Andy Koenig和Barbara Moo – 对C ++的一个很好的介绍,不把C ++当作“C with extra bits bolted”,实际上你直接跳入并开始使用STL。

向前

图书
FORTH,一个文本和参考。 Mahlon G. Kelly和Nicholas Spies。 ISBN 0-13-326349-5 / ISBN 0-13-326331-2。 1986年Prentice-Hall。 Leo Brodie的书很好,但是这本书更好。 比如它涵盖了定义词汇和解释者的深度。

Java的

在线教程
太阳的Java教程 – 一个似乎通过的官方教程,但我不是一个Java专家。 你们知道有更好的吗?
图书
Head First Java – 推荐作为Patrick Lozzi的一篇很好的介绍性文章。
有效的Java – 由pek推荐为一个很好的中间文本。
核心Java卷1和核心Java卷2 – 由FreeMemorybuild议为一些最好的Java参考。
实践中的Java并发 – 被MDC推荐为Java中并发编程的极好资源。

Java编程语言

python

在线教程
Python.org – 这个语言的在线文档非常好。 如果你知道更好的让我知道。
深入Python – 由Nickola推荐。 似乎是一个在线python书。

Perl的

在线教程
perldoc perl – 这就是我个人如何开始使用这门语言,我不认为你能够打败它。
图书
学习Perl – 一种向自己介绍语言的好方法。
Perl编程 – 很大程度上被称为Perl圣经。 任何严重的Perl程序员的基本参考。
Perl Cookbook – 一本很好的解决许多常见问题的书。
现代Perl编程 – 最新发布,包含了对现代技术和工具(包括Moose和DBIx :: Class)的最新智慧。

ruby

在线教程
Adam Mikabuild议Ruby的Why(Poignant)指南,但是在看了之后,我不知道它是否适合每个人。 发现这个网站,似乎提供了几个教程Ruby on Rails的。
图书
编程Ruby – 作为ruby的所有事情的一个很好的参考。

Visual Basic

在线教程
发现这个网站,似乎致力于视觉基本教程。 不知道他们有多好。

PHP

在线教程
主要的PHP网站 – 一个简单的教程,允许用户评论每个页面,我真的很喜欢。 PHPFreaks教程 – 各种不同难度的教程。
Quakenet / PHP教程 – 将从零开始引导你的PHP教程。

JavaScript的

在线教程
在这里find一个体面的教程,面向非程序员。 在这里find另一个更先进的。 Nickolaybuild议重新引入javascript作为一个很好的阅读。

图书
首先是JavaScript
JavaScript:好的部分 (作者用Google Tech Talkvideo )

C#

在线教程
C#站教程 – 似乎是一个体面的教程,我挖了,但我不是一个C#人。
C#语言规范 – 由tamberg推荐。 不是一个真正的教程,但对C#的所有元素很好的参考
图书
C#的点 – 由tambergbuild议作为一个简短的文字,在惊人的深度解释的语言

ocaml的

图书
nlucaronibuild议如下:
OCaml为科学家 介绍ocaml
使用理解和解开ocaml:实践理论,反之亦然
使用Ocaml开发应用程序 – O'Reilly
目标Caml系统 – 官方Manua

哈斯克尔

在线教程
nlucaronibuild议如下:
用Haskell探索函数式编程
图书
真实世界Haskell
全function编程

LISP /scheme

图书
wfarrbuild议如下:
小小的Schemer – 介绍Scheme和一般的函数式编程
经验丰富的Schemer – 跟随小Schemer。
计算机程序的结构和解释 – 关于Lisp的权威性书籍(也可在线获得 )。
实用的Common Lisp – Lisp的一个很好的介绍,以及几个实际使用的例子。
关于Lisp – Lisp中的高级主题
如何devise程序 – 计算和编程导论
人工智能编程范例:Common Lisp案例研究 – 高质量Lisp编程的一种方法

那你们呢? 我完全没有在那里? 我没有留下你最喜欢的语言吗? 我会采取最好的意见,并修改与build议的问题。

我知道这看起来过时了,但我不太想用在线教程学习编程语言或平台。 这些通常给你的语言一点点的味道。 要真正学习一门语言,你需要相当于一本“书”,在很多情况下,这意味着一本真正的死树书。

如果你想学习C,请阅读K&R。 如果你想学习C ++,请阅读Stroustrup。 如果你想学习Lisp / Scheme,请阅读SICP。 等等。

如果你不愿花超过30美元和几个小时学习一门语言,那么你可能不会去学习它。

这些都是非常好的,由学术界和(一些)书面(一个未出版的oreilly书 – 翻译法语,但没有问题,我发现),例如)。 我最喜欢的那个帮了我最多的。

ocaml:

  1. * 介绍ocaml
  2. 使用理解和解开ocaml:实践理论,反之亦然
  3. * 使用Ocaml开发应用程序 – O'Reilly
  4. 目标Caml系统 – 官方手册
  5. 目标Caml简明介绍
  6. 实用的Ocaml

哈斯克尔:

  1. 用Haskell探索函数式编程
  2. * 真实世界Haskell
  3. * 全function编程

对于C#

  • CLR通过C#

在这里输入图像描述

  • C#深入

在这里输入图像描述

对于C ++,我build议Koenig和Moo将C ++加速作为开始,不过我不知道这对于绝对的新手来说是如何的。 它专注于使用STL,这使得事情变得更容易。

哈斯克尔

O'Reilly图书:

  1. 真实世界Haskell是一本关于Haskell的优秀的面向教程的书籍,可以在线和打印。

我最喜欢的一般,较less学术的在线教程:

  1. Haskell wikibook包含所有优秀的另一个Haskell教程。 (例如,本教程将帮助您设置一个Haskell发行版和运行示例程序。
  2. 向你学习Haskell for Great Good ,本着“为什么Ruby的尖锐指南”的精神,但更重要的是。
  3. 在48小时内写下自己的计划 。 让你的双手肮脏的学习Haskell一个真正的项目。

用Haskell进行函数式编程的书籍:

  1. Lambda微积分,组合器,更多的理论,但在一个非常脚踏实地的方式: 戴维的function编程系统介绍使用Haskell
  2. 懒惰和程序的正确性,从function上思考: 使用Haskell进行函数式编程的鸟简介

有效的Java是必须的,但我build议先熟悉Java,以充分理解这些示例。

ruby

  • Sang Shin的免费Ruby on Rails培训在线课程也不错。 在课程中,每个科目都有相当数量的进一步阅读环节

我会加上Bruce Eckel的编程书籍:

  • 用Java思考(打印版本:第4版;第3版在线: http : //www.mindview.net/Books/TIJ/ )
  • 用C ++思考(第二版,免费在线阅读: http : //mindview.net/Books/TICPP/ThinkingInCPP2e.html

一般来说,他的“书籍”页面( http://mindview.net/Books/ )是一个很好的资源。 免费availabe书籍也可以在http://www.ibiblio.org/pub/docs/books/eckel/

不能相信没有人提到Perl的最佳实践 。 还有一个Twitter的饲料 ,每天提供一个PBP。

我从罗伯特的Perl教程中学习了Perl,我推荐这个教程 ,但是自从1999年以来它一直没有更新。一个更新的推荐教程是Steve的Perl教程 。

对于使用Perl进行Web开发,明确的赢家是Catalyst ,而Catalyst wiki是学习的起点。

对于Lisp和Scheme(地狱,一般的函数式编程),有一些东西比Little Schemer和The Seasoned Schemer提供了更坚实的基础。 两者都为Scheme和函数式编程提供了一个非常简单和直观的介绍,对于新学生或业余爱好者来说,这比对War&Peace的非小说types的任何典型卷来说都简单得多。

一旦他们超越了Schemer系列,SICP和On Lisp都是非常棒的select。

看看维基书店的编程部分

其中许多是完全形成的,并且有不less具有特定function的更先进的部分(其处于不同的完成状态)。

另外, W3学校有一个很好的PHP教程和参考部分

他们的HTML和CSS部分也很好的参考。

C ++

  • 用C ++思考 Bruce Eckel
  • C ++编码标准 Herb Sutter&Andrei Alexandrescu

第一个对初学者很好,第二个对C ++有更高的要求。

  • C – C语言编程 – 很明显,我必须引用K&R,这是最好的编程书籍之一。
  • C ++ – 加速C ++ – 这个清晰,写得很好的C ++入门直接使用STL,并给出了很好,清晰,实用的例子。 住到它的名字。
  • C# – 临C#2008和.NET 3.5平台 – 一口一口,但奇妙的书面和巨大的深度位。
  • F# – 专家F# – 旨在将经验丰富的程序员从零调整到F#专家。 写得非常好,作者发明的F#之一,所以你不能走太远错误!
  • Scheme – The Little Schemer – 真正独特的教学编程语言的方法非常好。
  • Ruby – Ruby 编程 – 深深地被称为“挑斧头”的书,这是Ruby的事实介绍。 写得很好,清晰详细。

对于Javascript:

  • Javascript:权威指南
  • 专业Javascript技术

对于PHP:

  • PHP对象,模式和实践

对于OOdevise和编程,模式:

  • 面向对象的软件构build (圣经,也许头首先OO会很好,我不知道)
  • 首先devise模式 (我很喜欢这本书)
  • devise模式

对于重构:

  • 重构:改进现有代码的devise
  • 有效地使用遗留代码

对于SQL / MySQL:

  • Joe Celko:SQL中的树和层次结构 (仅在特定主题上,但我觉得很有趣)
  • Pro MySQL

C Primer Plus,第5版 – 如果您没有任何编程经验学习C,可以获得C书。 我从这本书中学会编程,是我个人的最爱。 它具有一个初学者友好书应具备的所有品质:

  • 不要假设任何以前的编程风险
  • 愉快的阅读(不会变得像傻瓜/
  • 不要过分简化

我们不要忘记Head First Java ,它可以被认为是这种语言的基本第一步,也可能是Sun在线教程之后的一步。 这对于简洁地把握语言来说是件好事,同时增加了一些乐趣,作为已经提到的更深入的书籍的踏脚石。

如果你发现Knuth的书太深入,Sedgewick提供了很多关于algorithm的系列。 除了Knuth之外,Sedgewick为这个领域带来了可靠的方法,他用C , C ++和Java提供他的书籍。 C语言的书籍可以在C语言中被反向使用,因为他在演讲中没有对这两种语言做出很大的区分。

每当我在C上工作时, Harbison和Steele的C:A参考手册随处可见。 它简洁而高效,而且非常彻底,使它无价(反正我)。

除了语言之外,如果这个主题要成为参考文献的一部分,那么我认为这是由于大量的贡献,所以请包括掌握正则expression式 ,因为我认为我们大多数人都知道。有人也会说正则expression式可以被认为是一种语言。 此外,它在多种语言中的有用性使其非常宝贵。

Common Lisp

对于CL的一个很好的参考,请查看Common Lisp the Language,2nd Edition

对于Objective C:

cocoa编程为Mac OSX – 第三版Aaron Hillegass由Addison Wesley出版

目标C中的编程Stephen G Kochan,

首先,Javascript是初级程序员的JS的入门介绍 – 它创造性地使用JS语法解释基本的编程概念。 Head First系列是基于帮助您学习和记忆新信息的研究技术。 他们让你做了很多练习和拼图,看起来好像很less,但真的帮助巩固你的大脑知识。

我真正喜欢的一个练习是在他们解释数据types之后,他们展示了一张城市街道的图片,并说出“在这张图片上可以find的所有数据types”。 所以汽车上的布林克是一个布尔值,商店上的标志是一个string,地址是一个数字。 这帮助我了解如何将真实信息翻译成程序。

根据这本书,我会说Head First系列是第一次学习东西好方法,但是它们所具有的类似故事的格式会使它们难以用作参考。

哈尔富尔顿的ruby之路

Ruby的方式涵盖trw2cover.gif

Python: http : //diveintopython.net/

JS: 对JavaScript的重新介绍是程序员对语言 (而不是浏览器细节)的介绍。 在浏览器中不知道JS的好教程。

顺便说一句好主意!

鉴于最近的发展,我认为包括近期大学和私营公司免费在线课程的爆炸是很重要的。 新的波士顿是我多年来一直用于多种语言的教程网站,非常好的初学者。

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/

我第二次Kristopher的推荐K&R为C.

我发现“Essential Actionscript 2.0”对于AS编码非常有用(现在有一个AS3版本,我相信)。

我发现,在某些情况下,通过阅读真实书籍比在线参考更有帮助。 不知道为什么。

嗯,我不知道是否会说网上的资料是没有用的,但是我也同意有关于书籍的事情。 也许他们写得比较好,也许这是超过50美元的行为,使你更倾向于研究材料。

无论哪种方式,我同意书应该是这个问题的一部分。 如果任何人有任何关于语言书籍的build议,我将编辑最好的build议。

你已经列出的Ruby的参考是Ruby on Rails的。 虽然内心深处,但对于想要学习Ruby的人来说绝对不是一个开始。

对于Ruby教程,我会build议Ruby的Why(Poignant)指南作为对语言感兴趣的任何人的一个很好的起点。

如果您想了解更多的细节,我会推荐“ Programming Ruby ”一书,它已经成为Ruby所有事情的标准。 第三版目前正在编写,突出了Ruby 1.9的特性,所以如果有人正在考虑购买这本书,我会暂时搁置一会。

对于J2EE,您有一个非常全面的教程: http : //java.sun.com/javaee/5/docs/tutorial/doc/

对于Java,我强烈推荐Core Java 。 这是一个大的(或两个大的),但我发现它是我读过的Java中最好的参考之一。

我知道这是一个交叉post,但是,我认为最好的Java书籍之一是Brian Goetz的Java Concurrency in Practice 。 一本相当先进的书 – 但是,它会在你的并发代码和Java开发中得到很好的磨合。

学习Grails的事实标准是Jason Rudolph的Grails入门 。 你可以辩论是否是一个在线教程或一本书,因为它可以购买,但可以免费下载。 还有更多的“真正”的书正在发布,我build议开始Groovy和Grails。

C#

C#到汉斯彼得Mössenböck 的点 。 在200页的篇幅中,他以惊人的深度解释了C#,着重于底层的概念和简洁的例子,而不是挥手和Visual Studio截图。

有关特定语言function的更多信息,请查阅C#语言规范ECMA-334 。

框架devise指南 ,由Krzysztof Cwalina和来自微软的Brad Abrams撰写的一本书,为.NET库的主要devise决定提供了进一步的见解。