• 一点感想


    用C#,C++越多,发现做得重复的事情越多,当初自认为重要的技术细节,越来越显示不出生产力。

    首先,不可否认,C#, java, C++等都是非常优秀的语言,一个偌大的中国,也没有发明不了可以与之媲美的语言。

    但是,这些语言,对完成我们的业务来说,还是远远不够。

    这说明,一门实用语言编译器开发, 是多么困难的事。

    各个不同的业务,用到的逻辑,不仅仅是千差万别。

     以下两句话,修改自http://www.cnblogs.com/parallet/archive/2011/06/22/2087099.html

    很多时候,用于逻辑的代码, 才那么几行, 其他的代码都为了那些枝杈努力去了。

    一旦函数之间的嵌套比较深入, 就会变得非常复杂, 而且它很难实现各种循环, 更难实现的,  很多时候, 代码给拆分出非常多块, 基本上每一小块都要try/catch.

    上面两句话,说的是异步编程的问题,如果你每天都是在编写异步程序,对这个问题,就会有比较深的感觉。

    实际上,这样的业务领域的问题,太多了。

    如果你和你的团队,几十年来,天天都在有限元的计算, 人工智能计算,机器人控制,数据挖掘,图像处理,而不是一些社会上非常大众的管理信息系统,你越来越发现,你用的工具,是那么的丑陋,越来越不能满足你的要求,越来越让你崩溃,没有了当初初入行时的兴趣和幻想,沉得自己做的事,没什么意义。

    不信,你去一些做专业性很强的重复工作的部门,你会了解这个问题是多么的严重:多少人为些付出了沉重的代价,健康,家庭的自吹和睦,甚至生命!

    虽然外面的人,对你这个行业很敬畏,觉得高深,这很大成分是因为所使用工具的落后:技术要求高,重复性强,整天专注于繁琐细节,磨灭了创新。

    甚至有一天,你再也忍受不了,要么发明自己的

    工具(
    语言),要么转行。

    很多时候,我们所要的,其实就只是在原有工具上加上一点东西,就可以了。

    可这很难很难。

    如果我们的电脑内在小了,我可以换个大的从500M换到4G,移动服务不喜欢,我们可以换个联通的... 

    可是,软件却没那么容易,想换就换。

    .net十年了,可在.net平台,可用的语言,也就那么区区的几种,别的多是出于个人爱好,或者科学研究,多处于实验阶段,实用的语言还非常少。

     虽然visual studio支持dsl,但你要是试过了DSl,你就会发现,那个DSL开发,实际上是多么的复杂,关键还不实用。

     即使你不写一行代码,直接打开附带的示例,运行后,鼓捣鼓捣下,竟然就会出现异常,让你手中无措。

    既然visual studio有那么强的Extensibility,有visual studio package, vsix project, 谁能让中国清华大学(或者别的大学)计算机专业的30%的本科生独立做出一个类似于linq的OSQL出来?做出一个DOS系统的命令出来?

     不要说后面的各种异常,单是这些DSL怎么和已有的宿主语言集成,就是个问题。

    难道我本来只想在linq上,加入OSQL的功能,就要自己从头到尾编写一个编译器,实现C#,linq?

  • 相关阅读:
    【7】用Laravel5.1开发一个简单的博客系统
    【6】Laravel5.1的migration数据库迁移
    【5】说说Laravel5的blade模板
    【4】优化一下【3】的例子,顺便说说细节
    【3】创建一个简单的Laravel例子
    【2】最简单的Laravel5.1程序分析
    【1】Laravel5.1 安装
    【0】Laravel 5.1 简介
    MySQL常用命令
    Windows8.1使用博客客户端写博客
  • 原文地址:https://www.cnblogs.com/xiexiaokui/p/2087647.html
Copyright © 2020-2023  润新知