平台开发与基础开发,欢迎一起讨论~

贵人 发布于 2013年08月30日
无人欣赏。

我是做平台开发的,有时间的时候看看框架,发现使用到的挺多基础框架都是基础开发部门封装的,比如一些通信框架,使用很方便,可以拿出去开源了,感觉好牛掰的样子。难道说,基础开发比平台开发更底层、更有挑战性?不是挑起话题,纯好奇。欢迎大家讨论~

共20条回复
tinyfool 回复于 2013年08月30日

你说的太不清不楚了

NoGeek 回复于 2013年08月30日

Po主看来走向了谁底层谁牛B的误区呢。搞技术各有各的爱好的,各有各的能力层次。你在你的领域做的好,能做出点新东西,写出点优美的代码,你就挺牛B的了。按你的逻辑,你想有挑战性?那你是不是要去研究下和计算机相关的量子力学基础?

指针为空 回复于 2013年08月30日

底层框架,或者说一些基础框架代码一般都和操作系统封装到一起了。你可以看一看系统结构类的书,我记得有一本分析Linux系统的书很不错,配合开源的Linux代码看可以很清晰了(上大学时候看过,现在都忘没了,连名词都忘了),虽然win或者Mac和Linux的框架结构不同,但是原理基本都是相通的,而Mac又是基于unix框架来的。基础开发确实很有挑战,尤其是对系统的了解以及对算法的要求更加严格了。

一般情况下,基础开发是面向底层架构的,框架开发是面向业务逻辑的,应用开发则是面向用户的。

就好像炼钢厂做出钢材,钢构厂把钢材做成钢结构,汽车厂把钢结构做成汽车的道理是一样的。

nickel 回复于 2013年08月30日

没什么好讨论了。如果你是刚毕业1-2年,那你还是不要去看什么NB不NB先从自己工作的领域去学透学精,要学的都不是别人教或者工作任务,而是自己的领悟和发现;如果你工作超过4/5年了,我劝你转行吧,这种觉悟,还是不要继续要研发的好!

贵人 回复于 2013年08月30日

感谢3楼的解答,我刚毕业没多久,你的讨论很中肯。4楼,同样谢谢你。

tinyfool 回复于 2013年08月30日

说话都请对事不对人,谢谢

贵人 回复于 2013年08月30日

结贴~不讨论了,谢谢大家。@tiny 加个删除功能或者结贴吧

akunamotata 回复于 2013年08月30日

人家说的也没错,基础开发是比平台开发更底层。

指针为空 回复于 2013年08月30日

你们不要打击人家的学习热情唉,不管你是否想在研发这个行业走下去,不管你是否想写程序写到退休,研究一个东西都应该求甚解。

底层的东西在实际工作中(尤其是国内的普遍研发行业)用处不大,我大学时候学了数据结构,N叉树、图论等等学了一堆,毕业工作快10年了,就N叉树遍历用过一次,那是写一个刻录功能,需要把要刻录的目录结构遍历出来。工作这么久,就用过这么一次而已。

但是这不代表学了就没用,上大学时候慕名买的机械工业出版社翻译的《TCP/IP详解》,厚厚的三本书,其中第二本是在unix下的代码实现,当时看的我是满头雾水,10句代码有5句看不懂,工作后也没有在遇到过(因为各种开发环境早就都给你封装好了)但是我依然觉得当时看这个很值,至少我还有一点点TCP/IP的理解。

同样慕名买的台湾人侯杰写的《MFC深入浅出》同样是满头雾水的看完的,工作后我用VC的深度完全达不到书中所讲的深度。但是我依然觉得很值。

我们知道点击一个按钮之后就会执行操作,操作怎么来的?是在按钮的事件里写的代码。事件怎么来的?是消息托管来的。托管怎么来的?是监控模式。什么是监控模式?是系统勾子。勾子是什么?底层开发会给你答案的。

不管做什么事情,都要求甚解,这是一个好习惯。

前几年闹的沸沸扬扬的日本某品牌汽车油门卡死,车停不下来的事情轰动全球,最终调查结果是油门踏板下面的连杆的膨胀系数与槽不相符,在温度升高的时候,连杆热胀冷缩过大,卡住了。

看看这个故事,如果你是一个汽车工程师,你又对钢铁的基础物理知识缺乏的话,那么你要多久能够找到原因呢?

贵人 回复于 2013年08月30日

没错,我发这个帖就是出于对底层知识的好奇,并不是说我不喜欢平台类开发,只是说,了解底层的东西,更有利于做好现在的工作,写代码更可控。这是本意。真理越辩越明,拿出来大家能一起讨论讨论,也许成长的路上就不用走那么多弯路,也不会那么孤独。估计像tiny说的一样,是我的表述不清楚,所以让一部分人误解了。

nickel 回复于 2013年08月30日

