软件开发平台正在面临一次重大的升级,java, net比起来简直弱爆了,新型的Html5+JS+JSON开发平台正在形成
2013-05-20 14:43
549 查看
先看下传统开发平台:
1.语言:c/c++ 类库:lib :执行环境:windows, linux 二进制 技术:命令,过程式,C++进步到复杂的面向对象
2.语言:java 库:spring, hibernate, structs 执行环境:windows, linux 虚拟机JVM 技术:现代的面向对象
3.语言:C# 库:.net framework 执行环境:windows 虚拟机CLR 技术:面向对象 最近的C#加入了一点点函数式的东西主要是Lambda
4:语言:PHP 库 PHP库 执行环境:windows linux 技术:类C脚本
5.语言:javascript 库:Jquery+Html+CSS 执行环境:所有 虚拟机 浏览器 技术:过程式+简化的函数式, 原型链式面向对象
分析对比上面的开发平台,流行.度都差不多.语言层面PHP最弱,平台C#最封闭,java语言本身比C#还差.JS语言最灵活,平台最标准.
正在进化中的未来开发平台:
1.go等, 据说是替代C/C++的,支持并行.
2.scala + play + JVM, 多范式的编程,尤其是函数式
3.C# + F# + .net webapi, 继续封闭到死.
4.python + django, 被大蛇拯救的姜哥
5.javascript + angular + node.js + json 超级平台,也就是本人指出的未来可能的超级开发平台
这些新平台有个最大的特点,都是从面向对象进化到多范式,尤其是函数式,原因是多并发,多核.只有函数式才是正道.而这其中,以C#为首的继续封闭的平台最弱,连开发者都转去搞javascript去了.
scala最有可能成为.net, java的升级版.
python完全可以取代PHP等
最有发展力量的是javascript,因为有了个node.js, 前后端,用简单的js语言就能写出来强大的Web应用.
那么有没有最恐怖,最强的平台呢?这里试着搭一个:
(未来台平完全站在二进制的上面一层,都是运行在虚拟机上的,界面层功能和表现由浏览器和Html5标准来融合,后端由语言本身+JSON及产品来完成,开发几乎不需要库或框架,业务逻辑由语言本身描述,数据对象由JSON描述,所涉及功能由"产品"服务完成而不是框架,开发库等)
(由库及框架进化到产品的意思:比如数据库存取,直接post json数据就成,没有中间框架,比如界面,直接用可视化设计工具来完成,单元测试及数据实体设计都可以可视化)
编程语言:javascript第六版,即EMACScript6
前端:Html5
后端:node.js(javascript)
数据库:NoSql,Json Sql
这个就是未来的超级框架。那么,具体目前可用的技术,可以使用比较流行的Mean
javascript + html5 + css + json + restful + angular+node.js + express + mongodb
这个平台的特点:
1.横跨一切平台,从计算器到量子计算机(搞笑,实际上是所有有浏览器存在的平台)
2.编程语言多范式,极强的表达能力.first function.上手容易,可以先javascript,平滑的技术进步,以面向对象和函数式为主.
3.完美的Web界面支持,最简的JSON数据格式.超级可伸缩,小到打开浏览器+记事本就能开发,大到搭建云平台.
从开发者角度看:
1.编程技术涵盖了主流计算理论,基本上语言表达层次玩不出什么新概念了.
2.JS6支持了命令式,面向对象,函数式编程理念,入门到精通是平滑的,不需要因为理念升级而换一门编程语言了.只会简单命令式,一样可以, 掌握到强大的面向对象,泛型,模式,函数式等还是可以。
3.没有什么复杂的数据库等技术.JSON而已.前后端统一.后端也可以开发前端了,前端也可以开发后端了.所有平台,界面都一样了.所有代码和界面都可以复用.
正所谓分久必合,合久必分,五花八门的各类语言和平台在Web上相互竟争,最后逐步演化成一个大型标准,如上所述,一个近似完美的开发模型呼之欲出,如果没有各大产商的利益争夺,相互分化,这么个开放,完整,平滑的开发环境有可能是程序员的天堂.
从商业角度看:
1.支持所有的浏览器,PC,手机,未来的穿戴式设备
2.未来产品多种多样,没有统一的编程语言和平台很难适配多种产品,开发工作量大。重复劳动量大。
3.商业进化到以服务为主,而不再是以技术为主。
1.语言:c/c++ 类库:lib :执行环境:windows, linux 二进制 技术:命令,过程式,C++进步到复杂的面向对象
2.语言:java 库:spring, hibernate, structs 执行环境:windows, linux 虚拟机JVM 技术:现代的面向对象
3.语言:C# 库:.net framework 执行环境:windows 虚拟机CLR 技术:面向对象 最近的C#加入了一点点函数式的东西主要是Lambda
4:语言:PHP 库 PHP库 执行环境:windows linux 技术:类C脚本
5.语言:javascript 库:Jquery+Html+CSS 执行环境:所有 虚拟机 浏览器 技术:过程式+简化的函数式, 原型链式面向对象
分析对比上面的开发平台,流行.度都差不多.语言层面PHP最弱,平台C#最封闭,java语言本身比C#还差.JS语言最灵活,平台最标准.
正在进化中的未来开发平台:
1.go等, 据说是替代C/C++的,支持并行.
2.scala + play + JVM, 多范式的编程,尤其是函数式
3.C# + F# + .net webapi, 继续封闭到死.
4.python + django, 被大蛇拯救的姜哥
5.javascript + angular + node.js + json 超级平台,也就是本人指出的未来可能的超级开发平台
这些新平台有个最大的特点,都是从面向对象进化到多范式,尤其是函数式,原因是多并发,多核.只有函数式才是正道.而这其中,以C#为首的继续封闭的平台最弱,连开发者都转去搞javascript去了.
scala最有可能成为.net, java的升级版.
python完全可以取代PHP等
最有发展力量的是javascript,因为有了个node.js, 前后端,用简单的js语言就能写出来强大的Web应用.
那么有没有最恐怖,最强的平台呢?这里试着搭一个:
(未来台平完全站在二进制的上面一层,都是运行在虚拟机上的,界面层功能和表现由浏览器和Html5标准来融合,后端由语言本身+JSON及产品来完成,开发几乎不需要库或框架,业务逻辑由语言本身描述,数据对象由JSON描述,所涉及功能由"产品"服务完成而不是框架,开发库等)
(由库及框架进化到产品的意思:比如数据库存取,直接post json数据就成,没有中间框架,比如界面,直接用可视化设计工具来完成,单元测试及数据实体设计都可以可视化)
编程语言:javascript第六版,即EMACScript6
前端:Html5
后端:node.js(javascript)
数据库:NoSql,Json Sql
这个就是未来的超级框架。那么,具体目前可用的技术,可以使用比较流行的Mean
javascript + html5 + css + json + restful + angular+node.js + express + mongodb
这个平台的特点:
1.横跨一切平台,从计算器到量子计算机(搞笑,实际上是所有有浏览器存在的平台)
2.编程语言多范式,极强的表达能力.first function.上手容易,可以先javascript,平滑的技术进步,以面向对象和函数式为主.
3.完美的Web界面支持,最简的JSON数据格式.超级可伸缩,小到打开浏览器+记事本就能开发,大到搭建云平台.
从开发者角度看:
1.编程技术涵盖了主流计算理论,基本上语言表达层次玩不出什么新概念了.
2.JS6支持了命令式,面向对象,函数式编程理念,入门到精通是平滑的,不需要因为理念升级而换一门编程语言了.只会简单命令式,一样可以, 掌握到强大的面向对象,泛型,模式,函数式等还是可以。
3.没有什么复杂的数据库等技术.JSON而已.前后端统一.后端也可以开发前端了,前端也可以开发后端了.所有平台,界面都一样了.所有代码和界面都可以复用.
正所谓分久必合,合久必分,五花八门的各类语言和平台在Web上相互竟争,最后逐步演化成一个大型标准,如上所述,一个近似完美的开发模型呼之欲出,如果没有各大产商的利益争夺,相互分化,这么个开放,完整,平滑的开发环境有可能是程序员的天堂.
从商业角度看:
1.支持所有的浏览器,PC,手机,未来的穿戴式设备
2.未来产品多种多样,没有统一的编程语言和平台很难适配多种产品,开发工作量大。重复劳动量大。
3.商业进化到以服务为主,而不再是以技术为主。
相关文章推荐
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 智能部署与升级
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 报表系统集成说明
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 文章汇总及学习指南
- RDIFramework.NET ━ .NET快速信息化系统开发框架-4.2 平台自动升级模块
- 基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 敏捷并行开发方法
- C#与VB.net混合开发测试,感受微软大软件平台思想
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ActiveXForm运行容器
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ORM体系的改进与ORM的新成员
- 开源:AgileEAS.NET SOA 中间件/敏捷软件开发平台
- 目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行、国家安全等行业领域
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 数据层开发
- SQL2000存储过程发送电子邮件-SQL2000|存储过程|发送电子邮件|java开发平台|.net开发平台|web开发平台
- Java开发者一个月开发出跨平台开源办公软件
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 5.0 简介
- 目前网络上大部分的网站都是由ASP或PHP开发,并且java平台的软件购买成本不适合中小企业客户,一般适用于银行、国家安全等行业领域
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 关于AgileEAS.NET的一些补充说明
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 系列目录
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 报表系统介绍