ffmmx's Blog

Happy coding

转 如何走编程之路

ffmmx posted @ 2012年11月07日 20:00 in 未分类 , 1669 阅读

       无论是处于爱好还是别的原因而选择程序员这个职业,时间久了都会面临一些难题,那就是如何坚持走这条路和如何走的问题.
 
       和计算机打交道相对来说是比较困难的。计算机不是一个人,它不会说话,没有情感,但是程序员需要长时间的和它交流思想,很多时候为了把问题给它描述清楚需 要尝试各种方法让它去理解你的意思,按照你设计的方案去执行任务,出现问题了你还得有足够的耐心设法测试很多细节地方你依照它的理解方式描述的对不对,记 得微软有道面试题“你如何教自己的奶奶使用微软Excel表格系统?”,很多人认为很变态的面试题,奶奶是个文盲怎么教啊,那么试想一下这个问题和教计算 机下棋哪个简单呢,而程序员往往做的就是这种问题描述工作。编程是在自娱自乐,自己制定了游戏规则并描述给计算机,然后自己又跟踪计算机执行任务的思路, 来检测它是否完全理解并遵循了游戏规则,甚至在很多不人性化的工作环境下程序员就有点像小说《鲁滨孙漂流记》中的“鲁滨孙”,需要长时间跟和他一样孤单的 球沟通,可见程序员这个职业的工作难度和工作环境有很大的挑战性。
 
       编程是一种特殊的交流方式,要将自己的想法按照计算机的理解方式描述给它,让它依照这个想法去执行任务,从这个角度来看程序员、教师、作家甚至翻译官的工 作性质是很像的,因此表达能力很重要,编程是在解决实际问题,花费时间更多的应该是锻炼自己问题的抽象能力和描述能力。比如在实际中一个用户频道购买的认 证文件,文件的内容是用户1订阅了哪些频道,用户2订阅了哪些频道……,这个认证文件(字符串)就可以抽象为计算机很容易理解的东西,一个二维数组 arr[x][y],用一维数组索引代表频道,如a[1],a[2]分别代表频道1,频道2,数组元素的值0表示没有购买,1表示购买,一维数组的指针代 表用户,将这些指针(也就是每个用户)存储到另一个一维数组,这样两个一维数组组合形成的二维数组代表了这个认证文件,判断arr[2][3]是否等于1 就可以表示用户2是否购买了索引3对应的频道,这样做的目的实际中主要是为了提高效率或者简化问题。再比如做一个网游外挂程序(不考虑从内存获取网游信 息),如何找怪,可以先观察怪物的特点,比如怪物身上有特殊的颜色,就可以让计算机屏幕模糊找色,找到坐标之后,将鼠标移动上去,如果鼠标形状变为攻击时 的形状,说明找到目标。如何自动加血,就可以想象一下玩家的操作,当血量低于上限50%时,按下键盘上对应加血的快捷键,转化为计算机语言,首先计算机需 要找到一个参考点,改点应该比较固定,不会随游戏窗口的移动或者缩放而改变与血条的相对位置,然后定时检测计算血条当前长度占总长度的百分比,低于 50%,按下快捷键完成加血。编程主要做的也就是这些事,这样编程路线就被简化了,那就是不管什么语言选择一个之后不要轻易更换,利用较少的时间掌握其语 法规则,然后花较多的时间培养自己两个能力,把实际中的问题抽象为计算机可以理解的符号和按照计算机的理解方式向计算机描述问题,具备了这样的能力就可以 解决平时编程中遇到的大多数问题。
 
       如果你始终在追求和探索其中的乐趣,编程是可以充满乐趣的。在接触计算机之后第一个让我感兴趣的是Flash,记得当时完全是处于好奇,第一次上机就在机 房呆了6个小时左右,当时是大一没有遇到困难上网搜索的意识,从电脑里面导进去几张图片在那里琢磨,回忆老师做过的步骤,然后心里想着就这些可以按的东 西,挨个试试,总共也不知道做了多少试验,最后终于知道了一些简单的像补间动画这样的操作,但是原理还是一点都不都的,有时候可以有时候有不可以实现那些 功能。后来偶然的接触到了金鹰的AS3视频教程,一个暑假没有回家,几乎是天天从早到晚,自己一个人忙忙碌碌的学教程,做自己感觉好玩和新奇的东西,那时 候我可以肯定完全靠的是兴趣,学习过程中遇到了很多困难,虽然有点辛苦,但是收获了它带来的快乐和成就感,一个暑假我感觉做的最好的是一个播放器,界面全 部是自己PS的,实现了常见的各种功能,还有个简单的游戏,转盘抽奖的程序,模拟QQ空间那样的相册翻页……。现在想想已经没有了3年前的那种探索激情, 然而对Flash的爱好,始终没有太多改变,几乎每一次探索都会带来新的收获和欣喜,惊叹那些设计师们的创造才能和技术的博大精深。我关注着版本升级后的 新增功能以及Flash在游戏开发和网络上的各种应用,其中发现人人派对这个游戏的漏洞也是缘于此。Flash一直伴随着我学习编程的这几年,认识了很多 能为生活带来很多乐趣的人甚至一些公司的高级人才。从有的角度来看也许会有个矛盾,其实我已经选择了做一个C++程序员,但是却一直做着AS3的程序,因 为现实提供了太少的舞台给C++,而较多的却是AS3,我不愿意放弃任何一个机会。实践证明我的做法是对的,C++方面的确有很多可以发展的方向,如游戏 事业或者嵌入式,我并没有做出一个选择,而是仅仅满足于可以灵活使用MFC开发,做一个东西似乎就要为自己找一个做这个东西的理由,如果找不到做的理由那 就不做,还是我上面说过的问题,编程应该怎么学的问题,无论什么语言不重要,重要的是能不能解决实际中遇到的问题,用不用换语言衡量的标准是做了之后是不 是可以培养自己解决实际问题能力最好有额外的收益,最应该培养的东西培养好了才是最重要的。能力提高了,无论什么问题都可以轻松的转化描述给为计算机,自 己实力的进步是可以通过做东西感受得到的。休学这一年无论自己有什么想法,我都去做了尝试,做外挂,网络兼职,百度、中兴的程序比赛,感觉时间过得很快, 虽然总是自己一个人,但是自由、快乐,生活得精彩,因为我在乎的都不是最终的结果。
 
       程序员真的伤不起!关于坚持,有个人说的很好“一个人端起杯子喝一口水,然后放下,那是正常的动作;一个人端起杯子坚持五个小时不放下,他就有点不正常 了;一个人端着杯子一动不动五十年,那他就是文物了,别人看一眼都得给钱”,不同的人应该会有不同的理解,在我看来,应该善待和保护自己,不要勉强自己去 做一些事,否则下次就害怕了,有怎么会喜欢做这些事。可以在感觉累的时候听听自己喜欢的音乐,看电影,上人人网,想玩就大胆的去玩,网游……,也是增加见 识,见识有时候很重要,直接影响一个人对事物的认识,认识要是改变了,也许整个人都改变了。无论何时都应该保持一个积极的心态,这样工作才不会累而且会有 较高的工作效率,合理的控制与机器打交道的时间,不要太久。另外有几个程序员社区是可以加入的,CSDN、ITeye、天地会等社区无疑是程序员的天堂, 在那里从来高手云集没有解决不了的问题,还可以随意自己发表一些见解和同行一起交流,百度知道也可以,这里都是技术上一些鸡毛算笔的小问题,要是感觉自己 实力还比较弱,可以在百度知道上看看大家都什么问题不会,自己能不能解决,也是个能力提高的过程,还可以寻找自己选择的编程语言的QQ群进去,这样就再也 不是自己一个人,而是一个群体,候融合进去会感觉很有气氛。如果条件允许可以,多出去走走,用心去感受大自然奥妙,你会发现没有什么解决不了的问题,也没 有什么改变不了的事,只要善于发现,勇于探索,敢于尝试,精彩无处不在.

