编程综合知识文章关闭所有内容预览 | 展开所有内容预览
-
如何掌握程序语言(转载)
[内容预览]
197 | 2012-08-11
学习程序语言是每个程序员的必经之路。可是这个世界上有太多的程序语言,每一种都号称具有最新的“特性”。所以程序员的苦恼就在于总是需要学习各种稀奇古怪的语言,而且必须紧跟“潮流”,否则就怕被时代所淘汰。 作为一个程序语言的研究者,我深深的知道这种心理产生的根源。程序语言里面其实有着非常简单,永恒不变的原理。看到了它们,就可以在很短的时间之内就能学会并且开始使用任何新的语言,而不是花费很多功夫去学习一...
[阅读全文]
-
一个程序员一周编程需要多少个小时才能做得更好
[内容预览]
476 | 2012-08-11
提到程序员,大家的第一印象就是累:超长的工作时间。本文围绕作为一个程序员,一周需要工作多长时间这个问题进行了细致的讨论,分析问题比较周到全面,希望能为在做编程以及即将做本行工作的人提供一个参考。 Michael Arrington曾发表一篇博文说,开始创业的人意味着加倍努力的工作,甚至不惜趴在办公桌上睡觉,这样才能成功。对此,我并不赞同其观点,我看了很多评论都是 关于这样工作会适得其反,不但没有...
[阅读全文]
-
程序员高薪背后的秘密:程序员的技能杀伤力
[内容预览]
229 | 2012-06-03
程序员第一定律可以表述为:程序员的收入是技能复杂度和技能实现可能程度的函数。 如果程序员的工资是S,社会平均水平的工资为A,程序员掌握的技能复杂度为C,实现程度为P。那么S = A x C x P。 这里面的实现程度P不太好理解,额外做点说明。 好比说有人在东北种了很多白菜,并获得了大丰收。与此同时广州也确实需要大白菜,按批发价他的这批白菜可以买10万。 但关键是这个人找不到车皮,大白菜就...
[阅读全文]
-
每个人都可以创业:来自5年软件开发经验总结
[内容预览]
225 | 2012-04-27
在享受了 6 年的全职软件工程师生涯之后,我决定换个活法。接下来的 5 年里我进修了 MBA 课程,并尝试了各种管理和投资类型的角色。我依旧关注技术,但在此期间并没有积极参与软件开发,也许配置一个 wordpress 主题或插件可以除外——当然这不能和软件开发相提并论。 我并没有像以前一样持续关注最新的技术潮流,因此对于编程技巧已非常生疏。 一旦决定了要做自己的事业,我...
[阅读全文]
-
架构设计贵在务实
[内容预览]
145 | 2012-04-12
我最早听说“软件架构”这个概念以及UML的名字,是在1999年的水木清华BBS上。当时有一篇文章介绍了软件架构作为一个相对独立的领域的发展情况,顺便提到在此前一年被接纳为OMG标准的UML。该文作者断言,UML的出现将能“彻底”改变软件开发的工作方式,甚至“若干年之后,不通UML者无法染指软件开发”。三年之后,《程序员》杂志专访Ivar Jacobson时,UML已经是尽人皆知。记得Jacobso...
[阅读全文]
-
Java不适合于作为主要编程教学语言
[内容预览]
253 | 2012-04-12
前两年,我所在的学校在全校开始将VB作为大学生的基础教学语言,将VB作为大学生的基础教学语言,可能由于课程基础教研室对VB比较热衷,而认为C语言或C++的一些语法较难。效果如何呢?没有人去做过调查和分析,但从我接触的班级来说,效果都非常的差,很多基本概念都不知道,就别提编写程序了,更不用提用VB编写什么算法了。今天在网上看到这篇文章,感觉与我的想法较为一致,转到这里,与所有能看到这篇文章的人共同反...
[阅读全文]
-
如何快速掌握一门编程语言
[内容预览]
246 | 2012-04-12
很多初学编程语言的人,对如何快速掌握一门语言显得束手无策,在网上找到一篇关于这方面的文章,共享给大家。 现在的开发工作要求我们能够快速掌握一门语言。一般来说应对这种挑战有两种态度:其一,粗粗看看语法,就撸起袖子开干,边查Google边学习;其二是花很多时间完整地把整个语言学习一遍,做到胸有成竹,然后再开始做实际工作。然而这两种方法都有弊病。第二种方法的问题当然很明显,不仅浪费了时间,偏离了目标,...
[阅读全文]
-
作为程序编写者应该掌握的编程的21条规律
[内容预览]
270 | 2012-04-08
1 任何一个程序一旦发布就意味着它已经过时了。 2 让需求根据程序调整往往要比让程序根据需求调整来得容易。 3 如果一个程序是有用的,那它必将被改变。 4 如果一个程序是无用的,那它必须被注释。 5 在任何一个程序里只有10%的代码会被执行。 6 软件会无限扩张以占用所有的系统资源。 7 任何有价值的程序都会包含至少一个错误。 8 一个演示版的程序完美无瑕的几率和关注它的人数成反比,...
[阅读全文]
-
我的C++学习之路
[内容预览]
260 | 2012-04-02
在IT168看到这个对C++学习的探讨,感觉这个网友说的很实在,特转载放到这里与大家分享。 1. 为毛现在的C++教科书都那么枯燥无味? 2. C++中的类这个概念很抽象,请各位说说自己是如何理解运用这个概念的? 3. 听工作过的哥们说STL是C++中很重要的一部分,可是那本《STL源码分析》我看也看不懂,我该怎么办啊? 我也来说说: 1. 为毛现在的C++教科书都那么枯燥无味? 要说...
[阅读全文]
-
面向对象设计的经验原则61条
[内容预览]
160 | 2011-10-03
一直教面向对象的程序设计,但最近两年很少讲理论了,直接就讲具体实现,但今天看到这61条,感觉很震撼,将其转载到这里与大家共享。 你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起。” --Arthur J.Riel (1)所有数据都应该隐藏在所在的类的内部。 (2)类的使用者必须依赖类的...
[阅读全文]
-
IT人士能不能一辈子都靠技术生存
[内容预览]
176 | 2011-10-01
我现在是自己做,但我此前有多年在从事软件开发工作,当回过头来想一想自己,觉得特别想对那些初学JAVA/DOT.NET技术的朋友说点心里话,希望你们能从我们的体会中,多少受点启发(也许我说的不好,你不赞同但看在我真心的份上别扔砖头啊)。 一、 在中国你千万不要因为学习技术就可以换来稳定的生活和高的薪水待遇,你千万更不要认为哪些从事 市场开发,跑腿的人,没有前途。 不知道你是不是知道,咱们中国有相...
[阅读全文]
-
程序员的11个层次 你属于哪一层?
[内容预览]
813 | 2011-04-12
自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外。当然现在中国的许多程序员们对此可能有许多不同的意见,有些人认为中国的程序员水平远落后于西方,有些则认为中国的程序员个人能力并不比西方的程序员差,只是整个软件产业落后而已。 那么,到底中国的程序员水平比西方程序员水平差,还是中国有许多优秀的程序员达到或超过了西方程序员同等水平呢?要解决这个问题,必须先知道程序员有多少种技术层级,...
[阅读全文]
-
学好VC++编程的十大秘诀
[内容预览]
173 | 2011-03-16
很多人都想学好VC++,但是面对VC++的高深,很多人选择了退步,本文作者给出了10个学好VC++编程的秘诀,供广大VC++爱好者进行参考。 一、充分利用MSDN MSDN是Microsoft当前提供的有关编程信息的最全面的资源,它包含微软最新的技术数据库,加上易学易用的全文检索功能,让您迅速找到任何您需要的技术参考数据,让您随时拥有与全世界菁英同步的技术,掌握最丰富的程序开发资源。我经常收到...
[阅读全文]
-
WEB标准化制作与OOP思想的移植
[内容预览]
292 | 2010-11-13
首先来解释一下什么是OOP: OOP: Object Oriented Program命,面向对象的程序设计。 所谓“对象”就是一个或一组数据以及处理这些数据的方法和过程的集合。面向对象的程序设计完全不同于传统的面向过程程序设计,它大大地降低了软件开发的难度,使编程就像搭积木一样简单,是当今电脑编程的一股势不可挡的潮流。面向对象编程(Object Oriented Program命,OOP,面向...
[阅读全文]
-
面向对象设计的11原则
[内容预览]
225 | 2010-11-13
面向对象设计是什么?都包含了哪些内容?它所带来的好处是什么?需要你为之付出些什么?在如今这个年代,问这些问题似乎显得很愚蠢,因为这年头几乎每位软件开发人员都知道如何使用某种面向对象编程语言。可是这个问题还是很重要,因为在我看来,绝大多数人在使用这些语言的时候并不知道为什么,而且也不知该如何最充分的运用它们。 软件业曾经爆发过的所有变革里,其中曾经有两个派系如此广泛的深入人心,它们就是结构化编程和...
[阅读全文]
-
面向对象思想的一点哲学探讨
[内容预览]
308 | 2010-11-13
本来想象着写一整篇「面向对象编程思想的哲学起源」这样的题目,笔走纸上,方才发现这样的题目足够出本书,知识不够,写不动。但心里还是想写点自己的所思所想。 全篇就拿JAVA来举例了。众所周知,面向对象的四大基本要素:抽象(Abstract)、封装(Encapsulation)、继承(Inheritance)、多态(Polymorphism)。 很多人坚持《逻辑学》是唯物哲学的基础,不懂,姑且不论。...
[阅读全文]
-
[组图] 基于Mongodb分布式存储物理文件
[内容预览]
269 | 2010-10-16
在之前的文章中介绍了如何对关系型数据数据通过auto-sharding进行分布式数据存储,今天介绍如何对物理文件(小文件,基本小于100K)进行分布式存储。 接着看一下要配置的测试环境(与前一篇中类似): 模拟2个shard服务和一个config服务, 均运行在10.0.4.85机器上,只是端口不同: Shard1:27020 Shard2:27021 Config:27022 ...
[阅读全文]
-
Boost库对unicode字符集的支持方式探究
[内容预览]
1093 | 2010-10-16
最近习使用Boost库,发现Boost库对unicode字符集的支持好像采用和STL类似的方式(当然没有完全证实)。STL是什么方式呢?就是在原有的ANSI类型上加上w表示这是unicode类型,如std::string对应std::wstring,std::cout对应std::wcout。Boost库也是采用这种方式,据我已经测试有: 字符串格式化:boost::format对应boost:...
[阅读全文]
-
为什么要学习OOP
[内容预览]
267 | 2010-10-06
在本站中已经有很多探讨OOP或面向对象的基本概念的文章,但在这里还要再转载一篇,主要是让大家在各个角度来充分了解OOP或面向对象的概念及OOP或面向对象给我们带来的好处。 1、什么是OOP 也许你会回答面向对象的程序设计,是的,不错,但我们应该尽量避免以概念定义概念,因为我问的就是概念本身。也许你会从一本所谓权威的书上找到一个确切的定义,然后兴冲冲的念给我听,这当然不是我想听到的答案。 那么...
[阅读全文]
-
给学习C++者的一些建议
[内容预览]
123 | 2010-09-26
(1)请热爱C++! (2)看《Thinking In C++》,不要看《C++变成死相》; (3)看《The C++ Program命 Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; (4)不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;...
[阅读全文]
-
给学编程者的一些经验建议
[内容预览]
243 | 2010-09-26
(1)计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,也会发现其中的乐趣的。 (2)记住:万丈高楼平地起!基础很重要,尤其是专业基础课,只有打好基础才能学得更深。 (3)C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。 (4)C语言与C++语言是两回事。就像大熊猫和小熊猫一样,只是名字很像。 (5)请先学习专业课《数据结构》、《计算机组成原理》,不要刚开...
[阅读全文]
-
如何学习编程
[内容预览]
374 | 2010-09-26
本文分两部分介绍了编程的一些经验,一个从总体上讲了如何学习编程、如何成为一名优秀的程序员;第二部分介绍了中国人如何学习编程、学习什么,希望大家能喜欢。 一。如何学编程 要想成为一名优秀的程序员,最重要的是掌握编程思想、找到编程感觉,而不是死记硬背语言本身。掌握编程思想找到编程感觉后,在很多情况下,我们面对新的编程语言时,只需简单了解该语言的语法特点,就可以轻松应对、立即应用了。这就好比一个精通...
[阅读全文]
-
编写PERL程序的一点经验
[内容预览]
288 | 2010-09-26
这是本人在编写PERL程序时积累的一些经验,在此抛砖引玉,希望大家能都提出宝贵意见。 一、多条件排序 一般我们在做程序时,很多时候需要多条件排序,我们只要知道其中的原理,就会知道其实多条件排序是非常容易的。 首先我们先把条件各自对应放到几个数组中,然后我们对其中一个数组进行排序,由于其他数组和这个排序的数组值是一一对应的,我们就可以列出其他的数组项了。下面举例说明:(test.cgi排序程...
[阅读全文]
-
如何进行游戏编程——写给没有编程经验的人
[内容预览]
380 | 2010-09-26
经常有人问我,没有编程经验的人该如何开始开发游戏。在此之前,我总是一个个的尽力回答。然而,后来提相同问题的人数增长到难以处理的地步。我决定,是时候把我所有的建议写成文章,作为一个大概。 这篇文章是针对那些想要开发自己游戏,但几乎没有编程经验的人。事实上,我假设读者没有任何编程经验。我主要讨论游戏开发的程序和设计方面,而不是艺术性。我也不准备讲述如何进入游戏行业(这方面已经有足够的资料),而只是让...
[阅读全文]
-
PLC编程经验
[内容预览]
221 | 2010-09-26
有人分享了一个关于PLC程序设计的经验,大家都说很好,转载到这里与打击共享。弄通有关PLC程序设计理论是重要的。没有这方面的理论准备或指导,仅靠在实践中摸索,简单的问题还好办。复杂的就不好办了。不仅无从下手,而且花了很多时间与精力,也难编出效率较高、质量也较高的程序,常常是事倍功半。 但是,编程的具体实践,以及在这个实践中得来的知识或技能,即经验,也是重要的。没有经验,仅有理论,既无法深刻理解理...
[阅读全文]
-
一个人20年的20条编程经验
[内容预览]
189 | 2010-09-26
有一个人他从11岁开始编程,并且很喜欢这种事情,20年来,他获得了丰富的经验教训,他准备把这些东西写下来与大家共享。 1、解决问题时估算你所需要的时间。 C‘mon,admit it! 我曾见过一些程序员为了解决一个特殊的问题而连续坐在显示器前面8小时,我会像下一个会成为这样的程序员一样感到内疚。为自己定一个时间表吧,每1小时,30分钟,甚至15分钟。如果在这期间你不能找出问题的解决办法, 那...
[阅读全文]
-
动态链接库简介
[内容预览]
198 | 2010-09-23
你是否有过这样的经历,在配置不是很好的机器上运行一些不是很完善的Windows 应用程序,系统速度越来越慢,直至弹出一个警告对话框,系统资源严重不足请关闭部分Windows 应用程序,这往往是静态链接的缘故。使用普通的函数库,在程序链接时将库中的代码拷贝到可执行文件中这叫作静态链接。假设有多个程序同时执行并且都调用了同一个动态链接库,这时内存中就会保留许多重复的代码副本。 使用动态链接库则不一样...
[阅读全文]
-
C#与C++、Java的比较
[内容预览]
248 | 2010-09-05
功能 C++ Java C# 跨平台 源代码(部分) 字节码 CLI(不流行) 执行方式 编译 编译+解释 ...
[阅读全文]
-
关于C++0x
[内容预览]
237 | 2010-09-05
C++0x是ISO计划于2011年底完成的下一版C++语言标准。从2004年2月7日起陆续推出多个工作草案,当前最新的是2009年11月9日发布的N3000(http://www.open-std.org/ JTC1/SC22/ WG21/docs/papers/2009/n3000.pdf)。 新的C++标准将大幅改善C++内核语言领域,包括多线程支持、泛型编程、统一的初始化,以及表现的加强等...
[阅读全文]
-
[图文] 常见编程语言发展谱系图
[内容预览]
1375 | 2010-09-05
下图给出了常见编程语言的谱系图,本图是在网上的一个资料中剪裁下来的,在此多谢作者提供了这么完美的东西。 本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!
[阅读全文]