我的编程之路

 

//------------------------------大学干的事------------------------------

 

0阶段:

我家第一台电脑是在我六年级的时候买的,TCL王牌,大背投显示器,128内存,40g硬盘,玩个大富翁游戏还算不卡。直到高中,我也就会用frontpage写个网页,很low的那种,然后直到各种文件的后缀格式,嗯,就这些!

 

1阶段:

自己选了软件工程这个专业,觉得自己有些基础(幼稚了!)。大一上半学期就是学了C语言,知道“面向过程”,下学期,学习了C++,也正是学习C++我建立起了“面向对象”的思想,我认为这是正式“入坑”的标志。

 

2阶段:

大一暑假,我参加了齐鲁软件大赛,是一个防qq的交友软件,在这个项目里,我负责的是画android界面,也正是这时候我知道了,原来编程不仅仅是“黑框”啊!成绩还不错,我们在没有任何老师的指导下,获得了三等奖。我也知道了javaC#phpandroid,它们的来历,优缺点,因为已经有了面向对象的思想,资料也很多,或多或少学习了一下,不算太费劲。大一这个暑假算是我在编程上收获最多的一段时间,可以说提高了很多,从图也能看出,曲线最陡。

 

3阶段:

这是大二了,大二课真的很少,时间很多,我很想充分利用起来。但是我迷茫了,不知道该怎么学了,这么多技术。我是微软粉,JavaC#比起来,我觉得C#优雅太多了(比如,java取消了方法参数可以带默认值,我觉得这绝对是一个败笔!)但是很遗憾的是,微软没有抓住机遇,总的看,.net确实不如Java应用广泛,还有android13,14年的时候,android炒的好热),我又学了几天安卓,之后听人家说linux是个必须学的东西,我在寒假学习了linux,下半学期,我觉得做点东西出来,问老师说,php做东西快,lamp是黄金组合,我又学了html css js php

大二结束了,我会的好多哦!全是demo级别的东西,这种情况是很鸡肋的,这时我明白“好好学一样”的道理,我有点伤心,觉得时间浪费的好可惜。(不过也很多人跟我说过:你这算是看到了很多”风景”,但是我现在还是很后悔没好好学一门技术)这一阶段技术上有一点点提升吧,但是看到了很多语言的有点和不足,有了和人“吹牛”的谈资,哈哈!比如 phpjs的语法混乱;linux 不是个板板整整学的东西,要在工作中学习;脚本语言和编译性语言是什么东西。大二还一个很失败的地方,我没有跟着ACM小组继续比赛,退出了,从现在看,这是很可惜很可惜的!总的来说,大二虽然努力学东西,但是方法错了,从图也能看出,曲线比较平缓。

 

4阶段:

大三了,学的基本都是编程的高级知识了,因为我是嵌入式专业,所以基本都是linuxC/C++编程。我挺喜欢C++的那个gui框架Qt的,大三基本都自学它,大三结束时,在Qter论坛里已经小有名气,排行榜在第七名,经常有人加我qq问我问题,我很高兴。然后暑假跟着老师做了一款仿真软件,这个是商业用的,是我比较自豪的一个作品。在C++方面,我提高了很多,算是稳步前进吧!

 

5阶段:

大四就找工作了,我拿着简历和项目经验去面试,我收到了很多offer,但是我都不太喜欢,然后我也明白了,找工作要你的技术对口+公司的文化你得喜欢,要不然那工作就是一种折磨。

 

对我大学的一个总结吧,我个人认为,我算是同学中比较喜欢这个行业,也愿意为之努力的人。“虽有一腔热血,苦于报国无门”,哈哈,其实还是觉得自己有一段时间“闭门造车”了,方法和方向都问题。但是还是有收获的,起码我的编程思维和功底锻炼出来了,起码符合作为一个刚毕业的大学生的水平,我认为我是合格的!

 

//----------------------对非技术问题的思考-----------------------------

现在工作了,周末晚上我就躺床上想,从大学到现在工作,我哪些地方很欠缺,或者哪些“名言”是不对的!

1.经常有人回答给初学者说:“编程重要的是思想,不是语言!”这句话本身没错,但是得看谁说和对谁说,对架构师和高级程序员说,那肯定没错!对初学者,这句话无异于对小学生说:“数学重要的是逻辑思维,不是算数!”这不是扯淡嘛,但是往往提问题的都是初学者。

