一个俄罗斯人写的为什么选择d
原文地址
 学习编程应从算法开始,语言越简单越好.类c的语言,可以选择d.c++语法不简单.
为什么比c#/java好
 
虚拟机和运行时编译消耗性能,d更简单,容易,简洁性可比py.
为什么比c++好
 
其基于古老的c,元编程是偶然,c++不能放弃兼容性,开发速度慢,不容易调试.容易出现内存泄漏.(这是作者的观点,实际上对C++高手来说,能够解决的)
为什么比py好
 
有人说,自己记忆力差,无法用py写,只有达到特定阈值,才能快速编写.且以后很难修改.(实际上py的缺点两个:1慢,2只有动态(运行时)才能发现问题啊)
为什么比swift好
 
其由公司主导,非社区主导.
为什么比rust好
 
经济上不可行,太底层,有用只在嵌入式和硬实时系统.而这是很小的领域.同时还要充分理解生存期和所有权.其特有的'语法,使编写代码更复杂.D更简单,更通用,betterC允许手动管理内存.rust的意思也不好,是锈,腐败,恶化,懒惰等(rust语法难看,冗余多,到处都是错误处理代码,依赖类似恐怖的node.js...)
为什么比go好
 
go很原始,抽象层次低,鼓励面条/狗屎式代码(作者太狠了),更多代码,更多漏洞,更难支持,更长开发,更难测试,调试,重构,缺少管理复杂的工具.如模板,泛型,面向对象,异常,使go不适合开发大型程序.go仅适合无知之人,练习复制粘贴驱动编程的人,(看来大家对go都是深恶痛绝啊).
垃圾收集器会降低性能吗?
 
对大多数业务而言,性能原因很少:从磁盘读取,从网络读取,与数据库一起工作,并行执行,死锁,不良的体系结构,当然也有手动管理内存的时候,d提供完全禁用垃集的功能.
 不应害怕使用现代语言,其节省时间.当然其实c++也在进步,最新的c++20已经很牛逼了.
为什么不用Docker?
 
Docker引入额外抽象层,很难审核容器内容,难以配置/维护,会带来巨大生态系统,类似node.js的模块(太恐怖了,依赖太多,).d生态更简单,透明,且软件可移植.
为什么用BetterC?
 
可解决大量c问题,优点有完整导入系统,单元测试,内置分析系统,用户定义属性,文档生成器,支持unicode,区域化,编译时,嵌套函数....
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号