Qhov zoo ntawm Scala, Programming Language

Puas yog Scala Nkag Siab Rau Hauv Nkag Mus?

Kev siv tswv yim tshiab no yeej suav nrog cov voj voog uas tau them rau cov lus programming tshiab. Ib hom lus uas zoo nkaus li ua rau ntes tau ntau dua yog Scala. Ho tsis nrov tsis tau, Scala nkawd mus nrhiav tau ib co av los ntawm kev npaj ib qhov kev siab zoo ntawm qhov kev tawm tswv yim ntawm Ruby thiab cov tuam txhab lag luam robust ntawm Java. Ntawm no yog ob peb qhov laj thawj yog vim li cas Scala yuav zoo dua zaum thib ob.

Nws khiav ntawm Java Virtual Machine

Cov kev muaj tiag ntawm programming rau enterprise yog tias Java yog qhov nrov de facto lus. Tsis tas li ntawd, ntau lub lag luam loj yuav muaj feem cuam tshuam nrog rau kev kho overhauling ib qhov khoos kas tag nrho. Scala yuav muab ib qho chaw zoo nruab nrab ntawm no, vim nws tseem ua haujlwm ntawm JVM. Qhov no tuaj yeem tso Scala ua si zoo ua si nrog ntau ntawm cov cuab yeej ua hauj lwm thiab kev ntsuam xyuas tej daim uas twb tau nyob rau hauv qhov chaw rau ib lub lag luam, ua ib qho kev tsiv teb tsaws tsis tshua muaj pheej hmoo.

Scala kuj muaj ntau dua tej zaum kev sib koom tes ntawm nws tus kheej thiab cov cai Java uas twb muaj lawm. Hos muaj ntau tus neeg tuaj yeem ua qhov no kom tsis muaj teeb meem, qhov tseeb yog qhov nyuaj tshaj. Txawm tias muaj cov teeb meem no, nws muaj peev xwm hais tau tias Scala yuav ua si nicer nrog Java dua lwm yam lus.

Kev siv ntawm JVM los ntawm Scala kuj pab tau kom txo tau cov kev ntxhov siab vim cov neeg yuav xav hauv migrating. Feem ntau nws ua haujlwm rau par nrog ib qhov kev pabcuam Java, yog li feem ntau ntawm cov tuam txhab lag luam yuav tsum tsis txhob cuam tshuam los ntawm tus mus rau Scala. Kuj, Scala pub rau feem ntau ntawm JVM cov tsev qiv ntawv, feem ntau ua tsaug kos nyob rau hauv enterprise code. Nyob rau hauv no txoj kev, Scala yuav ua tau ib tug zoo hedge rau tam sim no Java-soaked lag luam.

Nws yog ntau Cov lus pom zoo thiab nyeem tau tshaj li Java

Scala feem ntau ntawm cov lus yooj yooj yim, tshwmsim syntax ntawm cov lus nrov xws li Ruby. Qhov no yog ib qhov kev ua si uas tsis muaj teebmeem hauv Java thiab muaj kev cuam tshuam rau ntawm kev ua haujlwm ntawm ib pawg neeg loj hlob hauv txoj cai tu. Cov hauj lwm ntxiv uas yuav tsum tau nkag siab thiab tswj cov cai uas twb muaj lawm hauv Java yog ib qho tseem ceeb heev.

Ntxiv thiab, qhov conciseness ntawm Scala muaj ntau cov kev pab. Scala feem ntau yuav muab sau ua feem ntawm cov zauv ntawm cov kab uas yuav tsum tau sau ib qho sib npaug hauv Java. Qhov no muaj txiaj ntsim zoo tsim nyog ntawm cov neeg tsim khoom ua haujlwm ua haujlwm ntau hauv ib hnub ua haujlwm. Txuas ntxiv, tsawg dua cov kab ntawm cov cai ua rau kev sim yooj yim dua, txoj cai xyuas dua thiab kev debugging.

Muaj nuj nqis nta

Scala ua kom siv ntau synthactic qab zib uas tau ua nrov nrog cov neeg tsim khoom thiab ua rau ntau tus neeg tsim kev tsoo Scala raws li cov lus zoo dua. Ib qho piv txwv yog kev sib piv, pub rau kev sib piv yooj yim kev sib piv. Lwm cov piv txwv yog cov mixins, uas tso cai ua haujlwm nrog rau ib feem ntawm ib lub ntsiab txhais, uas yuav txuag tau ntau lub sij hawm los ntawm reusing code. Nta xws li cov no yog feem ntau txaus nyiam rau cov neeg tsim khoom, tshwj xeeb yog lawv tau ua rau lawv siv hauv lwm qhov chaw tsis yog-Java.

Yooj yim kawm thiab & # 34; Exciting & # 34;

Scala's zoo tib yam li Ruby tam sim no zoo li Ruby yuav pom raws li qhov kom zoo dua, vim nws cov syntax siv tau ua kom yooj yim kawm, tshwj xeeb tshaj yog thaum piv rau ntau hom lus xws li Java thiab C ++. Kev novelty thiab cov lus ntawm cov lus tau ua nws qhov kev xaiv nrov nrog ib tug me me, pawg pab pawg ntawm cov neeg tsim khoom.

Qhov "kev zoo siab" no yuav tsum tsis txhob ua underestimated, qhov tseeb, nws yuav yog qhov loj tshaj kom zoo ntawm kev txav mus Scala. Qhov kev cia siab thiab hnub nyoog ntawm Java ua rau nws xaiv nrov rau lub lag luam, tab sis kuj nyiam cov neeg tsim ntawm ib qho, me ntsis kev pheej hmoo-averse mindset. Cov lus xws li Scala feem ntau nyiam cov neeg tsim kev lag luam uas yog "cov neeg nyiam lus." Cov neeg tsim khoom no feem ntau ywj siab, txaus siab los sim tej yam tshiab, lub hauv siab thiab cov txawj tshaj lij. Rau ntau lub koom haum, qhov no yuav yog yam uas xav tau ntawm pab pawg neeg tech.

Seb tsis yog Scala yuav pom cov neeg nyob hauv qhov chaw tseem tsis tau pom, xws li nrog txhua hom lus nws muaj nws cov evangelists thiab detractors. Qhov tseeb yog qhov kev txiav txim siab txav mus rau Scala yog ib tus neeg, thiab hnyav ncawv nyob ntawm thaj chaw. Txawm li cas los xij, cov txiaj ntsim tau teev tseg saum toj no yuav tso qee qhov teeb meem ntawm qhov teeb meem, tshwj xeeb tshaj yog rau cov lag luam hauv Java.