不久前,我还是一名初级编码员,试图找到关于我想学习的语言的好书/教程。即使如此,有时我也需要为我正在从事的新项目相对快速地学习一门语言。这篇文章的重点是记录关于这些语言的一些最好的教程和书籍。我将从我能找到的最好的开始列表,但希望你们能提供更好的建议/新语言。以下是我的发现:

因为现在这是维基可编辑的,我把控制权交给社区。如果你有什么建议,请写在这个部分。我还决定增加一个关于如何成为一个更好的程序员的书籍和在线参考资料的部分。再说一次,欢迎所有的建议。

一般编程

Online Tutorials Foundations of Programming By Karl Seguin - From Codebetter, its C# based but the ideas ring true across the board, can't believe no-one's posted this yet actually. How to Write Unmaintainable Code - An anti manual that teaches you how to write code in the most unmaintable way possible. It would be funny if a lot of these suggestions didn't ring so true. The Programming Section of Wiki Books - suggested by Jim Robert as having a large amount of books/tutorials on multiple languages in various stages of completion Just the Basics To get a feel for a language.

Books Code Complete - This book goes without saying, it is truely brilliant in too many ways to mention. The Pragmatic Programmer - The next best thing to working with a master coder, teaching you everything they know. Mastering Regular Expressions - Regular Expressions are an essential tool in every programmer's toolbox. This book, recommended by Patrick Lozzi is a great way to learn what they are capable of. Algorithms in C, C++, and Java - A great way to learn all the classic algorithms if you find Knuth's books a bit too in depth.

C

在线教程 本教程似乎相当简洁和彻底,看了材料,似乎是相当好的。但不确定它对新程序员是否友好。 书 《K&R C》绝对是经典。有人可能会说,所有程序员都应该阅读它。 C Primer Plus - Imran建议作为初级程序员的终极C书。 C:参考手册- Patrick Lozzi推荐的很好的参考资料。

C++

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

另一个有用的教程,c++ Annotation。在Ubuntu系列中,您可以通过从Synaptic安装c++-annotation包来获得多种格式(pdf, txt, Postscript和LaTex)的电子书(安装包可以在/usr/share/doc/c++-annotation/中找到)。

Books The C++ Programming Language - crucial for any C++ programmer. C++ Primer Plus - Orginally added as a typo, but the amazon reviews are so good, I am going to keep it here until someone says it is a dud. Effective C++ - Ways to improve your C++ programs. More Effective C++ - Continuation of Effective C++. Effective STL - Ways to improve your use of the STL. Thinking in C++ - Great book, both volumes. Written by Bruce Eckel and Chuck Ellison. Programming: Principles and Practice Using C++ - Stroustrup's introduction to C++. Accelerated C++ - Andy Koenig and Barbara Moo - An excellent introduction to C++ that doesn't treat C++ as "C with extra bits bolted on", in fact you dive straight in and start using STL early on.

出来

书 第四,文本和参考资料。马伦·g·凯利和尼古拉斯 间谍。Isbn 0-13-326349-5 / Isbn 0-13-326331-2。1986 新世纪。里奥·布罗迪的书很好,但是这本书 就更好了。例如,它涵盖了定义单词和 口译员深入讲解。

Java

Online Tutorials Sun's Java Tutorials - An official tutorial that seems thourough, but I am not a java expert. You guys know of any better ones? Books Head First Java - Recommended as a great introductory text by Patrick Lozzi. Effective Java - Recommended by pek as a great intermediate text. Core Java Volume 1 and Core Java Volume 2 - Suggested by FreeMemory as some of the best java references available. Java Concurrency in Practice - Recommended by MDC as great resource for concurrent programming in Java.

Java编程语言

Python

在线教程 Python.org——这门语言的在线文档非常好。如果你知道更好的办法,请告诉我。 潜入Python -由Nickola建议。网上好像有本python书。

Perl

Online Tutorials perldoc perl - This is how I personally got started with the language, and I don't think you will be able to beat it. Books Learning Perl - a great way to introduce yourself to the language. Programming Perl - greatly referred to as the Perl Bible. Essential reference for any serious perl programmer. Perl Cookbook - A great book that has solutions to many common problems. Modern Perl Programming - newly released, contains the latest wisdom on modern techniques and tools, including Moose and DBIx::Class.

Ruby

