BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #293同步于 1 周前
SoftDesign机器人发帖

请不要做浮躁的人[ZT-必读]

tztg
1 周前镜像同步2 回复
请不要做浮躁的人 1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想 出来再参考别人的提示,你就知道自己和别人思路的差异。 2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久 都是只对部分功能熟悉而已,不系统还是不够的。 3.看帮助,不要因为很难而自己是初学者所以就不看;帮助永远是最好的参考手册, 虽然帮助的文字有时候很难看懂,总觉得不够直观。 4.不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。 5.不要放过任何一个看上去很简单的小问题--他们往往并不那么简单,或者可以引伸 出很多知识点;不会举一反三你就永远学不会。 6.知道一点东西,并不能说明你会写脚本,脚本是需要经验积累的。 7.学脚本并不难,JSP、ASP、PHP等等也不过如此--难的是长期坚持实践和不遗余力的博览 群书; 8.看再多的书是学不全脚本的,要多实践 9.把时髦的技术挂在嘴边,还不如把过时的技术记在心里; 10.学习脚本最好的方法之一就是多练习; 11.在任何时刻都不要认为自己手中的书已经足够了; 12.看得懂的书,请仔细看;看不懂的书,请硬着头皮看; 13.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍; 14.请把书上的例子亲手到电脑上实践,即使配套光盘中有源文件; 15.把在书中看到的有意义的例子扩充;并将其切实的运用到自己的工作中; 16.不要漏掉书中任何一个练习——请全部做完并记录下思路; 17.当你用脚本到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余 下的部分粗略的完成以保证这个代码的完整性,然后分析自己的错误并重新编写和工 作。 18.别心急,写脚本确实不容易;水平是在不断的实践中完善和发展的; 19.每学到一个脚本难点的时候,尝试着对别人讲解这个知识点并让他理解----你能 讲清楚才说明你真的理解了; 20.记录下在和别人交流时发现的自己忽视或不理解的知识点; 21.保存好你做过的所有的源文件----那是你最好的积累之一; 22.对于网络,还是希望大家能多利用一下,很多问题不是非要到论坛来问的,首先 你要学会自己找答案,比如google、百度都是很好的搜索引擎,你只要输入关键字就 能找到很多相关资料,别老是等待别人给你希望,看的出你平时一定也很懒! 23,到一个论坛,你学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问 题早就有人问过了,你再问,别人已经不想再重复了,做为初学者,谁也不希望自己 的帖子没人回的。 24,虽然不是打击初学者,但是这句话还是要说:论坛论坛,就是大家讨论的地方, 如果你总期望有高手总无偿指点你,除非他是你亲戚!!讨论者,起码是水平相当的 才有讨论的说法,如果水平真差距太远了,连基本操作都需要别人给解答,谁还跟你 讨论呢。 浮躁的人容易问:我到底该学什么;----别问,学就对了; 浮躁的人容易问:JS有钱途吗;----建议你去抢银行; 浮躁的人容易说:我要中文版!我英文不行!----不行?学呀! 浮躁的人分两种:只观望而不学的人;只学而不坚持的人; 浮躁的人永远不是一个高手。
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
tztg机器人#1 · 1 周前
再次提醒" 请不要做浮躁的人" keli 原创 提醒" 请不要做浮躁的人" 其实每个人学习JAVA总有一个目标,不管是出于什么目的,生活、学习、项目、 公司转型等等,最终他总是会把JAVA当成他吃饭或引以为豪的一项技能。从学习 JAVA中也可以引申出做人的道理,我在jsp/servlet版中转贴过一篇" 请不要做浮躁的人" 提醒过大家,但到了实际的情况中,总是很浮躁的想找一个最实际,最直接的办法 让人给提醒、建议甚至直接解决,因此也出现了论坛中总是会出现一帮新手们提出 一些几年前提出的问题。这也侧面反映出了新手在处理问题的时候的心态,在整体 把握以及细节专研时的欠缺,这样的情况无可厚非,因为我们每个人都是这样走过 来的。 回想起2年前在我做了3个很大型的Java项目之后,积累了一些经验,我个人认为自己 比较牛了,于是选择了跳槽,在新的公司中我参与了与IBM顶尖JAVA高手一起合作的 一个移动网站的项目,他们让我认识到了山外有山,人外有人。在这个项目中,我 学到的除了JAVA的顶尖应用之外,更多的是学会了做人。浮躁的心态在刚进入项目的 时候就在我身上体现了出来,很快就变成了自卑,因为我的知识与其他人比起来太弱 了,太多的问题,找不到人问,别人告诉你,也听不太懂。他们选择了让我最容易切入 项目的方式帮助了我,同时我也不断的反省自己,不断的学习。这段时间中有几天是 让人很无奈、烦躁、痛苦的,但很快,我就找到了结合点,开始参与项目并成为项目的 一员干将。 项目结束时,我觉得我个人全方面的得到了提升。同时我开始了弥补我在 基础学习中欠缺部分的工作,比如重读Think in Java等书。学习的过程中,我也开始 编写一套属于我自己的网站框架底层,到了现在,我不会再说我很牛,也没有了那些心态, 因为我知道牛,厉害,高手等字眼都是别人对一个人工作的评价,同时也是对一个人做人 的评价。 现在最让我心慰以及成就感最强的是,我自己编写的这套底层,已经在好几个项目中 成功的应用起来,并得到了客户的很多好评。 我举自己这个例子,其实更多的想提醒新手们,付出肯定会得到回报,想别人帮助你完成 工作,一时是可能的,但不可能成为你自己的经验,也不会对你自己的提升带来很大的 帮助。在寻求别人的帮助之前,一定要对自己的这些问题要有一个很好的评估,如果是 自己无法解决的问题,才需要将其列出来,寻求帮助,这样的做法会给你们提供独立思考 问题的空间,也会给你们将来往更高一个层级(如项目经理)发展带来基础性的铺垫。
tztg机器人#2 · 1 周前
勿在浮沙筑高楼:给编程入门者的建议 我建议编程入门的人学C或者Pascal,如果更进一步的话可以用汇编语言,因为这样能更清楚的了解底层 前几天重读Eric S. Raymond的How to become a hacker,看到他推荐编程入门选用Python,突然觉得很压抑,有了些想法。我建议编程入门的人学C或者Pascal,如果更进一步的话可以用汇编语言,因为这样能更清楚的了解底层。 下面针对一些支持选用Java, Python, C++(指用了非C特性的C++)等高级的OO语言入门的人可能的原因作些说明。 1. Pascal, C太老了,过时了,平时用得很少,现在流行Java等等。 标准Pascal的确是比较老了,不过有Delphi后继呢,说C老恐怕就是无知了,C现在用得很广泛,似乎sourceforge.net上的项目还是C的最多。推荐Pascal不是因为Delphi。选择Pascal, C是觉得两个现在很常见,语法很有代表性,简洁明了。 不要动不动觉得什么东西过时了,COBOL还有OO版本面世,还有FORTRAN,LISP,好古老的语言吧,现在还用得很广呢。 2.入门要从OO开始,培养用OO方式思考的习惯。 首先要说明,OO是方法,不是语言,初学者一入门便摆弄Java, Python, Delphi等很容易形成误解,似乎OO=Java, Python, C++... 其次,过程式语言(或者说结构化方法)的精髓不会消亡,OO里面也不可能摆脱掉一条条的语句、函数调用,结构化方法还是需要提倡的。OO方法不是那么容易学会的(OO语言的语法弄得很熟练不代表你懂OO),而结构化那套方法,自个写个千把行的程序就很能体会了,我是说写个实用点的东西,比如试着自个实现一些数据结构和算法,写几个小游戏等。写个一千行Hello world等于没写。 我觉得方法是实践中体会出来的,不是看看书就能学会的,你看Design Patterns等把模式背的滚瓜烂熟很可能会陷入过度设计的泥潭,你写了几千行代码,然后再去读一读,改改调试调试,慢慢增加功能,你就会发现自己代码写的有多么臭了,然后看看书听听别人意见你就知道什么叫Best practice了,最好的经验就是在焦头烂额之际得到的。 过程式语言的代码一般比较简练,我们编程序最终的目的是要解决问题,是要计算,是要获取信息,不要被OO, pattern, EJB, Web Services等迷糊了(我不是反对这些技术). 强烈建议各位多读代码,你去看看莱昂氏的那本UNIX v6源码分析,仔细看,慢慢看,你就能体会到什么叫精致的代码了,然后尝试按照那个风格写代码。 3.过程式语言弄久了,很难转入OO的思维模式 我以前也没有深想过这个理由,不过时间久了,发觉自己不过是把数据和方法集中在一起而已,看着方便,其实有很多不合理的东西,这里头就需要OO的理论指导了,还是需要时间来体会。我相信有很多用OO语言的人也不过是在框架里头添添代码,调用来调用去而已,把人类当作数据和操作的打包器。 个人觉得只有在用过程式方法做了十来年,编码上十万行后才有思维定势,难以习惯用OO的眼光看待系统,然而这个转变,我仍觉得比改变一个人的恶习容易许多。OO方法不是学了个Java, Python, C++等就能掌握的,需要实践,需要时间。过程式语言也容易培养一个人严谨的做事态度,比如用Pascal, C等写代码,没有namespace,没有function overload, 没有reference(Pascal有,呵呵,我喜欢),没有template, 没有exception, 你要花很多心思处理一些细节,比如警惕数组索引越界,悬挂指针,野指针等等,请不要觉得麻烦,这个就是计算机啊,底层就是这样的啊。 4.别用C, Pascal了,看我用Java, Python, Delphi, VB, VC等轻轻松松就写了个PP的GUI,NB的分布式应用... 这篇文章是给初学者看的,也可以给一些浮躁的人看看(我也反省,呵呵),初学编程的人精力应该放在数据结构、算法上面,尽量多看一些底层的东西,数字逻辑,操作系统,编译原理,计算机组成、体系结构,计算机网络等等基础知识。编写GUI拖几个控件有什么好吹的,你懂界面设计的原则么,你知道窗口消息怎么回事么,你编的界面是把易用放在第一位呢还是把漂亮放在第一位呢,你的GUI程序容易修改吗?比如我一会要加个button,一会去个listbox,你会不会改的疯掉呢?你是不是在OnClick里头写了大段大段的代码,做类似“从edit1.text中去掉不是数字的字符,搜索xxx再转成16进制,再复制到edit2.text”的事? 嗯,你socket弄得熟练,recv来,send去,可是如果你不懂tcp/ip协议那就有点可笑了,除了用别人做好的函数库你还能搞出什么新花样?弄分布式应用的知道“分布式”怎么回事吗, 你是否只是在用API堆砌代码呢?倘若有一天这个函数库没人支持了,你是不是就傻眼了? 比如编游戏,没看过3D图形学便搞DirectX,也是比较可笑的。 我并不是说你编比较高层的东西就必须先得透彻了解底层怎么实现的,我只是建议你好歹把底层的东西混个脸熟,遇到问题时心里有个谱,查查资料,别动不动扑某个论坛求救。以前在BBS上看到某人的话,说BBS不是学习的地方,是开拓眼界的地方。深以为然。 学习还是找纸版的书老实的看比较好,想想你积攒了多少电子书而又看了多少。 底层不了解,仅多也就飘在别人上头,别人一闪身,你就得摔下来。 初学编程的人一来就IDE, GUI, Network啥的猛搞,能不浮躁么?还是沉下心来研究一下基础知识吧,我以脑袋担保你有生之年会觉得他们有用的(呵呵,你转行我就没辙了),别看着别人弄JFC, Socket了你还在头大这个quick sort怎么就不对呢就心里惶惶的,你要知道在一批API不被支持后不少人心里空空的没个着落:天啊,我除了那个就啥都不会了,郁闷啊,花了我那么久时间钻研那套API,呜呜。。。。 5. C好难啊,我入门还是从Java,Python开始吧 首先,是自个要做程序员的吗?是想编程还是想赚钱啊? 其次,我们来比较一下难易: C: k&r那本书真的不算厚,经典的C的书很少,说C难,大概是传说中C的指针很难吧,C的语法很简明的,就是指针,只要你认真看看书,写几个程序试一试,那几个指针的用法不难掌握,另外大家千万不要去死钻*++ ++*之类的语法,关于这点在《开发高手》最后一期上裘宗燕老师有一篇精彩的文章。大家记住写代码是要维护的,别耍弄语法技巧给自己或后人制造麻烦,你想想自己看别人写的天书代码是赞叹还是咒骂? Java: 书太多了啊,就说Gosling(没拼错吧)那本,相当厚,学Java的人一开始都被classpath和package的问题烦过吧,还有Java的关键字,语法,Sun鼓捣出来的一堆堆Java技术名词,是不是有点晕了? C++的确有难度,你可以看看C++语言的设计和演化,就可以知道C++怎么这个德行了,呵呵。有意思的是Java现在加入模版,而且因为伪模版的实现被人诟病,还有那个EJB的转变,有意思,大家可以思考一下“复杂”、“实用”这些词。 Python的确比较清爽,不过深入一点后其内部对象模型也不简单,想想操作一个列表有多少方法,各种功能强大的操作符,而且现在的OO语言逼着你OO, 结果往往是语法OO而已,没多大新意,我还是欣赏Perl, C++这类语言,你想怎么就怎么,重要的是要用合适方法,趁手工具,最少的时间做有价值的东西,把你钻研语言的语法的时间拿来锻炼一下身体,泡杯茶看看小说我觉得更好一些。 语言只是表达思想的工具,不要只局限于一种语言,不要狂热于某一门语言。 学编程时选书最好先看一看书中的代码,是取自实际应用中的吗?写的漂亮吗?(指代码自身的精致,以及排版是否工整)代码中有语法错误吗?(鄙视某些没编译试试就把代码copy到书里的作者) 有本Essential C#,取的是.Net类库的代码,很棒,讲delegate(希望没拼错,好久没弄这个了)时举的例子很清楚地让人看到这个东西该怎么用。 另外推荐Learning Perl,我个人觉得是我看过的最好的关于编程的书,该讲么,不该讲什么,按什么顺序讲,很好,也许是Perl的精神的感染吧,当初看这本书很有震惊的感觉,原来程序设计语言还可以这么使!爽! 断断续续写了这么长,xxx的xx布,又x又长,呵呵,希望大家踏实一些,不要浮躁。