百科问答小站 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语言这样的编译型语言能否在不同CPU上,通过相同标准库的编译器,用源代码实现跨平台? 
  2022年学C++开发好比49年入国军,没什么公司在用C++了? 
  新程序员如何向英文社区(如github)进阶? 
  不同编程语言的转义字符可以通用吗? 
  如何学习递归呢? 
  第一个 C 语言编译器是用什么语言编写的? 
  如何看待武汉软件工程职业学院被征用一事? 
  C# 和 Java 哪个更像 C++? 
  什么是 Agile Software Development(敏捷软件开发)? 

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





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利