Thinking in Current Programming Languages

一、现状
  • 软件越来越庞大,细节越来越多---->难以改错,改进
  • 开发周期越来越长---->浪费金钱、生命
二、原因
  • 生产工具与任务之间的差距太大:要砍伐整片森林,手里只有斧子
  • 生产资料与产品之间的差距太大:要葱油鲤鱼,手里只有鱼籽葱籽
  • 要建立一个金融系统,手里只有C++Java编译器,UML“建模”工具
  • 要建立一个化学反应模拟系统,手里还是只有C++Java编译器,UML“建模”工具
三、其它领域的样例
  • 要创作一首曲子,只需写出它的五线谱,你几乎不可能用自然语言来描述
  • 要证明一个数学定理,只需用数学符号、现有的数学公式来推理、自然语言语焉不详,不够精确
  • 要表达一个化学反应过程:只需要写出分子式、每一步的化学方程式
  • 自然语言在这些领域碌碌无为,或者说在背后默默而为
四、曾经的成功样例
  • C语言代替汇编和机器语言来表示机器模型:在机器的领域中,C语言是问题域的建模语言,有直接的语法来表达寻址等概念,汇编才是解决域的算法实现语言;C语言已经是写操作系统/虚拟机较为理想的语言了,但它仍然没有直接提供进程、线程等概念,而是通过库来表达
  • DOS命令、Unix命令、甚至FTP命令等:都能直接完成意图,C/C++是背后的解决域的算法实现语言
五、现在的成功样例
  • HTML:Web静态表示领域的描述语言,有直接的术语来表达各种概念,C/C++是背后的解决域的算法实现语言
  • SQL:数据管理领域的描述语言,有直接的术语来表达各种概念,C/C++是背后的解决域的算法实现语言
六、推论
  • 通用的东西最终只在后台发挥作用,无论是理论还是工具
七、继续推论
  • UML将一事无成,直到它退居幕后,或演变成另外一个C++(所谓可执行的UML)
  • Java或C++会变得象今天的汇编,我们就是60年代的汇编程序员,或公元前修长城的民工、建金字塔的外国民工
  • DSL、LOP以各种面貌登上舞台
  • ...
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
"Thinking in LINQ" 是指使用LINQ(Language Integrated Query)进行编程时的一种思维方式。 LINQ是微软在.NET平台上引入的一种查询技术,它允许开发者使用类似于SQL的查询语句来操作对象集合。"Thinking in LINQ" 强调了在使用LINQ进行编程时,应该采用的一种思维方式。 首先, "Thinking in LINQ" 强调以数据为中心的编程风格。开发者需要先了解并熟悉自己所处理的数据集合,并思考如何使用LINQ来查询和操作数据集合。这包括了选择合适的数据源、定义查询条件和筛选规则,以及确定需要的查询结果。 其次, "Thinking in LINQ" 强调使用函数式编程的思维方式。LINQ提供了许多强大的函数式操作符,如Select、Where、OrderBy等,开发者可以使用这些操作符来对数据进行变换和筛选。这就需要开发者将重点放在对输入数据的处理和转换上,而不是过程和状态的管理。 另外, "Thinking in LINQ" 还强调了使用LINQ的链式调用(Fluent API)来组合和链接多个操作。这种方法可以更加清晰地表达出查询的逻辑,并能够减少中间变量的使用,使代码更加简洁和可读性更强。 最后, "Thinking in LINQ" 需要开发者了解和利用LINQ的延迟执行特性。LINQ查询是惰性计算的,这意味着查询只有在使用查询结果时才会被执行。开发者可以充分利用这一特性,通过多次转换和组合操作构建出一个复杂的查询,而只有在需要时才会触发真正的执行。 综上所述,"Thinking in LINQ" 是一种以数据为中心、使用函数式编程思维、利用链式调用和延迟执行的思维方式,帮助开发者更加有效地使用LINQ进行编程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值