博文

在中国搞技术只能混碗饭吃(大话IT)(2007-05-06 21:49:00)

摘要:在中国搞技术只能混碗饭吃,没有太大希望,原因如下:
  
  1、中国的文化传统决定的
   在中国,技术以及技术人员缺乏社会地位,具有悠久的历史传统,自古就被斥为“奇技淫巧”,工匠(技术人员)在古代的地位非常低下; 而欧洲从几个世纪以前就非常重视科技了,各国都成立了皇家科学院,很多科学家拥有爵位,地位非常高。
  
  2、中国是个官本位的社会
   这导致了“唯官正确”的怪象,很多事情,当官的并不懂,但是他发表几句狗p不通的指示,人人都点头称是。我们在做项目的过程中这种事情屡见不鲜,领导的话不管对错,都跟圣旨一样,没人敢去怀疑和辩驳,其实也不是大家都傻到不明是非,而是辩驳只会给自己带来麻烦。
   但是如果某个技术人员发表一番见解,则会遭来诸多诘难,原因不是你说错了,而是因为你没权力,人家不怕你,每个人都敢辩驳你,不管他的观点多么荒谬。
   在这样一种氛围下,试问还有多少人有兴趣继续搞技术。
  
  3、中国几乎有无限的劳力供应
   在几大生产力要素中:土地、资本、劳力(在中国还要加上权力),资本最值钱(在中国也许是权力),而劳力最不值钱,原因在于中国几乎拥有无限的劳力供应,供大于求,价格当然下跌(也包括劳力的地位);而资本是最紧缺的,供不应求,当然价格上涨(也包括资本家的地位)。
   当然有人会说高端技术人才并不多,甚至极度紧缺,这点我承认,但是我们当中(来此论坛的)有几个是紧缺的高端技术人才呢?99.99%的不都是普通技术人员嘛。
  
  4、缺乏支持技术创新的体制,缺乏良好的知识产权保护环境
   没有上述二者,请问还有多少技术人员有无穷的热忱投身于技术创新和发明创造?
  
  5、企业宁可去买技术,也不愿投入资金进行研发
   君不见上汽南汽抢着收购罗孚汽车,TCL收购阿尔卡特手机研发部门和飞利浦彩电研发部门,我们的政策是市场换技术,而不是加大研发投入自己搞技术。
  
  6、企业内的“政治”让技术人员心灰意冷
   大部分热衷于技术的人员在“政治”上都相当低能,这也不是他们笨,而是“一心不能二用”,满脑袋都琢磨的是技术,怎么可能天天去琢磨人,但是,企业里混得好的都是成天琢磨人的主。
   这也是为什么很多搞技......

阅读全文(2348) | 评论:1

软件企业需求的人才(开发人员与软件开发工程师综合对比篇)(2007-05-06 21:43:00)

摘要:软件企业需求的人才(开发人员与软件开发工程师综合对比篇)
普通开发人员与软件工程师的区别:

对比1:

A、普通开发人员:

掌握了计算机基础知识;
熟悉计算机资源,学会了编程语言,喜欢卖弄技巧,喜欢比较编程语言的优劣;
以能编出某种特殊功能的程序为荣,不懂原理,不求甚解;
喜欢个人开发,不重视文档编写;

B、软件工程师:

计算机基础知识扎实;
掌握两门以上编程语言,很少停留在表面比较编程语言的优劣;
以编写出用户满意的高质量软件为荣。
懂得个人开发和团队开发的利弊,文档规范,齐全。 google_ad_client = "pub-4475724770859924";google_alternate_color = "E6E6E6";google_ad_width = 468;google_ad_height = 60;google_ad_format = "468x60_as";google_ad_type = "text_image";google_ad_channel ="4150302033";google_color_border = "F8F8F8";google_color_bg = "FFFFFF";google_color_link = "FF6FCF";google_color_url = "38B63C";google_color_text = "B3B3B3";

对比2:

A、普通开发人员:

