注:此人是我男朋友,是有次我要他写的命题作文。今天来这里小逛一下,心血来潮就把该文贴上来了,哈哈

我是一名程序员。虽然编程序的经历远远不能用丰富来形容,但接触程序总也有好几年了。说起来还真有些感触。其实上大学前我只碰过中华学习机,从来没有程序的概念。从一无所知到现在以它为职业,想来这其中的过程颇值得回味。我想,程序这个东西的意义对每个人都是不同的,那么就来听听我是如何变成程序员的吧。

在我最初的印象中,编程序是件极其枯燥无味的事情,无非就是码码字符,画画表格。我记得我在上小学的时候写的第一个Basic程序,算个简单的1+1都需要好几行代码。用它来做更复杂的任务启不是要被烦死?没想到第二次上手写程序竟然是8年以后。上大学我读的是计算机专业,我学的第一门语言是严谨的结构化语言Pascal。也许每一个程序员最开始接触程序语言的时候都是象我一样觉得枯燥。因为我总感觉我学Pascal的时候总在不停地敲打Begin和End,往往累死累活敲一段代码,只有很傻的结果,让我觉得特别不值,而且我就是弄不明白Pascal中间包含库文件是个什么意思。我心里就总在说,这该死的程序我死也不会喜欢它。第一次让我对写程序产生兴趣是在我学习了递归的时候,比较喜欢逻辑推理的我很喜欢汉诺塔这样初级递归逻辑问题,而且还能跟同样初学程序的同学争得面红耳赤,非常让人兴奋。我的同学中有一个非常厉害的程序高手,有一次我看他编写程序,很多我想当然的想法他都没有采用,然而正在我纳闷的时候,他总能写出让我叫绝的段子,从他身上我突然体会到一些和我们惯常思维不同的全新的思维方式,能跳出圈子来看待问题。这让我着实兴奋,写程序的欲望异常强烈,为了解决一些逻辑问题,我曾经连续编写程序7、8个小时没有停歇。比如为了交编程语言课程的上机作业,还没有学过博弈算法的我自己设计了一个现在看来十分简单的黑白棋程序,但当时我真的是废寝忘食,每天都在思考里面的运行路线,就在完成了逻辑实现部分的代码之后,还总在想如何往里面加入更多的功能或者界面修饰使它更加完善。当它能正确运转并且偶尔还能下赢我的一些同学时我非常有成就感。这是我完成的第一个综合性比较强的程序,每会想起,它就象是我的孩子一样亲切。

当然这只是我对程序的感性认识。在大二的时候我们开始学习算法,明白了其中的一些原理才开始对程序有了理性的认识。第一次写大规模的程序是上数据库的时候,我和我同学两个人用Delphi编写了一个两万行的国际象棋程序,注重数学算法的他担任程序算法的设计,注重逻辑性的我就来对算法进行完善和调试。经过半个月的辛苦工作,终于让这个见鬼的国际象棋可以正式和人对弈了。在我们品尝到成功的喜悦同时,我们也对程序结构的平衡性以及良好编程习惯有了深刻的认识。比如,我们为了实现某一个功能而编写了一个上千行的函数,程序拖沓得不行而且错误连篇;再比如,某个相同的代码段我们反复粘贴了很多次,结果因为粘贴的时候有些参数没有及时修改给后来的测试带来了巨大的困难。这个时候的我才体会到,严谨的编程习惯是多么重要。就好象做人一样,当你决定要做什么事情的时候,你需要先把为什么要做、怎么做这些问题搞清楚。你需要考虑好这样做是不是值得,是不是合适,是不是高效率。严谨的个性能避免走很多弯路,对精练程序的不屑追求才能不断推陈出新,我想这是一个成熟的程序员和一个菜鸟程序员的区别吧。写文章的人总用“文如其人”来说明文章和人的性格之间的关系,那么用“程序如其人”也能代表程序与程序员的个性之间的联系。

