不知不觉,c#已经诞生n年了,人生有几个十年?c#就浪费了整整一个十年。

这十年里面,电脑发展缓慢,而服务端和手机发展迅速,这是一个移动和后端化的十年,而这个方向,正正是c#没有关注到的,c#把注意力放在了前端,放在了电脑,虽然微软也想弄手机系统,但是失败了,为什么会失败?我也搞不清楚,总之就是失败了。

未来c#还有没有机会?实际上是蕴含一次大变革的。现在世界经济如此困难,中国经济如此困难,这一切都要求社会变革,科技变革,产业变革。既然必将有大翻盘,大革命,那固然人人都有机会。关键在于效率的提升,这个效率不是运行效率,而是应用效率,行政效率。VB诞生,是windows开发的一次革命,类似的,新世界也需要一次新的VB革命。

我的看法,这次的重点在于流程,大数据,大流量,互联关系。比如现在是农村社会,将来就是城市时代,需要的就是聚集起来的能力,一种聚集起来却不会零乱破败的能力。未来的应用,要求面向的不是个人用户,而是集团用户,要求处理的不是一个人的工具性问题,而是一群人的问题,后端必然是一套大数据,一套逻辑严密的系统,而前段是多端接入,流程复杂化。正如2000年提出来的所谓信息孤岛,这种超前的视野没有得到社会认可,而不久,这个正式成为我们需要解决的问题。

未来的应用前端,不再是华丽的界面,不再是漂亮的控件的问题,也不再是处理各种事件,营造一个人性化环境的问题,也不是一个让开发者更加快捷的问题,而是一个能够实时部署,轻车上路的问题,怎样在不同平台,和不同应用沟通,怎么匹配接口。而界面如何随着业务逻辑变化迅速便捷的对应上来的问题。说了这么多,其实有个最好的样板,那就是网页。只是网页缺乏不同app互动的能力而已。

未来前端是软件化的网页,而后端才是软件开发的重心。当从一个单机变成一个多端输入的系统,这里面的变化就要求了更多的存储能力,更好的安全边界,更好的采集能力和分析能力,因为这才是价值所在,有数据不会用,有什么意义?根本的进化,就在于软件复杂度的变化,如果以前开发的是一个小软件,将来就是一个中型软件,甚至大型系统。从程序设计语言层面来说,就是要适应这种复杂化的变动,如何让一些本来复杂很多的东西,突然变得一般程序员也能掌握了,这似乎不可能完成,但是历史上VB做到了。

可惜,c#没有做到,c#这10年,把重点花在“炫酷”二字上,你看,我做得酷不。错错错,你虽然做得很酷,但是你把一件原本就很简单的东西,变得更加复杂了,你没有降低复杂度啊,你是在添加麻烦啊!winform很土,wpf很酷,但是wpf没有很简单啊!同理很多很多都是这样的结果。c#不断的推出更炫酷的技术,简直就是嘉年华,但是缺乏方向感,不知道自己该向那个目标努力,没有能够把技术转化为对生产力的解放。而酷的结果,反而是恰恰的和这十年的潮流反向而行,行业要求的是轻便快捷,而不是不停的添加累赘!如果一个语言在效率上迷失了,那只能说它不再是一个工具,因为工具的特征就是效率。并不是说发展,或者是复杂化是错误的,语言发展和复杂化是完全正确的一件事,但是你不能让你的用户适应你,而是你变复杂,却让你的用户变得简单,这才叫效率!

因此,我观察c#这十年迷失在两点上,一个是方向,如果他在后端变得复杂,添加更多概念进来,增加程序员的“麻烦”,这未必不是不能理解的,因为目标本身就复杂化了,程序员绝对没有办法用一个简单的思维去解决原本就更加复杂的问题,程序员本身也需要学习。可惜c#选择在前段变得复杂。第二个是前面说到的,炫技而不注重效率。

微软这些年,把重心转移到云后端,想必积累了不少经验,慢慢这些成绩也会反馈到工具层面上来,因此c#还是有很大的发展前景的。