@tiny,抱歉在这里撒野了。不过这是我对开发人员的根本看法之一,如果一个做研发的心不够静,老是看着啥NB啥热门就追着哪里跑的话,这个绝对不是能做好研发的人。态度和自我驱动力是一个研发最重要的品质!

弯路,老实说,没走过弯路的都不会长大的,弯路一定要走,只有走过你才会看得更清楚些,别人说很多你可能会觉得很有道理,但是实际上改变不了你的内心看法,只有你自己真正尝过才会知道。

我曾几何时也这样对所谓的“底层”很感兴趣,所以我也说如果你是刚工作1-2年的,很正常。但是如果工作很久了还这种想法,确实很有问题。

所谓的底层,其实很少人真的会做得很底层的,你所看到的基本都不算底层,不就是包装一个通讯库、工具库嘛。如果你真有兴趣,就自己去学习研究,这是自我驱动力,而不是靠听听别人就去凑凑热闹看两下。有兴趣就动手去做,这是最最最好的学习方式,尤其对于刚工作没几年的研发人,就应该没日没夜埋头去学,什么只要感兴趣都可以去求甚解。

但是等你工作3-5年后,你的知识积累到了一定阶段,就会发现你不懂不知道的其实比你想象得还要多很多,这时候你已经没有精力和时间去每样求甚解了,就得开始学会“不求甚解”的学,懂得什么时候要钻进去,什么时候不该钻到细节里去。

我的回答和你的问题可能没有什么直接关系,而且你的问题实在也无法直接回答的,我觉得还是你的自我驱动力和目标性不够,而不是你所在的工作领域问题。

如果还是觉得我是针对人评价的话,请忽略以上废话。

贵人 回复于 2013年08月30日

tiny不是说你。既然把问题抛出来,就怀着包容心,就欢迎大家自由讨论。隐约感觉到这不仅仅是我一个人的疑虑,此其一。其二,确实发现身边干同样事的人,有些人对底层了解比较透彻。也许你说得对,有些弯路还必须得自己走过,才能觉悟。凡事并不是非此即彼,我也是在选择性听取各位的意见。从各位的留言中也学到不少东西。感谢!

ibuick 回复于 2013年08月31日

以前上班的时候,觉得做平台牛逼,后来去做底层通用消息框架,觉得更牛逼。后来自己干,写商业程序上架 App Store,觉得,自己一人从设计到编码,到提交,到推广,到客户服务,都自己一个人做下来,更加牛逼。

软件,没有谁比谁更牛逼一些的,看怎么比,在什么条件和应用场景中比。

一个软件,谁懂得用户,谁更方便,谁更优雅,谁更实惠,那么谁受益,哪怕你后端代码结构一团乱麻,相反,你的软件遵循设计模式,代码整洁易懂,但是程序臃肿,难看不方便,没人理你。

啰嗦这么多,终极意思就是,搞清你的环境,搞清你的目标,搞清你的场景,搞明白自己要干的东西,就成了。我文科出身,很多底层算法,数据结构,我很多时候都要现学现用,但是你能说我不懂软件么?显然不能,所以尽量少去想谁更牛逼,多去想能不能完成目标。

贵人 回复于 2013年08月31日

13楼走的路跟我打算走的路差不多。我也是非计算机专业自学转过来的,能否分享下你的经验呢?你从平台开发到通用消息框架的路是怎么走过来的呢?学习各种通信协议?

nsm1168 回复于 2013年08月31日

  楼上大大们的讨论,让我有了更加深刻的认识。

不管做什么,把自己的工作就好,做到极致就是牛逼!

但往往面试时,面试官会抓住你的弱点,说你不懂这个,不懂那个.....

ibuick 回复于 2013年08月31日

@贵人 我想说的都在我的 Podcast 最新两期 <我的十年>

ibuick 回复于 2013年08月31日

@nsm1168 我面试路透的时候,美国经理给我出了几个题目,JS 的,我一看,我就说,我是来应聘 J2EE 程序员的,JS 我一窍不通,他哈哈一笑,说没事儿,那就都别做了。

liues1992 回复于 2013年09月02日

这个帖子讨论得其实其实蛮有意义。 我自己做应用开发,可能底层的东西一辈子都不会用到,但是一直在学底层的知识, 当写一些代码知道从底层到高层都发生了什么有一种掌控全局的快感,功利地来说,代码出了问题时可以从任意一个层面来定位问题。

从自己的兴趣、爱好出发, 就算面试官觉得没用也根本没关系。

理论上来说肯定是懂得越多越好, 实际情况是我们能力和精力有限,只能在少数几个领域做好,从职业发展的角度考虑要做好权衡。

贵人 回复于 2013年10月23日

16楼 @ibuick 老兄,你的podcast是多少?

贵人 回复于 2013年10月23日

16楼 @ibuick 搜到了

本帖有20个回复,因为您没有注册或者登录本站,所以,只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。

登录 或者 注册
[顶 楼]
|
|
[底 楼]
|
|
[首 页]