内容简介:2020-07-21别的不能说,只能聊聊技术与架构设计啦…大家都知道, 我虽然不写生产代码很久了,但偶尔还是会用Scala(Lang)写写prototyping,但我不是典型的Scala老粉红,我更多用的是一种裁剪后的Scala,或者说走的是用Scala来写Java的曲风,所以,我一直说我用的是Scarja, 即带点儿伤疤(Scar)的Scala+Java。
2020-07-21
别的不能说,只能聊聊技术与架构设计啦…
大家都知道, 我虽然不写生产代码很久了,但偶尔还是会用Scala(Lang)写写prototyping,但我不是典型的Scala老粉红,我更多用的是一种裁剪后的Scala,或者说走的是用Scala来写 Java 的曲风,所以,我一直说我用的是Scarja, 即带点儿伤疤(Scar)的Scala+Java。
我在老早之前就说过了,Scala的设计初衷和理念加上主流社区的一些工程实践, 其实,并不太适合大规模的上生产环境,你用它来写Endpoints型的应用或者服务是OK的,但如果要用它来写较为通用的Component或者说SDK Library,就没那么好玩了, 交叉编译,Scala自身版本之间的行为不一致甚至不兼容,所有这些东西都会让你处处有惊喜。瞧, 已经不止一个人反映这个问题了,比如今天Scala小王子lihaoyi就牢骚了一把:
其实在此之前就有人反映Scala各个版本之间的Collection行为不一致的问题, 甚至于让我很不爽的一点就是, 2.12里Scala和Java的Collection转换用的 import scala.collection.JavaConverters._ , 升级2.13却得改成 import scala.jdk.CollectionConverters._ , 其实一个产品让用户不爽的就是这些小的地方,计算机语言的语法设计, 类库的接口设计, 产品的UI/UX设计,其实都是一个道理: 你是不是让你的用户更加乐于接受、更容易接受你的这种设计 。 所谓Don’t Make Me Think, 无非也就是这样。
我为什么一种用Scala,其实无非也只是尝试了n种计算机语言智慧化,也就Scala的语法和设计更符合自己的口味罢了,但也还是没法完全匹配个人的口味,所以只能裁剪着用。比如我只用最基本清晰的语法和特性,比如我只用Java类库而很少用Scala社区的类库,比如我就是用Scala来写Java…
语言之争其实没有意义, 因为萝卜白菜各有所爱, 最主要的是这个东西能最终形成一种能力,让你可以 解决现实中的问题 ,这才是最终诉求。
但对自己来说,简单、务实、高效的工具,显然更有价值。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web Development Recipes
Brian P. Hogan、Chris Warren、Mike Weber、Chris Johnson、Aaron Godin / Pragmatic Bookshelf / 2012-1-22 / USD 35.00
You'll see a full spectrum of cutting-edge web development techniques, from UI and eye candy recipes to solutions for data analysis, testing, and web hosting. Make buttons and content stand out with s......一起来看看 《Web Development Recipes》 这本书的介绍吧!