【读书笔记】应用层开发并不简单


持续学习&持续更新中…

守破离


【读书笔记】应用层开发并不简单

应用层开发并不简单

  • 偶然间看到一幅漫画,觉得很有意思(图片来源:https://xkcd.com/435/):
    在这里插入图片描述

  • 漫画的最左边,是一名社会学家。

  • 右边一名心理学家,说:社会学就是心理学的应用;

  • 右边是一名生物学家,说:心理学就是生物学的应用;

  • 右边是一名化学家,说:生物学就是化学的应用;

  • 右边是一名物理学家,说:化学就是物理学的应用;

  • 最右边是一名数学家,说:嗨,我怎么就一直没见过你们这帮人。

  • 猛地看,这个漫画似乎是在讲鄙视链。

  • 鄙视链可谓无处不在。这个漫画所展示的,是一个典型的学术研究的鄙视链:相较而言,基础学科会“鄙视”上层的应用学科。

  • 但如果我们刨除“政治不正确”这个因素,刨除“鄙视”是一个贬义词,刨除“我们不应该鄙视任何人任何工作任何研究任何事儿”这种客套话,这种鄙视真的有道理吗?

  • 答案很显然,这种鄙视没有道理

  • 原因很简单,物理学确实是以数学为基础的,但数学家是做不了物理学家的事儿的

  • 同理,生物学确实是以化学为基础的,但化学家做不了生物学家的事儿

  • 每一个领域,有每一个领域专有的知识和需要攻克的问题和难点。就算这个领域是架设在其他领域的基础上,也并不意味着这个领域没有意义,不值得尊重,更不意味着这个领域是简单的。

  • 这是一个很简单的道理,但很多企业会忘记它。

  • 你没有看错,我想聊的是,很多企业,而且是很多大牌的企业,会忘记它。

  • 所有的云计算服务都是基于虚拟机技术的。在虚拟机技术领域,做得最强的,当属 VMWare。但如果我们放眼云计算,却并没有 VMWare 的影子。

  • 甚至可能有的同学都不知道,VMWare 也是搞 IaaS 的,但是,他们连 IaaS 第一梯队的门儿都够不到。

  • 所有的 IaaS 都基于更底层的虚拟化技术。但是,虚拟化技术领域的老大,却做不好 IaaS。

  • 这样的事情并不是个例,甚至说是无处不在都不为过。

  • Oracle 是数据库领域的佼佼者,哪一个服务不需要数据库?

  • 在当下,近乎所有的生意都需要电子化的系统,所有的电子化的系统都需要数据库。但是,仅仅一个数据库是不够的,在数据库的基础上,需要架设软件系统。CRM 就是其中最重要的一类。

  • Oracle 作为数据库领域的老大,已经眼馋 CRM 这块大肥肉好多年了。Oracle 自己有一套产品线,叫 Oracle CRM on Demand。

  • 但你猜怎样?就是这么一个架设在数据库基础上的 CRM,基于数据库写业务逻辑就好,Oracle 愣是做不好!

  • 一个历史可以追溯到上世纪 70 年代的企业 Oracle,在自己最擅长的数据库服务的基础上搞 CRM,愣是被 Salesforce 打得满地找牙。

  • 到如今,Oracle 的股价是 60 美元;Saleforce 的股价是 246 美元。

  • 你要说这些企业都弱爆了,硅谷一线大厂不会犯这种错误。且不说 Oracle 绝对是妥妥的曾经的硅谷一线大厂,就算放眼现在的硅谷的王者,你也会发现类似的现象。

  • 苹果的生态是众所周知的好。从底层硬件,到操作系统,到应用开发的生态,聚拢了一大堆忠实的苹果开发者,源源不断为苹果贡献力量。

  • 照理说,苹果已经有了一切底层基础,搭建一个应用应该不难吧?就是地图这么一个应用,苹果从 2012 年第一次发行,到现在,都 8 年了,就是打不过 Google 地图。

  • 所有的苹果用户,买来崭新的苹果手机,做到自己的车上,当决定要打开导航,开开心心地回家的时候,愣是放着内置的苹果地图不用,跑到 App Store 下载一个 Google 地图。你说气人不气人?

  • Google 的成功不用多说,大家有目共睹。拥有这么多成功产品的经验,应该做啥啥成吧?毕竟,Google 的王牌服务——搜索,背后是一整套强大的基础架构啊!

  • 但你还别说,Google 就是死活做不好社交。大家都用 Gmail,但是当想要社交的时候,点两下鼠标,就跑到 Facebook 和 Twitter 上了。哦,还有 reddit,还有 instagram,还有 snapchat,还有 tik tok。

  • 害,成功的社交产品辣么多,属于社交的机会辣么多,愣是没有 Google 一杯羹。Google 曾经投入大量精力主推的社交产品 Google Plus,赫然已经死掉了。

  • 再往前看,IBM 是微机时代的王者,所有的软件产品都要运行在硬件上。但 IBM 愣是看着微软把操作系统做到了最大;

  • 微软是桌面操作系统的王者,愣是在移动互联网时代,没有做出一个成功的移动操作系统。Windows Phone 苦苦坚持了那么多年,终于退出了竞争舞台;

  • 这样的例子比比皆是。企业已经有了相当的技术基础,在这个基础上,搭个“应用”。不过是个应用而已。但是,就是这么一个应用,在自己“雄厚”的基础上,愣是做不好。

  • 这个现象我观察了好久了,我总结下来就是:架设应用,比想象得要难的多。

  • 是的,它就是个应用,很多基础问题在应用层面不涉及;但很多人可能忽视的是:与此同时,很多应用层面才有的问题,在基础技术领域也不涉及

  • 我自认为自己的计算机基础还不错,一直认为,学个框架容易得很;用框架搭个应用,容易得很。

  • 事实是,确实,入门一个框架容易得很。但深入下去,真真实实地使用框架去做一个应用,去提供一个真实的服务,去完成客户或者用户的期待,绝不是那么容易的事情。

  • 我在北京创业的时候,每天写的都是业务代码。写业务代码有意思吗?可能确实没什么意思。但是,在那段时间,一直让我思考的是:这么没意思的事情,看起来这么简单的事情,怎么就是做不好?

  • 最后,我得到的结论就是:应用层的代码,绝不简单。

  • 诚然,如果只是单纯地完成某个需求,可能技术上并没有难度。但如果你期望能够快速响应尽可能多的(甚至是所有的)需求呢?如果考虑安全性呢?扩展性呢?易维护性呢?

  • 我认为,大多数人低估了写业务代码,做应用的难度。想一想,似乎一切都是成熟的,没什么技术难度,但是实际执行起来,却总不尽人意。

  • 所以,“没什么技术难度”是一种错觉。我个人窃以为,如果谁能解决好这个问题,绝对不仅仅发大财,更能把全国乃至全世界的电子化,互联网化的步伐,再向前推一大步。

  • 可能很多同学因为慕课网的算法课程认识的我。但其实,我在慕课网做的第一门课程,是前端课程;而在 iPhone 开发最火的那个年代,我做了近 5 年 iOS 独立开发者。

  • 这个过程,涉及的算法不多,但说实话,让我收获良多,可以和我的本科学习接受的教育相提并论。

  • 再往前推,我创业的时候,主要使用的是 PHP。那是十年前。

  • 可能很多同学都笑了,甚至有人会问,PHP 还活着吗?

  • 你猜怎样?PHP 不但活着,还活得不赖。

  • PHP 最新的版本 PHP 8 在 2020 年 11 月 26 日刚刚发布;

  • 而据 W3Tech 的数据统计,全世界有 78.9% 的网站是使用 PHP 架设的。

  • 所以,鄙视链这个东西,平时开开玩笑就好了。真认真起来,我还真不敢鄙视 PHP。

  • 写这篇文章的原因之一是,最近看到了一些鄙视应用层开发的言论。

  • 我虽然是一个提倡多学基础的开发者,但熟悉我的同学也都知道,我从不鄙视应用层开发。

  • 事实上,基于这篇文章的观点,我一直认为应用层开发有极大的发展空间

  • 有可能很多同学经常会听到我说,算法学一学,基础搞一搞,能过面试就行了。

  • 计算机的世界,大得很。有兴趣深入基础,当然很好;但应用层,也大有可为呀!

  • 因为应用层绝不简单,里面可以探索的东西,太多了

  • 大家加油!:)

参考

Liuyubobobo老师微信公众号: 应用层开发并不简单.


本文完,感谢您的关注支持!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值