Kujutise allikas: pixabay.com

Tere sõbrad, minu järgmisse programmeerimiskeele blogisse. Seekord räägiksime kurikuulsast Scalast. Esiteks, mis on skala? Ja miks see Java arendajatega nii kuulus on? Kas see võib Java täielikult asendada? Niisiis, kui olete kogenud programmeerija, siis võib teil tekkida palju selliseid küsimusi silmas pidades. Ärge muretsege. Sellepärast me siin olemegi.

Scala on skaleeritava keele lühike vorm. See tähendab, et saate seda kasutada mitte ainult ühe liinirakenduste kirjutamiseks, vaid ka tohutute serveritega seotud probleemide kirjutamiseks. Scala võtab Java endalt palju ise. Seega võite näha, et Scalas on palju koodi, mis sarnaneb Java-ga. Aga siis jälle … miks scala tegelikult ehitati? Nüüd on need asjad, millesse me sellesse blogisse süveneme. Vaatame neid asju ükshaaval. Kas peame?

Kas skala on skriptikeel?

Olen kuulnud palju inimesi ütlemas, et skaala näib olevat skriptikeel. Kuid ma paluksin erineda. Scalal on lühem süntaks ja see sööb vähem mälu. Kiirete vastuste saamiseks võite kasutada REPL-i või IDE-d.

Scala on keel, mida tegelikult kasutatakse paljude suurte serverite ehitamisel, kuna see võib kohati olla väga sõltuv. Süntaks ja koodid on enamasti sarnased Java omadega. Ja kuna Scala on enamasti masinakirja tüüp, tabatakse suurem osa selle vigadest pigem koodide koostamisel, mitte silumisel või tarkvara proovimisel.

See tähendab, et silumisel ja suurettevõtte juhtimisel on vähem vaeva. tõenäoliselt oleks see kasulikum, kuna koodi silumiseks vajalikku tööjõudu oleks vähem, kuna väikeste kooditükkide koostamisel võetakse enamiku vigadest hoolt.

Niisiis, küsimusega, mille ma varem esitasin, et “kas skala on skriptikeel?” Nõustuksin, et see on 50% tõene, kuid ka ise on see 50% vale. Kuigi skaala võib tunduda palju sarnane nagu skriptikeeled; Kurat, kodeerimisel tundub see isegi skriptikeelena, aga asi on selles, et pole.

Niisiis, kui täpsem olla, siis sügavuti on scala mitmest osast koosnev või täpsem; see on hoolikalt integreeritud objektorienteeritud programmeerimise ja funktsionaalse programmeerimise põhimõistete kombinatsioon.

Kuidas on Scala objekt orienteeritud?

Esiteks, kuidas te tegelikult objektide orientatsiooni määratlete?

Objektorienteeritud programmeerimine ehk OOP tähendab, et see on teist tüüpi kodeerimiskeel, mis ühendab koodis olevate andmete struktuurid selle sees olevate funktsioonidega taaskasutatavate objektide loomiseks.

Objekti orientatsiooni sünonüümi kasutatakse eelistatavalt objektide eri režiimidega varaliselt tegeleva süsteemi selgitamiseks, kus teie tehtavad toimingud sõltuvad sellest, millist tüüpi objekti te andmetega manipuleerimiseks kasutasite.

Oletame näiteks, et OOP-joonistamise algoritm võimaldab teil joonistada lugematul hulgal andmeobjekte, näiteks ringid, kaheksanurgad, ruudud jne. Sama objekti valimine nendele objektidele muudaks siiski tulemusi. Kas saan aru?

Niisiis, vastus küsimusele on, scala küll kõnnib ja räägib nagu objektorienteeritud keel. See pole täielikult. Võite leida palju inimesi, kes ütlevad täpselt vastupidist. Aga las ma ütlen sulle miks. Scala on tegelikult puhtalt funktsionaalne keel.

Kuid arendajad on sellele vaatamata andnud palju objektorienteeritud keele tunnet. Sarnaselt selle konkreetse keele arendamisel oli arendajatel sobiv viis objektorienteeritud keele funktsiooni integreerimiseks. Ehkki isegi mõte, et Scala võib end koduselt kasutada, kui teda kasutatakse objektorienteeritud keelena, teoreetiliselt see pole.

Kuidas on skala funktsionaalne keel?

Nagu ma juba ütlesin, tehti skaala mõtteviisi abil muuta see funktsionaalsele keelele võimalikult lähedaseks. Kuigi ma ei ütleks, et see on puhtalt funktsionaalne, aga siis jälle… kes ma olen, mida kommenteerida?

