从文本编辑器到华为云CloudIDE,你的IDE Out了吗?

2020 年 3 月 20 日

从文本编辑器到华为云CloudIDE,你的IDE Out了吗?

从软件工程师产生一个想法,再通过 coding 变成计算机理解和执行的程序(应用、服务),这个过程中始终离不开最重要的生产工具——编码工具。可以说,编码工具就是软件工程师手中的生产工具,是 IT 产业可以持续前行的重要生产力之一。


从计算机被发明出来那一天,怎么把一个想法变成可以付诸实现的应用,就是这个产业一直在面对的问题,就是“怎么干”的问题。


从 70 年代,到今天的 20 年代,新的计算架构、新的操作系统、新的编程语言、新的开发方式一直在发展,作为生产者的人在对接机器算力过程中始终要面对这个绕不开的问题,到底使用什么开发工具。


70 年代 编辑器缺乏年代,编写代码是个体力活儿


关键词:打孔卡,C 语言



打孔卡的时代过于久远,听说用途很广泛,包括用来垫蛋糕。


当汇编语言成为主流,甚至 Unix 内核被刚刚诞生的 C 语言改写,在单色屏幕上利用文本编辑器来编写代码,其实和在老式打字机上打印信件没有什么不同,唯一的区别就是在屏幕上打字可以允许你自由的去修改手抖造成的错误而不至于重新来过。


80 年代 图形化匮乏年代,读懂代码不容易


关键词,DOS,vi,Emacs


个人电脑(PC)开始出现,在没有过多算力可以选择的年代,“286”、“386”、“486”是这个年代的高频词汇。



DOS 的普及成就了微软,基于不同操作系统平台的各类文本编辑器涌现不断,软件工程师们抱着厚厚的《xxx 语言程序指南》,在文本编辑器中去编写一行一行的计算机代码,而不知道这些输入的代码到底能不能运行。最后需要通过命令行的编译(build)和连接(link)后才能生成一个可以执行的文件,然后才会看到结果。


当然看到错误代码,然后再去重新写过,也是在所难免的。我经常会看到一种工作方式,就是把代码编写出来,然后打印在一摞摞的纸张上面,然后一页一页一行一行的去读,去标记代码间的调用关系和查找可能存在的缺陷错误。


这个时期,彩色显示器还不是那么普及,在文本编辑器或者一摞纸上去读懂代码可是个体力活儿。


90 年代 图形化催熟 IDE,用熟 SDK 有点难


关键词:TurboC 2.0(1989),Delphi(1995),Visual Studio(1997)


当我们耳熟能详的算力从“*86”逐步被“奔腾”替代,桌面操作系统逐渐迈入图形化的天地。



TurboC 2.0 提供了快捷、高效的编译程序,也成为一个易学、易用的集成开发环境(IDE)。开发者不再需要独立的编辑、编译和连接程序,在 IDE 内即可运行 C 语言程序。


随着 1995 年微软 Windows95 的大获成功,图形化应用以直观、便捷的特性深入人心,为了更好的开发基于图形组件的应用,Borland 公司推出了 Delphi,微软的 Visual Studio 也适时面世。那种图形化(拖拽组件)的开发方式,各种风格和用途的单机版桌面应用达到了顶峰。


同期的 Unix 和 Linux 平台上用于开发的 Vim 和 Emacs 已经集成了大量插件,从编辑器向编辑器+进化了。


不过想要开发出功能齐备、效果新颖的应用,就必须要非常熟悉语言 SDK,这里面最有代表性的 msdn 不知道有多少程序员要抱着啃的昏天黑地。毕竟互联网还不普及,想得到点开发的心得和样例,非得从官方提供的文档下手不可。


00 年代 互联兴起时代,同时掌握多种 IDE 有点累


关键词:IntelliJ IDEA(2001),Eclipse(2001)


随着能够自由接入互联网的桌面电脑和便携电脑越来越多,可以访问网络的速度也从最初 ADSL 的 56kb 跃升到 10Mb 和 100Mb 每秒,互联网于我们不再是发发邮件那么简单,大量的信息和媒体资讯也通过网络源源不断进入我们的视线,越来越多的在线网站上线,基于网络的企业级应用需求量大增。


Java 和 PHP 这些平台兼容良好的高级语言在开发企业级应用和 Web 网站方面开始发挥优势,尤其是 Java 几乎成为开发企业级应用的唯一选项,那么针对 Java 开发的利器 Eclipse 和 IntelliJ IDEA 也走上了历史舞台。



毫无疑问,这些大型本地化 IDE 对特定语言开发做出了无以伦比的体验支持,从代码编写、调试运行、发布部署甚至到持续交付工具链,以及通过海量插件对接众多的第三方系统。这时候开发不再需要什么“开发指南”,我们有太多的技术博客、开源项目可以去参考和学习。


一切看起来都很开放,唯独这些为特定语言量身定制的 IDE,不肯接受其他语言的编程习惯,程序员需要具备两种以上的 IDE 的使用经验,才能很好的完成项目。


10 年代 风气云涌时代,开发者却无法摆脱桌面


关键字:云计算,VisualStudio Code


一切都在互联网上飞快的流动,应用交付的方式从软件到服务。软件部署从本地主机迁移到了云端,业务上云是这个时代的主旋律。


从应用框架,到研发模式都有了长足进步,我们已经可以把从服务规划、代码开发、测试、发布、部署、运维、运营的各类活动都放在云端,提升交付效率的持续交付和 DevOps 云端工具链开始帮助我们在云端建立竞争优势。


