百科问答小站 logo
百科问答小站 font logo



如何评价 Clean Code 作者对 Swift 与 Kotlin 的看法? 第1页

  

user avatar   xing-jiankuan 网友的相关建议: 
      

作者的观点很明确。他希望编程语言能够更加灵活,更加有表达力,没有那么多条条框框。更加希望由人来把握其中的取舍。动态类型的FP是作者偏爱的编程风格。

他反复提到:

Whose job is it to manage that risk?Whose job is it to manage that risk? Is it the language’s job? Or is it the programmer’s job.

并比较明显的提出管理程序质量的是programmer的责任。

曾经我也很喜欢这个观点……程序员嘛,程序正确性都搞不定就别丢人了。

直到我遇到了一大波“现实中的程序员”。他们:

  • 搞不定并发和锁,动不动就一致性出错或者死锁
  • NPE,NPE,NPE。
  • 根本就不处理错误,直到第一次出现线上bug。被用户骂成翔。
  • 没事就“复用“代码,好像把重复代码抽取出来就很NB一样。问题是下次这段被抽取的代码修改后的影响面和向前兼容,是没人管的。
  • 如果用了动态语言,字段对不上,string和int不分造成的问题不胜枚举。
  • 写了代码无测试,或者最多手工测了一把就上了。正确性是个玄学。

而现实的商业环境要依靠这样一大波“现实的程序员”协作去快速支持用户需求,抓住市场机会,在一个又一个新领域“试错”。

这么看来,语言上管的多一点,以牺牲表达力为代价来让问题出现的频次明显降低。这个取舍在工程语言这个领域里似乎无可厚非。

在现有的人力市场上,找100个“现实 程序员”和1个“真 程序员“,哪个更容易?

至于PL大佬们,他们爱用啥就用啥。




  

相关话题

  为什么当年 Android 选择用 Java 作为开发语言? 
  一名大二的计算机专业的学生,目前学了很多编程语言,但都学得很浅。是不是应该专攻一门感兴趣的语言? 
  现在的编程语言越来越多,为什么 C 和 C++ 还没有被现在的时代淘汰呢? 
  如何确定自己是否适合做程序员? 
  为什么著名的轮子很少有用 Lisp 写的? 
  学习编程必须要会英语吗? 
  苹果的 Rosetta 2 的实现原理大概是怎样的? 
  为什么要有头文件? 
  为什么大多数程序员不看好图形化编程? 
  Python 语言的强制缩进是败笔吗? 

前一个讨论
柯蒂斯·李梅相比于他的前辈和同僚是否具有更高的道德水平?
下一个讨论
一颗氢弹可以彻底消灭多少平米的生物?





© 2025-03-24 - tinynew.org. All Rights Reserved.
© 2025-03-24 - tinynew.org. 保留所有权利