Profil von 巴美追逐生活(这里有情感日志、C语言学习、linux...FotosBlogListenMehr Extras Hilfe

文进 金

Beruf
Interessen
My OICQ:125579163
Es wurden noch keine Listenelemente hinzugefügt.

追逐生活(这里有情感日志、C语言学习、linux内核学习、免费电影、考研、计算机资料等)

〖青春.理想〗
16.10.2006

朱仲傑:你是专业程序设计师吗?

你是专业程序设计师吗?

  中正大學資訊工程研究所博士班肄業。專精Java技術開發,曾出任台灣Java 專業技術研討會六屆講師及JavaOne Tokyo 2005講師。知名Java工具書作家,已發表著作包括Palm應用程式設計、Java2全方位學習系列及譯有Java Puzzlers等暢銷書籍。

之前在網路上看到這篇「學程式設計的人不能不看的好文章」,網路上大家的反應也是很熱烈,不過還是不脫到底該不該最佳化等的爭論。

我很久之前就想寫類似的文章,但我的觀點不一樣,我認為不是該不該最佳化的問題,在於的是你的態度。大家應該聽過「格局決定結局,態度決定高度」這句話,什麼是寫程式正確的態度?請聽我細說…

你是「专业」的程序设计师吗?什么是专业?我自己的定义是「使用自己所擅长的程序语言,快速且正确地解决问题的程序设计师。」这句话里有两个重要的关键词:「快?速」与「正确」。正确是绝对必要的,如果最后的结果不正确,那不管是用了什么最新的技术,或是到底多短的时间就完成等,其它的因素都是白废的。至于怎样才?叫快速?这个比较没有量化的标准,而且快速还可以再细分成:你写程序的速度和写出的程序的执行效能。

但业界的确有权威的标准,来判定你到底是不是专业的程序设计师。最简单的方式,就是参加一些有时限的程序设计比赛,例如正在举办的 Google Code Jam 2006Google Code Jam分成了三个关卡,每个关卡都要你在有限的时间内,解决几个问题(详情请看Google网站)。问题有难易度之分,相对所分配到的分数也不同,而你所得到的分数会依据你解题的速度、正确度与效能给分。只要在时限内达成要求,就代表你至少有一定程度了。

笔者不幸在第一关就惨遭淘汰。经过一番自我检讨,在今年的比赛里,我犯了几个严重的错误。第一,我没有详细的阅读比赛规则、看错比赛时限、不熟悉比赛程序?接口。我把第一、二关时间看错,第一关是要在60分钟内解决两个问题(两个问题满分分别是250分和750分),第二关的时间75分钟。而计时是从登入后?就开始计算,我在chat room晃了一下才找到自己的比赛区,赛前又没有去熟练比赛程序操作接口,摸索也用掉了一些时间,所以当我真正认真读题目写程序时,时间只剩不到50?钟。

第二个错误是我太自以为是。我原本认为没什么好怕的,写程序我熟练得很。可是这个比赛的目的,其实不是要你对于一个程序语言的语法到底有多熟练,而是如何去找出、设计出正确的解题方法,至于用到的语法都只是最基本的条件判断式、循环,外加基本的API等等。解题的方式说穿了很简单,只要动动脑筋,运用一些几何、数学的基本常识或功式,依题目的需求,组合成正确的解答即可。所以你必需具备的反而是几何、数学的基本能力,而不是程序语言到底有多熟练。

?在时限内正确的解决问题并不容易,尤其是在做项目时。有句玩笑话说,项目的Deadline就是订出来让人delay用的。如果时限已到,问题还没有办法 100%解决呢?那你就要用你专业的判断,配合当下的环境,把能得到最好结果的答案给交出去。程序比赛时间是无法延长的,项目的话就有许多谈判的空间,如?果你交出去的答案够水平,在客户面前谈判的筹码自然就多一些。Google Code Jam其中一个题目的满分是250分。要拿到满分很难,但按照给分的条件,就算你的解法没有100%的正确,还是会有一定分数。所以别浪费时间在仔细的检?查为什么程序没有办法100%通过测试,只要有80%以上,就赶快交卷(submit),马上去解另外一题来拿分数。

我犯的第三个错就是浪费时间在程序检查上,5test case我只过了四个,我花了很多时间来找这个bug,结果不但没有时间解第二题,连第一题也忘了submit(sumbit就是0分了)。我在莫名奇?妙中结束了这届的Google Code Jam,千金难买早知道啊。

想法才是效能的关键

google code jam中,解题的速度很重要,程序执行的效能也不可缺。效能固然和花掉的CPU时间有关,但这个时间会依硬件效能的提升有些改变,我认为,程序设计人员在设计你的解法/算法(algorithm)时的想法和态度,才是决定程序执行效能的关键。

举个简单的例子,请你设计一个程序,可以计算a加到b的总合(例如1加到100),你会怎么写?很直觉的,这种重复性的工作,可以交给循环来解决。是的,?用循环是可以正确的解决这个问题,但我认为这是最不专业的解法。我们就算数学不好,也听过高斯小时候的故事;话说高斯从小就非常的聪明且顽皮,有一天上课?时,老师为了让他不捣蛋,出了一个难题给他,要他计算1加到100的总合。老师以为可以让高斯安静一下子,没想到高斯没几分钟就把答案算出来了。后来推导?出所谓等差数列的功式,也就是首项加末项乘以项数再除以二,以这个例子来说就是(a+b)*(b-a+1)/2 。短短一行程序代码就解决的问题,为什么要用循环写成好几行呢?当数字大时,使用数学功式的程序执行的速度绝对比用循环还快上很多!

写程序的态度应该是,把你所学会的所有知识中,找出最好的解决方法,而不是程序正确会跑就好?如果还有更好的方法是你还不会的,那就赶紧把它学会,日后好运用在你的程序里。你也许会不以为然的说,解决这种小问题,干嘛要计较这么多。我不想在这讨论?程序该不该做最佳化的问题,网络上已经有太多类似的争辩,不知大家有没有听过「格局决定结局,态度决定高度」这句话?设计程序的思维和逻辑也不是一朝一夕?就能养成或是改变的,你想要成为顶尖专业的程序设计师,就要养成良好的思维习惯。(待续)

 

 

  除了态度之外,就是你如何去发挥、结合其它领域的专业知识。我以前教授青辅会计算机第二专长训练班,来上课的学生都不是资工计算机相关本科系的(所以学计算机才 是第二专长嘛),他们想学好程序设计,但大部份的人心中都有个疑惑:「我写程序赢得过本科系的人吗?」我鼓励他们说:「单比写程序,也许你们不一定赢得 了,但你们在其它领域的专业知识,则是他们欠缺的!」我常说,学资工其实是最没有用的,因为除了计算机之外,其它领域什么也不会 写一个股票系统不需要太高深的程序设计技巧,可是其中的分析、统计确需要专业的相关知识。就拿我来说好了,也许我很会写程序,但我没办法写出一个股票系 统,因为我在那个领域里完全不懂。这就是我想要表达的本科系无用论,所以本科系的人不需要太骄傲,而非本科系的人也不需要太悲观,各自发挥你们在各个领域 的专长,并深化你想要的domain know how,你就可以成为一位出色且专业的程序设计师。

那我该怎么做才能达到在程序领域及某个特定的领域兼具的专业呢?程序领域的专业你可以用不断的练习来达成,例如到讨论区中帮别的解决问题 或是研究别人的解法,也可以到TopCoder (http://www.topcoder.com)这样的网站上去挑战磨练你的技巧,像Google Code Jam就是你验收成果的好时机。至于其它领域的专业呢?透过学校上课或是工作项目里来学习,这方面倒是没有什么固定快速的学习方式。

创新

有人叫我大师、达人、高手(但照前面的定义来看,我还真不怎么专业。)从开始学习BASIC语言(有行号的那种),一路走来Quick BASICVisual BasicASPJava,算一算已经快二十年了,能够支持我这样一路走来最主要的动力是「热情」,这点跟上次来台湾的两位大师的观点一样:对写程序的热爱、对技术的热情

 保持热情并不容易,因为有很多外在的因素会迫使你放弃,例如经济的压力,在台湾,技术人员的薪水高不到哪去;无日无夜无条件的加班,对体力上可说是很大的 考验。台湾在硬件方面是世界首屈一指的,不论是代工组装的质量、ODMOEM ,甚至外型设计也屡获大奖。可是为什么在软件的创新研发上,能在国际上叫得出名字的就只有那几家?我们程序设计的功力比较差吗?并不会啊!创新的能力我想 是最主要的因素。

创造力或许是天生的,但学校教育的培养也相当重要。无奈的是,不论教改前或教改后,教育的目标还是没有变:考上好的大学、好的研究所,你就能出人头地。 「把书读好就对了,其它什么事都不用管。」这一直是台湾许多父母的观念,不好好念书几乎就和不孝划上等号了。从小「补、补、补」的教育,让我们的创造力逐 渐消失。反观影响计算机界最深远的两个人--MicrosoftBill GatesAppleSteve Jobs--就是个最好的例子,他们都没念完大学。你看过他们相关的传记就知道,他们年轻时干过多少在台湾社会下不被允许或不可能做的事。读书固然重要, 但重点在于能否激发创意的实现,否则就变成了死读书、读死书、然后读书死。

如果你还是学生又想当专业的程序设计师,那恭喜你,你还有许多时间可以好好的改变你自己。如果你已经是个程序设计师,改变虽然需要勇气和承担很大的风险,但不改变你就永远只是个程序设计师,要变专业成为顶尖的话,改变乃是不得不然的路。

27.07.2006

大盘下跌,我赢利

继续赢利

     经过个人分析选出的几只股票,目前惟有联通表现不尽如人意,其他几只股票表现都还可以,最多时有上涨9%多的,真是高兴,作为刚刚入市的我来说,是最好的鼓励了.

    投资不多,最多时盈利显示有400多了,今天收盘时,降到了200多,哎,缩水严重呀.

    其实今天大盘下跌也是预料中的事,个人认为,目前沪市综合指数还会在1700点以下震荡,在下周有可能在突破1700点后,返回此箱体,目前股市利空过多,很难有大突破,但个人认为牛市来临,一旦有利好,将会是突破的动力.

    因为没有时间去进行过多的短线操作(其实我认识初学者多进行操作还是好的,但我实在没精力去玩),赢利机会没有扩大,不过相信未来的日子,他们会有所作为的,作为价值投资的推崇者,我相信我的机会在未来.

    补充:个人目前还不信任机构的推荐,哈哈.

25.07.2006

证券投资记录

7月19号开了沪市股东帐号,并和老大一起吃了比萨和烤肉;
20号开通网上交易;
20号买进第一支股票——葛洲坝,买入操作很成功,相对低价;
21号,葛洲坝小幅上涨,未操作;
22,23休市;
24号继续操作,因股价震荡,卖出葛洲坝,此卖出操作不成功,因过于关心细节,导致担心股价继续下跌,损失更多赢利机会。卖出之后此股不断上行突破;
24号继续增加投入,接连操作成功武钢,国祥,腾达三支股票,其他操作为成功;
25号,继续试图操作,有联通和济钢,两支我极为看好的上升股,目前未成功;
25号,未算葛洲坝,目前帐面显示赢利60.04。
 
总结:第一次操作股票,目前还是赢利,很高兴(据说刚入市很容易被套的)。
渊源:其实早就想操作股票了,记得大一的时候,就跑去南方证券,可是当时倒霉,问错地方了,可能是跑到了大户室,问开户保证金多少,对方说20万,HOHO,从此毫无下文……
 
09.07.2006

IQ测试

IQ测试
 
 
 
    今天下午看余世维的讲座,其中提到了爱因斯坦的IQ说是135,哈哈,突然心血来潮,也想测一下自己的IQ,虽然本人找知道有这个东西,不过一直也没测过,还是感觉不太可信的。
 
    吃饭前作了一套据说是国内很经典的IQ测试题,地址:http://www.qqjia.com/test/iq1.htm,觉得好玩,花了10分钟左右的时间做完,竟然打了115,哈哈,好高兴,权威鉴定结果总算是没有把握归为弱智一族,好像说70以下就算弱了。好可怕,好恐怖呀。
 
    晚饭之后,感觉还是不爽,感觉国内这个权威性不够大,就又找了一套据说是欧洲流行的测试题,地址:http://www.qqjia.com/test/iq2.htm,这次花的时间有20来分钟,而且还有不会的,有一题是实在想不出来,这个:3968, 63, 8, 3,()。在括号里填个数,反正想来相去没有找到合适的思路,最后就空着了,谁知道的话说说你的想法呀。。这套题打了128,哈哈,比之前的进步了, 欧洲人给我的鉴定结果是智力非常优秀,哎,心想,下次有空再作一套美国的,看看能不能达到140以上,哎呀,那可是天才的分数阿,看来是不可能了……感觉这套题还是比较公正的了,基本上都是图画题和数字题,不像国内那套,尽然还有组词造句之类的,晕死,不过玩玩也不错,像我一样,以前没作过这种测试的,可以当成演习了,很简单,很快就能做完。
 
    总体感觉很不错,看到这篇文章的朋友可以去做做呀,很好玩,可不能耍赖,规定时间内一次性做完。其实这种测试就是一种游戏,不是很准的,别太在意,大家玩得开心呀,愿意的话,可以跟贴公布一下你的成绩呀。
24.06.2006

追求理想&追求财富

理想&财富
—— 巴美
 
    理想,是内心的冲动,在这让人觉得污浊的世界中,理想应该是超脱于现实的。
    财富,是社会的产物,在这充满诱惑的功利社会里,财富应该是埋藏于现实的。
    理想与现实似乎是矛盾的,他们似乎永远都无法形成一统,可是这终究是似乎。
    脱离于现实的理想,那应该叫幻想或者空想更为恰当,给理想冠上一个脱离现实的帽子,这是流氓行为。
    财富是现实社会中人的所得,看来是实实在在之物了,似乎舍我其谁,不可一世了。不过这终究还是似乎。穷本溯源,财富的开始是需要思想的播种的。只有思想的播种,汗水的浇灌,财富的果实才能丰收。
    这样看来,似乎追求理想与追求财富是不矛盾的,相辅相成的。完全正确,当然可以不用似乎了,从过程论去分析这对孪生兄弟,我们可能可以悟到一个浅显的道理:追求理想的过程在创造着自己的财富,追求财富的过程在实现着自己的理想。
    “80后”的我们一直受着关注,社会让我们承载了太多非议。但是,“80后”的我们不应该就此沉沦。
    没有了鲁迅式的呐喊,社会又不允许我们犯错误,那么我们就要学会双手互搏,自己来认清自己。
    戴志康、李想、茅侃侃、高燃,他们实现了理想,创造了财富,作为“80后”的先锋已经成为了市场的弄潮儿。那么,我们又该做什么呢??不要再抱怨我们没有长在暴发户时代,不要再说要是我早生10年20年。先锋者们已经告诉我们,我们正处在创造财富奇迹的时代。
    很赏识他们的干劲,那种对理想的冲动。很多人都有理想,但是很多人并没有去追求理想。可悲可叹。
    最后,再想想,“80后”的他们已经创造了巨大财富,我们还在干什么呢??仅以此问来激励所有看到这篇文章的朋友。
 
27.05.2006

男人,一路走好!

男人真难
 
 
男人这辈子挺难的:找个漂亮女人吧,太操心,找个不漂亮的吧,又不甘心;
光顾事业了,人家说你没责任感,光顾家了,人家又说你没本事;
专一点吧,人家说你不成熟;
花心点吧,人家说你是禽兽;
有钱,说你是坏人,没有钱,人家骂你窝囊废;
自己奋斗吧,等有钱了女友也老了,让女人养吧,不如自宫练葵花宝典算了。
不去应酬,怕被老板废了,去应酬吧,怕被老婆废了。
哎!这年月做男人真难。
女人可以等嫁,俺们等啥呀?女人还有个三八节,俺们有啥呀?
祝所有的爷们自安天命! 
男人这辈子挺难的: 长帅点吧,太抢手, 不帅吧,拿不出手;
活泼点吧,说你太油, 不出声吧,说你太闷;
穿西装吧,说你太严肃, 穿随便一点吧,说你乡吧佬;
会挣钱吧,怕你包二奶;
不挣钱吧,又怕孩子断奶, 结婚吧,怕自己后悔;
不结婚吧,怕她后悔, 要个孩子吧,怕出来没钱养, 不要孩子吧,怕老了没人养。
这年头做女人难,做男人更难!
26.05.2006

电影《达·芬奇密码》

·片名:《The Da Vinci Code》
·译名:《达·芬奇密码》
·类型: 剧情/悬疑/惊悚
·导演: 朗·霍华德
·主演: 汤姆·汉克斯 奥黛丽·塔图
     伊恩·麦凯伦 让·雷诺
  保罗·贝塔尼 阿尔弗雷德·莫利纳
·出品: 美国哥伦比亚电影公司
·片长: 149分钟
·级别: PG-13
·首映: 2006年5月17日
·公映: 2006年5月19日
·推荐指数: ★★★★★

 

 

    《达·芬奇密码》是惊险小说和智力解迷结合的典范之作。其行文节奏明快,语言富有智慧,情节错落有致,作者在密码学、数学、宗教、文化、艺术等诸多方面的知识可以说展露得淋漓尽致,并将大量的时下人们关注的信息有机地引入作品之中,巧妙地运用到高潮迭起的情节里面,从小说的精彩开篇到难以预料的令人叫绝的结尾,丹·布朗充分证明自己是个善讲故事的大师。
  本书讲述的是卢浮宫馆长在卢浮宫馆内被谋杀,死前他将自己摆成了达·芬奇名作《维特鲁威人》中的姿势,并在尸体旁留下了难以捉摸的密码符号。哈佛大学宗教符号学教授罗伯特·兰登和馆长孙女索菲·奈芙在一起追寻凶手的过程中,竟然发现一连串的线索……

 

    《达·芬奇密码》于5月19日全球公映。作为一部以为欧洲宗教、文化和艺术为背景的电影,影片的绝大多数镜头都是实地拍摄的。剧组转场于英法各大名胜古迹,为我们勾画出一幅充满欧洲风情的文化版图。影片中依次出现了以下名胜古迹,卢浮宫、圣叙尔皮斯教堂、阿克索街的苏黎世储蓄银行、维莱特城堡、伦敦圣殿教堂、圣詹姆斯公园、威斯敏斯特教堂、牛顿之墓、罗斯林教堂。

 

 
so cool  
Foto 1 von 1