只重视功能的实现,不重进度和质量的把握。
怕被“管”得太死,动不动就说限制了思路,没有发挥空间。
不喜欢做测试工作,认为测试低人一等,从来没有做过测试工作。
只根据自己的爱好学习技术;

B、软件工程师:

懂得在进度、质量(功能)和成本之间平衡。
懂得规范的目的在于重用,重用有利于提高效率和集中精力创新。
认为测试工作比编码更具挑战性,自己经常为同伴的代码做白盒测试。
根据企业项目的需求和自己发展目标的共同点选择学习内容和方向;

对比3:

A、普通开发人员:

认为别人程序很差,不喜欢看别......

阅读全文(2944) | 评论:0

C++的救赎 C++开源程序库评话(2007-04-21 17:32:00)

摘要:C语言天生就与开放结缘。C最初是作为UNIX的系统编程语言而流行起来的,而UNIX可以被认为是第一个产生重大影响的“开源”软件。随着UNIX的流行,C语言逐渐被人们认识和喜爱。很快的,在各个平台上C语言都成为了流行的甚至是统治性的程序设计语言。

  大约到1980年代中期,C已经成为人类历史上第一种工业级程序设计世界语。很多人都知道,正是C这样一种世界语的出现,才使开源运动的出现和最初发展成为可能,从这个意义上讲,说C语言是开源运动之母并不十分过分。但人们不太能够认识到的是,事实上C语言统治地位的获得,却也是早期开放软件运动的直接结果。多数人在回顾这段历史的时候,经常会感染中国文人的不严肃的浪漫主义史观,喜欢把C语言的成功归结为汉高祖斩白蛇般的天赋神格,描述为遥想公瑾当年,谈笑间樯橹灰飞烟灭的轻飘飘。

  然而如果我们对历史作一些细致的调查,我们会发现C语言绝非有什么天命,而只不过是幸运地扒上了早期开放运动的快车而已。在C语言“小人乍富”的那几年,也还有其它不少程序设计语言具有高性能、可移植、系统开发能力强的特点,决不是只有C骨骼特异,貌若天仙。如果Pascal也能借助一个像UNIX那样的开放的幽灵在欧美大学校园里徘徊,那么我们今天很可能要把begin和end直接映射到键盘上。

  如果IBM不是在1970年代极端保守地把一种叫做PL/X的语言牢牢地限定在自己的研究所里,也许整个程序员社群的图腾就不是贝尔试验室的那两个大胡子,而是小沃森实验室里的IBM某院士。事实上,C语言的成功,更须拜开放软件运动之时势所赐,或者更确切地说,C与开放软件是一对共生体,它们相互扶持,相互成就,共同成长兴旺,共同创造历史。

  根深自然叶茂。今天C语言体系内所拥有的开放资源,无论是数量和质量,还是丰富性、多样性、创新性、可靠性、重要性,都是其它任何开发技术体系所无法望其项背的。丰富对于开发者是好事,但对于写资源介绍性文章的作者来说,则是绝对的坏事。想要对C语言体系中的开放资源做一个介绍,哪怕只是一次白描,也决不是一个人、一本书所能容纳的,更远远不是杂志中的一篇文章所能及的。因此在本文中,对于C语言开放资源的介绍是以一种蜻蜓点水的姿态进行的。

  相比之下,C++语言在开源世界中的分量,与C语言相比就相去甚远了。作为......

阅读全文(1933) | 评论:0

如何进入程序设计的领域(2007-04-20 22:18:00)

