或许你也患上了开发瘫痪症
亲爱的开发者们:你们是否因为自己只精通于三大设备平台的八种编程语言而惴惴不安?又发现一个JavaScript框架是否会让你不寒而栗、愁眉苦脸?你是否曾经因为无法确定哪个云平台最适合而把业余项目一再推迟?
或许你也换上了开发瘫痪症(Developaralysis)。颤抖吧,这个病是治不好的。
如今开发者们可选的技术方案多到令人发指,让人眼花缭乱,透不过气来。过去几年里,我拿着别人给我的酬劳,写过Java、Objective-C、 C、C++、Python、Ruby、JavaScript、PHP(对不起,这个也算),用过各种各样的SQL/键值/文件数据存储技术(MySQL、 PostgreSQL、MongoDB、BigTable、Redis、Memcached等等)。我是否自我感觉良好?上帝啊,一点也没有。我反而感觉 到愧疚,因为我还没有用过Erlang、Clojure、Rust、Go、C#、Scala、Haskell、Julia、Scheme、Swift或者 是OCaml。
我就是一名开发瘫痪症患者:软件产业发展太快、任何一个人都无法跟上,从而对我的意识造成了毁灭性打击。
上面提到的几乎任何一种语言,你都会找到无数可选的框架、套件和库——看得头都要爆炸了。如今仅仅是把JavaScript的框架和库的所有排列认 真评估一遍就要花上几个月的时间。另外,你知道Ruby语言有多少种gem包吗?有多少种iOS框架吗?有多少种NewSQL或NoSQL的数据库技术 吗?更不用说从Hadoop、Spark与Google Dataflow中进行选择了,究竟是用Avro,还是Thrift,还是协议缓冲区,等等,等等……
还好,移动领域已经简化到了Android、iOS两大垄断平台——尽管也隐藏着一些交叉代替方案,比如Xarmarin或 者PhoneGap、Sencha这样的跨平台HTML技术——但是确定在哪个平台上部署后端、如何部署又会让你头大。我开发过的各个系统部署在 Heroku、Amazon Web Services、Google App Engine、Google Compute Engine以及Parse上面……这让我感觉非常糟糕,因为我对OpenStack、Force.com、Azure、Appfog一无所知,好多 AWS服务我也从来没有真正用过,说多了都是泪。
I Am Devloper @iamdevloper
2014年编写简单网站的步骤:
- 安装Node
- 安装Bower
- 选择CSS框架
- 选择敏捷的方法
……
- 写几行HTML代码
如今的开发者面临着太多的选择,以至于使用的许多工具仅仅是用来管理另一堆工具:比如Bundler、Bower、CocoaPods、Pip等 等。这些东西太棒了!我完全离不开它们!别高兴得太早。你开始使用另一堆工具后,等用到一半的时候你真正理解了它们的内容,你开始觉得这样的配置还不够 用,你有点想要把它们重写一遍了……也许再找另一个工具代替……
可悲的是,如今开发者可用的语言、工具、框架以及平台的多样性和绝对数量庞大到让人畏惧。当然没人会承认这一点。所有人都想装作精通所有语言的编程大师。然而事实却是,我们都已经深陷于开发瘫痪症之中无法自拔。
即便收集了各种信息做出了最明智的选择,结果往往也适得其反。比如说,在项目开始前,你真的花时间分析了所有的可能,克服了由此产生的学习曲线,结果却被一些用着PHP、Swift这样易于上手的语言,写着表情符号变量名的小屁孩抢了市场先机——
——不过另一方面,如果你选择使用Swift和PHP的话,你就会生活在无休止的恐惧之中,担心一些C#/Haskell程序员高手很快就会做出更好的产品几百你,就像保罗·格拉汉姆(Paul Graham)很多年前用Lisp语言编写Viaweb那样。回忆往昔,他这样写道:
当你选择了技术之后,你必须要忽略其他人在做什么,全心全意思考怎样做到最好……事实上我们确实有一个秘密武器……我们开发软件的速度超出了所有人的想象……我们用一种全是括号的语法奇怪的AI语言编写出了我们的软件。
再说回开发瘫痪症。我们应该选择已经掌握的技术吗?这样我们就能立刻动手开发,无需克服学习曲线,但是需要生活在恐惧之中,担心其他 人在以更好、更快、更优雅的方式实现同样的产品,担心到了明年我们的技能就跟不上时代、丧失竞争力了。还是应该选择未知的新技术?因为我们热爱学习,更好 的工具使用起来不仅更加有趣,而且能够带来巨大的竞争优势……付出的代价则是大量的时间、精力和认知负荷。
这个问题太难回答了!不存在绝对正确的答案。因此每个月都是开发瘫痪症发作月。我马上会做好五颜六色、闪闪发光的丝带给你们佩戴,只要等我选好用哪种3D打印机、哪种微控制器、哪种LED软件、哪种无人机系统就行了。恐怕要麻烦你们期待很久很久了。
文章转载自 开源中国社区 [http://www.oschina.net]

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
苹果发布了免费的 Swift 应用程序开发课程
苹果宣布为社区大学生和高中生推出一套全新的为期一年的 App 开发课程,现在已经上架 iBook 商店。这门课程将向学生们传授使用苹果 Swift 开发应用程序的一些要素。 根据外媒 MacRumors 的报道,苹果公司今日发布了一个新的应用程序开发课程,旨在为那些想要在快速增长的 App 经济中寻求职业发展的学生提供帮助,这个课程可以在 iBooks Store 中免费下载。 这个全年课程名为“应用程序开发与 Swift”,它可以向学生们传授使用苹果旗下日益流行的编程语言 Swift 开发应用程序的一些要素。苹果表示,学习这门课程的学生将学习编码和设计功能完备的应用程序,在软件开发和信息技术方面获得重要的工作技能。 苹果表示,从今年秋季开始,该公司将会为全美 6 个社区学院系统中的近 50 万名学生提供这门课程,其中包括阿拉巴马社区学院系统、哥伦布州立社区学院、哈里斯堡地区社区学院、休斯顿社区学院、梅萨社区学院以及圣马特奥社区学院。 库克解释了为什么苹果会打造这样一套开发课程: “我们亲眼看到编程对个人以及整个美国经济的影响。App 经济和软件开发是美国增长最快的就业领域之一,我们很...
- 下一篇
确认了! iOS 11 将完全停止支持 32 位应用
苹果正在逐渐淘汰 32 位应用,而且会在今年秋天完成。根据知名开发者 Steven Troughton-Smith 透露,苹果会在 iOS 11 发布后,停止支持 32 位应用。这意味着 App Store 中所有的 32 位应用将无法正常运行。 当然,对于开发者和用户来说,苹果这个决定并不是太意外。从 iOS 10.3 开始,当用户打开 32 位应用后,苹果已经开始提醒用户,应用需要升级,否则可能无法在未来 iOS 版本中运行。 2013年9月,苹果发布了 iPhone 5s,这也是首款搭载 64 位处理器的 iPhone,同时 iPhone 开始支持 64 位 应用。自2015年2月之后,苹果要求开发者必须递交 64 位新应用和应用升级。 在 iOS 9 中,苹果开始准备淘汰 32 位应用,当时只是提醒用户 32 位应用可能导致设备运行缓慢。同时,Smith 还提到,为将来 A 系列处理器也会全面移除 32 位支持,这是为了增加芯片可用空间。去年9月,苹果宣布对 App Store 施行大清理,移除有问题和被遗弃的应用,当时 App Store 中已经被移除了 5 万款应用。 本文...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8编译安装MySQL8.0.19
- Red5直播服务器,属于Java语言的直播服务器
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题