Avatar_small
Digital Ali 说:
2021年9月15日 14:52

Wow, What an Outstanding post. I found this too much informatics. It is what I was seeking for. I would like to recommend you that please keep sharing such type of info.If possible, Thanks. 123 movies

Avatar_small
SEO 说:
2021年10月01日 00:50

Your website is really cool and this is a great inspiring article. Complete Business Funding List

Avatar_small
SEO 说:
2021年10月01日 03:08

I think that thanks for the valuabe information and insights you have so provided here. madhur bazar

Avatar_small
SEO 说:
2021年10月02日 20:43

Yes i am totally agreed with this article and i just want say that this article is very nice and very informative article.I will make sure to be reading your blog more. You made a good point but I can't help but wonder, what about the other side? !!!!!!Thanks anchor

Avatar_small
SEO 说:
2021年10月18日 03:43

I have read all the comments and suggestions posted by the visitors for this article are very fine, We will wait for your next article so only.Thanks! umrah for uae residents

Avatar_small
SEO 说:
2021年11月04日 23:21

What a fantabulous post this has been. Never seen this kind of useful post. I am grateful to you and expect more number of posts like these. Thank you very much. 오피시티

Avatar_small
Website 说:
2023年4月27日 03:40

Instagram pva accounts
These are some great tools that I definitely use for SEO work. This is a great list to use in the future.

Avatar_small
Website 说:
2023年4月27日 04:02

Instagram pva accounts
It is imperative that we read blog posts very carefully. I am already done with it and find that this post is really amazing.

Avatar_small
Website 说:
2023年5月25日 00:44

Buy bulk gmail accounts
Nice to be visiting your blog again. It has been months for me. Well, this article that I've been waiting for so long. I need this article to complete my assignment in college and it has the same topic as your article. Thanks. Great share.

Avatar_small
Website 说:
2023年5月25日 02:07

buy Facebook pva accounts
Very interesting post. This is my first-time visiting here. I found so much interesting stuff in your blog, especially its discussion. Thanks for the post!

Avatar_small
Website 说:
2023年6月13日 01:59

Buy Instagram PVA Accounts in bulk from us. Our Old Instagram PVA accounts are great for the Growth of Business Profiles.

Avatar_small
Website 说:
2023年7月06日 03:38

Buy Instagram accounts bulk
Wonderful article. Thanks for putting this together! This is obviously one great post. Thanks for the valuable information and insights you have so provided here.

Avatar_small
Willy 说:
2024年1月15日 20:30

Starting a programming career is an exciting and difficult endeavor. Learn the basics first, such as problem-solving techniques and coding languages, in order to successfully navigate this path. The first steps are to stay curious, look for mentorship, and work on real -world projects. Remain persistent and view obstacles as chances for personal development. You'll discover that the path becomes clearer and the opportunities are endless as you go deeper into the world of programming. For those looking to delve deeper into complex ideas on this fascinating adventure, <a href="https://dissertationwritinghelp.uk/phd-dissertation-proposal-help/">Phd Dissertation Proposal Help Uk</a> is an invaluable resource.


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter