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


249

不久以前,我还是一名初学者,试图找到有关我想学习的语言的好书/教程。即便如此,有时候我还是需要相对较快地为正在从事的新项目选择一种语言。这篇文章的重点是记录这些语言的一些最佳教程和书籍。我将以我能找到的最好的列表开始,但希望你们在那里能为您提供更好的建议/新语言。这是我发现的:

由于现在可以进行Wiki编辑,因此我将控制权交给了社区。如果您有任何建议,请在本节中提出。我决定还添加一个部分,以便更好地成为一本更好的程序员书籍和在线参考。再次欢迎所有建议。

通用编程

在线教程
的编程基础作者:Karl Seguin-来自Codebetter,它基于C#,但是其思想在各个方面都是正确的,因此无法相信还没有人发表过这篇文章。
如何编写无法维护的代码 -反手册,教您如何以最不可维护的方式编写代码。如果这些建议中有很多没有如此正确,那将很有趣。
维基书籍的编程部分 -由吉姆·罗伯特(Jim Robert)建议,在完成的各个阶段中都有大量有关多种语言的书籍/教程,
只是基础知识

书籍
代码完整 -这本书不用多说,在很多方面都非常出色。
The Pragmatic Programmer-与主编码器一起工作时的第二件事,即教您他们所知道的一切。
掌握正则表达式 -正则表达式是每个程序员工具箱中必不可少的工具。帕特里克·洛齐(Patrick Lozzi)推荐的这本书是学习他们的能力的绝佳方法。
算法ÇC ++Java的 -所有学习经典算法,如果你深入找到Knuth的书有点过一个伟大的方式。

C

在线教程
教程看起来非常简洁,而且经过仔细研究,看起来非常不错。不过,不确定它对新程序员有多友好。
书籍
K&R C-无疑是经典。可能有人争辩说所有程序员都应该阅读它。
C Primer Plus-由Imran推荐,是初学者的终极C书。
C:参考手册 -Patrick Lozzi推荐的参考书。

C ++

在线教程cplusplus.com
上的教程似乎是最完整的。我在这里找到了另一个教程但是它不包括多态性这样的主题,我认为这是必不可少的。如果您来自C,那么教程可能是最适合您的。

