在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
现在回到正题,C/C++与C#(或者Java)的比较就是圣人与巨人的比较,不具备可比性。你是想继承圣人的衣钵呢,还是想站在巨人的肩膀上?悉随尊便! 再看一点,你希望未来的语言为你——普通的程序员做些什么呢?有没有简单实现复杂逻辑的的语言啊?结果是,没有,如果你是总统,可以号召一批人为你做这些,而不能指望语言能做这个。既然复杂逻辑不能简单实现,那么总可以稍微简化一些吧?那是可以的。只是稍微简化一点而已。现在大部分的高级语言并不具体的简化某个领域的问题的实现,而是简化了编程本身。 所以高级的语言只能少许简化最终目的问题的解决,而大部分只解决了一些编程本身的问题。简而言之,语言是为程序员度身定做的,越高级,程序员越舒服,自学成才的和喜欢利用别人成果的人越倾向选择这种;而一开始就看到最终解决问题的复杂性的人(戏称学院式程序员, academic programmer)则刚好相反,他们会选择语言的特性来简化最终问题实现的,而不是简化编程本身的语言,这样的语言或许非常难学,例如LISP,CLIPS(C语言产生式处理系统)。 现在看来问题有点清晰了,最终问题的解决被分成2个步骤。第一步编程语言,第二步用此语言解决最终问题。而这2步按照目前的科技水平来说,存在一定的矛盾,就是语言本身的进步会约束使用语言的自由度等因素进而对最终复杂系统的解决产生负面影响,因而对第二步有阻碍作用,难怪外国有风潮倾向于面向语言编程的呢。 对于迷雾中的初学者,也是非常难以选择,这里我推荐一种选择方法及其晋级路径: [] 如果觉得自己有天分的,能很好的驾驭复杂问题的人应该选择自由度大的语言,路径则是专这样的语言3-5年后涉足其他高级语言补充并积累最终问题(不是解决问题的方法),再学习底层以便更宽广的认识自己所学。往继承圣人的衣钵方向发展。 [] 如果觉得自己天分不足,又想使用别人成果的,就站在巨人肩膀,选择相对高级的语言,何况这些语言(C#,java)有非常庞大大的类库支持呢。路径则是学好相对高级的语言,认识API,从API设计者角度看问题,多看看搜集最终问题并进行归类,往平台架构方向发展。 谢谢阅读! |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论