java 學(xué)習(xí)scala需要java基礎(chǔ)嗎?
學(xué)習(xí)scala需要java基礎(chǔ)嗎?編程基礎(chǔ)是要有的,因為看scala的資料大部分都是跟其他語言做比較的,如果沒有編程基礎(chǔ)將很難看懂比較的意義。Scala 設(shè)計時就考慮了與流行編程環(huán)境良好交互,如Jav
學(xué)習(xí)scala需要java基礎(chǔ)嗎?
編程基礎(chǔ)是要有的,因為看scala的資料大部分都是跟其他語言做比較的,如果沒有編程基礎(chǔ)將很難看懂比較的意義。
Scala 設(shè)計時就考慮了與流行編程環(huán)境良好交互,如Java 2運行時環(huán)境(JRE)和 .NET框架(CLR)。特別是與主流面向?qū)ο笳Z言,如Java和C#盡量無縫交互。Scala有像Java和C#一樣的編譯模型(獨立編譯,動態(tài)裝載 類),允許訪問成千上萬的高質(zhì)量類庫。
Java語言初學(xué)者編寫的基礎(chǔ)教程,采用秒秒學(xué)交互式學(xué)習(xí)方式,J主要是講述有關(guān)Java面向?qū)ο蟮某绦蛟O(shè)計所必需的知識和技能,采用交互式軟件培訓(xùn)方式,并講授Java編程語言句法和面向?qū)ο蟮母拍?,以及Java運行環(huán)境的特性,Java類庫的使用等。
為什么大部分高校還在只教C/C /Java,而不教更加強大的Rust/Go/Scala?
客觀環(huán)境:C 、C 、 Java 發(fā)展比較成熟,學(xué)的人多,生態(tài)較好。[翻白眼]企業(yè)需求較多,保證了就業(yè)基本面,學(xué)生學(xué)了不容易失業(yè)。[笑]新興語言交由學(xué)生自學(xué),保證技術(shù)有效更迭。
主觀環(huán)境:好吃老本,好混經(jīng)費。[憨笑]
一句話:穩(wěn)定是硬道理,朝令夕改非正道。
備注:個人觀點,杠精請繞道。[白眼]
大數(shù)據(jù)中的Scala好掌握嗎,自學(xué)可以嗎?
大數(shù)據(jù)技術(shù)的學(xué)習(xí)需要掌握Scala。
不過在學(xué)習(xí)Scala之前,你最好先對Java和任一函數(shù)式語言(Haskell,SML等)有一定程度理解以后,尤其是能夠在編程范式之間隨意切換以后,再去了解Scala。
Scala在大數(shù)據(jù)方向不是偏科研的,是非常多地方都會用的,比如說spark。
Scala的好處:
1, JVM base, 全面兼容Java. 對于Java基礎(chǔ)扎實的同學(xué), 學(xué)習(xí)Scala是很友好的;
2, 在常用工具中, Flume和Hadoop由java編寫, Spark和Kafka由Scala編寫。
所以對于想學(xué)大數(shù)據(jù)的同學(xué)而言, Scala確實是最推薦的。
Scala作為一門較新的語言,它的社區(qū)是比較混亂的。Scala社區(qū)里有很多不同的嘗試,以Java一支和Haskell一支為主,此外還有使actor和reactive programming一派的。你如果連一個已經(jīng)成熟的編程范式都沒有掌握,我覺得很大可能你會吃不消Scala。
這也是為什么加米谷大數(shù)據(jù)在安排大數(shù)據(jù)開發(fā)課程的學(xué)習(xí)中,對于0基礎(chǔ)的同學(xué)首先安排大家學(xué)習(xí)Java編程,等到Java編程基礎(chǔ)良好后,進行Hadoop體系的學(xué)習(xí),再安排學(xué)習(xí)Scala,然后在學(xué)習(xí)Spark、kafka等,這樣的順序是比較科學(xué)合理的,大家也更容易掌握。
推薦書籍:《Scala編程》《Scala函數(shù)式編程》
大數(shù)據(jù)語言Scala初識
https://www.toutiao.com/i6543924910664712718/