我的编程经历

本文写作的动机是为了与喜欢编程的朋友分享个人的一点点经验,能力有限,不足之处,见谅,望指教。

我从大一开始接触c语言,在此之前对编程一无所知。老师讲的我大部分在考试后还给老师了,课程对我的意义仅仅是告诉我有编程这么回事。

后边写过一段时间的单片机程序,没有谁来告诉我这是咋回事,全凭搜,看教程。51单片机玩得差不多的时候,发现没什么要做的了。

这段时间陆续了解的CS是怎么回事,开始了漫长的基础学习,书看了一大堆。也知道了编程挺赚钱,下了决心搞这个。一位软件学院的学长给我推荐了Java后台开发和安卓开发,我选了后台,因为他是搞这个的,有问题了可以找他聊聊。

最开始看了马士兵的基础教程,后边一出溜的教程也都看过一些,大概对后台有个感性的认识了。写Java给我带来了比C好得多的体验,相比较而言,简单很。这段时间看了很多Java相关的书,很多。到现在为止,我遇到的做Java开发的人里,很多人在工作后看的书,我那时已经看过了。

这样一晃到了大三下学期,快要找工作了,我没有拿得出手的项目,整天搜可以写哪些程序,凑合搞了几个,就去找工作了。效果并不好。脑子一热,签了南方一个活了好久的老公司。

后边实在闲着无聊,到一家公司实习了4个月。在那个小城里,工资还行,工作强度也不大,但学到了版本管理,Linux一大堆必备命令,NoSQL的使用,shell,awk,python,等等吧。

实习结束后我着手看apue,因为大宝正好有一本,她说这书是神书。毕业3个月后,我还没有完全看完,收获已经远超预期了,现在再写Java,带有深深的鄙视之情。这段时间也看了一点c++,发现这货实在是编程语言里的一朵奇葩啊,没有做不了的事,只有不知道的事。

从我这一点点的经历来看,搞编程,我说的是一门心思想好好搞编程,学Linux,c,c++其实是一条捷径,在这个环境里认真搞一个支持配置多线程,多进程,多路复用的web服务器,已经走上开发的正轨了(对了,服务器开发推unp和游双的那本书,后者可以稍微快一点看,前者慢慢嚼)。在Java里new了那么多的Thread,对它也是云里雾里,而写c,跟着task_struct这个结构走下去就基本知道了你啥啥是线程,啥啥是进程,内核怎么来进行任务切换,等等。

我相信很多开发者都对算法心存敬畏并以会徒手写出红黑树为傲。我也曾如此。当年我刷了leetcode,看了算法导论,算法,数据结构与算法分析-c语言实现,还有一本俄国人写的书,名字已经忘了,然而在这之后的很长时间里我都没怎么用到过。我觉得开发者要对与算法要摆正态度,它重要,但和码农关系不大,有使用算法的意识,遇到问题有个大概的思路即可,万万不可像我一样在这个东东上花掉太多时间,有时间陪陪妹子不好吗?

补充一点,Linux要比我门想象的友好的多,用惯了要比win好用,甚至对于我来说,13款mac pro和我的13款老联想换,我都会说No。那些纠结于开发买啥啥电脑的人可以歇歇了,有那个时间陪陪妹子不好吗???

这是我的第一篇博客,正经发的。感谢用c把我教哭的llc教授,带我入Java坑的学长czq,把我挂了的面试官wn,给了我实习机会的RMQ核心贡献者lzh,前任超好老大holly。

最后蟹蟹大宝!!!!!!

posted @ 2017-10-12 17:55 jianqiao_shi 阅读(...) 评论(...) 编辑 收藏