做个环保主义的程序员

做个环保主义的程序员

十多年前刚走入社会工作的时候,那时的中国软件开发根本没有什么版本管理,也没有什么编程规范,软件开发相比起今天来说非常地混乱,那时仅凭自己的一些学习总结了一些C语言编程中的好的小笔记,后来,这些笔记写成了一篇叫《编程修养》的文章。今天,又有些感触,想把这个话题扩大一下,从“个人修养”扩大到“环境保护”,所谓,穷则独善其身,富则达济天下,今天的技术人员比十多年前在技术和环境上都富有了许多,所以,也应该或多或少地担负起“达济天下”的责任了。

环境保护说白了就是保护一个良好的环境,为好的环境添砖加瓦,与破坏环境的人和事做斗争。其实,从技术人员来说,我们可以做一些力所能及的事。因为我们身边的技术环境还有很大的改善的空间,而一些来之不易的东西还需要我们去小心维护。另外,对于我们自己来说,少吃一些垃圾食品,健康生活,对自己也有益。

环保主义软件开发

先说说软件开发中的环保。比如:

  • 环保需求。当我们分析需求的时候,如果我们能做到不要像“这是到底是谁的错”一文中那样的来者不拒,如果我们在面对需求能多问这样几个问题:为什么 要有这样的需求?这个功能主要能解决什么 样的问题?为什么不是另外那一种?可不可以简化一下?其实,我们并不需要创新,只需要真正地问好这几个问题,我们就可以少看着一些弯路,少一些苦逼的加班,少一些内耗,少一些埋怨,也就可以为这个社会节省下一些资源,从而环保。
  • 环保开发。当我们做设计写代码的时候,如果我们多花一些时间去思考一下,我们就可以少一些代码(参看“多一些时间少一些代码”)。如果我们在一开始多思考一下,不要急着马上去用迭代的方式认识世界,多思考一下怎么把复杂的东西解藕,把复杂的东西简化,怎么做出一个优雅的设计,怎么让我们的程序少一些tricky的东西,怎么让我们的程序变得更简洁,更清楚,更直,在一开始思考一下未来需求可能的变化,未来软件需要怎么测试,未来的系统需要怎么的运维,那么,我们可以少一些返工,少一些重构,少欠一些债,少一些低级错误,少承担一些系统上线后的压力,那么,我们同样可以为这个社会节约一些资源。说得再直白一点,你用更少的代码产生出更高的效益,少耗一些CPU,就能省一些电,间接地保护了环境。(参看 Why C++?
  • 环保文化。当我们在做软件开发的时候,如果你能影响并帮助你身边的同事,让他们写出更有修养更有效率质量更高的代码来,并发动团队树立工程师的文化,用团队去影响你的老板,你的公司,让他们能再多一点地重视技术,重视技术人员,那么你必然也会成为一个受益者。
  • 环保管理。当你做为一个管理者,做为一个方法推动者,如果你能更多地注重软件开发中真正创造生产力的程序员,为他们分忧,为他们铺路,为他们创造条件,那么,他们就会更多的回馈于你,就会少了一些不信任,就会少了一些被动,就会多一些主动,就会多一分责任,不但可以激发团队热情,同时可以有更大的生产力。同样是一种环保。

当然,这样的东西还有很多,你也可能会觉得太过理想主义了,我们不可能马上改变之,但是我们可以试一试。

技术环保主义

其实,我们身边有很多可以做的技术环保工作。比如说,在Linux下少用root用户,SQL的时候,delete前先select,这样,你就不会做出一些让你后悔的事(参看程序员那些悲催的事),不会让你重头来过,从而至少不会浪费电能。写代码的时候要很小心管理好内存,以及各种资源,和线程并发,组织好的你的代码中的业务逻辑,做好单元测试,自动化回归测试,等,这样你就可以少一点遇到BUG,在遇到BUG时少一些时间去做调查。操作电脑的时候少下一些破解软件,少访问一些乱七八遭的网站,这样,你就会少中一些病毒,少一些损失,少一些重做系统,一样可以节省电能,最重要的是可以节省你的很多时间,让你可以去做一些更有价值 的事情。

当然,除此之外,我们更应该做为一个大气的,高瞻的环保主义者,比如下面的事情:

  • 拒绝IE6。如果你坚决不用IE6,并影响你身边的人,让他们升级IE6,尝试Chrome 或 Firefox,多告诉一下自己身边的朋友,怎么设计口令,怎么在互联网上保护自己的隐私和安全,怎么防木马,这样就能少一些问题,少装两次系统,就能省一些电,也就能多一些时间去做一些更有意义的事。也是在为整个世界整个人类做贡献。(看看某些软件产商,占据着用户桌面的江山,还整天弹窗弹窗的,说这不安全,那不安全的。你还是做安全的,你居然能容忍IE6装在用户的机器上,你还做个屁的安全!)2011年3月份,我国的IE6用户的百分比是34%, 那时中国网民4.5亿,平均每三个人中有一个,2012年3月份,中国的比例还有24%左右,不过中国的网民数达到了5.13亿,也就是说,平均5个人里有一个,但是中国依然是全世界的IE6占有量最大的,参看下图(来自:http://www.ie6countdown.com)面对下面的图片,你作何感想呢?

Friend Don’t Let Friend Use IE6

  • 拒绝破解软件。为什么要拒绝这些东西,因为你恐怕不知道这个软件的危害,包括一些汉化版的开源软件。这些软件中都会带 一些木马,比如:你下个putty的中文版,结果里有木马,人家就把你网站的口令盗了。关于网游,你可能不知道,连接网游私服的电脑基本上全是肉鸡,而 且,有很多的站点骗你下载软件破解程序,其实你下载到了一个木马。等等。这些生活都非常地不健康。
  • 拒绝抄袭和山寨。如果你鄙视那些赤祼祼地抄袭者,不使用他们的产品,有的人会说你就是想标榜自己的高尚,ZB,假高尚,大家会说你没有必要。其实并不是,你这样做,其实是为了“环保”,为了“保护一个健康的IT环境”,虽然你没有创新,但是你的行为却是在鼓励创新的环境,这样,如果当整个大环境都是在创新文化影响之下,才会更健康,技术人员也才会被尊重,而我们自己最终会受益。虽然只是抑制抄袭和山寨,但是我们间接地为社会做了贡献。(看看那N多的抄袭团队,加入他们实在是耗费这个社会的资源) (那个整天复制这个复制这个复制那个的公司,看看你自己做的那些产品线?乱糟糟的。你自己看看,你有个人空间,还有群空间,还有校友录,然后你还要做个facebook式的“朋友”,还要搞个微博,然后还要搞个微信,大哥啊,你把这些相似度很大的东西放在了N多的服务器上,你不觉得浪费吗?你真是山寨之王啊,自己都一直在复制自己的产品。还有人说你们的产品经理一流,真是脑残啊。对于你们的复制精神,我只能拜了!)
  • 拒绝百度搜索。如果你学得百度还是可以的话,你不妨看看我的微博(这个这个抓图),还有和这个这个)(以前,百度搜索出来的很多的开源软件(PuTTY、WinSCP)的第一个链接全是带木马的,百度就是一个网上的病毒 ),你会发现百度不单单是广告的问题,很多东西根本搜不出来,包括他自己的内容。用百度就是浪费时间,浪费计算资源。如果你告诉你身边的朋友不要用百度搜索,而是用Google,并能耐心地教会他们翻墙,这样,我们就可以让那些“穷则穷凶极恶,富则为富不仁”的企业少一些自以为是,最重要的是可以让他们少制造一些垃圾信息和垃圾产品,世界少一些垃圾,自然也就环保了。
  • 拒绝过重的商业氛围。很多社区的商业氛围实在是太浓了,全都是广告。整个社区根本都不是为技术人员来做的,而为了那些软件产商,为了那些公司。他们只知道为那些大公司写软文,做广告,开大会。他们只想着挣钱。网页上全是花花绿绿的广告,打开他们的网页,就会多耗许多电,浏览他们网站上的文章,到他们的大会上听他们的软件广告分享,就会让自己的生命和时间浪费,自己消耗了体力不说,却还没得到什么营养,相当的不环保。
  • 拒绝浮燥。比如:浮燥地创业者们,被风投们一轮一轮地压榨。为了让风投满意,牺牲自己的初衷,去找水军刷排名,去发垃圾邮件,去烧钱买吆喝,制造虚假的繁荣,等等。另外,少去追那些新的技术,少一些浮夸,不要开口闭口的就是海量数据,高性能,要当个架构师,经理,要拿多少多少的工资,与其这样,还不如多静下心来研究一下那些十来年的技术,思考一下自己身边的问题,一步一步走踏实,少摔几个跟头,这样,你也就能多一些能力,多一些自信,也就能多做一些事,多解决一些问题,你的职业生源走好了,也就很环保了。

还有很多,我相信大家明白我想说什么。其实,我想说的是,这不单单是一种“个人修养”,这也是一种对社会贡献的方式,更是一种“低碳环保”的生活方式

让我们一起来做有修养的环保主义的程序员吧,少吃一些垃圾食品,多一些绿色的健康生活!

—————— 更新 2012年4月27 ——————

我看到很多网友并不同意我的观点,并指责我的偏激和极端。挺好的,我知道,我说到了你们最敏感的地方,我很高兴。

你可以对现实妥协,你可以继续钟爱你的垃圾食品,你可以继续使用百度搜索,你可以继续生活在墙内,我虽然替你感到惋惜,但是我不会勉强你,因为我能理解你可以不环保,本来也是,这些事情,你能做到固然好,你做不到,也是你的选择。每个人的生活每个人自己去选择,想健康地生活,或是不健康地生活,都是你自己的权利

(全文完)



(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)

好烂啊有点差凑合看看还不错很精彩 (150 人打了分,平均分: 4.47 )
Loading...

做个环保主义的程序员》的相关评论

  1. 支持皓哥,愚人节的来历就是为戏弄那些英国保守派而流行的,做为IT行业的从事者,那些不能跟着IT快速的改变,那真是悲哀,奉劝还是尽早离开这行吧

  2. 非常同意楼主的观点,自己做开发时,用百度搜出的大多不是想要的,想要的就是要用GOOGLE才搜得出来,以上只是个人的使用心得。

  3. 大部分观点还是赞同的,但是既然尊重每个人选择的权利,就不要断定别人吃的就是“垃圾食品”,就不环保,不健康,最后一段那股强烈地优越感让人无语。当然我知道这是私人博客,想怎么说是博主的自由。

  4. 我很赞同你的观点,但是现在google的访问很是让人头疼,各种“连接被重置”,网上也找不到好的解决办法,不知可否赐教如何解决?

  5. 同感!借贵宝地说下亚马逊,感觉它的UI做的很不好,像是个学生的个人作品样。当然其他方面还是很不错的!@ToMAOR

  6. 支持LZ。实际上,现在还有不少学校在用VC6、VB6,考个NCRE还在考VB6、VFP6。
    如果是XP系统的话,个人觉得还是留着IE6比较好,反正IE8也是鸡肋,至少在不得不用IE的时候IE6比IE8启动还是要快不少。
    不过,对于“拒绝破解软件”这一点,还不敢苟同,或许是LZ举例太极端了,总不至于让广大网民都买正版Window$吧?或者让广大用户都用上Linux?

  7. 关于”google搜索不到,百度却搜索到的”.
    “intrin.h”头文件组算么?
    百度第二或者第三是我挂在CSDN上的,而google上却找不到这一串组..

    当然,从另一方面说,这个头文件组我当年是从google上搜索到挂在CSDN上的.当时我记得翻查google翻了好久,才弄了出来.
    当时只有各种各样单个的头文件,然后缺啥搜啥,最后拼接出来的…

    另外求教: 下面那一排分享是怎么做出来的啊?

  8. Walkerinwind :
    关于”google搜索不到,百度却搜索到的”.
    “intrin.h”头文件组算么?
    百度第二或者第三是我挂在CSDN上的,而google上却找不到这一串组..
    当然,从另一方面说,这个头文件组我当年是从google上搜索到挂在CSDN上的.当时我记得翻查google翻了好久,才弄了出来.
    当时只有各种各样单个的头文件,然后缺啥搜啥,最后拼接出来的…
    另外求教: 下面那一排分享是怎么做出来的啊?

    google搜索结果。第一条是stackoverflow的;然后有微软、firefox等大公司的。

    c++ – How to cope with “intrin.h: No such file or directory”? – Stack …
    stackoverflow.com/…/how-to-cope-with-intrin-h-no-such-file… – Cached
    6 answers – 26 Mar 2010
    Top answer: This is a header that declares a bunch of “intrinsics” — functions that are built into the compiler so it can emit inline code for them. If you’re using VC++ …
    Koders Code Search: intrin.h – C++ – MITD
    http://www.koders.com/…/…Compatibility header for GCC — GCC equivalents of intrinsic Microsoft Visual C++ functions. Originally developed for the ReactOS ( ) and TinyKrnl ( ) projects.
    _InterlockedDecrement Intrinsic Functions
    msdn.microsoft.com/en-us/library/f24ya7ct.aspx – Cached_InterlockedCompareExchangePointer Intrinsic Functions …. #include #pragma intrinsic (_InterlockedIncrement) // Data to protect with the interlocked …

    加了个无效的“的”字选择中文搜索,前两条是csdn的,第三条是stackoverflow的。

  9. 好文,没啥偏激的,因为是站在程序员的角度上,比如说程序员更注重计算机的安全,更注重知识产权。通过自觉的抵制来维护自身的利益,无可厚非吧。ie6的那个事情让我想起另一个有趣的现象:公司让程序员加班来开发功能以满足客户需求,导致客户以为开发效率就应该这样高的,从而下次会给更短的期限。

  10. 哈哈。博主每篇都是精品,慢慢品读中。很多观点我都很赞同,但是我现在还木有影响到身边的人。

  11. @invalid
    没明白您的意思. 即便输入 “intrin.h 的”,搜索到的CSDN也不包括我那个头文件组的链接啊
    而且,”大公司”就一定出精品了?最后还是相关的说了算.
    当时我找这组文件,还是找那些小项目找到的,而MS之类,只有个介绍”这个头文件组是干啥干啥的”

  12. 大部分观点还是赞同的,但是既然尊重每个人选择的权利,就不要断定别人吃的就是“垃圾食品”,就不环保,不健康,最后一段那股强烈地优越感让人无语。当然我知道这是私人博客,想怎么说是博主的自由。

  13. 从另一方面说,这个头文件组我当年是从google上搜索到挂在CSDN上的.当时我记得翻查google翻了好久,才弄了出来.
    当时只有各种各样单个的头文件,然后缺啥搜啥,最后拼接出来的…

  14. 非常同意楼主的观点,自己做开发时,用百度搜出的大多不是想要的,想要的就是要用GOOGLE才搜得出来,以上只是个人的使用心得。

  15. 文章挺偏激的,不过我喜欢.
    讲个关于百度的事情吧,今年3月我在深圳出差,用的笔记本不是自己的,没有做翻墙啊,host设置之类的.晚上在酒店里上网根本打不开google.
    恰好要解决一个小问题,需要查一下技术资料,我先想偷懒直接用百度搜,结果边搜边验证,顺便看看电视花了1个小时都没有一个正确的答案,而且搜索结果全是网上转来转去明显就是错误的文章.
    实在受不了了改了host设置,改用google搜索,第一个结果就是正确的资料,5分钟后,问题搞定.我愉快的去洗澡去了.

    再一次印证了百度浪费生命的事实.

  16. 这个嘛。。只能说作者可能从事的是消费级开发,估计从来没有做过工业项目。。。一代产品的更新换代周期动辄10,20年,目前IE6在这些领域当中运行的其实还是不错的,业主一般不会同意更换,何况也实在没有必要强行换新的,时间到了自然这问题就不存在了

  17. 主要还是中关村攒机的结果吧,盗版系统+XP+IE6的黄金组合。现在的OEM的笔记本都自带的win7,好像都自动升级到ie9了。@陈皓

  18. 期待博主写写百度的“框计算”。前两天跟一个百度的小姑娘吃饭,因为“框计算”的事儿最后吵翻了天。虽然侧面说明我涵养不够,可是我后来的搜索的结果大部分都是软文或者两三年前的文章,这个东西有最新的分析么?我在嵌入式的环境里面待太久了,网络的东西也只是一知半解。
    我先扔砖头,自己的感觉是:
    框计算控制了入口,把流量都导入了百度自己的网站。由百度的垄断和其他行业的垄断进行强强联合。

  19. 这篇文章讲述了做环保主义程序员的最完美的理论境界,而很多人离这个标准相距甚远,所以他们就不高兴了

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注