求指点:怎么学scala

elizabethxxy
香瓜 03月04日 字数 250

小的最近在学scala,感觉晦涩难懂,书上写的每一个字都认识,但是难以理解。只能上手照着敲代码,运行,跟进去看源代码,对照着语法定义来猜它在干什么。

这样学习,学习速度太慢了,学习效果也不是很好。

求大牛们指点:怎么学scala,哪本教材写得比较通俗易懂呢?

谢谢!

Programming 编程技术
13 个回复
javaboy
喝了咖啡就话多-_-; 03月04日

会C++的我花了10小时就扫完了官方教程,把每句话都理解了一下。

我学着没什么困难。因为概念之前都懂了。比如covariant,contravariant啥的,我扫一眼就知道它是解决了C++里很纠结的软肋。

不过,你学不会我也不知道怎么指点。要不试试死记硬背,用这个语言多写写代码,遇到不确定的参考stackoverflow吧。

【 在 elizabethxxy (谢绝私聊!网上流氓骗子多,小心谨慎!) 的大作中提到: 】

: 小的最近在学scala,感觉晦涩难懂,书上写的每一个字都认识,但是难以理解。只能上手照着敲代码,运行,跟进去看源代码,对照着语法定义来猜它在干什么。

: 这样学习,学习速度太慢了,学习效果也不是很好。

: 求大牛们指点:怎么学scala,哪本教材写得比较通俗易懂呢?

: 谢谢!

elizabethxxy
香瓜 03月04日

谢谢

可能还是不熟悉这门语言。回头拿着scala的语法规则多看点源代码吧。

【 在 javaboy 的大作中提到: 】

: 会C++的我花了10小时就扫完了官方教程,把每句话都理解了一下。

: 我学着没什么困难。因为概念之前都懂了。比如covariant,contravariant啥的,我扫一眼就知道它是解决了C++里很纠结的软肋。

: 不过,你学不会我也不知道怎么指点。要不试试死记硬背,用这个语言多写写代码,遇到不确定的参考stackoverflow吧。

: ...................

xWvxYWYxvWx
xWvxYWYxvWxxWvxYWYxvWx 03月04日

请说下你的编程基础,以及看的什么书和资料。

【 在 elizabethxxy (谢绝私聊!网上流氓骗子多,小心谨慎!) 的大作中提到: 】

: 标  题: 求指点:怎么学scala

: 发信站: 水木社区 (Wed Mar  4 15:54:11 2020), 站内

: 小的最近在学scala,感觉晦涩难懂,书上写的每一个字都认识,但是难以理解。只能上手照着敲代码,运行,跟进去看源代码,对照着语法定义来猜它在干什么。

: 这样学习,学习速度太慢了,学习效果也不是很好。

: 求大牛们指点:怎么学scala,哪本教材写得比较通俗易懂呢?

: 谢谢!

: --

elizabethxxy
香瓜 03月04日

基本上啥也不会,属于提笔忘字,一提醒还知道一点。会装软件,会抄代码,会搜索东东。

现在scala看的书是programming in scala,看了3天了。

【 在 xWvxYWYxvWx 的大作中提到: 】

: 请说下你的编程基础,以及看的什么书和资料。

KDr2
R2D2 03月04日

这基础不会看不懂 Scala 吧。。。

【 在 elizabethxxy (谢绝私聊!网上流氓骗子多,小心谨慎!) 的大作中提到: 】

: c/c++都会,dev过几年,跟着书ide里学着抄写过框架和算法,但是多年不写代码了。现在基本能看懂。主要靠它们在linux based的操作系统里看看操作系统自带的工具对应的源代码。然后照猫画虎把自己觉得用起来不爽的操作稍微改一改。

: java精通,OOP、design pattern、网络编程、jdk source code等等都是拿这个扒拉的。现在靠着java能扒拉一些常见的互联网框架的source code、android操作系统的source code、算法等东东。

: 会前端/shell/python,都是看看就能会,不会写的会在网上搜+抄代码,但这几块儿都是熟悉,不是精通。

: ...................

elizabethxxy
香瓜 03月04日

我基础不咋地,靠着抄书抄代码网上搜别人的文章看看而已。我是一个弱人。

scala比java灵活太多,还搞了很多新概念,好像还没啥写得特别好的书。。。。。

我是一个弱人,不聪明,脑子笨,只想短平快地学会scala,求理解,求扶贫,求帮助困难户快速学会scala。

【 在 KDr2 @ [Programming] 的大作中提到: 】

: 这基础不会看不懂 Scala 吧。。。

: 【 在 elizabethxxy (谢绝私聊!网上流氓骗子多,小心谨慎!) 的大作中提到: 】

: : c/c++都会,dev过几年,跟着书ide里学着抄写过框架和算法,但是多年不写代码了。现在基本能看懂。主要靠它们在linux based的操作系统里看看操作系统自带的工具对应的源代码。然后照猫画虎把自己觉得用起来不爽的操作稍微改一改。

xWvxYWYxvWx
xWvxYWYxvWxxWvxYWYxvWx 03月04日