在线教程 Adam Mika推荐了《Why’s (Poignant) Guide to Ruby》,但在看了之后,我不知道它是否适合每个人。 找到了这个网站,似乎提供了一些Ruby on Rails的教程。 书 Ruby编程-建议作为所有Ruby的很好的参考。

Visual Basic

在线教程 发现这个网站,似乎致力于可视化基本教程。但不确定它们有多好。

PHP

在线教程 主要的PHP站点——一个简单的教程,允许用户对每个页面进行评论,我非常喜欢。 PHPFreaks教程-不同难度长度的各种教程。 Quakenet/PHP教程- PHP教程将指导你从头开始。

JavaScript

在线教程 在这里找到了一个适合非程序员的教程。在这里找到了另一个更高级的。Nickolay建议在这里重新介绍javascript。

书 头部优先JavaScript JavaScript:好的部分(作者的谷歌Tech Talk视频)

C#

在线教程 c#站点教程——似乎是我挖出来的一个不错的教程,但我不是一个c#的人。 c#语言规范-由tamberg建议。算不上真正的教程,但它是关于c#所有元素的很好的参考 书 c#的要点-由tamberg建议作为一个简短的文本,以惊人的深度解释语言

奥卡姆

书 Nlucaroni建议如下: 科学家OCaml ocaml简介 运用理解和阐释ocaml:实践到理论,反之亦然 使用Ocaml - O'Reilly开发应用程序 目标Caml系统-官方Manua

Haskell

在线教程 Nlucaroni建议如下: 探索用Haskell进行函数式编程 书 真实世界Haskell 全面函数式编程

LISP /计划

Books wfarr suggested the following: The Little Schemer - Introduction to Scheme and functional programming in general The Seasoned Schemer - Followup to Little Schemer. Structure and Interpretation of Computer Programs - The definitive book on Lisp (also available online). Practical Common Lisp - A good introduction to Lisp with several examples of practical use. On Lisp - Advanced Topics in Lisp How to Design Programs - An Introduction to Computing and Programming Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp - an approach to high quality Lisp programming

你们呢?我是不是有些地方说错了?我是不是漏掉了你最喜欢的语言?我会把最好的意见和建议修改问题。


当前回答

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

其他回答

对于PHP,我推荐George Schlossnagle的《高级PHP编程》。如果您刚刚开始学习PHP,那么这本书可能不是最好的入门读物,但是在您对正在做的事情有了大致的了解之后,这本书(在我看来)会告诉您许多您可能会错过的最佳实践和技巧。

为了学习Lisp,我被推荐阅读Peter Seibel的Practical Common Lisp。这个可以在http://www.gigamonkeys.com/book/上找到。

对于Lua,我推荐Roberto Ierusalimschy的《Programming in Lua》。这本书不是最好的编程书,但在目前的Lua书籍中,这将是最好的。这本书的第一版也可以在http://www.lua.org/pil/上找到。正如书的封底所提到的,这本书是面向那些已经在另一种语言中有一些编程经验的人。

核心Java卷1和2。

作者:凯·s·霍斯特曼,加里·康奈尔

有史以来最好的Java书籍!!!!!!

Haskell:

奥赖利书:

《Real World Haskell》,一本关于Haskell的教程导向型书籍,在线和印刷版均可获得。

我最喜欢的一般的,不那么学术性的在线教程:

Haskell wikibook包含了所有优秀的Haskell教程。(例如,本教程将帮助您详细设置Haskell发行版和运行示例程序。) 学习Haskell for Great Good,在Why's辛酸指南Ruby的精神,但更重要的是。 在48小时内给自己写一份计划。让你的手脏学习Haskell与一个真正的项目。

关于Haskell函数式编程的书籍:

Lambda演算,组合子,更理论化,但以非常实际的方式:Davie的《使用Haskell的函数式编程系统导论》 懒惰和程序正确性,函数式思维:伯德使用Haskell的函数式编程导论

C#

c# to the Point by Hanspeter Mössenböck。在仅仅200页的书中,他以惊人的深度解释了c#,专注于基本概念和简洁的例子,而不是挥手和Visual Studio截图。

有关特定语言特性的更多信息,请查看c#语言规范ECMA-334。

由微软的Krzysztof Cwalina和Brad Abrams合著的《框架设计指南》一书,对。net库背后的主要设计决策提供了进一步的见解。

考虑到最近的发展,我认为有必要把最近大学和私人公司提供的免费在线课程包括在内。new boston是一个我多年来一直使用多种语言的教程网站,非常适合初学者。

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/