流行语言的语言书籍/教程
不久以前,我还是一名初学者,试图找到有关我想学习的语言的好书/教程。即便如此,有时候我还是需要相对较快地为正在从事的新项目选择一种语言。这篇文章的重点是记录这些语言的一些最佳教程和书籍。我将以我能找到的最好的列表开始,但希望你们在那里能为我们提供更好的建议/新语言。这是我发现的:
由于现在可以进行Wiki编辑,因此我将控制权交给了社区。如果我们有任何建议,请在本节中提出。我决定还添加一个部分,以便更好地成为一本更好的程序员书籍和在线参考。再次欢迎所有建议。
通用编程
在线教程
编程的基础作者:Karl Seguin来自Codebetter,基于C的编程语言,但构想全都适用,无法相信还没有人发表过这篇文章。
如何编写不可维护的代码反手册,教我们如何以最不可维护的方式编写代码。如果这些建议中有很多没有如此正确,那将是很有趣的。
吉姆·罗伯特(Jim Robert)提出的Wiki书籍的编程部分建议,在完成的各个阶段中,都有大量涉及多种语言的书籍/教程。
只是基础知识可以体会一种语言。
图书
完整的代码这本书不言而喻,以太多的方式提到它确实很棒。
实用编程器与主编码器一起工作时,最好的事情就是教给他们他们所知道的一切。
掌握正则表达式正则表达式是每个程序员工具箱中必不可少的工具。帕特里克·洛齐(Patrick Lozzi)推荐的这本书是学习他们的能力的绝佳方法。
C,C ++和Java中的算法如果我们对Knuth的书过于深入,则是学习所有经典算法的好方法。
C
在线教程
本教程看起来非常简洁,并且仔细研究了材料,看起来还不错。虽然不确定这对新程序员有多友好。
图书
K&R C无疑是经典。可能有人争辩说,所有程序员都应该阅读它。
由Imran推荐的C Primer Plus是初学者的终极C书。
C:参考手册Patrick Lozzi推荐的出色参考。
C ++
在线教程
cplusplus.com上的教程似乎是最完整的。我在这里找到了另一个教程,但是它不包括多态性这样的主题,我认为这是必不可少的。如果我们来自C,那么本教程可能是最适合。
另一个有用的教程,C ++注释。在Ubuntu系列中,我们可以通过安装Synaptic的c ++-annotation软件包来获得多种格式的电子书(pdf,txt,Postscript和LaTex)(已安装的软件包可以在/ usr / share / doc / c ++-annotation /中找到。 `。
图书
对于任何C ++程序员来说至关重要的C ++编程语言。
C ++ Primer Plus最初是作为错字添加的,但亚马逊的评论是如此之好,我将其保留在这里,直到有人说这是愚蠢的为止。
改进C ++程序的有效C ++方法。
更有效的C ++有效C ++的延续。
有效的STL改进STL使用的方法。
用C ++编写的好书,两卷本。由Bruce Eckel和Chuck Ellison撰写。
编程:使用C ++的原理和实践Stroustrup对C ++的介绍。
加速的C ++ Andy Koenig和Barbara Moo出色地介绍了C ++,它并没有将C ++视为"添加了添加位的C",实际上,我们直接涉足并早日开始使用STL。
向前
图书
第四,文字和参考。马隆·凯利和尼古拉斯
间谍ISBN 0-13-326349-5 / ISBN 0-13-326331-2. 1986年
普伦蒂斯厅。 Leo Brodie的书很好,但是这本书
更好。例如,它涵盖了定义单词和
深入的口译员。
爪哇
在线教程
Sun的Java教程似乎很困难的官方教程,但我不是Java专家。你们知道更好的吗?
图书
Head First Java被Patrick Lozzi推荐为出色的介绍性文字。
pek推荐的有效Java作为出色的中间文本。
FreeMemory建议使用Core Java Volume 1和Core Java Volume 2作为一些最佳的Java参考。
MDC推荐使用Java并发实践作为Java并发编程的重要资源。
Java编程语言
Python
在线教程
Python.org这种语言的在线文档非常不错。如果我们知道更好的话,请告诉我。
深入Python,由Nickola建议。似乎是一本在线上的python书籍。
佩尔
在线教程
perldoc perl这是我个人开始使用该语言的方式,但我认为我们无法击败它。
图书
学习Perl是向我们介绍该语言的绝佳方法。
编程Perl极大地称为Perl圣经。对于任何认真的perl程序员来说都是必不可少的参考。
Perl Cookbook这是一本很棒的书,提供了许多常见问题的解决方案。
新发布的Modern Perl编程包含有关Moose和DBIx :: Class的现代技术和工具的最新知识。
红宝石
在线教程
亚当·米卡(Adam Mika)提出了《为什么要(红宝石)Ruby指南》的建议,但是在看了一下之后,我不知道它是否适合所有人。
找到了这个站点,该站点似乎提供了Ruby on Rails的一些教程。
图书
Ruby编程建议为ruby的所有事物提供很好的参考。
Visual Basic
在线教程
找到了这个似乎致力于视觉基础教程的网站。不知道他们有多好。
的PHP
在线教程
PHP主站点一个简单的教程,允许用户对每个页面进行评论,这是我非常喜欢的。
PHPFreaks教程各种难度不同的教程。
Quakenet / PHP教程PHP教程将全面指导我们。
的JavaScript
在线教程
在这里找到了适合非程序员的不错的教程。在这里找到了另一个更高级的。 Nickolay建议将javascript重新引入作为此处的好读物。
图书
首先使用JavaScript
JavaScript:The Good Parts(带有作者的Google Tech Talk视频)
C#
在线教程
CStation教程似乎是我挖的一个不错的教程,但我不是Cguy。
语言规范tamberg建议。并不是真正的教程,而是有关C的所有元素的出色参考
图书
坦博(Tamberg)建议的要点是简短的文字,它以惊人的深度解释了该语言
ocaml
图书
nlucaroni建议以下内容:
OCaml科学家
ocaml简介
使用理解和解开ocaml:从理论到实践,反之亦然
使用Ocaml O'Reilly开发应用程序
Objective Caml系统官方手册
哈斯克尔
在线教程
nlucaroni建议以下内容:
使用Haskell探索函数式编程
图书
现实世界Haskell
总体功能编程
LISP /方案
图书
wfarr建议以下内容:
Little Schemer一般介绍Scheme和函数式编程
经验丰富的计划者对小计划者的跟踪。
计算机程序的结构和解释有关Lisp的权威书籍(也可在线获得)。
实用Common Lisp对Lisp进行了很好的介绍,并提供了一些实际使用示例。
关于Lisp中的Lisp高级主题
如何设计程序计算和编程简介
人工智能编程范例:Common Lisp中的案例研究一种高质量Lisp编程的方法
你们呢?我完全不在那儿吗?我是否遗漏了我们喜欢的语言?我将做出最好的评论,并用建议修改问题。
解决方案
回答
Python:http://diveintopython.net/
JS:对JavaScript的重新介绍是针对程序员的语言介绍(不是针对浏览器的介绍)。不了解浏览器中的JS教程。
顺便说一句好主意!
回答
我知道这似乎是过时的,但是我不认为使用在线教程来学习编程语言或者平台不是很多。这些通常只会给我们带来一点点语言的味道。要真正学习语言,我们需要一本等效的"书",并且在很多情况下,这意味着一本真正的枯树。
如果我们想学习C,请阅读K&R。如果我们想学习C ++,请阅读Stroustrup。如果我们想学习Lisp / Scheme,请阅读SICP。等等。
如果我们不愿意花费超过30美元和几个小时的时间来学习一门语言,那么我们可能不打算学习它。
回答
这些都是非常好的,由学术界撰写,并且(有些)是书(例如,一本未出版的有风的书,翻译成法文,但没有发现任何问题)。我*最喜欢的人对我帮助最大。
ocaml:
- ocaml简介
- 使用理解和解开ocaml:从理论到实践,反之亦然
- *使用Ocaml开发应用程序-O'Reilly
- 物镜系统-官方手册
- 简要介绍客观骆驼
- 实用的迷彩
Haskell:
- 使用Haskell探索函数式编程
- *真实世界的Haskell
- *总功能编程
回答
我第二次提到KristoR对C的推荐。
我发现"基本动作脚本2.0"这本书对于AS编码非常有用(我相信现在有AS3版本)。
我发现在某些情况下,拥有一些真正的书本比在线参考更为有用。不太清楚为什么。
回答
嗯,我不知道我是否会说在线资料是无用的,但我同意书中有一些东西。也许他们写得更好,或者也许是因为付出了50美元以上的举动,才使我们更倾向于学习这些材料。
无论哪种方式,我都同意书应该是这个问题的一部分。如果有人对语言书籍有任何建议,我将以最佳建议对帖子进行编辑。
回答
我们为Ruby列出的参考是针对Ruby on Rails的。尽管红宝石仍然深入人心,但对于那些想学习Ruby的人来说,绝对不是一个开始的地方。
对于Ruby教程,对于那些对该语言感兴趣的人,我建议将"为什么(Ruby)(强壮)指南"作为一个很好的起点。
如果我们想了解更多细节,我会推荐《 Programming Ruby》一书,它已成为Ruby所有事物的标准。目前正在编写第三版,着重介绍Ruby 1.9的功能,因此如果有人考虑购买此书,我将暂缓一段时间。
回答
对于J2EE,我们可以在以下位置获得非常全面的教程:
http://java.sun.com/javaee/5/docs/tutorial/doc/
回答
对于Java,我强烈建议我们使用Core Java。它是一个大书本(或者两个大书本),但我发现它是我阅读过的Java上最好的参考书之一。
回答
C Primer Plus,第5版如果我们是在没有任何编程经验的情况下学习C,则可以获得C书籍。当我从本书中学到编程知识时,这是我个人的最爱。它具有一本适合初学者的书籍应具备的所有素质:
- 不假定任何事先接触过编程
- 阅读愉快(不会像傻瓜一样烦人/
- 不会过度简化
回答
对于Lisp和Scheme(地狱,通常是函数式编程),几乎没有什么东西可以比The Little Schemer和The Seasoned Schemer提供更坚实的基础。两者都为Scheme和函数式编程提供了非常简单直观的介绍,对于新生或者业余爱好者而言,事实证明比起像《战争与和平》这样的非小说类译本所能挣脱的典型卷本要简单得多。
一旦他们超越了Schemer系列,SICP和On Lisp都是绝佳的选择。
回答
有效的Java是必须的,但是我建议先熟悉Java才能完全理解示例。
回答
我知道这是从这里来的交叉文章……但是,我认为最好的Java书籍之一是Brian Goetz编写的Java Concurrency in Practice。这是一本相当高级的书,但是,它通常适合并行代码和Java开发。
回答
MSDN
http://msdn.microsoft.com/en-us/library/ms229335.aspx
回答
实际的学习Grails标准是Jason Rudolph撰写的出色的Grails入门指南。由于可以购买它,但可以免费下载,因此可以讨论它是在线教程还是书籍。有更多的"真实"书籍正在出版,我推荐Beginning Groovy和Grails。
回答
查看Wikibooks的编程部分
它们中的许多是完全形成的,并且相当一部分具有关于特定功能的更高级的部分(处于不同的完成状态)。
另外,w3学校有一个很棒的php教程和参考部分
他们的html和css部分也很好地参考。
回答
C ++
- Bruce Eckel的C ++思考
- Herb Sutter和Andrei Alexandrescu撰写的C ++编码标准
第一个适合初学者,第二个需要C ++的更高水平。
回答
对于C ++,我建议以Koenig和Moo的"加速C ++"作为开始文字,尽管我不知道绝对是新手。它着重于立即使用STL,这使完成工作变得更加容易。
回答
对于C ++,我是C ++常识:基本中级编程的忠实拥护者,我喜欢将其组织成小节(每个主题通常少于5页),因此我很容易掌握它并阅读我所学习的概念需要审查。
这是前一天晚上和在飞机上进行面试时必须读的书。
回答
我们不要忘记Head First Java,它可以被视为该语言必不可少的第一步,或者可能是Sun在线教程之后的第一步。精简语言的目的非常重要,同时又增加了一点乐趣,是已经提到的更深入的书籍的垫脚石。
Sedgewick提供了有关算法的精彩系列文章,如果我们发现Knuth的书籍过于深入,这是必不可少的。除了Knuth之外,Sedgewick为该领域带来了扎实的方法,他提供了C,C ++和Java的书籍。 C ++书籍可以在C语言上反向使用,因为他在演示中没有对这两种语言进行很大的区分。
每当我从事C语言工作时,Harbison和Steele撰写的C:A参考手册都会无处不在。它简洁高效,同时非常彻底,使其无价(无论如何对我而言)。
除了语言之外,如果由于可靠的贡献数量而使该线程成为参考的目的地,而我认为它正朝着这种方向发展,请出于我认为大多数人都知道的原因而包括精通正则表达式。有些人还会说正则表达式本身可以被视为一种语言。此外,它在多种语言中的有用性使其无价。
回答
C#
Hanspeter M?ssenb?ck撰写的Cto the Point。在仅有的200页上,他解释了Cin令人惊讶的深度,重点是基本概念和简洁的示例,而不是挥手和Visual Studio屏幕截图。
有关特定语言功能的其他信息,请检查语言规范ECMA-334.
框架设计指南是Microsoft的Krzysztof Cwalina和Brad Abrams所著的书,它提供了对.NET库背后的主要设计决策的进一步了解。
回答
Haskell:
奥赖利书:
- 《真实世界》 Haskell,这是一本关于Haskell的极好的面向教程的书,可在线或者印刷获得。
我最喜欢的一般性,学术性较低的在线教程:
- Haskell Wikibook包含所有优秀的Another Haskell教程。 (例如,本教程将设置Haskell发行版并运行示例程序。)
- 本着"为什么对Ruby的凄美指南"的精神,为我们学习Haskell for Great Good,但更重要的是。
- 在48小时内为自己写一个计划。通过实际项目学习Haskell,让手变得肮脏。
关于使用Haskell进行函数式编程的书籍:
- Lambda演算,组合器,从理论上讲,但非常实际:戴维(Davie)使用Haskell的函数式编程系统简介
- 懒惰和程序正确性,从功能上思考:Bird使用Haskell进行函数式编程的介绍
回答
红宝石
- Sang Shin提供的免费Ruby on Rails培训在线课程还算不错。它还在课程中的每个主题上都有大量的进一步阅读链接
回答
普通口齿不清
有关CL的良好参考,请查看Common Lisp the Language,第二版
回答
- C-C编程语言-显然,我不得不参考K&R,这是最好的编程书籍之一。
- C ++-加速的C ++-清晰,写得很好的C ++简介直接用于STL,并提供了清晰,实用的示例。不辜负它的名字。
- C#-Pro C#2008和.NET 3.5平台-有点冗长,但写得很好,而且深度很大。
- F#-专家F#-旨在将经验丰富的程序员从零变为F#的专家。写得很好,是作者发明的F#之一,所以我们不会错!
- 计划-小计划者-教授编程语言的真正独特方法做得非常好。
- Ruby-编程Ruby-亲切地称为" pick axe"书,这是Ruby的事实介绍。写得很好,清晰而详尽。
回答
对于C#:
- 通过C#进行CLR
- C#深度
回答
对于Java EE 5,有单独的教程JEE教程。这很有用,因为人们经常询问Java中的持久性和xml绑定。
回答
对于Javascript:
- Javascript:权威指南
- Pro Javascript技术
对于PHP:
- PHP对象,模式和实践
对于OO设计和编程,模式:
- 面向对象的软件构造(圣经,也许Head First OO会不错,我不知道)
- 头先设计模式(我很喜欢这本书)
- 设计模式
对于重构:
- 重构:改进现有代码的设计
- 与旧版代码有效合作
对于SQL / MySQL:
- Joe Celko:SQL中的树和层次结构(仅针对特定主题,但我发现它很有趣)
- 专业版MySQL
回答
CDot上网本零
回答
Java:SCJP for Java6. 我仍然将其用作参考。
回答
对于目标C:
Mac OSX第三版的可可编程
亚伦·希勒加斯(Aaron Hillegass)
由Addison Wesley发布
在目标C中进行编程,
斯蒂芬·科尚(Stephen G Kochan)
回答
对于REALbasic:
Buginning REALbasic,从新手到专业人员,作者Jerry Lee Ford
很基础,但是是入门的好方法
回答
对于Python,我建议使用"一个字节的Python"。
披露:我是本书的作者,但希望主页和本书上的用户反馈能够说明一切:)
回答
对于初学者来说,Head First Javascript是JS的很好的入门,它创造性地解释了使用JS语法的基本编程概念。 Head First系列基于已研究的技术,可学习和记住新信息。他们让我们进行许多看起来很幼稚的练习和难题,但确实有助于我们巩固大脑中的知识。
我真正喜欢的一个练习是,在他们解释了数据类型之后,他们展示了一张城市街道的图片,然后说:"标记我们可以在这张图片中找到的所有数据类型"。因此,汽车上的信号灯是布尔值,商店上的符号是字符串,地址是数字。那帮助我获得了如何将真实信息转换为程序的想法。
仅基于本书,我想说" Head First"系列是第一次学习某些东西的好方法,但是它们具有的类似故事的格式会使它们难以用作参考。
回答
哈尔·富尔顿(Hal Fulton)的《红宝石之路》
Ruby Way封面http://rubyhacker.com/trw2cover.gif
回答
我会将Peter Seibel撰写的" Practical Common Lisp"添加到Lisp列表中。特别擅长提供主题示例(MP3解析,广播服务器,HTML编译器)。
http://gigamonkeys.com/book/
回答
我将添加Bruce Eckel的编程书籍:
- 用Java思考(印刷版:第4版;第3版。在线:http://www.mindview.net/Books/TIJ/)
- 《 C ++中的思考》(第二版,可在线免费获得:http://mindview.net/Books/TICPP/ThinkingInCPP2e.html
通常,他的"书籍"页面(http://mindview.net/Books/)是很好的资源。免费提供的书籍也可以在http://www.ibiblio.org/pub/docs/books/eckel/中找到
回答
爪哇
Java简而言之。
这个名称有点用词不当,因为它很粗,但确实包含学习Java所需的一切。
回答
我将第二现实世界Haskell。在访问了#stackoverflow IRC频道(irc.freenode.net)之后,到目前为止,我已经与两位作者进行了交谈,一位是Reddit的作者,另一位是#haskell频道的作者,与SO频道在同一台服务器上,他们除了对我追求学习Haskell。这是我第一次向任何人强烈推荐一本有关编程的书。
回答
对于PHP,我建议使用George Schlossnagle的Advanced PHP Programming。如果我们刚刚开始使用PHP,那可能不是一本最好的书,但是在我们了解自己的工作方式之后,这本书(以我的观点)告诉我们许多最佳实践和技巧,否则我们可能会错过。
为了学习Lisp,建议我们阅读Peter Seibel的《实践普通Lisp》。可以从http://www.gigamonkeys.com/book/在线获得该文件。
对于Lua,我推荐Roberto Ierusalimschy的《在Lua中编程》。这本书不是那里最好的编程书籍,但是在当前选择的Lua书籍中,这将是最好的。该书的第一版也可以从http://www.lua.org/pil/在线获得。就像本书的封底提到的那样,这本书面向的是那些已经拥有另一种语言编程经验的人。
回答
我不断回到的一个站点是http://www.javapractices.com。它涵盖了有效Java书中讨论的大多数技术。另一个检查代码示例(从基本到高级)的好网站是http://www.java2s.com。
回答
我会推荐一些有关Java的书:
对于初学者:Head First Java是对该语言的出色介绍。
而且我还必须提到" Head First设计模式",这对学习者来说是一个很好的资源,可以帮助他们理解可能具有挑战性的概念。这些书籍随和而有趣的风格非常适合编程新手。
布鲁斯·埃克尔(Bruce Eckel)的《 Thinking In Java v4》是一本关于Java SE的非常全面的综合书籍。 (不到1500页,它也很适合进行重量训练!)对于那些不喜欢胖子奖金的人,有免费的较旧版本可供下载。
当然,正如许多人已经提到的那样,Josh Bloch的Effective Java v2是任何Java开发人员库的重要组成部分。
回答
Ruby中的设计模式:
http://www.amazon.com/Design-Patterns-Ruby-Addison-Wesley-Professional/dp/0321490452#reader
回答
我发现《编程Erlang》是一本学习Erlang的好书。它是由创建该语言的人编写的,并且很好地涵盖了基础和高级主题。它也有一些很好的例子。
回答
不能相信没有人提到过Perl最佳实践。还有一个Twitter提要,每天提供一个PBP。
我从罗伯特的《 Perl教程》中学到了Perl,我推荐它,但是自1999年以来就没有更新过。推荐的新教程是史蒂夫的《 Perl教程》。
对于使用Perl进行Web开发,最明显的赢家是Catalyst,而Catalyst Wiki是学习的起点。
回答
C:使用C进行编程,Stephen G. Kochan,开发人员库。
有条理,清晰,精心,美丽。
回答
爪哇
Java Notes非常适合初学者Java程序员
回答
短暂聊天
- 举例来说,Pharo
- 海边书
回答
C
肯尼迪金在他的个人页面中列出了推荐的C语言书籍:
- C解谜书(修订版)
- C:参考手册,第五版
- C释放
- C陷阱与陷阱
- 专家C编程
回答
核心Java Vol 1和2.
凯·霍斯特曼和加里·康奈尔
有史以来最好的Java书!!!!!!
回答
Perl核心语言Little Black Book极好的参考!