Vir slike: pixabay.com

Dobrodošli prijatelji na moj naslednji blog o programskem jeziku. Tokrat bi govorili o zloglasni Scali. Najprej stvari, kaj je skala? In zakaj je tako znan pri razvijalcih Java? Ali lahko Java v celoti nadomesti? Če ste izkušen programer, imate morda v mislih veliko takšnih vprašanj. Brez skrbi. Zato smo tukaj.

Scala je le kratek obrazec za Scalable Language. To pomeni, da ga lahko uporabljate ne samo za pisanje enojnih aplikacij, ampak tudi za pisanje velikih težav, povezanih s strežnikom. Scala veliko odvzame sama od Jave. Tako lahko v skali vidite veliko kodo, ki je podobna Javi. Toda, spet … zakaj je bila pravzaprav zgrajena skala? Zdaj so to stvari, ki jih bomo podrobno obravnavali v tem blogu. Torej, poglejmo te stvari ena za drugo. Ali bomo?

Je skala skriptni jezik?

Slišal sem veliko ljudi, ki govorijo, da se skala zdi kot skriptni jezik. Bi pa prosil, da se razlikujem. Scala ima krajše sintakse in jedo manj pomnilnika. Za hitre odzive lahko uporabite REPL ali IDE.

Scala je jezik, ki se dejansko uporablja za gradnjo številnih velikih strežnikov, saj je lahko včasih zelo odvisen. Sintaksa in kode so večinoma podobne kot pri Javi. In ker je Scala večinoma tipkopisni jezik, se večina njegovih napak dejansko ujame pri sestavljanju kod, ne pa pri odpravljanju napak ali ko dejansko poskušate zagnati programsko opremo.

To pomeni manj težav pri odpravljanju napak in če vodite veliko podjetje; Verjetno bi bilo bolj donosno, saj bi bilo delovne sile, potrebne za razhroščevanje kode, manj, saj se pri nabiranju majhnih kosov kod upošteva večina napak.

Torej, pri vprašanju, ki sem ga prej postavil, da je "ali je skala skriptni jezik?" Bi se strinjal, da je to 50% res, toda tudi v času Sae je 50% napačno. Čeprav se skala morda zdi veliko podobna kot skriptni jezik; za vraga, pri kodiranju se celo počuti kot skriptni jezik, toda stvar je, da ni.

Torej, če sem natančnejši, je skala v globini večselična sestava ali natančneje; gre za kombinacijo skrbno integriranega objektno usmerjenega programiranja in temeljnih konceptov funkcionalnega programiranja.

Kako je Scala predmet usmerjen?

Najprej najprej stvari, kako dejansko definirate usmeritev predmeta?

Objektno usmerjeno programiranje ali OOP pomeni, da gre za drugačen jezik kodiranja, ki združuje strukture podatkov v kodi s funkcijami znotraj njega za gradnjo predmetov, ki jih je mogoče ponovno uporabiti.

Sinonimna orientacija objekta se prednostno uporablja za razlago sistema, ki lastniško obravnava različne načine objektov, pri čemer so dejanja, ki jih izvajate, odvisna od vrste objekta, ki ste ga uporabili za manipuliranje s podatki.

Recimo, da bi na primer algoritem za risanje OOP lahko omogočil risanje neštetih vrst podatkovnih predmetov, kot so krogi, osmerokotniki, kvadratki itd. Izvajanje iste možnosti za vsakega od teh predmetov pa bi spremenilo rezultate. Razumevam?

Torej, odgovor na vprašanje je, da Scala hodi in govori kot predmetno orientiran jezik. Ne v celoti. Morda boste našli veliko ljudi, ki trdijo ravno nasprotno. Naj vam povem, zakaj. Scala je pravzaprav čisto funkcionalen jezik.

A še vedno so mu razvijalci dali občutek objektno usmerjenega jezika. Podobno je bilo pri razvijanju tega določenega jezika razvijalci na pravi način, da vključijo značilnosti objektno usmerjenega jezika. Torej, tudi če se Scala morda počuti kot doma, kadar jo uporabljamo kot objektno orientiran jezik, teoretično ni.

Kako je skala funkcionalen jezik?

Kot sem že rekel, je bila skala narejena z miselnostjo, da bi to čim bolj približali funkcionalnemu jeziku. Čeprav ne bi rekel, da je izključno funkcionalen, ampak spet … kdo sem, da komentiram?

Scala ima veliko vgrajenih funkcij, ki nam dokazujejo, da je funkcionalen jezik. Lahko pa se vam zdi, da je njegova sintaksa pravzaprav preveč konvencionalna, vendar je Scala tudi strokovno izdelan funkcijski jezik.

Vsebuje vse stvari, ki jih potrebujete, ne glede na to, ali vključujete funkcijo vrhunskega razreda ali knjižnico z izjemno strokovno izdelanimi nespremenljivimi podatkovnimi strukturami, vse pa je povsem funkcionalno. Ima tudi običajno prednost nespremenljivosti v primerjavi z mutacijo.

