oldmanzhao 2015年01月12日
加精
如何开始编程
今天要谈谈“如何”而不是“为何”的问题。其实我在我的空间里写了这么多东西,大部分是关于人生感悟的,当然也有少数几篇是关于我的本职工作-编程相关的。我喜欢在晚上写东西,尤其是凌晨十二点一过,我就灵感勃发,键盘敲的根本停不下来。写东西也是有快感的,就像编程和打乒乓球一样,作为一个高级生命体,思考问题带来的快乐有时候也是无与伦比的,所以我会不停的写。。。

曾经看到个段子,讲文艺程序员,普通程序员和二逼程序员的区别:文艺程序员在自己的网站上写东西,普通程序员在自己的技术博客上写东西,二逼程序员在自己QQ空间里写东西,而我本人是三者兼有之,我既有自己的网站,也有技术博客,也喜欢在QQ空间里写东西。话说回来,QQ空间里发技术文章确实有点二逼的感觉,这我真的不否认,但是因为在这篇文章里我并不是要讨论自己作为一个程序员的写作逼格归属问题,所以请大家看了一笑了之,不必太过在意。

那么步入正题,如何开始编程呢?

首先要确定你的目标:你是要加入程序员的队伍?亦或仅仅是处于兴趣想了解一下编程?

我这里只想说说第一种考虑,因为这时候你就需要开始要弄明白自己是不是适合编程?

其实编程跟写作,画画,写歌曲一样是属于脑力劳动,虽然我们在进行这件事的时候需要不停的敲动键盘,甚至跟人不停的沟通,但总的来说,大脑才是最重要的,拥有灵活严谨的逻辑思维能力,就是让你成为一个不错的程序员基本素质要求,所以编程毫无疑问的属于智力活动。前面的话说道这里,听上去有些高大上,假大空,看上去有些王婆卖瓜之嫌,但是其实我并不是想说编程有多么的凌驾于其它职业之上,因为在很多人看来是智力活动又如何呢?反正老子赚的钱比你多!谈到钱多钱少的问题,真是无解啊!

不要以为我前面的几句话跑题了,其实我是想说所以你特别需要搞清楚自己是不是真的热爱这个职业,这不仅仅是你从事编程这个职业之前需要考虑的问题,当你选择任何一个职业作为你人生职业生涯的起点之时,为了不愧对自己,你都应该问问自己这个问题,然后认真思考一下。那么钱不要考虑吗?说实话,在这个行业里做了这么久了,各种各样的人都见过了,都说编程是高薪行业,但是实际上二三线城市一两千块一个月的码农到处都是,就算是北上广深,刚刚入门的3、4K工资的程序猿也大有人在,但是在另外一个端点上,年薪二十多万,三十多万,四十多万,甚至六十多万一百万的人也一样有,而且还并不少数。我的意思是,如果你不是真的热爱这个行业,仅仅是凭着对金钱的执着,你可能很快就会放弃了,根本无法从起点开始走完之后的路,因为现实最能打击现实的人,无休止的加班,永不停息的学习技术,高强度的工作压力,对很多现实的人来说这都过于残酷,所以如果没有点理想,你的热情很快就会被磨灭。

那么如何提高自己的热情和对本职业的喜爱?我的观点是“分享”,时刻保持跟周围的人交流,不断的与大家分享你的技术进步,在分享技术进步的过程中享受别人对你的认可,这样就会形成良性循环,让你不断的进步,不断的分享。

分享有多种办法,比如像我一样写文章,多看看自己的职业好的地方,找出有趣的地方跟大家分享,把自己的失败经历和成功经验都拿出来跟大家分享。又或者直接交流,用嘴,跟大家讨论新鲜好玩的技术,这都会给自己带来成就感和满足感,继而促进你对这个行业的热爱。分享的内容又可以有多种,比如简单点的分享自己写的程序,分享一段有意思的代码,谈谈开源社区最近的新动向,甚至是跟别人积极的争论某两种语言的优缺点(虽然我认为这其实是非常无聊的),这都是有趣的事情,都会给你带来积极的改观,所以值得一做,不要犹豫!