我们这,新人一般要求一周内学完《Scala实用指南》,

然后直接读项目代码上项目。

我们用 Scala 解决后端的一切问题,

比用 Scala 写 Spark 计算任务本身难多了。

因此我相信你直接读《Scala实用指南》上手是没问题的。

不建议看 Scala 的源码,也不见看它的标准库源码,

因为对一般用户而言太难了。

还不如直接读 Scala Language Specification:

https://scala-lang.org/files/archive/spec/2.13/

又短又简明扼要(如果你有读源码习惯的话),

比什么 Java, C++ 都简单多了。

【 在 elizabethxxy (谢绝私聊!网上流氓骗子多,小心谨慎!) 的大作中提到: 】

: 标  题: Re: 求指点:怎么学scala

: 发信站: 水木社区 (Wed Mar  4 20:14:59 2020), 站内

: c/c++都会,dev过几年,跟着书ide里学着抄写过框架和算法,但是多年不写代码了。现在基本能看懂。主要靠它们在linux based的操作系统里看看操作系统自带的工具对应的源代码。然后照猫画虎把自己觉得用起来不爽的操作稍微改一改。

: java精通,OOP、design pattern、网络编程、jdk source code等等都是拿这个扒拉的。现在靠着java能扒拉一些常见的互联网框架的source code、android操作系统的source code、算法等东东。

: 会前端/shell/python,都是看看就能会,不会写的会在网上搜+抄代码,但这几块儿都是熟悉,不是精通。

: 计算机方面的中文、英文专业书籍视频基本上可以看懂听懂,少量借助于中英文词典。

: 以上,就是我的浅薄的编程基础,基本上啥也不会,属于提笔忘字,一提醒还知道一点。会装软件,会抄代码,会搜索东东。

: 现在scala看的书是programming in scala,看了3天了,打算明天开始看spark SQL。不管了,不熟就不熟吧,先copy paste下来语法,然后拿着语法的notes先迅速go through一遍再说,实在不行,就打算多来几遍了。再不行,只能跟着书一边学一边ide里抄代码了。以后有时间再找个用scala写的框架或者工具,扒拉它的源代码了。

: 【 在 xWvxYWYxvWx 的大作中提到: 】

: : 请说下你的编程基础,以及看的什么书和资料。

: :

: --

elizabethxxy
香瓜 03月04日

谢谢大牛

【 在 xWvxYWYxvWx @ [Programming] 的大作中提到: 】

: 我们这,新人一般要求一周内学完《Scala实用指南》,

: 然后直接读项目代码上项目。

: 我们用 Scala 解决后端的一切问题,

lokta
部落 03月05日

scala是编程语言的集大成者了。

里面有很多语言的影子。

上手难度杠杠的。

我最开始学的时候,当时基础其差,看了两遍没看懂。

后来为了spark,又学了一下,有点懂了。

里面涉及DSL的章节我至今没看过。。。

【 在 elizabethxxy () 的大作中提到: 】

: 我基础不咋地,靠着抄书抄代码网上搜别人的文章看看而已。我是一个弱人。

: scala比java灵活太多,还搞了很多新概念,好像还没啥写得特别好的书。。。。。

jamwswallace
james 03月06日

跟java没啥区别,都是语法糖,可以不学。

spark有java源代码

--〖特快水木〗

【 在 elizabethxxy 的大作中提到: 】

: 小的最近在学scala,感觉晦涩难懂,书上写的每一个字都认识,但是难以理解。只能上手照着敲代码,运行,跟进去看源代码,对照着语法定义来猜它在干什么。

: 这样学习,学习速度太慢了,学习效果也不是很好。

: 求大牛们指点:怎么学scala,哪本教材写得比较通俗易懂呢?

: ...................

bsxfun
色即是空 03月06日

除了机器码,各种编程语言的语法难道不都算语法糖嘛?

【 在 jamwswallace 的大作中提到: 】

: 跟java没啥区别,都是语法糖,可以不学。

: spark有java源代码

bsxfun
色即是空 03月06日

入门应该没啥难度吧,MIT有些计算机系的编程入门语言就是Scala

这里甚至有几个老师称Scala为“最佳教学语言”([b]The Ultimate Teaching Language[/b])

- [url=https://medium.com/@jasonleehodges/what-programming-language-should-you-learn-first-292c272363fa]What Programming Language Should You Learn First?[/url]

- [url=https://medium.com/@drmarkclewis/picking-a-languages-for-introductory-cs-the-argument-againstpython-4331cca26cfa]Picking a Language for Introductory CS[/url]

当然想要精通确实比较难了,不过我估计除了那些library开发者,大部分Scala的使用者并不需要达到精通的程度。

【 在 lokta 的大作中提到: 】

: scala是编程语言的集大成者了。

: 里面有很多语言的影子。

: 上手难度杠杠的。

: ...................

jamwswallace
james 03月06日

真不算

--〖特快水木〗

【 在 bsxfun 的大作中提到: 】

: 除了机器码,各种编程语言的语法难道不都算语法糖嘛?