Language Books/Tutorials for popular languages
不久前,我还是一个开始编写代码的人,试图找到关于我想要学习的语言的好书/教程。尽管如此,有时我还是需要为我正在进行的新项目相对快速地学习一种语言。本文的重点是为这些语言编写一些最好的教程和书籍。我将从我能找到的最好的开始,但希望你们能在那里帮助更好的建议/新语言。以下是我发现的:
因为现在这个wiki是可编辑的,所以我将放弃对社区的控制。如果你有建议,请把它放在这一部分。我还决定增加一个部分,一般是一个更好的程序员书籍和在线参考书以及。再次欢迎所有建议。
通用程序设计在线教程Karl Seguin的编程基础——来自CodeBetter,它基于C,但想法在整个董事会中都是真实的,无法相信实际上还没有人发布过这个。
如何编写不可维护的代码-一个反手册,教你如何以最不可维护的方式编写代码。如果这些建议中有很多不是那么正确的话,那就很有趣了。wiki图书的编程部分-由Jim Robert建议,在不同的完成阶段拥有大量关于多种语言的书籍/教程。只是一些基本的东西,让你感受到一种语言。
书代码完整-这本书不言而喻,它在很多方面都非常出色。务实的程序员-接下来最好的事情是与一个熟练的程序员合作,教你他们所知道的一切。掌握正则表达式-正则表达式是每个程序员工具箱中必不可少的工具。这本由帕特里克·洛兹推荐的书是一个学习他们能力的好方法。C、C++和Java中的算法是一个很好的学习所有经典算法的方法,如果你发现Knuth的书有点太深了。
C在线教程本教程似乎考虑得很周到,仔细研究了材料,似乎还不错。但不确定它对新程序员有多友好。书K&R C——当然是经典之作。可能有人认为所有的程序员都应该阅读它。C Primer Plus-由Imran推荐,作为初级程序员的终极C书籍。C:参考手册——帕特里克·洛兹推荐的一个很好的参考。
C++在线教程cplusplus.com上的教程似乎是最完整的。我在这里找到了另一个教程,但它不包括多态性之类的主题,我认为这是必要的。如果您来自C,本教程可能对您来说是最好的。
另一个有用的教程,C++注释。在Ubuntu系列中,您可以通过从synaptic安装
书C++编程语言——对任何C++程序员都至关重要。C++Primer-Plus作为一个排版添加,但是Amazon评论非常好,我会一直保留到这里,直到有人说它是DUD。有效的C++——改进C++程序的方法。更有效的C++——有效C++的延续。有效的STL-提高您使用STL的方法。C++思想-伟大的书,两卷。布鲁斯·埃克尔和查克·埃里森写的。程序设计:C++原理与实践——Stroustrup对C++的介绍。加速C++ + Andy Koenig和巴巴拉MOO-一个优秀的C++介绍,它不把C++当作"带有额外位的C",事实上,你直接潜入,然后开始使用STL。
四书第四,文本和参考文献。Mahlon G.Kelly和Nicholas间谍。国际标准书号0-13-326349-5/国际标准书号0-13-326341-2。一千九百八十六普伦蒂斯大厅。利奥布罗迪的书不错,但这本书甚至更好。例如,它包括定义单词和翻译深入。
爪哇在线教程Sun的Java教程-一个官方教程,看起来很不错,但我不是Java专家。你们知道更好的吗?书首个Java-推荐为Patrick Lozzi的一个伟大的介绍性文本。有效的Java——由PEK推荐为一个很好的中间文本。核心Java卷1和核心Java卷2——FreeMemory提出的一些最好的Java参考文献。Java并发在实践中被MDC推荐为Java中并发编程的重要资源。
Java编程语言
Python在线教程python.org-这种语言的在线文档非常好。如果你知道的更好,告诉我。潜入Python-尼科拉建议。似乎是一本Python网上的书。
珀尔在线教程PerldocPerl——这就是我个人开始使用该语言的方式,我认为您无法战胜它。书学习Perl——一种向自己介绍该语言的好方法。编程Perl——被称为Perl圣经。
我知道这是去一些老式的,但我不想多了解在线教程使用的编程语言或平台。给你的论文一般不超过一个小按钮。a语言学习是真的,你需要一个等价的"书",和在许多情况下,这意味着真正的死树的书。
如果你想学习C,K R读取&;如果你想学习C++,Stroustrup读。如果你想学习Lisp /计划,阅读材料。等。
如果你不愿意花超过30美元和几小时学习语言,你可能不去学习它。
这是我写的所有的善,(一些)是由中国科学和图书(oreilly的书unpublished——从法国翻译没有问题,但我发现),例如)。我有我最喜欢的一个D *我也最。
OCaml:
哈斯克尔:
(P)For C′35;](p)
- CLR via C§35;
(P)字母名称(p)
- C.;In depth
(P)字母名称(p)
对于C++,我建议用凯尼格和MOO加速C++作为一个开始的文本,虽然我不知道对于一个绝对新手来说是怎样的。它的重点是立即使用STL,这使得事情做起来容易得多。
(P)哈斯凯尔:(p)(P)O'Reilly Book:(p)
(P)我的最爱,高中在线教程:(p)
(P)与Haskell一起编制的功能程序手册:(p)
有效的Java是必须的,但我建议先熟悉Java,以充分理解示例。
(P)鲁比(p)
- The free ruby on rails training online course by sang shin't too bad.It also has a decent amount of further reading links on each subject in the course
不敢相信没有人提到过Perl最佳实践。还有一个twitter feed每天提供一个PBP。
我从罗伯特的Perl教程中学习了Perl,这是我推荐的,但自1999年以来它就没有更新过。更新的推荐教程是Steve的Perl教程。
对于使用Perl的Web开发,明显的赢家是Catalyst,Catalyst wiki是学习的起点。
我想增加布鲁斯·埃克尔的编程书籍:
- Java思想(打印版本:第四版;第三版):在线:HTTP:/www. MyVIEW.NET/BooSs/Tij/)
- C++中的思想(第二ED,免费在线):HTTP:/MIDVIEW.NET/BooSs/TiCP/TimeChanpp2E.HTML
一般来说,他的"书"页面(http://mindview.net/books/)是一个很好的资源。免费提供的书籍也可以在http://www.ibiblio.org/pub/docs/books/eckel上找到。/
研究计划(LISP和明亮,功能编程在一般),有提供了一个基础的东西更多的固体和seasoned比小阴谋家阴谋家。一个是提供简单的和直觉的自然都是计划和功能编程的简单的新证明远比任何学生或hobbyists《典型碰摩离那样一卷是nonfiction rendition &;和平。
一旦他们已经移动超越阴谋家》,这是两个Lisp和在材料的选择。
C++
- Bruce Eckel对C++的思考
- 萨特和Andrei Alexandrescu的C++编码标准
第一个对初学者有好处,第二个要求C++更高级。
(P)For Javascript:(p)
- Javascript:The definitive guide
- Pro Javascript Techniques
(P)For php:(p)
- PHP Objects,Patterns,and Practice
(P)For oo design&;programming,patterns:(p)
- Object-oriented software construction(a bible,maybe the head first or would be nice,I don't know i t)
- Head first design patterns(I so love this book)
- 设计模式
(P)For refactoring:(p)
- Refactoring:Improving the design of existing code
- 与法律法规一起有效工作
(P)For SQL/MYSQL:(p)
- Joe Celko:Tree and Hierarches in SQL(only on a specific subject,but I found it interesting)
- Pro Mysql
- C-The C programming language-obviously I had to reference K&;R,one of the best programming books out there full stop.
- C++-Accelerated C+-This clear,well written introduction to C++goes straight to using the stl and gives nice,clear,practical examples.Lives up to its name.
- 2008 and the Net 3.5 Platform-bit of a mouthful but wonderfully written and huge depth.
- F±35;-Expert F±35;-designed to take experienced programmers from Zero to expert in F±35;.Very well written,one of the author's invented F'35;so you can't go far wrong!
- Scheme-The Little Schemer-Really Unique Approach to teaching a programming language done really well.
- Ruby-Programming Ruby-Affectionately known as the'pick Axe'book,this is the defaction introduction to ruby.非常好的写作,Clear and detailed.
查看wikibooks的编程部分
其中许多都是完全成形的,并且相当多的部分在特定功能上具有更高级的部分(处于不同的完成状态)。
另外,W3学校有一个很好的PHP教程和参考章节
他们的HTML和CSS部分也很适合参考。
让我们不要忘记头一个Java,它可以被认为是这个语言的第一步,或者是Sun在线教程之后的一个步骤。它非常适合简明地掌握语言,同时增加一些乐趣,为已经提到的更深入的书籍提供垫脚石。
Sedgewick提供了一系列优秀的算法,如果你觉得Knuth的书太深入的话,这些算法是必不可少的。除了KNUTH之外,塞奇威克给这个领域带来了坚实的方法,他提供了C、C++和Java的书籍。C++书籍可以在C语言后面使用,因为他在演示文稿中没有对这两种语言进行很大的区分。
每当我研究C,C:一个参考手册,由哈比森和斯蒂尔,与我去任何地方。它既简洁又高效,而且非常彻底,使它无价之宝(无论如何对我来说)。
撇开语言不谈,如果这条线要成为参考文献的一个参考线,我认为它是朝着这个方向发展的,因为有大量的可靠贡献,请包括掌握正则表达式,因为我认为我们大多数人都知道…有些人还认为regex本身就是一种语言。此外,它在各种语言中的实用性使其非常宝贵。
head-first javascript是一个很好的入门级JS,它可以为初学者提供创造性的JS语法解释基本的编程概念。head first系列是基于研究过的技术来帮助您学习和记忆新信息。他们让你做了很多看似幼稚的练习和猜谜,但确实有助于巩固你大脑中的知识。
我真正喜欢的一个练习是,在他们解释了数据类型之后,他们展示了一张城市街道的图片,并说"标记在这张图片中可以找到的所有数据类型"。所以汽车上的闪光灯是一个布尔值,商店上的标志是一个字符串,地址是一个数字。这有助于我了解如何将真实信息转换为程序。
基于这本书,我想说,头一个系列是一个很好的方式来学习东西的第一次,但他们的故事一样的格式将使他们难以用作参考。
哈尔富尔顿的《红宝石之路》
Ruby Way封面http://rubyhacker.com/trw2cover.gif
(P)For objective C:(p)(P)【中文解释】:第三版椰子编程亚伦·希勒加Edited by Addison Wesley(p)(P)Programming in Objective C,Stephen G Kochan,(p)
第五版引物加C,C的书去学习,如果你没有任何事先的编程经验的C。它是我最喜欢的工作人员学会计划从本书。它有所有的素质,你要友好的图书:a
- 不承担任何事先的编程暴露
- 阅读(但没有找到样/成为傻瓜
- 不oversimplify
Common Lisp(P)为一个良好的参考,检查通用Lisp语言,第二版(p)
鉴于最近的发展,我认为很重要的一点是包括最近大学和私营公司免费在线课程的爆炸式增长。新波士顿是一个辅导网站,多年来我一直使用多种语言,非常适合初学者。
网址:http://www.udacity.com/
网址:https://www.coursera.org/
网址:http://www.coursehero.org/
网址:http://www.codecademy.com/
网址:http://mitx.mit.edu/
http://www.khanaccademy.org/
http://thenewboston.org网站/
diveintopython.net Python:http:///
JS:a re自然介绍JavaScript的语言(没有浏览器specifics)为程序员。不知道是一个很好的教程在js中的浏览器。
伟大的主意,顺便说一下!
C.*
C汉斯彼得·M的观点?SSENB?CK。在短短200页的篇幅中,他以惊人的深度解释了C,重点是基本概念和简明的示例,而不是手舞足蹈和Visual Studio截图。
有关特定语言功能的更多信息,请查看C语言规范ECMA-334。
Microsoft的KrzysztofCwalina和BradAbrams撰写的一本书《框架设计指南》进一步深入了解了.NET库背后的主要设计决策。
学习圣杯的脱脂标准是杰森·鲁道夫对圣杯的完美入门。你可以争论它是一个在线教程还是一本书,因为它可以购买,但可以免费下载。有更多的"真正的"书籍正在出版,我建议开始使用groovy和grails。
(P)对于Python,我会像建议的"Python Byte"。(p)(P)Disclosure:I'm the author of this book,but the user feedback on the main page and the book should hopefully speak for itself:(p)
我知道这是一个交叉点…但是,我认为在Brian Goetz的实践中,Java最优秀的书籍之一就是Java并发。一本相当先进的书——但是,它将在您的并发代码和Java开发中通用。
我要第二个现实世界哈斯克尔。在访问了stackoverflow irc channel(irc.freenode.net)之后,到目前为止,我已经和两位作者进行了交谈,一位在Reddit上,另一位在与so channel相同的服务器上的haskell channel上,他们对我学习haskell的任务只起到了帮助作用。这是我第一次强烈推荐一本关于编程的书给任何人。
我推荐一些关于Java的书籍:
对于初学者来说:头一个Java是一个极好的语言入门。我还必须提到头先设计模式,这是一个很好的资源,让学习者掌握哪些是非常具有挑战性的概念。这些书的轻松有趣的风格是编程新手PPL的理想选择。
一本关于Java SE的非常全面、全面的书是Bruce Eckel在Java V4中的思想。(在1500页以下,它也适合于重量训练!)对于那些没有发银行奖金的人来说,有一些旧版本可以免费下载。
当然,正如许多PPL已经提到的,Josh Bloch的有效Java V2是任何Java开发人员库的重要组成部分。
我高度推荐for Java,Java核心。它有一个大的(或两次大),但我发现它是一个基于Java的最佳参考我已经读。
你有一个非常全面的J2EE教程:java.sun.com http:/ / / / / / 5的JavaEE的DOC文档教程
参考你的上市是Ruby on Rails的Ruby。红宝石深而安静下来,它是需要的地方工作的人,想开始学习Ruby。
在Ruby教程,我会建议我的红宝石(辛酸)作为一个伟大的指南为出发点的语言感兴趣的人。
如果你将要为更多的细节,我会推荐书Ruby编程的标准,这已成为所有事情的红宝石。第三版是目前最突出的特点是,Ruby 1.9,所以我会保持关闭一段时间,如果任何人考虑购买这本书。
Salm Talk
- 法罗举例
- 海滨书
嗯,我不知道我会说网络是无用的材料做的,但我同意,有一些有关的书籍。也许他们写的也许是最好的,或是分叉过50美元的法案让你学习到更多的斜材料。
我不同意的方式,这本手册应部分的问题。如果任何人有任何建议,为图书编辑后的语言我想最好的建议。
我推荐的第二kristopher of K &;R为C。
我找到了"基本ActionScript 2.0"是很有用的图书编码(它出现在我相信在AS3版本)。
我发现一个真实的人通过更多图书。在某些情况下,当在线参考。我真的不知道为什么。
MSDNhttp://msdn.microsoft.com/en-us/library/ms229335.aspx
我经常访问的一个网站是http://www.javapractices.com。它涵盖了大多数有效的Java书中讨论的技术。另外一个检查编码示例(从基本到高级)的好站点是http://www.java2s.com。
系统:
计算机系统:程序员视角,2/E
Lisp:
让拉姆达
Perl核心语言-小黑皮书-非常好的参考!
核心Java VL 1和2。
作者:Cay S.Horstmann和Gary Cornell
有史以来最好的Java书!!!!!!!!
C
K.N.King在其个人页面上列出了推荐的C类书籍:
- C字谜书(修订版)
- C:参考手册,第五版
- C释放
- C陷阱与缺陷
- 专家C编程
爪哇
Java注释——对新手Java程序员非常整洁
C:"C语言编程",Stephen G.Kochan,开发人员库。
有组织,清晰,精致,美丽。
(P)对于Java EE 5,有一个分离的教程吉普教程。That's useful,as people often ask about persistence and xml binding in Java.(p)
Ruby中的设计模式:
http://www.amazon.com/design patterns ruby addison-wesley professional/dp/0321490452阅读器
对于C++,我是C++常见知识的忠实爱好者:重要的中间程序设计,我喜欢它被组织成小节(通常每个主题少于5页),所以我很容易抓住它并阅读我需要复习的概念。
这是一个必须为我阅读前一天晚上和在飞机上的工作面试。
对于PHP,我推荐GeorgeSchlossnagle的高级PHP编程。如果您刚开始使用PHP,这可能不是最好的入门书籍,但是在您了解了自己在做什么之后,这本书(在我看来)会告诉您许多最佳实践和提示,否则您可能会错过。
为了学习口齿不清,我被推荐阅读彼得·塞贝尔的实用常用口齿不清。这一个可以在http://www.gigamonkeys.com/book/上在线获得。
对于Lua,我推荐Roberto ierusalimschy在Lua中编程。这本书不是最好的编程书,但在目前选择的Lua书籍中,这将是最好的。这本书的第一版也可以在网站http://www.lua.org/pil/上找到。正如这本书的封底所提到的,这本书面向的是那些已经有了其他语言编程经验的人。
爪哇
简而言之,Java。
这个名字有点误称,因为它相当厚,但它确实具备了学习Java所需的一切。
普通LISP
我会把彼得·塞贝尔的"实用的常见口齿不清"加入口齿不清清单。它特别擅长提供主题示例(MP3解析、Shoutcast服务器、HTML编译器)。
http://gigamonkeys.com/book/本/
(P)For realbasic:(p)(P)Buginning Reabasic,from Novice to Professional by Jerry Lee Ford(p)(P)很基本,但一个好的方式去得到开始(p)
(P)Java:SCJP for Java 6.I still use it as a reference.(p)
对于C和C++在线教程(以及其他主题),
http://www.cprogramming.com/tutorial.html
(P)(c)Dot Net Book Zero(p)
二郎
我发现编程二郎是一本学习二郎的好书。它是由创造语言的人写的,并且非常好地涵盖了基本和高级主题。它也有一些很好的例子。