摘要:这一阵子,软件、网络大红,许多人对程序设计开始感兴趣,我收到好一些 Sleepless in Java专栏读者的来信,不少读者共同的问题是:如何进入程序设计的领域?所以我选这 个主题当作 Sleepless in Java 专栏「复刊」的第一篇文章。

  写程序是很有趣的事,可以把自己的想法付诸实行。写程序的工具很简单,只要有一部PC,适当的开发环境,就可以上工了。这样有限的工具却可以创造无限的可能,这也正是程序 设计迷人的地方。只要你能力够,你可以将你脑海中的创意写成程序,变成一套软件。

  培养程序能力,不是一蹴可及的,下面提供我的一些建议,希望对有志进入程序设计领域的你有所帮助。

  培养兴趣

  把程序设计当成兴趣可以让你学得更快乐,学习效果自然会更好。在我到一个单位面试时,主管看了我的履历之后问我:「你怎么有这么多时间学会这么多东西、做这么多事?」 我的回答是:「把工作、学习、和娱乐结合在一起,时间就会是别人的三倍。」

  我承认我很幸运,可以把程序设计当作赚钱的工作,学习的题材,以及茶余饭后的休闲活动。不是每个人都像我这般幸运,但是我相信至少大家都可以把它当成兴趣。相信我, 调整你的心境,把它当成是兴趣,而非苦差事,你非发现你的「程序功力」与日俱增。

  慎选程序语言

  慎选程序语言很重要,一开始就学太难的程序语言很容易让你遭遇到挫折而放弃。你可以挑比较容易且有趣的语言下手,建议您可以从下面的语言中择一:

  VB:简单,好用,书籍多。

  Java:比VB稍难,比C/C++简单,书籍多,用途非常广,相当有前途。可以当作学习C++的跳板。

  Python:简单,好用,各个平台都支持(包括Windows,Linux,MacOS,BeOS,…)。国外很红,国内较少人用。原文书不少, 但中文书目前只有一本(欧莱礼出版)。我预期 Python 会是下一个热门的程序语言。

  这三个语言只是我给各位的建议,你也可以多听听别人的意见。在选定一个程序语言之后,就要执着,不可以很快放弃,又改学另一个程序语言,否则永远都只懂皮毛。有句谚语是 这么说的:「A jack of all trades is master o......

阅读全文(2359) | 评论:0

编程中要注意的及学习情况小更新(2007-04-20 21:42:00)

摘要:1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想 出来
再参考别人的提示,你就知道自己和别人思路的差异。

2.别小家子气,买本书几十块都舍不得,你还学个P。为了省钱看电子书,浪费的时间绝对
超过书的价值。当然如果查资料,只能看PDF。

3.学习新的开发软件时,一定要看帮助手册。买的书不够全面。刚接触一个软件,什么都不
懂,就盲目的问东问西,让人看起来很幼稚。

4.不要蜻蜓点水,得过且过,细微之处往往体现实力。

5.把时髦的技术挂在嘴边,还不如把过时的技术记在心里。

6.看得懂的书,请仔细看;看不懂的书,请硬着头皮看。
.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍。

7.多实践,不要死看书,看懂和会用是两码事,只看书永远成不了高手的。

8.保存好你做过的所有的源程序----那是你最好的积累之一。

9.对于网络,还是希望大家能多利用一下,很多问题不是非要到论坛来问的,首先你要学会
自己找答案,比如google、百度都是很好的搜索引擎,你只要输入关键字就 能找到很多相
关资料,别老是等待别人给你希望,看的出你平时一定也很懒!

10 到一个论坛,你学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问题早就
有人问过了,你再问,别人已经不想再重复了,做为初学者,谁也不希望自己的帖子没人回
的。

11,虽然不是打击初学者,但是这句话还是要说:论坛论坛,就是大家讨论的地方,如果你
总期望有高手总无偿指点你,除非他是你亲戚!!讨论者,起码是水平相当的才有讨论的说
法,如果水平真差距太远了,连基本操作都需要别人给解答,谁还跟你讨论呢。......

阅读全文(2127) | 评论:1

七条对于中国大学软件专业同学一些建议(转)(2007-04-14 18:50:00)

摘要: 七条对于中国大学软件专业同学一些建议 鬼才写于2006-7-8 12:25:00 Seven Suggestions to Computer Science Students

1,不要玩游戏,至少不要玩网络游戏
我认识计算机专业比较好的大学朋友中没有一个玩网络游戏的.