程序写得渐渐多了,越来越发现其实程序和我们的生活是很相通的。编程的思想有很多灵感来自现实生活。比如流水线思想、软件重用、面向对象的思想思想,这说说是很简单的事情,但却能非常神奇地提高效率,这其中的神奇真能让人赞叹不绝。举个和写程序无关的例子,比如我们常常用notepad来编辑文字,保存文件是经常要干的事情,可是在敲键盘的时候要动鼠标点菜单来保存实在低效而且容易打断思路,实际上可以把保存的过程抽象为点开菜单和保存两个重复性任务,这又可以抽象为Alt+F和S这两个过程,把这个过程机械化变成人的一种反射行为,就可以在毫不影响思维的情况下完成对文件的保存。我说的仅仅是个机械化重用的小例子,实际上这样重复性的操作在我们平常使用电脑的时候经常可以碰到,多从抽象和机械化这样编程常用的思维角度来想想,能提高不少工作效率(说到这个,我曾经教我女朋友这个方法,可惜她不知道该如何举一反三,程序员和非程序员的区别就在于此吧)。

网络时代的到来使得网络编程成了热门,越来越多新奇的思想不断涌现。桌上的书也一本比一本厚起来,往往一个东西还没有研究透彻,另一个东西又冒出来了。代码量一天一天越来越大,里面的逻辑关系越来越难于掌握,新奇的概念和名词又不断出现。计算机科学的迅猛发展使我们这些依靠脑力吃饭的人越来越感觉到压力巨大,随时都有被淘汰的危机感。看着学弟学妹们快速的成长,有种惶惶不可终日的恐惧。每天都想按照程序一样按部就班,而每天又都会像程序一样稀里糊涂的度过。这是不是程序员必定的生活轨迹呢?还是我们本身都是一个巨大的程序?管不了那么许多,人活在世界上就需要不停的奋斗,作为程序员,我们也将这样不停的学习下去。

人打赏

0人 点赞

主帖获得的天涯分:0

举报 |

楼主

|

楼主发言:1次 发图:0张 | 添加到话题 |

