打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Krzysztof Kowalczyk notes by tag
Home / Notes / 2 notes tagged with #rant

There's a famous quote "Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.".I've never seen anyone disagree with that and yet Go, the only language that takes this principle seriously, is visciously denigrated because it didn't add all those features that could possibly be added. Generics, fancy type system, optionals, non-nullable types, unions, exceptions.I think it shows that most people don't really understand the quote. They think that the opposite is "don't add unnecessary features" and who would be in favor of unnecessary features?But what the quote is really saying is: "you should resist adding features, even though they are useful; their cost is additional complexity and you should strive to keep complexity to minimum while still providing core value".It's easy to agree with such a sentiment in abstract but when you start talking about concrete features, this wisdom suddenly disappears.Features sell. The value of a feature is easy to visualise, the value of simplicity due to lack of the feature is not.

Go is a controversial language, often criticized for lack of sophistication. "We know how to do things better!".I think of Go as Moneyball For Programming Languages: How to get maximum capability from minimal feature set.Go makes much more sense when you look at it through "biggest bang for the buck" prism.Go ruthlessly eliminates duplicate features and non-critical .Enums? Can be replaced by idealized integers.do/while loops? Can be replaced by slightly extended for.Generics? You get the most common generic types built-in (slices and maps) but no user-defined generics.Unit testing, benchmarking? You get that as part of standard library but it's ridiculusly minimal compared to, say, jUnit from Java world.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
rollout.io
利用IronJs在.NET程序里面跑javascript脚本
How I learned Go Programming
从并行到并发 - “Sawzall” 与“Go” (Video)
asp.net怎样连接服务器上的数据库,不是本地上的数据库
“加油”不要说“add oil”,会被笑话的!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服