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




  

相关话题

  会写 Parser、Tokenizer 是什么水平? 
  c++如此繁琐,为什么大学不直接开展python课程? 
  各个编程语言都有哪些「黑点」? 
  为什么一说到 C#,很多人都说跟微软绑太紧,说到 Objective-C,就没人说跟苹果绑太紧呢? 
  在技术上强到什么程度,才会成为年薪百万的技术型大牛? 
  C# 如何在调用控件时做到 Thread-safe(线程安全)? 
  在有能够转化为C、C++、Java的第四代语言Raptor的情况下,为什么还需要C等程序设计语言? 
  只靠读代码 debug 不会单步调试能当编程高手吗? 
  怎样反驳「程序 = 算法 + 数据结构」的言论? 
  为什么说C++很难? 

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





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利