另一个有用的教程C ++ Annotation。在Ubuntu系列中,您可以通过安装c++-annotationSynaptic的软件包来获得多种格式的电子书(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。

向前

书籍《
FORTH》,文字和参考。Mahlon G. Kelly和Nicholas Spies。ISBN 0-13-326349-5 / ISBN 0-13-326331-2。1986年Prentice-Hall。Leo Brodie的书不错,但是这本书甚至更好。例如,它涵盖了定义单词和深度解释器的内容。

爪哇

在线教程
Sun的Java教程 -似乎很困难的官方教程,但我不是Java专家。你们知道更好的吗?
Books
Head First Java -Patrick Lozzi推荐的入门书籍。
有效的Java -pek推荐的出色中间文本。
Core Java Volume 1Core Java Volume 2-由FreeMemory建议作为一些可用的最佳Java参考。
实践中的Java并发性-MDC推荐将其作为Java并发编程的重要资源。

Java编程语言

蟒蛇

在线教程
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#

在线教程
C#站教程 -似乎是我挖出的一个不错的教程,但我不是C#。
C#语言规范 -由tamberg建议。并不是真正的教程,而是有关C#书籍所有元素的出色参考

C#的 -tamberg建议作为简短的文本来深度解释该语言。

ocaml

图书
nlucaroni建议如下:
OCaml中的科学家 介绍OCAML
使用了解和解开ocaml的:实践到理论,反之亦然
使用ocaml的开发应用程序-奥赖利
的目的CAML系统-官方Manua

哈斯克尔

在线教程
nlucaroni建议以下内容:
使用Haskell
Books 探索函数式编程
真实世界Haskell
总体函数式编程

LISP /方案

图书
wfarr建议如下:
将小策士 -介绍方案和一般功能的编程
经验丰富的策士 -跟帖到小策士。
计算机程序的结构和解释 -有关Lisp的权威书籍(也可以在线获得)。
实用的Lisp实用程序-Lisp的良好介绍,并提供了一些实际使用示例。
关于Lisp -Lisp
如何设计程序的高级主题- 人工智能编程的计算和编程范例简介
:常见Lisp中的案例研究 -高质量Lisp编程的方法

你们呢?我完全不在那儿吗?我是否遗漏了您喜欢的语言?我将做出最好的评论,并用建议修改问题。

Answers:


33

我知道这似乎是过时的,但是我不认为使用在线教程来学习编程语言或平台不是很多。这些通常不会给您带来一点点语言的味道。要真正学习语言,您需要一本等效的“书”,并且在许多情况下,这意味着一本真正的枯树。

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

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


我同意,如果您真的想深入学习基础知识,那么通常是一本书。但是,从教学的角度来看,我认为Stroustrup的书相当糟糕。我会在GoF书中提出同样的批评(甚至更加强调)。
多纳尔

我不太喜欢Stroustrup的书,我更喜欢Bruce Eckel的《用C ++进行思考》。而且我更喜欢电子书,因为我可以按Ctrl + F。当我上算法课时(它写了《算法入门》),这挽救了我的性命
Tian Bo

9
我对电子书一无所知。关键是它必须是一本真正的“书”,由专家撰写并经过专家审查,而不是您在网上某处找到的免费的5000字的免费教程,而这个人的知识并不比您了解更多做。
克里斯托弗·约翰逊

20

这些都非常好,由学术界撰写,并且(有些)是(例如,一本未出版的有风的书,翻译成法文,但没有发现任何问题)。我*最喜欢的人对我帮助最大。

ocaml:

  1. * ocaml简介
  2. 使用理解和解开ocaml:从理论到实践,反之亦然
  3. * 使用Ocaml开发应用程序-O'Reilly
  4. 物镜系统-官方手册
  5. 简要介绍客观骆驼
  6. 实用的迷彩

Haskell:

  1. 使用Haskell探索函数式编程
  2. * 真实世界的Haskell
  3. * 总功能编程


8

对于C ++,我建议以Koenig和Moo的“ 加速C ++”作为开始文字,尽管我不知道绝对是新手。它着重于立即使用STL,这使完成工作变得更加容易。


但是我认为Accelerated C ++不适合完全的初学者,我认为C ++ Primer Plus(第5版)适合完全的初学者。
伊本·赛义德

7

Haskell

奥赖利书:

  1. 《真实世界》 Haskell,这是一本关于Haskell的极好的面向教程的书,可在线或以印刷形式获得。

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

  1. 哈斯克尔维基包含所有优秀的《 Haskell另一个教程》。(例如,本教程将帮助您设置Haskell发行版并运行示例程序。)
  2. 了解您的Haskell成就美好本着“为什么对Ruby的严厉指南”的精神,,但更重要的是。
  3. 48小时内为您自己编写计划。通过实际项目学习Haskell,让您的手变得肮脏。

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

  1. Lambda演算,组合器,从理论上讲,但非常扎实: 戴维(Davie)使用Haskell的函数式编程系统简介
  2. 懒惰和程序正确性,从功能上考虑:Bird使用Haskell进行函数式编程的介绍

5

有效的Java是必须的,但是我建议先熟悉Java才能完全理解示例。





3

对于Lisp和Scheme(地狱,通常是函数式编程),几乎没有什么东西比The Little SchemerThe Seasoned Schemer更坚实的基础。两者都提供了对方案和函数式编程的非常简单直观的介绍,对于新生或业余爱好者而言,证明比比像《战争与和平》这样的非小说类译本都能胜任的典型卷本要简单得多。

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


3

查看Wikibooks编程部分

它们中的许多是完全形成的,并且相当一部分具有关于特定功能的更高级的部分(处于不同的完成状态)。

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

他们的htmlcss部分也很好地参考。



3
  • C- C编程语言 -显然,我不得不参考K&R,这是最好的编程书籍之一。
  • C ++- 加速的C ++ -这个清晰,写得很好的C ++简介直接用于使用STL,并给出了漂亮,清晰,实用的示例。不辜负它的名字。
  • C#-Pro C#2008和.NET 3.5平台 -内容丰富,但写得很好,内容丰富。
  • F#- 专家F# -旨在将经验丰富的程序员从零变为F#的专家。写得很好,是作者发明的F#之一,所以你不会做错什么!
  • 计划- 计划者- 真正独特的方法来教授编程语言非常好。
  • Ruby- 编程Ruby-亲切地称为“ pick axe”书,这是Ruby的事实介绍。写得很好,清晰详细。

3

对于Javascript:

对于PHP:

对于OO设计和编程,模式:

对于重构:

对于SQL / MySQL:


2

C Primer Plus,第5版 -如果您在没有任何编程经验的情况下学习C,则可获得该C书籍。当我从本书中学到编程知识时,这是我个人的最爱。它具有适合初学者阅读的所有品质:

  • 不假定任何事先接触过编程
  • 阅读愉快(不会像For Dummies那样令人讨厌/
  • 并不过分

2

我们不要忘记Head First Java,它可能被认为是该语言必不可少的第一步,或者可能是Sun在线教程之后的第一步。精简语言的目的非常重要,同时又增添了一点乐趣,是已经提到的更深入的书籍的垫脚石。

Sedgewick提供了有关算法的精彩系列文章,如果您发现Knuth的书籍过于深入,这是必不可少的。除了Knuth之外,Sedgewick还为该领域提供了坚实的方法,他提供了CC ++Java的书籍。C ++书籍可以在C语言上反向使用,因为他在演示中没有对这两种语言进行很大的区分。

每当我从事C 语言工作时,Harbison和Steele撰写的C:A参考手册都会无处不在。它简洁高效,而且非常彻底,使其无价(无论如何对我而言)。

除了语言之外,如果由于可靠的贡献数量而使该线程成为参考的目的地,而我认为它正朝着这种方向发展,请出于我认为大多数人都知道的原因包括Mastering Regular Expressions。有些人还会说正则表达式本身可以被视为一种语言。此外,它在多种语言中的有用性使其无价。



2

对于目标C:

Mac OSX的可可编程-第三版Aaron Hillegass,Addison Wesley发布

在目标C中进行编程,Stephen G Kochan,


2

对于初学者来说,Head First Javascript是JS的很好的入门-它创造性地解释了使用JS语法的基本编程概念。Head First系列基于已研究的技术,可帮助您学习和记住新信息。他们让您进行许多看起来很幼稚的练习和难题,但确实有助于您巩固大脑中的知识。

我真正喜欢的一个练习是,在他们解释了数据类型之后,他们展示了一张城市街道的图片,然后说:“标记可以在这张图片中找到的所有数据类型”。因此,汽车上的信号灯是布尔值,商店上的标志是字符串,地址是数字。那帮助我获得了如何将真实信息转换为程序的想法。

仅基于这本书,我想说“ Head First”系列是第一次学习某些东西好方法,但是它们具有的类似故事的格式会使它们难以用作参考。





1

我第二次提到KristoR对C的推荐。

我发现“基本动作脚本2.0”这本书对于AS编码非常有用(我相信现在有AS3版本了)。

我发现在某些情况下,拥有一些真正的书本比在线参考更为有用。不太清楚为什么。


1

嗯,我不知道我是否会说在线资料是无用的,但我同意书中有一些东西。也许他们写得更好,或者也许是因为付出了50美元以上的举动,才使您更倾向于学习这些材料。

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


1

您为Ruby列出的参考是针对Ruby on Rails的。尽管红宝石仍然深入人心,但对于那些想学习Ruby的人来说,绝对不是一个开始的地方。

对于Ruby教程,我建议 为什么使用(Poignant)Ruby指南”。那些对该语言感兴趣的人作为一个很好的起点。

如果您想了解更多细节,我会推荐《Programming Ruby》一书,它已经成为Ruby所有事物的标准。目前正在编写第三版,着重介绍Ruby 1.9的功能,因此如果有人考虑购买此书,我将暂缓一段时间。


为什么这本书很好,但是这些小故事太夸张了。他们使我烦恼,没有帮助我。
雷恩


1

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



1

实际的学习Grails标准是Jason Rudolph 撰写的出色的Grails入门指南。由于可以购买它,但可以免费下载,因此可以讨论它是在线教程还是书籍。有更多的“真实”书籍正在出版,我推荐Beginning Groovy和Grails。


1

C#

HanspeterMössenböck撰写的C#to the Point。在仅仅200页的内容中,他以惊人的深度介绍了C#,重点介绍了基本概念和简洁的示例,而不是挥手和Visual Studio屏幕截图。

有关特定语言功能的其他信息,请检查C#语言规范ECMA-334

框架设计指南是Microsoft的Krzysztof Cwalina和Brad Abrams的著作,它提供了对.NET库背后的主要设计决策的进一步了解。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.