流行语言的语言书籍/教程

时间:2008-08-22 16:59:57

标签: programming-languages

53 个答案:

答案 0 :(得分:33)

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

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

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

答案 1 :(得分:20)

这些都非常好,由学术界撰写,(有些)是书籍(未发表的书籍 - 从法语翻译过来,但我发现没有问题), 例如)。我最喜欢那些帮助我的人。

ocaml:

  1. * Introduction to ocaml
  2. Using Understand and unraveling ocaml: practice to theory and vice versa
  3. * Developing Applications using Ocaml - O'Reilly
  4. The Objective Caml System - Official Manual
  5. A Concise Introduction to Objective Caml
  6. Practical Ocaml
  7. Haskell:

    1. Explore functional programming with Haskell
    2. * Real World Haskell
    3. * Total Functional Programming

答案 2 :(得分:10)

对于C#

enter image description here

enter image description here

答案 3 :(得分:8)

对于 C ++,我建议将Koenig和Moo Accelerated C++作为开头文本,但我不知道它对于一个绝对的新手会是怎样的。它专注于立即使用STL,这使得完成任务更多更容易。

答案 4 :(得分:7)

的Haskell

O'Reilly Book:

  1. Real World Haskell,一本关于Haskell的面向教程的精彩书籍,可用online打印出来。
  2. 我最喜欢的一般,较少的学术在线教程:

    1. The Haskell wikibook包含所有优秀的又一个Haskell教程。 (例如,本教程有助于设置Haskell发行版和运行示例程序的具体细节。)
    2. Learn you a Haskell for Great Good,本着“为什么是Ruby的尖锐指南”的精神,但更重要的是。
    3. Write yourself a Scheme in 48 hours。用一个真实的项目来学习Haskell。
    4. 使用Haskell进行函数式编程的书籍:

      1. Lambda演算,组合者,更理论化,但是以非常实际的方式:Davie's Introduction to Functional Programming Systems Using Haskell
      2. 懒惰和程序正确性,在功能上思考:Bird's Introduction to Functional Programming Using 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)

  • C - The C Programming Language - 显然我 引用K&amp; R,这是最好的编程书之一。
  • C ++ - Accelerated C++ - 这篇清晰,写得很好的C ++简介直接使用了STL,并提供了很好,清晰,实用的例子。不辜负它的名字。
  • C# - Pro C# 2008 and the .NET 3.5 Platform - 有点奇怪但写得非常精彩且深度很大。
  • F# - Expert F# - 旨在将经验丰富的程序员从零到F#的专家。写得很好,作者之一发明了F#,所以你不能走错了!
  • Scheme - The Little Schemer - 非常独特的方法来教授编程语言非常
  • Ruby - Programming Ruby - 被亲切地称为“镐斧”一书,这是对Ruby的真实介绍。写得很好,清晰而详细。

答案 11 :(得分:3)

<强> C ++

第一个适合初学者,第二个需要更高级的C ++。

答案 12 :(得分:3)

查看programming section of wikibooks

其中许多已完全成型,并且不少有更高级的部分(处于不同的完成状态)具体功能。

另外,w3 schools有一个很棒的php教程和参考部分

他们的htmlcss部分也很适合参考。

答案 13 :(得分:3)

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

一旦他们超越了Schemer系列,SICP和On Lisp都是很棒的选择。

答案 14 :(得分:2)

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

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/

答案 15 :(得分:2)

让我们不要忘记Head First Java,这可能被认为是这种语言中必不可少的第一步,也可能是Sun在线教程之后的步骤。它的目的是简洁地掌握语言,同时增加一些乐趣,作为已经提到的更深入的书籍的垫脚石。

Sedgewick提供了很多关于算法的系列,如果你发现Knuth的书太深入,那么它必须具备。除了Knuth之外,Sedgewick为这个领域带来了坚实的方法,他在CC++Java提供了他的书。 C ++书籍可以在C上向后使用,因为他在演讲中没有对这两种语言进行非常大的区分。

每当我在使用C C:A Reference Manual, by Harbison and Steele时,我都会随身携带。它简洁而高效,同时非常彻底,使它无价(对我而言)。

除了语言之外,如果这个帖子成为参考资料的一部分,我认为由于实际贡献的数量,我认为它正在朝这个方向前进,请包括Mastering Regular Expressions,原因我认为我们大多数人知道......有些人也会说正则表达式本身可以被认为是一种语言。此外,它在多种语言中的实用性使其具有无可估量的价值。

答案 16 :(得分:2)

C Primer Plus, 5th Edition - 如果你在没有任何编程经验的情况下学习C,那么可以获得C书。当我从本书中学习编程时,这是我个人的最爱。它具有初学友好书应具备的所有品质:

  • 不承担任何先前的编程风险
  • 阅读愉快(不会像For Dummies /
  • 那样烦人
  • 不过分简化

答案 17 :(得分:2)

答案 18 :(得分:2)

Common Lisp

有关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)

嗯,我不知道我是否会说在线资料没用,但我同意书中有一些东西。也许他们的写作更好,或者这可能是因为花费超过50美元而让你更倾向于研究这些材料。

无论哪种方式,我同意书籍应成为这个问题的一部分。如果有人对语言书籍有任何建议,我会用最好的建议编辑帖子。

答案 25 :(得分:1)

答案 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 ++在线教程(和其他主题),

http://www.cprogramming.com/tutorial.html

答案 35 :(得分:0)

C: “Programming in C” Stephen G. Kochan,开发者图书馆

有组织,清晰,精致,美丽。

答案 36 :(得分:0)

的Erlang

我发现 Programming Erlang 是学习Erlang的好书。它由创建该语言的人编写,并且非常好地涵盖了基本和高级主题。它也有一些很好的例子。

答案 37 :(得分:0)

<强>爪哇

Java Notes - 非常适合新手java程序员

答案 38 :(得分:0)

<强> C

K.N。 King在他的个人page中列出了推荐的C书:

  • C益智书(修订版)
  • C:参考手册,第五版
  • C Unleashed
  • C陷阱和陷阱
  • 专家C编程

答案 39 :(得分:0)

Core Java第1卷和第2卷。

来自Cay S. Horstmann和Gary Cornell

最佳Java书籍EVER !!!!!!

答案 40 :(得分:0)

Perl核心语言 - 小黑皮书 - 出色的参考资料!

答案 41 :(得分:0)

答案 42 :(得分:0)

答案 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)

Common Lisp

我会将Peter Seibel的“Practical Common Lisp”添加到lisp列表中。它特别擅长提供主题的示例(MP3解析,shoutcast服务器,HTML编译器)。

http://gigamonkeys.com/book/

答案 47 :(得分:0)

对于REALbasic:

通过杰里·李·福特(Jerry Lee Ford)从初学者到专业人士推广REALbasic

非常基本,但是开始的好方法

答案 48 :(得分:0)

Java:SCJP for Java 6。我仍然用它作为参考。

答案 49 :(得分:0)

答案 50 :(得分:0)

对于Java EE 5,有一个单独的教程JEE tutorial。这很有用,因为人们经常会在java中询问持久性和xml绑定。

答案 51 :(得分:0)

对于C ++我是C++ Common Knowledge: Essential Intermediate Programming的忠实粉丝,我喜欢它被组织成小部分(每个主题通常少于5页)所以我很容易抓住它并阅读那些概念我需要复习。

前一天晚上和飞机上的面试都是必读的。

答案 52 :(得分:0)