然后我想谈谈程序员的逼格,是的,是程序员的逼格,而不仅仅是我前面说的程序员的写作逼格,怎么样做可以提高自己的代码逼格,怎么样做可以提高自己作为一个程序员的素养逼格,当然因为作为我本人来说其实也算不上特别出色的技术人员,所以也无法给大家更富建设性的提议,但是我认为自己可以表达一下自己的观点,因为作为一个程序员,提高点自己的逼格也是很重要的。

关于语言,无论你是用什么编程语言的,请不要把自己常用的语言当作可以凌驾于其它任何一门语言之上的东西,尤其是描述语言的时候不要用带煽动性的话语,不要用断言似的口吻,不要把带有负面感情色彩的话语施加于对计算机语言的评论之上,比如说:Java是一门傻逼语言,使用Java的程序员都是傻逼,C#只有脑残码农才会用,那些低素养的外行计算机从业人员就靠C#这种二逼语言撑门面,混饭吃。个人认为讲这种话这是非常掉价,甚至傻逼的行为,除了让别人给你的逼格减分没有什么任何其它的好处。

举个例子,关于批评C#,你应该这样说:C#这门语言作为一门现代语言在某些细节上做的还是很不错的,语法结构很优雅,因为对很多的计算机的很多底层行为进行了良好的封装,使得在使用这门语言时有一种因为易用快速而带来的很愉快的编程体验,但是问题是因为这种封装造成了应用编程难度的降低,导致很多不求甚解的外行程序员也加入了这个队伍,本来优雅的语法,精良的封装和绝佳的易用性是值得称赞的,但是由此带来的C#程序员对底层以及计算机基本知识的缺失,这就是C#的原罪。

是不是觉得这样说好多了呢?那么如何提高代码的逼格?

首先你要艺术性的看待写程序,不要只是把写程序当作谋生的手段而已,你对他好,他才能对你好,你喜欢一个人,追求一个人,才有可能得到她的青睐,其实这都是差不多的。我的建议是,一个根本的原则就是一定要尽可能的提高代码的复用性,回顾软件行业的发展,你会发现其实就是一个代码复用技术不断发展提升的过程,从机器语言到汇编语言到面向过程的传统语言和面向对象的现代语言,软件技术的发展一直沿着这个路线,今后也必然如此。所以良好的封装很重要,面向对象中的继承和高级一点的技术比如模板也很重要,设计模式要用,但是不要滥用。不要在代码里加一些生僻的关键字来凸显自己的牛逼,那样其实只会让人觉得你是孔乙己。

剩下的问题就是如何提高自己的程序员素养逼格的问题。

因为写程序员是智力活动,所以程序员一般接触的人也大多是脑力劳动者,所以既然大家都是搞智力活动的,多看几本书必然是很有必要的,专业为主,其它学科为辅。一般而言大家不会因为你工资低而看不起你,但是如果你搞不定事情,知识匮乏,就会让周围的人很反感。与人沟通要注意口气,可能涉及到对方利益的话题要尽量说的委婉,不要太过生硬,总之要给人你是优雅有格调的人这样的印象,会让人给你大大的加分。说话不要太偏激,适时的客观的评论问题,不要过多的加入自己的感情色彩,但要保持自己思维的独特性,最好能对专业问题提出独到的见解,这都是会为你的职业生涯加分的。

这篇文章稍微写了写,就写了这么多,其实我没有涉及过多技术上的东西,因为希望不仅仅是我的程序员朋友才能看懂这篇文章,因为我写的东西,必须是“有趣”的,希望我做的还不错!
...全文
3749 1 收藏 54
写回复
54 条回复

还没有回复,快来抢沙发~

发动态
发帖子
非技术类
创建于2007-09-28

1477

社区成员

5.9w+

社区内容

VC/MFC 非技术类
社区公告
暂无公告