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

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

一般编程

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

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


当前回答

我经常访问的一个网站是http://www.javapractices.com。它涵盖了《Effective Java》一书中讨论的大部分技术。另一个检查编码示例(从基本到高级)的好网站是http://www.java2s.com

其他回答

REALbasic:

Buginning REALbasic,从新手到专业由Jerry Lee Ford

非常基础,但却是开始学习的好方法

对于Java,我强烈推荐Core Java。这是一本大部头(或两本大部头),但我发现它是我读过的关于Java的最好的参考资料之一。

C:《C语言编程》,Stephen G. Kochan,开发者库。

有条理,清晰,精致,漂亮。

让我们不要忘记Head First Java,它可以被认为是这门语言必不可少的第一步,或者可能是Sun的在线教程之后的第一步。这对于简洁地掌握语言是很好的,同时增加了一点乐趣,可以作为前面提到的更深入的书籍的垫脚石。

如果你觉得Knuth的书太深入,Sedgewick提供了一个关于算法的很棒的系列。除了Knuth之外,Sedgewick还为该领域带来了坚实的方法,并提供了C、c++和Java方面的书籍。c++的书可以向后用在C语言上,因为他在演讲中没有对这两种语言做很大的区分。

每当我在编写哈比森和斯蒂尔所著的《C, C:A Reference Manual》时,它总是伴随着我。它简洁高效,同时非常彻底,使其成为无价的(对我来说)。

撇开语言不谈,如果这篇文章要成为一个参考文献,我认为它是朝着那个方向发展的,因为有很多可靠的贡献,请包括精通正则表达式,因为我想我们大多数人都知道的原因……有些人还会说regex可以被认为是一种语言。此外,它在广泛的语言中的有用性使其非常宝贵。

我知道这看起来有些过时,但我不认为使用在线教程来学习编程语言或平台有多大用处。这些通常只能让你对语言有一点了解。要真正学习一门语言,你需要一本“书”,在很多情况下,这意味着一本真正的“死树书”。

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

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