Scalal on palju sisseehitatud funktsioone, mis tõestavad meile, et see on funktsionaalne keel. Võite siiski tunda, et selle süntaks on tegelikult liiga tavapärane, kuid Scala on ka professionaalselt üles ehitatud funktsionaalne keel.

Selles on kõik vajalikud asjad, olgu siis tegemist tippklassi funktsioonide lisamisega või raamatukoguga, millel on äärmiselt asjatundlikud tehtud muutumatud andmestruktuurid - kõik on puhtalt funktsionaalne. Sellel on ka mutatsiooniga võrreldes tavaliselt muutumatuse prioriteet.

Erinevalt paljudest vanadest funktsionaalsetest keeltest näitab Scala hõlpsat migratsiooni objektide orientatsioonilt funktsionaalsemale lähenemisele. Ehkki võite hakata seda kasutama Java ilma semikooloniteta, kuid aja möödudes saavutate lõpuks rakenduste muutuva oleku piiramise nii palju kui võimalik, teisendades oma koodi turvaliseks funktsionaalseks mustriks.

Scala arendajad kipuvad uskuma, et seda tüüpi progressioonid on alati heaks harjumuseks. Kuid samal ajal on Scala metoodiline. Saate seda kasutada mis tahes soovitud stiilis, alates skriptimisest kuni objektorienteeritud funktsionaalsuseni.

Soovitatavad kursused

  • JIRA kursus
  • Veebikoolitus Java EE / J2EE-l
  • Seadmete kokkupaneku ja kaabeldamise programm
  • Veebikoolitus üldise võrgunduse kohta

Kas Scala asendab Java?

Scala töötab Java virtuaalmasinas, mille lühend on JVM. Java ja scala klasse saab põhjalikult segada, ilma et oleks vaja muretseda, kas nad asuvad erinevates projektides ja kaustades või samas.

Vaatamata sellele, et nad asuvad erinevates kohtades, võivad nad siiski üksteist leida. Pealegi sisaldab skala kompilaator Java komplekteerijast väiksemat komplekti, mis vastab siis sarnastele korduvatele sõltuvatele koodidele.

Java ja tööriistade teegid ja raamistikud on veebis vabalt saadaval. Java ehitustööriistad, ütleme näiteks Maven või sarnased IDE-d, näiteks Eclipse või Netbeans, ja raamistikud, mis sarnanevad hibernate või isegi kevadega, näivad kõik töötavat Scalaga veatult.

Kui sellest ei piisa, käivitage Scala ka Androidis. Scala kogukond on väga lai ja see on Java oluline osa. Isegi kurikuulsad Scala raamistikud sisaldavad ka Java jaoks kaheseid API-sid.

Järgnev on mõlemas keeles põhinäide:

Esiteks, võime heita pilgu 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;

)

)

Vaatame nüüd ühte näidet Scalas:

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 = _

)

Mida h …? Täpselt sellest ma rääkisin. Kuid asi on selles, et kuigi Scalal on Javaga palju ühist ja see on palju lihtsam kui Java, ei saa see lihtsalt Java asendada. Java koostalitlusvõime ja mastaapsus on palju parem kui skaaladel.

Sellel on palju laiem kogukond kui ka Scalal. Isegi kui veedan ülaltoodud kooditükiga veel 15 minutit, võin ikkagi proovida seda skaala koodi veelgi kompaktsemaks muuta, ei tahaks see ikkagi seda teha. see pole palju väärt, kui hakkan seda kasutama väikesemahulisena.

Järeldus

Vaadake, praegusel hetkel pole sellist järeldust. Kuna Scala on see, kui soovite, et ma midagi ütleksin, siis on see puhtalt funktsionaalne keel. Pole tähtis, kui palju skaala areneb, on see ikkagi täieõiguslik funktsionaalne keel, millel on objektorienteeritud keele aspektid ja lähedased tagajärjed.

Scalal on kompaktne kood, mis sarnaneb skriptikeelte, näiteks Ruby või Python, koodidega, mis on sarnased Javasega, ja funktsionaalse lähenemisega, mis sarnaneb Haskellsiga. Nii et lõpuks… jah! Scala on funktsionaalne keel.

Soovitatavad artiklid: -

Siin on mõned artiklid, mis aitavad teil skala kohta rohkem üksikasju saada, nii et minge lihtsalt lingi kaudu.

  1. Kas soovite teada saada Microsoft Exceli näpunäidete ja näpunäidete kohta (arvutustabel)
  2. Mida eelistada Java Performance'i või Pythoni
  3. Parim teave veebiteenuste küsitluste ja vastuste kohta
  4. Kas soovite teada saada Java veebiteenuste intervjuuküsimuste kohta
  5. Scala vs Java jõudlus: kumb on parem? (Infograafika)
  6. Python vs Scala
  7. Karjäär Java

Kategooria: