答案 0 :(得分:33)
我知道这看起来很老套,但我并不太愿意使用在线教程来学习编程语言或平台。这些通常只会给你一点点语言。要真正学习一门语言,你需要相当于一本“书”,在很多情况下,这意味着一本真正的死树书。
如果您想学习C,请阅读K& R.如果你想学习C ++,请阅读Stroustrup。如果你想学习Lisp / Scheme,请阅读SICP。等
如果您不愿意花费超过30美元和几个小时来学习一门语言,那么您可能不会学习它。
答案 1 :(得分:20)
这些都非常好,由学术界撰写,(有些)是书籍(未发表的书籍 - 从法语翻译过来,但我发现没有问题), 例如)。我最喜欢那些帮助我的人。
ocaml:
答案 2 :(得分:10)
答案 3 :(得分:8)
对于 C ++,我建议将Koenig和Moo Accelerated C++作为开头文本,但我不知道它对于一个绝对的新手会是怎样的。它专注于立即使用STL,这使得完成任务更多更容易。
答案 4 :(得分:7)
的Haskell :
O'Reilly Book:
我最喜欢的一般,较少的学术在线教程:
使用Haskell进行函数式编程的书籍:
答案 5 :(得分:5)
<强>红宝石强>
答案 6 :(得分:5)
有效的Java是必须的,但我建议您首先要熟悉Java以完全理解这些示例。
答案 7 :(得分:4)
无法相信没人提到Perl Best Practices。还有Twitter feed每天提供一个PBP。
我从Robert's Perl Tutorial学到了Perl,我建议这样做,但是自1999年以来它没有更新。推荐的新教程是Steve's Perl Tutorial。
对于使用Perl进行Web开发,明显的赢家是Catalyst,而Catalyst wiki是学习的起点。
答案 8 :(得分:4)
我要添加Bruce Eckel的编程书籍:
一般来说,他的“图书”页面(http://mindview.net/Books/)是一个很好的资源。免费提供的书籍也可以在http://www.ibiblio.org/pub/docs/books/eckel/
找到答案 9 :(得分:3)
对于Javascript:
对于PHP:
对于OO设计&amp;编程,模式:
重构:
对于SQL / MySQL:
答案 10 :(得分:3)
答案 11 :(得分:3)
<强> C ++ 强>
第一个适合初学者,第二个需要更高级的C ++。
答案 12 :(得分:3)
查看programming section of wikibooks
其中许多已完全成型,并且不少有更高级的部分(处于不同的完成状态)具体功能。
另外,w3 schools有一个很棒的php教程和参考部分
答案 13 :(得分:3)
对于Lisp和Scheme(地狱,一般的函数式编程),很少有东西比The Little Schemer和The Seasoned Schemer提供更坚实的基础。两者都为Scheme和函数式编程提供了一个非常简单直观的介绍,对于新学生或业余爱好者来说,这比任何典型卷都简单得多,就像 War&amp ;;的非虚构版本一样。和平
一旦他们超越了Schemer系列,SICP和On Lisp都是很棒的选择。
答案 14 :(得分:2)
鉴于最近的发展,我认为重要的是包括最近大学和私营公司提供的免费在线课程。新的波士顿是一个教程网站,我多年来一直用于多种语言,非常适合初学者。
答案 15 :(得分:2)
让我们不要忘记Head First Java,这可能被认为是这种语言中必不可少的第一步,也可能是Sun在线教程之后的步骤。它的目的是简洁地掌握语言,同时增加一些乐趣,作为已经提到的更深入的书籍的垫脚石。
Sedgewick提供了很多关于算法的系列,如果你发现Knuth的书太深入,那么它必须具备。除了Knuth之外,Sedgewick为这个领域带来了坚实的方法,他在C,C++和Java提供了他的书。 C ++书籍可以在C上向后使用,因为他在演讲中没有对这两种语言进行非常大的区分。
每当我在使用C C:A Reference Manual, by Harbison and Steele时,我都会随身携带。它简洁而高效,同时非常彻底,使它无价(对我而言)。
除了语言之外,如果这个帖子成为参考资料的一部分,我认为由于实际贡献的数量,我认为它正在朝这个方向前进,请包括Mastering Regular Expressions,原因我认为我们大多数人知道......有些人也会说正则表达式本身可以被认为是一种语言。此外,它在多种语言中的实用性使其具有无可估量的价值。
答案 16 :(得分:2)
C Primer Plus, 5th Edition - 如果你在没有任何编程经验的情况下学习C,那么可以获得C书。当我从本书中学习编程时,这是我个人的最爱。它具有初学友好书应具备的所有品质:
答案 17 :(得分:2)
答案 18 :(得分:2)
有关CL的详细参考,请查看Common Lisp the Language, 2nd Edition
答案 19 :(得分:2)
Head First Javascript是一个很好的介绍 - 它创造性地解释了使用JS语法的基本编程概念。 Head First系列基于研究技术,帮助您学习和记住新信息。他们让你做很多看似少年的练习和谜题,但真的有助于巩固你大脑的知识。
我真正喜欢的一个练习是在他们解释了数据类型之后,他们展示了一条城市街道的图片,并说“标记了你可以在这张图片中找到的所有数据类型”。所以汽车上的闪光灯是一个布尔值,商店上的标志是一个字符串,地址是一个数字。这帮助我了解了如何将真实信息转化为程序。
仅根据本书,我会说Head First系列是学习第一次的好方法,但它们的故事式格式会让它们很难用作引用。
答案 20 :(得分:2)
对于目标C:
Mac OSX的可可编程 - 第三版 亚伦希勒加斯 由Addison Wesley出版
目标C中的编程, Stephen G Kochan,
答案 21 :(得分:2)
Python:http://diveintopython.net/
JS:a re-introduction to JavaScript是程序员对语言(不是浏览器细节)的介绍。在浏览器中不了解JS的好教程。
顺便说一句好主意!
答案 22 :(得分:1)
学习Grails的事实标准是Jason Rudolph的优秀Getting Started with Grails。你可以辩论它是一个在线教程还是一本书,因为它可以购买,但可以免费下载。有更多的“真实”书籍正在出版,我推荐Beginning Groovy和Grails。
答案 23 :(得分:1)
我将第二个真实世界Haskell。在访问了#stackoverflow IRC频道(irc.freenode.net)之后,到目前为止,我已经与两位作者进行了交谈,一位在Reddit上,另一位在与SO频道相同的服务器上的#haskell频道上,他们一直没有帮助我学习Haskell的任务。这是我第一次强烈推荐一本关于编程的书给任何人。
答案 24 :(得分:1)
无论哪种方式,我同意书籍应成为这个问题的一部分。如果有人对语言书籍有任何建议,我会用最好的建议编辑帖子。
答案 25 :(得分:1)
Smalltalk中
答案 26 :(得分:1)
对于Python,我想建议'A Byte of Python'。
披露:我是本书的作者,但主页和书上的用户反馈应该说明一切:)
答案 27 :(得分:1)
我第二次克里斯托弗对K&amp; R的C推荐。
我发现“Essential Actionscript 2.0”一书对AS编码非常有用(我相信现在有一个AS3版本)。
我发现在某些情况下,拥有真正的书籍比在线参考更有帮助。虽然不太确定原因。
答案 28 :(得分:1)
有些关于Java的书我建议:
对于初学者:Head First Java是对该语言的精彩介绍。 我还必须提到Head First Design Patterns,这是学习者掌握可能非常具有挑战性的概念的重要资源。这些书中随和的有趣风格非常适合编程新手。
关于Java SE的一本非常全面,全面的书是Bruce Eckel的Thinking In Java v4.(在不到1500页的篇幅下,这对于重量训练也是有益的!)对于我们这些没有大量银行奖金的人来说,有旧版本可以免费下载。
当然,正如许多人已经提到的那样,Josh Bloch的Effective Java v2是任何Java开发人员库的重要组成部分。
答案 29 :(得分:1)
您为Ruby列出的引用是针对Ruby on Rails的。虽然仍然很深入,但对于想要学习Ruby的人来说绝对不是一个开始的地方。
对于Ruby教程,我建议Why's (Poignant) Guide to Ruby作为对该语言感兴趣的人的一个很好的起点。
如果你想了解更多细节,我会推荐书Programming Ruby,它已经成为所有Ruby的标准。第三版目前正在编写中,突出了Ruby 1.9的功能,所以如果有人考虑购买这本书,我会拖延一段时间。
答案 30 :(得分:1)
对于J2EE,您有一个非常全面的教程: http://java.sun.com/javaee/5/docs/tutorial/doc/
答案 31 :(得分:1)
对于Java,我高度推荐Core Java。这是一本很大的书(或两本大书),但我发现它是我读过的最好的Java参考书之一。
答案 32 :(得分:1)
<强> C#强>
HanspeterMössenböck撰写了{p> C# to the Point。在200页的篇幅中,他以惊人的深度解释了C#,专注于基础概念和简洁示例,而不是挥手和Visual Studio截图。有关特定语言功能的其他信息,请查看C# language specification ECMA-334。
Framework Design Guidelines,来自Microsoft的Krzysztof Cwalina和Brad Abrams的书,提供了对.NET库背后的主要设计决策的进一步了解。
答案 33 :(得分:1)
我知道这是来自here的交叉帖子......但是,我认为最好的Java书之一是Brian Goetz的Java Concurrency in Practice。一本相当高级的书 - 但是,它会很好地适用于你的并发代码和Java开发。
答案 34 :(得分:0)
对于C和C ++在线教程(和其他主题),
答案 35 :(得分:0)
C: “Programming in C”, Stephen G. Kochan,开发者图书馆。
有组织,清晰,精致,美丽。
答案 36 :(得分:0)
我发现 Programming Erlang 是学习Erlang的好书。它由创建该语言的人编写,并且非常好地涵盖了基本和高级主题。它也有一些很好的例子。
答案 37 :(得分:0)
<强>爪哇强>
Java Notes - 非常适合新手java程序员
答案 38 :(得分:0)
答案 39 :(得分:0)
Core Java第1卷和第2卷。
来自Cay S. Horstmann和Gary Cornell
最佳Java书籍EVER !!!!!!
答案 40 :(得分:0)
Perl核心语言 - 小黑皮书 - 出色的参考资料!
答案 41 :(得分:0)
答案 42 :(得分:0)
Ruby中的设计模式:
http://www.amazon.com/Design-Patterns-Ruby-Addison-Wesley-Professional/dp/0321490452#reader
答案 43 :(得分:0)
我一直回访的网站是http://www.javapractices.com。它涵盖了Effective Java一书中讨论的大多数技术。另外一个检查编码示例(从基本到高级)的好网站是http://www.java2s.com
答案 44 :(得分:0)
对于PHP,我推荐George Schlossnagle的高级PHP编程。如果你刚刚开始学习PHP,它可能不是最好的书,但是在你知道自己在做什么之后,这本书(在我看来)会告诉你很多最佳实践和技巧。你可能错过了。
为了学习Lisp,我建议你阅读Peter Seibel撰写的 Practical Common Lisp 。这个可以在http://www.gigamonkeys.com/book/在线获得。
对于Lua,我推荐Roberto Ierusalimschy的 Lua编程。这本书不是最好的编程书,但在目前选择的Lua书籍中,这将是最好的。本书的第一版也可在http://www.lua.org/pil/在线获取。正如本书后面提到的那样,本书面向那些已经掌握了另一种语言编程经验的人。
答案 45 :(得分:0)
<强>爪哇强>
Java in a Nutshell。
这个名字有点用词不当,因为它很厚,但它确实拥有学习Java所需的一切。
答案 46 :(得分:0)
我会将Peter Seibel的“Practical Common Lisp”添加到lisp列表中。它特别擅长提供主题的示例(MP3解析,shoutcast服务器,HTML编译器)。
答案 47 :(得分:0)
对于REALbasic:
通过杰里·李·福特(Jerry Lee Ford)从初学者到专业人士推广REALbasic
非常基本,但是开始的好方法
答案 48 :(得分:0)
Java:SCJP for Java 6。我仍然用它作为参考。
答案 49 :(得分:0)
C# - Dot Net Book Zero
答案 50 :(得分:0)
对于Java EE 5,有一个单独的教程JEE tutorial。这很有用,因为人们经常会在java中询问持久性和xml绑定。
答案 51 :(得分:0)
对于C ++我是C++ Common Knowledge: Essential Intermediate Programming的忠实粉丝,我喜欢它被组织成小部分(每个主题通常少于5页)所以我很容易抓住它并阅读那些概念我需要复习。
前一天晚上和飞机上的面试都是必读的。
答案 52 :(得分:0)