zoukankan      html  css  js  c++  java
  • 编程这些年

          从大一接触C语言开始,世界就以一种全新的方式向我展开了。

          说起来,大一刚开始接触C语言的时候,完全处于懵逼状态,根本不知道这玩意是啥,毕竟我们河南的孩子在高考之前基本上就只有一个目标:考上大学,整天都是语数外、物化生……根本不知道编程是什么意思,由于从来没有接触过,上课听讲就像听天书一样,直到第一次的C语言上机实践……

      “拔剑四顾心茫然”,第一次上机可以用这句诗来表达我当时的内心,简直就是煎熬,完全不知道要干嘛,第一次老师转到我这时,我的电脑一片空白……于是我硬着头皮写了几个语句,老师又走到我这,看了看我的程序,满怀嘲讽地对着全班同学说“哇,咱们班竟然还有同学以为把算式全部敲打上去,计算机就能自动算出来的!”顿时全班哄堂大笑,我当时真的是羞得满脸通红,不过这次经历也激发了我学习编程的动力,还算的是因祸得福吧!

      “勇往直前”,从那次经历后,我便开始认真学习编程,刚开始的时候,觉得“哇,好神奇,自己写出来的程序竟然可以实现这么多的功能”,越学越觉得“无所不能”,越学越有兴趣。C语言课程结束后,有个C语言课程设计,需要做一个小型的系统,我做的是“通讯录管理系统”,对于当时的我来说,这种程序可谓是相当的难了,基本上指针都不怎么会用,更不用说对文件的操作了,我就先上网上找了一个类似的程序,先看看人家是怎么实现的,大概心中有了一个方向,就边模仿边编写,先从简单的功能实现,再一步一步地添加功能,那时候还只会使用VC,只会写控制台程序,连界面都是在控制台上一个一个printf()打印出来的,耗时两个星期,终于将这个系统成功实现了,老师也给了我90多的高分,当时特别有成就感!

      大一下接触了嵌入式的开发,刚开始用的是最简单的51单片机,记得写的第一个嵌入式程序就是“流水灯”,虽然很简单,但更进一步的让我学会了用编程的思想去解释这个世界,虽是一个简单的流水灯,但在我们的生活中却随处可见,超市门前的电子公告屏,演唱会上粉丝们手持的LED板等等等等,嵌入式的开发给了我一种全新的成就,将我的程序嵌入到一个硬件上,仿佛是赋予了这个硬件一个生命,我仿佛在创造世界,这种成就感和自豪感恐怕每一位程序员初期都会有的。

      而后便是C语言的进阶学习,之前的只能算是刚刚入门,当然这也是我后来才知道的,当时的我可不是这样觉得的,当时的我觉得自己无所不能,什么都能用程序实现。根据课程安排,我们开始了“数据结构与算法分析-C语言描述”这门课,然后……我就又开始懵逼了,“这都是些啥啊???”,黑人问号脸……然后就想当然的认为它不重要,结果就是,我到现在还在为当时年轻所挖下的坑做填补,这是我当年做的最蠢的一件事,“数据结构构建了程序的躯干,而算法赋予了程序灵魂”,当年的我如果懂得这句话,那现在的编程水平至少还能再上一个台阶;然后又学习了C++,也算是对面向对象的编程有了一些了解,当然有了C语言的基础,学习这些语言都没有太大的问题。

      大二的暑假,我全身心的投入在全国大学生电子设计竞赛上,我们小组是做测量方向的,我主要负责FPGA和单片机的嵌入式编程方面,我还记得我们当时训练的时候,我写了一个程序,当时程序编译没有出错,但功能却不能实现,我怎么都找不到问题(因为当时还不知道Debug,纯靠自己看),找老师来帮忙,老师说“编译没有问题,难道就真的代表你这个程序能用吗?这种情况肯定要使用Debug功能来找算法上的错误啊!”,这一句话真的是醍醐灌顶,一巴掌将我打醒了,原来我之前写的程序只是凑巧编译成功了而且也实现了功能,原来我连最基本的检错方法Debug都不会用,这一下子将我打回原形,我乖乖地收起我的小尾巴,认真系统地开始学习编程,不看不知道,一看吓一跳,原来自己之前写的程序都是最基本的程序,原来自己还差得很远,原来还有这么多东西我都不知道……

      很快,国赛正日已经到了,我们的任务是在四天三夜内要做出来一个高精度的”数字频率计“,现在想想当时还真的是挺疯狂的,四天三夜就睡了一个晚上,我清楚地记得,最后一天焊系统板的时候,我的眼睛都已经不能正常对焦了,饭都顾不上吃,临近结束才测试完功能,赶紧包装,交给老师,但这次比赛的结果却差强人意,包装之前,我们的系统已经能够很好的实现要求上的功能和指标,但到比赛测试那天,所有的东西都乱掉了,好像是因为程序被静电擦除了,打那以后的两年,我再也没有碰过嵌入式编程。

      大三我接触到了网页编程,首先接触到的是HTML/CSS,但觉得这种文本标记语言完全没有意思,就像写word文档一样,完全没有灵魂,然后就开始学习后端语言PHP,在后面去公司的实习中,我还接触了使用JAVA web作为后端语言的网页开发,本科的毕业设计做的是基于PHP的网页版云盘,也用PHP做过微信公众号开发。

      大学毕业后,我没有选择读研,而是选择了工作,我坚定一个方向”只做软件研发“,但真的不得不说,本科生真的很受歧视,也可能是自己的水平还达不到公司研发的要求吧,找了很久很久,offer拿了不少,但真正想去的却没有一个,最后我选择了中船重工第七一六研究所作为我的第一份工作,职位:软件工程师,主要职责:嵌入式编程和PC客户端软件编程。

      入职半年来,我基本上就是一个人在学习,因为公司里可以教自己的人太少了,因为公司主要做电子的,软件人员很少,我主导的项目就是针对公司一个产品的自动检测系统,用的是C#语言,还有一个项目是写驱动程序,这些都是我之前从来没有接触过的领域,也算是一种挑战吧,不管怎么说,我有信心能够做出来,这可能就是变编程这么多年带给我的最大的改变。

      谈一谈我自己的学编程的方法吧!

      第一是模仿,刚开始学编程的时候,凭空创造一个程序是很难的,尤其是自己从未接触过的领域,你需要一个模板或者例程来将你带进去。

      第二是思想,从学C语言开始,我希望你能够正确的看待编程语言和编程的关系,编程语言只是外在表示,只要你熟悉了C语言,其他语言的开发你也应该能够很快上手,不要想着自己没学过,不会做,相信我,你能做到的!

      第三是多看书,这里的多看书指的是要多看不同国家的不同作者写的著作,接受不同的思想,最后将这些思想融合成你自己的思想,这样你才能对一些关键性概念有比较深厚的了解。

      第四是多动手,不能只看书,要多写程序,多写算法和数据结构,对于自己编程能力的提高很有帮助。

      第五是了解计算机的相关知识。对于计算机组成原理,计算机操作系统,计算机网络等这些底层知识,要好好了解,这样你才能对编程的过程有更加深入的理解。  

      哦,忘了说,我不是计算机专业的,我本科学的是通信工程。

  • 相关阅读:
    HTML DOM教程 14HTML DOM Document 对象
    HTML DOM教程 19HTML DOM Button 对象
    HTML DOM教程 22HTML DOM Form 对象
    HTML DOM教程 16HTML DOM Area 对象
    ubuntu 11.04 问题 小结
    VC6.0的 错误解决办法 小结
    boot.img的解包与打包
    shell里 截取字符串
    从零 使用vc
    Imagemagick 对图片 大小 和 格式的 调整
  • 原文地址:https://www.cnblogs.com/fengshen19951029/p/8383944.html
Copyright © 2011-2022 走看看