C#错过的10年的更多相关文章

  1. 不可错过的10个超棒jQuery表单操作代码片段

    jQuery 绝对是一个伟大的开源javascript类库,是帮助我们快速和高效开发前端应用的利器.可能大家在日常的开发过程中常常会处理表单相关的 javascript,在今天这篇代码片段分享文章中, ...

  2. iOS开发人员不容错过的10大工具

    内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...

  3. 每位iOS开发人员不容错过的10大实用工具

    内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...

  4. Android程序员不容错过的10款在线实用工具

    Android十款在线工具,在做Android开发过程中,会遇到一些小的问题,虽然自己动手也能解决,但是有了一些小工具,解决这些问题就得心应手了.Android在线工具,包括在线测试工具,及其他较为重 ...

  5. Web开发人员不容错过的10个HTML5工具

    HTML5已经成为当今世界的一个必定组成部分.由于World Wide Web万维网是使用超文本标记语言来架构和呈现的,于是HTML5成为了最流行的编程语言之中的一个.随着网络的不断扩张,Web开发者 ...

  6. Web开发者不容错过的10个HTML5工具

    HTML5已经成为当今世界的一个必然组成部分.由于World Wide Web万维网是使用超文本标记语言来架构和呈现的,于是HTML5成为了最流行的编程语言之一.随着网络的不断扩张,Web开发人员非常 ...

  7. 每位iOS开发者不容错过的10大有用工具

    内容简单介绍 1.iOS简单介绍 2.iOS开发十大有用工具之开发环境 3.iOS开发十大有用工具之图标设计 4.iOS开发十大有用工具之原型设计 5.iOS开发十大有用工具之演示工具 6.iOS开发 ...

  8. 学习Swift,一定不能错过的10大开源项目!

    如果你是位iOS开发者,或者你正想进入该行业,那么Swift为你提供了一个绝佳的机会.Swift的设计非常优雅,较Obj-C更易于学习,当然也非常强大. 为了指导开发者使用Swift进行开发,苹果发布 ...

  9. Web开发者不容错过的10段CSS代码

    Web开发技术每年都在革新,浏览器已逐渐支持CSS3特性,并且网站设计师和前端开发者普遍采用这种新技术进行设计与开发.但仍然有一些开发者迷恋着一些CSS2代码. 本文将分享20段非常专业的CSS2/C ...

随机推荐

  1. 用SourceTree合并工程冲突,工程打不开时的操作

    1.右键工程 --> 显示包内容 2.打开project.pbxproj文件 3.command + F :搜索“<<<<<” 或“>>>> ...

  2. webapp开发调试环境--weinre配置

    用谷歌调试工具中的手机模拟器模拟手机进行webapp的开发,与真机上的效果还是有些偏差,opera手机模拟器的效果亦不佳.有时在pc上开发出来的webapp效果良好,在部分真机上就出现了偏差,这时候就 ...

  3. MongoDB-服务器管理

    前言 本文主要涉及一下内容:数据库的备份和恢复,对于任一数据库来说备份至关重要:数据的导入和导出:数据库修复:数据库状态监控工具mongostat:在使用过程遇到其他命令会总结在此. 1.数据库的备份 ...

  4. ORACLE的SQL JOIN方式小结

    在ORACLE数据库中,表与表之间的SQL JOIN方式有多种(不仅表与表,还可以表与视图.物化视图等联结),官方的解释如下所示 A join is a query that combines row ...

  5. Hive基本语法操练

    建表规则如下: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment ...

  6. .NET应用架构设计—工作单元模式(摆脱过程式代码的重要思想,代替DDD实现轻量级业务)

    阅读目录: 1.背景介绍 2.过程式代码的真正困境 3.工作单元模式的简单示例 4.总结 1.背景介绍 一直都在谈论面向对象开发,但是开发企业应用系统时,使用面向对象开发最大的问题就是在于,多个对象之 ...

  7. Windows Server 2012 虚拟化实战:域

    在Windows Server系统中,一些服务必需要构建在域的环境中,这不仅是为了统一验证和资源共享,同时也是为了网络安全.为构建虚拟化测试,我们需要先搭建域环境.之前先来大概了解一下域. 在使用工作 ...

  8. 编译安装zabbix 3.0及分开部署配置详解

    实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有4台主机,IP及角色分配如拓扑 下载地址:试验中用到mariadb软件的下 ...

  9. Linux 信号(三)—— sigaction 函数

    ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 #include <signal.h> int sigaction(int signo, con ...

  10. linux学习(2)

    自从安装了虚拟机和各种工具软件之后,学习Linux的过程不断被打断,一直想把Ubuntu烧录到itop4412开发板里面去,却总是失败,感觉这个过程都加强我的抗打击能力了,现在来说说,对于一个第一次烧 ...