开发者开始关注全栈能力,一个程序员需要能够交付多种语言和框架的代码才被认为是合格的“全栈工程师”,以往专一特定开发语言的 IDE 有点不那么趁手。



Visual Studio Code 这种免费开源、生态齐备、体验良好的 IDE 平台,通过插件可以匹配各类开发语言,支持各类开发框架,联通各类三方系统,开始成为新宠。


借助微软 Visual Studio 族群的庞大生态,Visual Studio Code 开始在全栈交付中独领风骚。软件工程师的几乎全部研发工作都随着云基础设施、云平台服务和云工具链的齐备,整体进入云时代。


唯独代码开发,软件工程师们需要自己的开发环境,需要自己熟悉那种编程体验,不论是办公室的一台工作站,还是家里写字台上的移动笔记本,总之“开发环境在我的机器上,我离不开我的机器”。面对大型本地 IDE 所需要的强大算力配置,他们被禁锢在了自己的桌面,寸步难离。


20 年代 算力革命年代,云端开发才能展翅高飞


进入 2020 年,由鲲鹏定义新的第二计算平面登上历史舞台,智能终端设备普及率前所未有。大型综合类网站已经逐步被终端应用取代,用户脱离桌面电脑更多依赖移动设备。


云原生应用更需要摆脱本地开发带来的各种桎梏,软件产业需要生产力有新的飞跃,摆脱本地桌面禁锢,跨越操作系统差异,支持移动化随时随地访问,按需配置极速获取,支持鲲鹏原生,打通云原生应用的开发态和运行态。


本文转载自华为云产品与解决方案站公众号。


原文链接:https://mp.weixin.qq.com/s/ei1g0ziCQLeZ3VoMOVSfug


2020 年 3 月 20 日 21:26179

评论

发布
暂无评论
发现更多内容

大整数算法

落曦

2020年10月公有云性能评测:盛大云-华东蝉联冠军,腾讯云-北京无缘前三

BonreeAPM

云计算 腾讯云 ucloud 公有云 评测

一文带你读懂!华为云在ACMUG技术沙龙上都透露了些啥?

华为云开发者社区

数据库 大数据 数据

对于CRM之于现代化企业的影响以及作用的分析

Learun

敏捷开发 CRM 客户关系管理

linux开发各种I/O操作简析,以及select、poll、epoll机制的对比

良知犹存

linux开发

聊聊在国企当程序员的这三年,这样的生活真的是你想要的吗?

Java架构师迁哥

OpenKruise:阿里巴巴 双11 全链路应用的云原生部署基座

阿里巴巴云原生

Kubernetes 运维 云原生 中间件 存储

今年最火的 Golang 云原生开源项目,可能就是它了!

阿里巴巴云原生

go 开源 Kubernetes 云原生

区块链的常识之,什么是区块链股份授权证明机制DPoS?

CECBC区块链专委会

区块链 共识机制

字节跳动的这份《算法中文手册》火了,完整版PDF开放下载!不少小伙伴靠这份指南成功掌握了算法的核心技能,成功拿到了 BATJ等大厂offer。

Java架构之路

Java 程序员 架构 面试 编程语言

探秘RocketMQ源码【1】——Producer视角看事务消息

阿里云金融线TAM SRE专家服务团队

开源 RocketMQ 中间件 开源代码 消息中间件

区块链司法可信存证,版权维护应用落地

t13823115967

区块链司法可信存证 版权维护应用落地

第11代酷睿处理器出色体验的奥秘原来是这个!

intel001

想了解物联网应用的自动部署,看这篇就够了

华为云开发者社区

服务器 华为云 部署

很认真的谈一谈程序员的自我修养

linux亦有归途

程序员自我修养

区块链商品溯源系统开发,数据上链应用落地方案

WX13823153201

重点人员管控系统开发,情报研判系统搭建

t13823115967

重点人员管控系统开发 情报研判系统搭建

区块链能修复企业云计算吗?

CECBC区块链专委会

区块链 云计算

SpringCloud Alibaba微服务实战一基础环境准备

AI乔治

Java 架构 微服务 Spring Cloud

SpringCloud Alibaba微服务实战二 - 服务注册

AI乔治

Java 架构 微服务 Spring Cloud

anyRTC uni-app 跨平台SDK 发布!总有一款适合你!

anyRTC开发者

uni-app 音视频 WebRTC RTC

基于ELK的日志平台介绍

Rayzh

ELK 日志系统

软件测试流程

测试人生路

软件测试

面试官都爱问的ThreadLocal

花火

ThreadLocal 哈希表 弱引用

数据库:我没有带闪,不讲武德

比伯

Java 编程 程序员 面试 计算机

从资源管理角度认识K8S

LorraineLiu

Kubernetes 云原生 k8s k8s入门

新思科技:ISO/SAE 21434标准即将发布 你准备好了吗?

InfoQ_434670063458

新思科技 汽车软件安全

架构师训练营第 1 期 -week9

习习

阿里P8熬夜完成这两份800页Java面试核心知识原理+框架

马士兵老师

Java 程序员 面试 编程语言 架构师

年轻人你不讲武德,自己偷着学习!spring Security五套「源码级」笔记哪里来的?我也要!

Java架构追梦

Java 源码 架构 面试 spring security

利用区块链数字化人民币,中国有望从追随者变为新秩序的领导者

CECBC区块链专委会

区块链 数字人民币

从文本编辑器到华为云CloudIDE,你的IDE Out了吗?-InfoQ