百科问答小站 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大佬们,他们爱用啥就用啥。




  

相关话题

  编程语言能做到微言大义吗? 
  有哪些值得推荐的小型 C 语言开源项目? 
  用c#开发桌面应用,如何做出漂亮的界面? 
  计算机专业毕业后除了编程还可以做什么? 
  如何学习Python,以及新手如何入门? 
  请问有什么好的C语言面向对象的扩展的方式?最好是有比较好的项目的源码参考。 
  以下我关于虚拟地址与物理地址的理解是正确的吗? 
  为什么要有指针? 
  相比较 C++ 程序以 main 函数为入口,其他语言如 Java、AS3 等,程序的入口是怎样的? 
  如果一个公司倒闭, 是否意味着它开发的高级编程语言也会没落? 

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





© 2025-05-18 - tinynew.org. All Rights Reserved.
© 2025-05-18 - tinynew.org. 保留所有权利