Za razliko od številnih starih funkcionalnih jezikov Scala kaže enostavno prehod iz orientacije predmeta v bolj funkcionalen pristop. Čeprav ga lahko začnete uporabljati kot Java brez podpičjih, vendar s časom boste sčasoma napredovali, da boste čim bolj omejili stanje, ki ga je mogoče spremeniti v svojih aplikacijah, in pretvorili kodo v varen funkcijski vzorec.

Razvijalci Scale ponavadi verjamejo, da so tovrstne napredovanja vedno dobra navada. Toda hkrati je Scala metodološka. Lahko ga uporabljate v katerem koli slogu, ki ga želite, od skriptnih, do predmetno usmerjenih do funkcionalnih.

Priporočeni tečaji

  • Tečaj JIRA
  • Spletno usposabljanje na Javi EE / J2EE
  • Program za sestavljanje in kabliranje naprav
  • Spletno usposabljanje o splošnih omrežjih

Bo Scala zamenjala Java?

Scala deluje na navideznem stroju Java, ki ima kratico JVM. Razredi Java in skala se lahko temeljito mešajo, brez glavobola, ali se nahajajo v različnih projektih in mapah ali v istih.

Kljub temu, da se nahajajo na različnih lokacijah, se še vedno lahko najdejo. Poleg tega Compiler of scala vključuje manjši nabor iz prevajalnika Java, ki se nato ujema s podobnimi ponavljajočimi se odvisnimi kodami.

Knjižnice in okviri Java in orodij so na voljo na spletu. Javna orodja za gradnjo, recimo Maven ali podobne IDE, kot so Eclipse ali Netbeans, in okviri s podobnimi mirovanjem ali celo pomladjo, zdi se, da vsi Scala delujejo brezhibno s Scalo.

Če to ni dovolj, Scala deluje tudi na Androidu. Skupnost skala je zelo široka in je nujen del Jave. Celo zloglasni okviri Scale vključujejo tudi dvojna API-ja za Java.

Sledi osnovni primer v obeh jezikih:

Najprej si oglejmo Java:

public class Test(

private String name;

private List orders;

public Test() (

orders = new ArrayList();

)

public String getName() (

return name;

)

public void setName(String name) (

this.name = name;

)

public List gettest1() (

return orders;

)

public void settest1(List orders) (

this.orders = orders;

)

)

public class test1(

private int id;

private List products;

public test1() (

products = new ArrayList();

)

public int getId() (

return id;

)

public void setId(int id) (

this.id = id;

)

public List getContents() (

return products;

)

public void setContents(List products) (

this.products = products;

)

)

public class Contents (

private int id;

private String category;

public int getId() (

return id;

)

public void setId(int id) (

this.id = id;

)

public String getCategory() (

return category;

)

public void setCategory(String category) (

this.category = category;

)

)

Zdaj si oglejmo isti primer v Scali:

class Test (

var name: String = _

var orders: List(test1) = Nil

)

class test1 (

var id: Int = _

var products: List(Contents) = Nil

)

class Contents (

var id: Int = _

var category: String = _

)

Kaj h …? Točno o tem sem govoril. Vendar je stvar Scala veliko skupnega z Javo in je veliko lažja kot Java, saj Jave preprosto ne more nadomestiti. Javina interoperabilnost in razširljivost je veliko boljše kot pri tehtnicah.

Ima veliko bolj razširjeno skupnost kot tudi Scala. Kljub temu, da lahko, če porabim še 15 minut z zgornjim delom kode, še vedno poskusim narediti to kodo Scala še bolj kompaktno, še vedno ne bi šlo ' ne bi bilo veliko vredno, če bom to uporabil v majhnem obsegu.

Sklep

Glej, v tem trenutku ni takega zaključka. Ker je Scala, če hočete, da nekaj povem, potem je to povsem utemeljen funkcionalni jezik. Ne glede na to, koliko skala napreduje, bo to še vedno popoln funkcionalen jezik z vidiki in bližnjimi posledicami objektno usmerjenega jezika.

Scala ima kompaktno kodo, podobno jezikom scenarijev kot Ruby ali Python, predmete, podobne tistim Javas, in funkcionalen pristop, podoben Haskellsovim. Torej, na koncu… Da! Scala je funkcionalen jezik.

Priporočeni članki: -

Tukaj je nekaj člankov, ki vam bodo pomagali, da boste dobili več podrobnosti o skali, zato samo pojdite po povezavi.

  1. Želite vedeti o nasvetih in trikih Microsoft Excel (preglednica)
  2. Kaj najraje Java Performance ali Python
  3. Najboljše informacije o vprašanjih in odgovori o intervjujih za spletne storitve
  4. Želite vedeti o vprašanjih o intervjuju za spletne storitve Java
  5. Zmogljivost Scala vs Java: Kaj je bolje? (Infographics)
  6. Python proti Scali
  7. Kariera na Javi