- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或互动。
不久前,我还是一名初级编码员,试图找到关于我想学习的语言的好书/教程。即便如此,有时我还是需要为我正在从事的新项目相对较快地掌握一门语言。这篇文章的目的是记录这些语言的一些最好的教程和书籍。我将从我能找到的最好的列表开始,但希望你们能帮助提供更好的建议/新语言。这是我发现的:
由于这现在是 wiki 可编辑的,我将控制权交给社区。如果你有什么建议,请把它放在这个部分。我决定还添加一个部分,作为更好的程序员书籍和在线引用资料。再次,欢迎所有建议。
通用编程
在线教程
Foundations of Programming作者:Karl Seguin - 来自 Codebetter,它基于 C#,但想法全面正确,不敢相信实际上还没有人发布此内容。
How to Write Unmaintainable Code - 一本反手册,教你如何以最不可维护的方式编写代码。如果这些建议中有很多听起来不那么真实,那将会很有趣。
The Programming Section of Wiki Books - 吉姆罗伯特建议在不同的完成阶段有大量关于多种语言的书籍/教程
Just the Basics去感受一种语言。
图书
Code Complete - 这本书不言而喻,它在很多方面都非常出色。
The Pragmatic Programmer - 与编码大师一起工作的下一个最好的事情,教你他们知道的一切。
Mastering Regular Expressions - 正则表达式是每个程序员工具箱中必不可少的工具。这本书由 Patrick Lozzi 推荐,是了解他们能力的好方法。
C中的算法, C++ , 和 Java - 如果您发现 Knuth 的书有点太深入,这是学习所有经典算法的好方法。
C
在线教程
This教程似乎非常简洁,仔细查看了 Material ,似乎还不错。不确定它对新程序员有多友好。
图书
K&R C - 绝对经典。可能有人认为所有程序员都应该阅读它。
C Primer Plus - 被 Imran 推荐为初级程序员的终极 C 书。
C: A Reference Manual - Patrick Lozzi 推荐的一个很好的引用。
C++
在线教程
cplusplus.com上的教程似乎是最完整的。我找到了另一个教程 here但它不包括像多态这样的主题,我认为这是必不可少的。如果您来自 C,this教程可能是最适合你的。
另一个有用的教程,C++ Annotation .在 Ubuntu 系列中,您可以通过安装 c++-annotation
获得多种格式(pdf、txt、Postscript 和 LaTex)的电子书。来自 Synaptic 的软件包(安装的软件包可以在 /usr/share/doc/c++-annotation/
中找到。
图书
The C++ Programming Language - 对任何 C++ 程序员都至关重要。
C++ Primer Plus - 最初添加为拼写错误,但亚马逊的评论非常好,我会把它留在这里,直到有人说它是废话。
Effective C++ - 改进 C++ 程序的方法。
More Effective C++ - 延续有效的 C++。
Effective STL - 改进 STL 使用的方法。
Thinking in C++ - 好书,两卷。由布鲁斯·埃克尔 (Bruce Eckel) 和查克·埃里森 (Chuck Ellison) 撰写。
Programming: Principles and Practice Using C++ - Stroustrup 对 C++ 的介绍。
Accelerated C++ - Andy Koenig 和 Barbara Moo - 对 C++ 的出色介绍,并没有将 C++ 视为“附加了额外位的 C”,事实上,您直接深入了解并尽早开始使用 STL。
向前
图书
FORTH,文本和引用。 Mahlon G. 凯利和尼古拉斯
spy 。 ISBN 0-13-326349-5/ISBN 0-13-326331-2。 1986年
普伦蒂斯霍尔。 Leo Brodie 的书很好,但这本书
甚至更好。例如,它涵盖了定义词和
口译员深入。
java
在线教程
Sun's Java Tutorials - 一个看似完整的官方教程,但我不是 Java 专家。大家知道有更好的吗?
图书
Head First Java - 被 Patrick Lozzi 推荐为很棒的介绍性文字。
Effective Java - 被pek推荐为优秀的中级文本。
Core Java Volume 1和 Core Java Volume 2 - 由 FreeMemory 推荐为一些可用的最佳 Java 引用。
Java Concurrency in Practice - 被 MDC 推荐为 Java 并发编程的重要资源。
The Java Programing Language
Python
在线教程
Python.org - 这种语言的在线文档非常好。如果你知道更好的让我知道。
Dive Into Python - 由尼古拉建议。好像是网上的python书。
珀尔
在线教程
perldoc perl - 这就是我个人开始使用该语言的方式,我认为您无法击败它。
图书
Learning Perl - 一种向语言介绍自己的好方法。
Programming Perl - 被称为 Perl 圣经。任何认真的 perl 程序员的基本引用。
Perl Cookbook - 一本很好的书,可以解决许多常见问题。
Modern Perl Programming - 新发布,包含现代技术和工具的最新智慧,包括 Moose 和 DBIx::Class。
ruby
在线教程
亚当米卡建议 Why's (Poignant) Guide to Ruby但是看了之后,不知道是不是适合大家。
找到 this该站点似乎为 Ruby on Rails 提供了几个教程。
图书
Programming Ruby - 建议作为所有 ruby 的重要引用。
视觉基础
在线教程
找到 this网站似乎致力于视觉基础教程。不知道他们有多好。
PHP
在线教程
The main PHP site - 一个简单的教程,允许用户对每个页面发表评论,我真的很喜欢。
PHPFreaks Tutorials - 不同难度长度的各种教程。
Quakenet/PHP tutorials - PHP 教程将从头开始指导您。
JavaScript
在线教程
找到了一个不错的教程here面向非程序员。又发现了一个更高级的here .尼古拉建议 A reintroduction to javascript作为一个很好的阅读这里。
图书
Head first JavaScript
JavaScript: The Good Parts (作者有 Google Tech Talk video)
C#
在线教程
C# Station Tutorial - 似乎是我挖出来的一个不错的教程,但我不是 C# 人。
C# Language Specification - 由 tamberg 推荐。不是真正的教程,而是对 C# 的所有元素的很好的引用
图书
C# to the point - tamberg 建议作为一个简短的文本,以惊人的深度解释语言
卡姆
图书
nlucaroni 提出以下建议:
OCaml for Scientists
Introduction to ocaml
Using Understand and unraveling ocaml: practice to theory and vice versa
Developing Applications using Ocaml - O'Reilly
The Objective Caml System - Official Manua
haskell
在线教程
nlucaroni 提出以下建议:
Explore functional programming with Haskell
图书
Real World Haskell
Total Functional Programming
LISP/方案
图书
wfarr 提出以下建议:
The Little Schemer - Scheme 和函数式编程的一般介绍
The Seasoned Schemer - 小阴谋家的后续行动。
Structure and Interpretation of Computer Programs - 关于 Lisp 的权威书籍(还有 available online)。
Practical Common Lisp - 一个很好的 Lisp 介绍,有几个实际使用的例子。
On Lisp - Lisp 中的高级主题
How to Design Programs - 计算和编程导论
Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp - 一种高质量的 Lisp 编程方法
你们呢?我完全不喜欢那里的一些吗?我是否遗漏了你最喜欢的语言?我会采纳最好的意见,并根据建议修改问题。
最佳答案
我知道这看起来会过时,但我并不认为使用在线教程来学习编程语言或平台。这些通常只会让您对语言有一点了解。要真正学习一门语言,您需要相当于一本“书”,在许多情况下,这意味着一本真正的死树书。
如果您想学习 C,请阅读 K&R。如果您想学习 C++,请阅读 Stroustrup。如果你想学习 Lisp/Scheme,请阅读 SICP。等等。
如果您不愿意花费超过 30 美元和几个小时来学习一门语言,那么您可能不会学习它。
关于programming-languages - 流行语言的语言书籍/教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22873/
我认为这个问题说明了一切,但我有一个使用 .net 安装工具包的应用程序(在 vs.2005 中),并且用户问我是否可以将它安装在 c:\Program Files\ProgramName 而不是C:
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我是 Stephen Wolfram 的忠实粉丝,但他绝对是一个不怕自吹自擂的人。在许多引用资料中,他将 Mathematica 颂扬为一种不同的符号编程范式。我不是 Mathematica 用户。
我现在正在使用 Squeak4.1 学习 SmallTalk。我使用 Squeak by Example 作为教程,在这里我反驳了一个 delema,“Morphic 是由...开发的,用于自编程语言
Wikipedia有话要说: Total functional programming (also known as strong functional programming, to be cont
在阅读 Paul Graham's Essays 时, 我对 Lisp 越来越好奇了。 在this article ,他提到最强大的功能之一是您可以编写可以编写其他程序的程序。 我无法在他的网站或其他
我知道 functional programming 有几个定义。 .我认为这是一个模糊的类别。我个人的定义是接近' referential transparency '。 这个问题不是“函数式编程的
我注意到许多顶尖大学都开设了类(class),在这些类(class)中,学生将学习与计算机图形学相关的 CS 专业科目。可悲的是,这是我的大学没有提供的东西,我真的很想在 future 几年的某个时候
我正在安装100%托管代码的.NET(C#)应用程序。安装程序(InnoSetup)始终希望将应用程序安装到Vista x64中的“Program Files(x86)”文件夹中,我认为这是因为安装程
假设在 C 中,我们有以下结构: struct MyData { char key1[20]; long key2; ... /* some data */ }; 本质上,除
这个问题已经有答案了: When should I use ampersand with scanf() (3 个回答) 已关闭 6 年前。 所以我在python3中有这个“程序”,它添加了3个字符串
我编写了一个包含 self 更新程序的 Java 应用程序。自更新程序从 Web 服务器加载新的程序版本并替换应用程序文件。如果安装了应用程序,这将完美地工作,例如在用户主目录中,如果它安装在 C:\
注意:标记为社区维基。 是否有一个很好的分析为什么可视化编程语言仍然没有起飞?这些天我们仍在 80x25 文本窗口中“线性”编码;而我们表示的概念(数据结构、算法)似乎可以更直观地表示出来。 最佳答案
我一直在阅读Code Complete 2 .由于我不是以英语为母语的人,因此我需要一些时间才能理解某些陈述。我希望你描述作者在他的书中所做的这两个陈述之间的区别: You should progra
我在为我的 tomcat 设置 CLASSPATH 时遇到了这个问题。我需要在 tomcat 的 CLASSPATH 中引用我的 2 个安装。其中一个位于 C:\Program Files\Postg
这个问题已经有答案了: How can I lock a file using java (if possible) (8 个回答) 已关闭 6 年前。 我有 2-3 个程序可以修改文件,但如果有一个
我 checkout Reading stdout from one program in another program却没有找到我要找的答案 我是 Linux 的新手,我正在使用 Python 中
我有一个程序可以打印出通过或失败。我想检测卡在那里的程序并回显“超时” 我写了这样一个脚本: #!/bin/bash echo -n 'test' && timeout 5 ./mytest | gr
我非常清楚函数式编程技术和命令式编程技术之间的区别。但是现在有一种普遍的趋势是谈论“函数式语言”,这确实让我感到困惑。 当然,像 Haskell 这样的一些语言比 C 等其他语言更欢迎函数式编程。但即
请求:每个进程需要计算自己的组到所有点的距离。我的代码如下: #include stdio.h #include stdlib.h #include math.h #include string.h
我是一名优秀的程序员,十分优秀!