不久前,我是一名初学者,试图找到我想要学习的语言的好书/教程.即便如此,有时候我需要为我正在进行的新项目相对快速地学习语言.这篇文章的重点是记录这些语言的一些最佳教程和书籍.我将以我能找到的最好的列表开始列表,但希望你们那里可以提供更好的建议/新语言.这是我发现的:
由于现在可以编辑维基,我可以控制社区.如果您有任何建议,请将其放在本节中.我决定还添加一个部分,一般是更好的程序员书籍和在线参考.我们再次欢迎所有建议.
在线教程
编程的基础由Karl Seguin的-从Codebetter,它基于C#的,但思想响全线真实的,不能相信没有一个人张贴了这个尚未实际.
如何编写不可维护的代码 - 一本反手册,教你如何以最不可能的方式编写代码.如果很多这些建议没有如此真实,那将会很有趣.
维基书籍的编程部分 - 由Jim Robert建议在不同的完成阶段拥有大量关于多种语言的书籍/教程
基础知识要感受一种语言.
书籍
代码完整 - 这本书不言而喻,它在很多方面都非常出色.
务实的程序员 - 与编码人员合作的下一个最好的事情,教给你他们所知道的一切.
掌握正则表达式 - 正则表达式是每个程序员工具箱中必不可少的工具.这本书由Patrick Lozzi推荐,是了解他们能力的好方法.
在算法Ç,C++和Java的 -一个伟大的方式来学习所有的经典算法,如果你深入找到Knuth的书有点太.
在线教程
这个教程看起来非常简洁和深入,查看材料并且看起来非常好.不知道新程序员会有多友好.
书籍
K&R C - 肯定是经典.可能有人认为所有程序员都应该阅读它.
C Primer Plus - 由Imran推荐作为初学程序员的终极C书.
C:参考手册 - Patrick Lozzi推荐的一个很好的参考.
在线教程cplusplus.com
上的教程似乎是最完整的.我在这里找到了另一个教程,但它不包括像多态这样的主题,我认为这是必不可少的.如果您来自C,本教程可能是最适合您的.
另一个有用的教程,C++ Annotation.在Ubuntu系列中,您可以通过c++-annotation从Synaptic安装软件包获得多种格式的电子书(pdf,txt,Postscript和LaTex)(安装包可以在/usr/share/doc/c++-annotation/.
书籍
C++编程语言 - 对任何C++程序员都至关重要.
C++ Primer Plus - Orginally添加了一个拼写错误,但亚马逊的评论非常好,我会保留它,直到有人说这是一个哑弹.
有效的C++ …
当涉及到"问题线"的"隐藏特征"时,没有C++的爱吗?想我会把它扔出去.C++的一些隐藏功能是什么?
我记得首先在STL中学习矢量,经过一段时间后,我想在我的一个项目中使用bool矢量.在看到一些奇怪的行为并做了一些研究之后,我了解到一个bool矢量并不是真正的bool矢量.
在C++中还有其他常见的陷阱需要避免吗?
我工作的公司开始遇到他们目前的分支模型的问题,我想知道社区有哪些不同的分支策略?
对于不同情况,有什么好的吗?贵公司使用什么?它们的优点和缺点是什么?
我最近一直在做一些Java开发并开始使用Eclipse.在大多数情况下,我认为它很棒,但作为一个C/C++人,曾经在vim中进行所有编辑,我发现自己不必要地一遍又一遍地击中Esc键.
如果我拥有Eclipse的所有优点,那将是非常好的,但仍然可以像在vim中一样进行基本编辑.有人知道任何有助于此的Eclipse插件吗?
我在我的程序中使用boost共享指针,我有一个类,它将参数作为另一个对象的引用.我遇到的问题是make_shared函数要求所有参数都是const引用,如果我的类的构造函数不允许传入const引用参数,我会得到编译错误.
有谁知道这背后的原因?另外,有什么办法可以解决这个问题吗?
什么给我带来问题的代码示例:
class Object
{
public:
Object(int& i)
{
i = 2;
}
};
int main(int argc, char *argv[])
{
int i = 0;
boost::shared_ptr<Object> obj = boost::make_shared<Object>(i);
return 1;
}
Run Code Online (Sandbox Code Playgroud)
这会导致编译器错误,指出以下内容
:make_shared.hpp:185:错误:没有匹配函数来调用`Object :: Object(const int&)'注意:候选者是:Object :: Object(const Object&)注意:Object :: Object(int&)
如果Objects构造函数的参数是const int,则可以使用.我很好奇为什么make_shared会这样做.
我开始研究一些我即将接手的项目的网络编程概念,并且我一直在探讨这个八位字节串的概念.任何人都可以提供一些反馈,了解它是什么,以及它与网络编程有何关系?
有没有办法将UTC时间格式化为我想要的任何字符串格式?基本上我正在考虑让一些类采用时间戳,我传递它是字符串告诉它我希望它如何格式化,它返回格式化的字符串给我.有没有办法做到这一点?
如今,面向服务的体系结构似乎越来越热门,但在办公室询问后,我发现我似乎得到了许多不同的定义.你们如何定义SOA?您认为官方定义是什么?
我正在使用Apache Axis将我的Java应用程序连接到Web服务器.我使用wsdl2java为我创建存根,但是当我尝试使用存根时,我得到以下异常:
org.apache.axis.ConfigurationException:没有
<web service name>可用的命名服务
任何的想法?