1、 Scala語言概述

第1章、 Scala語言概述

==知識結構==

Scala這門課主要分爲如下幾個階段進行學習。html

  • 一、Scala語言概述
  • 二、Scala基礎知識
  • 三、Scala數據結構
  • 四、Scala面向對象
  • 五、Scala函數式編程

1. scala語言概述

1.一、學習任務

一、瞭解Scala語言特色
二、學會配置Scala環境
三、配置IDE並用Scala寫第一個程序

1.一、發展歷史

Scala是Scalable Language的簡寫,是一門多範式的編程語言,java

聯邦理工學院洛桑的MartinOdersky於2001年基於Funnel的工做開始設計Scala。python

Funnel是把函數式編程思想和Petri網相結合的一種編程語言。 編程

Odersky先前的工做是Generic Java和javac(Sun Java編譯器)。Java平臺的Scala於2003年末/2004年初發布。.NET平臺的Scala發佈於2004年6月。該語言第二個版本,v2.0,發佈於2006年3月。後端

截至2009年9月,最新版本是版本2.7.6 。Scala 2.8預計的特性包括重寫的Scala類庫(Scala collections library)、方法的命名參數和默認參數、包對象(package object),以及Continuation。 微信

2009年4月,Twitter宣佈他們已經把大部分後端程序從Ruby遷移到Scala,其他部分也打算要遷移。此外, Wattzon已經公開宣稱,其整個平臺都已是基於Scala基礎設施編寫的。數據結構

1.二、大事記

  • 2001年,Scala 的設計在 EPFL 開始;
  • 2004年初,Java 版發佈;
  • 2004年6⽉月,.NET 版發佈;
  • 2006年3⽉月,Scala 2.0 Java 版發佈;
  • 2011年5⽉月,Odersky和Jonas Bonér 創辦 Typesafe;
  • 2012年,官⽅方停⽌止維護 Scala .NET 版;
  • 2014年,Scala 2.11.2 發佈
  • 2019年,Scala 2.13.0 發佈

二、Scala簡介

2.一、編程範式

  • 2.1.一、命令式編程

是一種描述電腦所需做出的行爲的編程典範。幾乎全部電腦的硬件工做都是指令式的;命令式編程關心解決問題的步驟,如JAVA,C等編程語言

  • 2.1.二、函數式編程

它將電腦運算視爲數學上的函數計算,而且避免使用程序狀態以及易變對象。函數編程語言最重要的基礎是λ演算(lambda calculus)。並且λ演算的函數能夠接受函數看成輸入(引數)和輸出(傳出值)。函數式編程關心的是數據的映射,重視數據集之間的變換。ide

2.二、Scala語言特色

  • 一、多範式編程語言,兼具命令式與函數式
面向對象
一切值都是對象,從這一點來講,是一門純面向對象的語言,對象的類型和行爲由類和特質描述。這方面相似java。

函數式
在scala中,一切函數都是值,函數也可做爲另外一個函數的參數,所以scala是一門函數式語言。這一點又和python相似。所以咱們說scala集成了java和python的特性函數式編程

  • 二、基於JVM,能夠和java無縫混編
  • 三、語言簡潔優雅

若是你寫過java,就會對這一點體會深入,scala幾行代碼就能搞定java一個很複雜的操做,就代碼量而已,scala會少不少

  • 四、Scala商業成功

Spark,Kafka,所以Scala普遍應用於大數據領域

2.三、scala生態圈


咱們這裏scala主要是以大數據應用領域爲基礎的,所以咱們的課程主要包括scala的基礎語法以及面向對象和函數式編程等,關於其餘的不在咱們這麼課計劃中。

三、環境配置

此處的版本爲,JDK-1.8.0_211,Scala-2.11.12

==切記不要裝最新版本的,後期會出現不少版本兼容的問題==

jdk環境配置-win版

Scala依賴JDK環境,首先確保本機已安裝JDK相關環境

3.一、下載

3.1.一、win版配置

下載地址

在此處下載響應的版本

按照提示一步一步安裝,同JDK。

3.1.二、環境變量配置

右擊個人電腦,單擊"屬性",進入如圖所示頁面。下面開始配置環境變量,右擊【個人電腦】--【屬性】--【高級系統設置】--【環境變量】,如圖:

在變量命中輸入SCALA_HOME,變量值中輸入Scala的安裝目錄。

設置Path變量
image
環境設置好了以後輸入,調出cmd,輸入scala,成功能夠看到以下信息

3.1.二、mac版配置

mac版安裝同上,下載相應的mac版本,按照提示一路安裝便可。

mac版本的配置

配置SCALA_HOME,而後在Path中添加SCALA_HOME便可

export SCALA_HOME=/Users/sunliangliang/Documents/develop-tools/scala-2.11.12
PATH=$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH:.

安裝成功後以下圖所示

四、第一個Scala程序

4.一、交互式環境


咱們看到能夠直接打印輸出,也能夠直接計算。

4.二、IDEA和Scala

  • 一、idea安裝Scala插件

Prefrences->Plugins->search("scala"),安裝便可

  • 二、idea配置Scala SDK

第一次配置的時候須要配置SDK


Browse找到Scala的安裝目錄,選中SDK配置成功。

  • 三、建立項目

  • 四、第一個demo
package com.tedu.fast

/**
  * Describe: 
  *
  * @Author sunliang
  * @Since 2019/06/12
  */
object Helloworld {

  def main(args: Array[String]): Unit = {
    print("Hello world")
  }
}

代碼結構以下

至此咱們就完成了IDEA和SCALA的整合

==注意事項==


類型Kind選擇的是Object不是Class,(Object能夠編譯有main函數入口,所以能夠在IDEA中直接Run)

以上內容有部分來自網上查閱的資料,若有版權問題。請與聯繫我:
email : liangliang1259@163.com
微信: 點擊添加
相關文章
相關標籤/搜索