很不错的一篇认知计算机语言的文章。内容如下:
新加坡国立大学计算机系有两门课:CS 1101 / 1102。
几乎所有的大学计算机系课程都有两门类似的课程;但几乎所有的学生都误解了这两门课;以为前者是教C,后者是教Java;但实际上前者是 Programming Methodology 后者是 Data Structure and Algorithm。
所以这两门课可以有选择,1101c 或者 1101s,使用不同的语言作为媒介。语言并不重要。
只要掌握了编程的思想、数据结构、算法,使用不同的语言去表达是很容易的。
会了很多种电脑语言后,学一门新的编程语言,几乎只要花一个晚上看看官方的语法文档就可以立刻开始使用做东西了。最多就一个星期。
基本上,那些说长时间说自己在学C#,学java的程序员,都是2B程序员,他们完全不懂得程序开发中“思想”、“数据结构”、“算法”的本质,而将大量的时间耗费在语言实现的细枝末梢中,纯粹浪费自己时间。
不同的语言会有不同的特性,有一些特性是比较重要的,普遍存在于多种语言当中的,“学习”一种新语言,实际上仅需要查看文档,看这种语言是以怎样的语法支持这些特性而已。
=========
OO是影响很广的编程概念,基本上,是Enterprise Developer(注:企业级开发者)的圣经、法则。
ED认为,越OO越好。
基本上,计算机业界有两批人,一批是真正的程序员,或者说hacker,一批就是ED。
ED实际上是企业的工具,他们很少有自己创新的想法;企业说啥米,就做啥米。所以,会有大量的vender,提供工具、支持、新技术,去train这些ED。
典型的vender有微软、IBM、Oracle等等;这些vender为了向企业推销产品,他们就经常会鼓吹一些新的“技术”,然后打包成为解决方案,推销给企业。
为了鼓吹、宣传这些技术,还有一批企业是专门在“布道”的,他们是所谓的“咨询公司”。
这样的咨询公司,他们会专门聘用一些所谓“Evangelist”,屁事不做,整天四处布道,名头都很牛逼,如XX金牌讲师。
他们实质上,就是推销员,只是,他们推销的产品,是所谓的“新技术”而已。
微软在新加坡好像就招了不少Evangelist 。每隔几年,微软所推广的技术就会“革新”一次,Evangelist们就不断的四处去宣传新技术改变了一切,能够提高效率无数倍。
Evangelist本身的技术,很多是很差的;就好像推销员本身,是不会做产品开发、不懂技术的。他们仅仅是会宣传、鼓吹新技术而已;满口各种新技术名词,但他们本身,可能仅仅只是会使用这些技术写一个Hello World。
因为他们本身素质很差,所以,他们是无法分辨他们所推广的技术本身是否好,他们只是复读机。有时候,vender本身在推的技术也其实不错,但复读机们也会把它夸张到荒谬的地步。
OO就是一个典型。
OO仅仅是无数编程模型中的一种而已,但它被过度的夸张,诠释。
Hacker们写程序,基本不会去追求程序本身是否符合OO规范。Hack这个词的意义本身就在于打破规范。
但是,大多数的ED是很笨的,他们缺乏独立思考的能力,他们需要被Train,而无法自学。Hacker的那套,他们接受不来。
所以,才会有vender / consultant / 培训学校一系列的产业,去鼓吹:
OO、XML、SOAP、Web Service、Silverlight等等一系列伪技术。
有的ED,一辈子都无法意识到他们实际上是中了vender的圈套;无法掌握真正的编程技术,而沉迷于vender们所鼓吹的“新技术”,一代接一代。
然后,只要有其中的一代技术ED没能掌握,ED就立刻被淘汰了;因为这种ED,穷其一生都没有学会真正的编程;他们仅仅是学会了一代又一代的被封装的伪技术使用技巧而已。
伪技术的典型特征是封装。
它本身没有任何新的东西,只是把旧的技术封装一下,换汤不换药而已。
OO是最好的封装技术;所以它被无底线的推崇。
封装很重要;但是,对于程序员来说,掌握封装技术本身,跟学习使用别人封装好的技术工具;是两回事。
“程序员从此不再需要关心XXX”,这是evangelist最常用的宣传语句;2B ED,看了就很高兴,然后拼命去学习新的“技术”,把他们曾经掌握的XXX底层技术给忘掉。
微软所宣传的理念被Hacker理解为“Even monkeys can code”。ED被evangelist鼓吹的新技术洗脑,最终就是成为monkey而已;所做的工作,毫无技术含量;很容易被淘汰。
所谓的程序员30岁必须转行这种说法,便是源于ED被洗脑。
这种ED,从未掌握真正的编程技术,是必然被淘汰的。
=========
而这种ED,在大学时,就是把cs 1101 / 1102理解成为教 c / 教 java的那群人。
他们,从一开始就走错了。
=========
作业(编辑说明:在技术宅和他老婆的故事中,只有女主人公完成作业之后,男主人公才会发出新课程。当然,身为看客的您可以无需完成这些作业,但如果您仍是学生,或者您正在带学生或小弟的话,倒是可以做个参考):
1. 用500字讲述什么是Programming Methodology?
2. 列举10种Data Structure.
3. 列举10种Algorithm.
【作者声明】Katze实际上是正宗计算机系科班出身,而且大学成绩甩开Wuvist九条街,这其中还包括算法、计算机架构等传统上被技术宅男垄断的科目。Katze毕业后长期于投行从事Unix服务器运维工作,故研发编码水平会被Wuvist嘲笑;但Wuvist不会写shell脚本时,绝对是第一时间向Katze求助。
Wuvist写的这系列教程以及作业安排,是为Katze量身定做的,像第1课的作业便因此会出现Perl这门研发中不常用,但在运维中却非常普遍的语言。这系列Wuvist是写给老婆的私人课程,其中充满了各种主观偏见,有缘发布到51CTO来,各位看官若看得不爽,请尽管抛砖头狠踩,但是请尽量喷得准确、到位、凶狠一些~
转自http://developer.51cto.com/art/201202/314296.htm
分享到:
相关推荐
这个系列来自一位宅男程序员,这个系列是他写给老婆的电脑课程。以下,开始本系列的第0篇——认清本质。只要掌握了编程的思想、数据结构、算法,使用不同的语言去表达是很容易的。 从今天起将开始的这个系列来自一位...
这个系列来自一位宅男程序员,这个系列是他写给老婆的电脑课程。以下,开始本系列的第0篇——认清本质。只要掌握了编程的思想、数据结构、算法,使用不同的语言去表达是很容易的。
1. 看得多了,自然会分辨 2. 看书多看,最大的好处是了解最新技术,而且这是很土的方法 3. 写代码 + 看代码学习编程,是一定要去编程的
51CTO下载-开发月刊011期:宅男程序员给老婆课程
在人们的印象中,程序员容易使人联想到宅男、沉闷、古板等等这些不好的词语。网上也流传着一个搞笑的说法:“嫁人就嫁程序员,钱多死得早。”多么辛酸啊。但是……你们都错了,程序员也可以很浪漫很感性。并不是所有...
宅男设计程序员简历模板
宅男视频网站源码是以cscms作为核心的视频网站,网站带有带手机版以及采集功能。网站程序上传到根目录,访问你的网址自动开始安装,按照步骤输入数据库信息即可安装成功。安装成功后 后台登陆地址 ...
619125824113336宅男兔比2.0.apk
宅男必备,欢迎参与学习交流,网络搜集,有问题可以hi我
安装说明: 宝塔Nginx -Tengine2.2.3的...先导入数据库文件.sql ...然后服务器设置好伪静态规则 访问网站OK ... ...rewrite ^/sort([1-9]+[0-9]*).html$ /sort.php?id=$1; rewrite ^/sort([a-zA-Z]+).html$ /sort.php?alias=$
一款小巧而精湛的工具 支持迅雷离线下载、云点播、数据漫游、网络电视 清洁绿色版
数据库课程设计 基于PHP的宅男视频网站php版源码.zip 基于PHP的宅男视频网站php版源码.zip 基于PHP的宅男视频网站php版源码.zip 基于PHP的宅男视频网站php版源码.zip 基于PHP的宅男视频网站php版源码.zip 基于PHP的...
宅男必备,无敌漂亮泳装美女帮你擦屏幕。 使用方法:将.scr文件复制到C:\WINDOWS\system32目录下,然后在桌面设置屏保即可。
android应用程序 宅男帝国 V1.6-V2.4!!!!!!!!!!!!!!
android应用程序 宅男周刊NO.1-NO.9,绝对精彩~包你不后悔
宅男宝盒是一款汇集了各种热门有趣视频,段子等网络资源的综合性上网宝盒,提供多方面的娱乐功能。宅男宝盒软件功能:1.采集网络热门视频。2.采集热门内涵图。3.采集xx漫画,大
也可以说是专门给宅男准备的一款小程序吧 里面支持动态视频,静态壁纸,情侣头像等多种分类 保存内容支持每天激励视频解锁保存 全内容自动采集,内附含了数不清的小姐姐,二次元,各种漫画动漫等资源内容 具体就不多...
高中历史之图说历史孟浩然过故人庄:唐朝宅男的“农家乐”素材
FANTASY ZONE制作宅男主题.themepack
基于PHP的宅男视频网站php版v1.0.0源码.zip 基于PHP的宅男视频网站php版v1.0.0源码.zip 基于PHP的宅男视频网站php版v1.0.0源码.zip 基于PHP的宅男视频网站php版v1.0.0源码.zip 基于PHP的宅男视频网站php版v1.0.0源码...