2.“别管什么语言,学就对了!”我现在有自己的看法:这种说法是极其不负责任的。语言很重要的啊,也分的很细啊,在使用的时候差距还是很大的,要不都招“程序员”就好了,干嘛还要分“C++ Java C# php...”呢?

要我回答:你想去哪个城市生活?学那个城市岗位最多的语言。想做前端还是后台?如果你没概念,那就学当下最流行,岗位最多的!

 

//--------------------------我怎么学习新知识----------------------------

1.先百度下这门知识是干什么的,有个概念认识

2.跟着视频和书籍敲demo,不是抄,是自己写,想不起来再看。

3.qq

3.1在入门级的问题上群里还是有热心人回答的,高级的问题就不行了!

3.2看他们有什么资料,一般都会分享

3.3其他的学习方法和资源,有没有推荐的论坛和博客

4.去官网或者该技术的中文门户网站,一般这样的地方有很多很多资料,够 学一阵子。

5.高级的问题,你需要认识几个大牛,然后发邮件问他们或者交流,这种算是我学习方 式里级别最高的了。


//------------------------我对软件开发的感受--------------------------

 

首先我想先说一下,我目前项目经验不多,所以见识感觉很粗浅,不过这真是我的看法大学的理论知识我忘得差不多了,不过上课时候老师说的这几句话我是不会忘记的

大一C语言老师说过:顺序 选择 循环,我们可以做成任何事情,要是出错了,一定是你做了,机器不会错的。

大二C++老师说过:大二了,你现在应该站在机器的角度去考虑这个bug,而不是你的角度。

大三老师说过:软件工程,是跟盖楼一样的工程,分工明确,可惜中国人把软件开发干成了“作坊”!

这三句是我大学写代码的最受用的。

 

1.编程得很仔细,不光是code,看文章也是,我有一次调arduino开发板,就是一个串口读写的问题,打开,写入,关闭,很简单,就是写不进去。花了一下午也没什么进展,晚上最后仔细读了一下官方文档,....it restart when opened port for safety....(也不知道是为了啥安全,非要重新上电),好了,明白了,在打开串口那一瞬间,板子重新上电复位,这个时候肯定不能写入啊,我就在 打开串口和写入串口之间加了sleep(1000),完美解决问题!

 

2.写程序之前一定要规划好,要不以后改都没法改,尤其是多人合作,一定要事先商量好,事中不断交流,及时改正问题,问题越多后期越不好改。之前有过一次跟同学帮忙,帮他调一个api接口,啥样没说就去做了,后来我写好了给他,他完全合不进去,无奈,我只好把那个功能合成连个方法,每一个都200...我知道这样不好,但是没办法了!

 

3.代码还是写规范一点,命名啥的都有规律一点,因为代码不是光给自己看,还给别人看,我的原则是 1)驼峰命名 (2)保留单词四个首字母 (3)如果可以,每一行都加注释(不过一般都没做到,嘿嘿)

要有个“攻城狮”的样子,显得咱专业!

 

//----------------------------------我的生活-----------------------------

 

这是我毕业后理想的生活,目前还没实现。

1.周一到周五工作,晚上回去看技术书,练习素描,背单词,看心情想干哪样!

2.周末必须拿四个小时健身,纯粹是为了减肥和强身,不是为了塑形!我还是喜欢瘦瘦的我。然后看一部电影,剩下时间写代码,,最好参与开源项目,做技术文档翻译,我感觉如果在“鸣谢”里有我的名字,那得多骄傲啊!

3.上学那会儿我挺迷信程序员这个行业的,也工作一段时间了,其实没有那么神话,也不用丑化,就是一个技术工种。只不过互联网现在很热,这个行业跟其他工种比突出了!

4.前三年专心学习,在一门技术上是中上游。比如,在擅长的技术上出了一个新技术,能迅速看出新东西的优点和缺点,加以使用。最终成为一个领域的专家(如果做技术,大概就是架构师吧)

5.我上了大三才明白这个道理,学习是需要花时间的,没有输入就没有输出,又想玩又想会,那也行,你是超级天才!不是的话~还是少玩一会儿吧!如果不是特别聪明,编程更应该多学习,我指的不是看书,是看开源代码,学习别人优雅的代码!

 


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值