2,不要用分数衡量自己专业能力。
自己一定要多去写程序,多去看代码肯定是对的。对于软件专业同学千万不要认为一分纸上试题可以代表尼专业的能力。最初学习程序语言都是坚持每天写50-100行以上代码,这样才能快速熟悉语法和程序入门基础。

3,培养学习的能力。
老师带领下学会一个东西很容易,尝试之前自己去学习,然后再去学,这样可以学习可以发现自己什么地方学习能力不足。学习的能力是一种大学最需要培养的专业能力的核心,如果你即时一个专业或者程序语言学习再好,但是却不能自我学习的能力,势必会被日益发展的技术所淘汰的。

4,培养团队意识
不要吝啬自己的代码,多去主动分享,好的代码都是改出来的。如果可以在大学中建立或者加入一个团队一起学习,将可以获得意外的收获。

5,把自己放到软件行业去衡量,而不是自己的学校。
不要在同学之间互相竞争,你需要对比的是所有从事软件行业的专业人员,因为软件专业是没有年龄的。

6,不要忽视基础。
基础像地基,如果没有基础房屋到后面就很难扩展了。基础和武侠小说中的内功是一样的,没有内功的招式是没有用的。

7, 不要被外界环境干扰。
自我控制对于今天在中国大学一起学习的同学是非常重要的,大多数同龄的学生最初进入大学都是非常好学的,但是不少人由于外界环境诱惑而失去自我的目标。......

阅读全文(2064) | 评论:0

献给迷茫中的初学者 — 如何去学习编程(转)(2007-04-14 18:42:00)

摘要: 献给迷茫中的初学者 — 如何去学习编程 鬼才写于2006-7-8 12:18:00 最近看到很多朋友问到如何学习编程这个问题,我想这个问题应该是所有初学者都非常关注的问题了,在论坛上回答了很多也讲了很多,但是总是无法让所有朋友得到一个解答,所以我想写一下自己的经验,希望对大家有所帮助,不过在此先声明,我并非什么高手,我也只是刚刚入门而已,也只是希望通过写一点个人的体会帮助一些和我遇到相同问题的朋友,高手就免看了,以免班门弄斧。

在学习程序之前,我想大家首先应该对程序员这个行业熟悉一下,更加要对编程的语言以及所涉及到的工具有所了解。因为如何了解这些是很难去给自己一个明确的目标的。所以首先我想在这里先为大家介绍一下这个行业以及一些相关的内容。

程序员,相信在很多人眼中是一个非常神秘,非常特别又或者说非常有趣的职业。因为在这个行业里面实在出现了太多的英雄,每一个英雄的事迹都足以让我们热血沸腾。但是,又有谁知道在这些英雄的背后,藏着多少辛酸,藏着多少的努力。程序员这个行业并非如大家所想象的那样美好。程序员是一个没有白天黑夜概念的行业,程序员是一个让人筋疲力尽的行业。你们看到的是一些英雄的光辉历史,但是却忽略了大多数程序员的艰辛。所以在这里我奉劝各位,如果你是为了这个行业充满传奇色彩而想加入,如果你是为了这个行业薪水高而想加入,那么请你现在退出吧,因为它不适合你。这个行业需要的是拥有努力、认真、坚持等品质的人。

讲到如何学习编程,那么必不可少的就要讲到编程语言了,相信大家都知道编程语言有很多种,包括C、C++、BASIC、PASIC、ASP、PHP等等,当中还分为很多不同的领域,所以在学习编程之前一定要为自己定下一个目标,一个自己即将要进入的领域。有些人想进行底层开发,有些人想做网站开发,有些人想做商业软件开发等等,由于计算机的普及,软件行业所涉及的领域也就越来越多,一个人是不可能涉及所有的领域的,所以必须在学习之前给自己一个定位,这个是很重要的,如果没有这个定位的话在未来学习编程的日子里将会很迷茫。

目标的定位当然不能少了工具的因素,因为不同的领域使用的开发工具也不同,在这里想重新再次郑重的向所有朋友声明一次,不要把开发工具和开发语言混为一谈,语言是编程的基础,而......

阅读全文(2163) | 评论:1