国防科大计算机研究生院,国防科大计算机学院在读硕士的程序人生!相关推荐

  1. 计算机音乐研,武汉音乐学院2017年硕士研究生《计算机音乐作曲》考试大纲及参考书目...

    武汉音乐学院2017年硕士研究生<计算机音乐作曲>考试大纲及参考书目 计算机音乐作曲(电子音乐创作)(计算机音乐作曲研究方向专业主科) 一.考试目的 考察考生的音乐制作技术综合应用能力以及 ...

  2. 西北大学调剂计算机,西北大学信息科学与技术学院2020年硕士考研预调剂公告...

    免费申请学习规划 请选择在读年级 学前 小学 初中 高中 大学 留学 其他 已为30209位学员提供学习规划 *验证码 *短信验证码 {"text1":{"label&q ...

  3. 海南大学计算机学院研究生,2021年海南大学计算机与网络空间安全学院硕士研究生招生调剂公告...

    一.调剂具体流程 1."申请调剂的考生请及时登录中国研究生招生信息网(https://yz.chsi.com.cn)"全国硕士生招生调剂服务系统"填报志愿.我院的所有调剂 ...

  4. 中科大计算机专业跟浙江大学计算机专业相比,国内大学计算机专业的排名是怎样的 计算机专业最强的十所全国重...

    计算机专业飞速发展,如今互联网+各种产业,所以计算机专业的学生目前的发展还是不错的.那么全国各个重点大学的计算机专业的实力和排名又是怎样的呢?下面小编分享了计算机专业最强的十所全国重点大学,供你参考. ...

  5. 择校秘籍|北航计算机 和 中科大计算机 应该怎么选?

    写在前面 北京航空航天大学和中国科学技术大学都是国内非常知名的985院校,在计算机学科研究领域,两个学校也是十分强势.那么对于计算机保研的同学来说,如果拿到两个学校的offer,北航计算机和中科大计算 ...

  6. 北航计算机专业怎么样,选计算机专业,北航、南大、中科大3校如何选择?选北航更有优势...

    计算机专业成为大家的"众矢之的"之后,目前不管那个分数段的考生都在咨询计算机专业填报及其院校选择的问题,要说计算机专业但的确在目前看来还是非常香的,不管有人是否定还是肯定,在家长和 ...

  7. 山东大学计算机科学与技术研究生院,山东大学计算机学院2018年硕士研究生招生考试成绩公示(全.PDF...

    山东大学计算机学院2018年硕士研究生招生考试成绩公示(全.PDF 山东大学计算机学院2018年硕士研究生招生考试成绩公示 (全日制) 序号 考生编号 姓名 专业代码 专业名称 初试成绩 复试成绩 录 ...

  8. 华科计算机学院多难考,计算机学院2019年硕士研究生入学考试成绩公告

    根据学校有关要求,现将计算机学院2019年硕士研究生入学考试成绩公示如下: 一.招生计划 根据学校下达的招生计划见附件1. 二.考试成绩 考试成绩见附件2-5. 三.调剂工作说明 1.网络空间安全学硕 ...

  9. 如何申请美国大学计算机科学研究生,申请美国计算机研究生院要求

    计算机专业是美国留学优势专业,那你们知道美国留学计算机什么大学好呢? 大师兄留学网[留学 dsxliuxue.com]小编为大家整理了美国计算机研究生院校相关内容,希望对大家有帮助. 一.美国计算机研 ...

最新文章

  1. 【转】java线程系列---Runnable和Thread的区别
  2. 12月21日云栖精选夜读:阿里云总裁胡晓明:AI泡沫过后,下一站是“产业AI”...
  3. tomcat runing on daemon with apr and ssl mode
  4. tensorflow从入门到放弃(二)
  5. selenium之 chromedriver版本对照表
  6. 解决iex -S mix报错
  7. mysql5.7 单机多实例_MySQL数据库 5.7.21单机多实例安装
  8. jsp引进的js 显示404_【梅园大讲堂微课堂】Get超级大招!上海人才引进云申报权威解读来了...
  9. 是德科技Keysight|日置Rigol数据采集器自动计量校准软件NSAT-3070
  10. html 页眉选项卡,连续两个奇数页页眉 再选择插入菜单——分页,执行2次
  11. 终其一生只是个普通人,你会后悔吗?
  12. 第7章,广义相加模型(GAMs)
  13. 关于CLR GC调优的一些问题
  14. c++ 不要节约代码行数_不要只是代码,但也c
  15. C#实现繁体简体转换方法总结|ASP.NET.分享
  16. ausu-fx80-efi黑苹果10.15.7
  17. Linux之网络设置
  18. 【mba项目管理论文】S 公司项目管理绩效评价现状与问题(节选)
  19. 《最高人民法院 最高人民检察院 公安部关于办理信息网络犯罪案件适用刑事诉讼程序若干问题的意见》
  20. 数据结构单链表的基础操作(C语言)

热门文章

  1. vsftp pam mysql_实验记录:vsftp整合mysql-pam管理虚拟账号
  2. OpenShift 4 - Knative教程 (6) Eventing之Channel和Subscription
  3. OpenShift 4 - Knative教程 (1) 创建Serverless运行环境
  4. 搭建GraalVM环境
  5. 配置OpenShift 4 单机版环境 - CodeReady Container
  6. 使用数组操作解码YOLO Core ML对象检测(三)
  7. JavaScript PopUp生成器
  8. C#SQL注入检测——特别是对于旧版.NET代码
  9. 使用SignalR和SQLTableDependency进行记录更改的SQL Server通知
  10. iphone7防水_iPhone11系列防水测试,其结果令人意外