• 一点感想


    用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?

  • 相关阅读:
    CodeForces 156B Suspects(枚举)
    CodeForces 156A Message(暴力)
    CodeForces 157B Trace
    CodeForces 157A Game Outcome
    HDU 3578 Greedy Tino(双塔DP)
    POJ 2609 Ferry Loading(双塔DP)
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛十六进制转换成十进制
  • 原文地址:https://www.cnblogs.com/xiexiaokui/p/2087647.html
Copyright © 2020-2023  润新知