Izvor slike: pixabay.com

Dobrodošli prijatelji, na moj sljedeći blog o programskom jeziku. Ovaj put bismo govorili o zloglasnoj Scali. Prvo stvari, što je skala? I zašto je tako poznat kod Java programera? Može li Java zamijeniti u cijelosti? Dakle, ako ste iskusan programer, možda ćete imati na umu puno ovakvih pitanja. Ne brini. Zato smo ovdje zbog.

Scala je samo kratka forma za Scalable Language. To znači da ga možete koristiti, ne samo za pisanje jednoslojnih aplikacija, već i za pisanje ogromnih problema povezanih sa poslužiteljem. Scala uzima puno sebe od Jave. Tako ćete možda vidjeti mnogo koda u skali koji je sličan Javi. Ali, onda opet … zašto je skala zapravo izgrađena? Ovo su stvari koje ćemo u ovom blogu detaljno istražiti. Dakle, pogledajmo ove stvari jednu po jednu. Hoćemo li?

Je li skala skriptni jezik?

Čuo sam puno ljudi kako govore da se skala čini kao skriptni jezik. Ali molio bih da se razlikujem. Scala ima kraće sintakse i jede manje memorije. Za brze odgovore možete koristiti REPL ili IDE.

Scala je jezik koji se zapravo koristi za izgradnju mnogih velikih poslužitelja jer ponekad može biti vrlo ovisan. Sintaksa i kodovi uglavnom su slični onima kod Jave. Budući da je Scala uglavnom tipkani jezik, većina njegovih pogrešaka zapravo se uhvaća prilikom sastavljanja kodova, a ne prilikom uklanjanja pogrešaka ili prilikom stvarnog pokušaja pokretanja softvera.

To znači manje gnjavaže prilikom uklanjanja pogrešaka i ako imate veliku tvrtku; vjerojatno bi bilo isplativije, jer će radna snaga potrebna za uklanjanje pogrešaka koda biti manja, jer se većina grešaka vodi pri sastavljanju malih djelića kodova.

Dakle, pitanje koje sam prethodno postavio: "Da li je skala skriptni jezik?" Slagao bih se da je to 50% istina, ali u isto vrijeme je i 50% lažno. Iako se skala može činiti vrlo sličnom poput skriptnih jezika; vraga, čak se i kod kodiranja osjeća kao skriptni jezik, ali stvar je u tome da nije.

Dakle, da budemo precizniji, skala je duboko multiplikacija ili preciznije; kombinacija je pažljivo integriranog objektno orijentiranog programiranja i temeljnih koncepata funkcionalnog programiranja.

Kako je Scala objektno orijentiran?

Prvo stvari, kako zapravo definirati orijentaciju objekta?

Objektno orijentirano programiranje ili OOP znači da se radi o različitoj vrsti jezika kodiranja koji kombinira strukture podataka u kodu s funkcijama unutar njega za izgradnju ponovnih upotrebnih objekata.

Sinonimna orijentacija objekta poželjno se koristi za objašnjenje sustava koji se bavi pravom na različite načine objekata, pri čemu radnje koje izvodite ovise o vrsti objekta koji ste koristili za manipuliranje podacima.

Recimo, na primjer, algoritam za crtanje OOP-a može vam omogućiti crtanje bezbrojnih vrsta podatkovnih objekata, poput krugova, osmerokuta, kvadrata itd. Izvođenje iste opcije za svaki od ovih objekata promijenilo bi rezultate. Razumijem?

Dakle, odgovor na pitanje je da skala hoda i govori poput objektno orijentiranog jezika. Nije u potpunosti. Možda ćete pronaći puno ljudi koji govore upravo suprotno. Ali da vam kažem zašto. Scala je zapravo čisto funkcionalni jezik.

Ipak, programeri su još puno toga osjećali prema objektno orijentiranom jeziku. Slično tome, prilikom razvoja ovog određenog jezika, programeri su imali svoj pravi način integriranja značajki objektno orijentiranog jezika. Dakle, čak i mislio da se Scala može osjećati kao kod kuće kad se koristi kao objektno orijentirani jezik, teoretski to nije.

Kako je skala funkcionalni jezik?

Kao što sam već rekao, skala je napravljena s razmišljanjem kako bi se to učinilo što bližim funkcionalnom jeziku. Iako ne bih rekao da je to isključivo funkcionalno, ali opet … tko sam da komentiram?

Scala ima puno ugrađenih značajki, koje nam dokazuju da je to funkcionalan jezik. Možda ćete možda smatrati da je njegova sintaksa zapravo previše konvencionalna, ali Scala je također profesionalno izgrađen funkcionalni jezik.

Ima sve što vam je potrebno, bilo da govorite o uključivanju funkcija vrhunske klase ili o biblioteci s izuzetno vještim nepromjenjivim strukturama podataka, sve je isključivo funkcionalno. Također ima uobičajeni prioritet nepromjenljivosti u usporedbi s mutacijom.

Za razliku od mnogih starih funkcionalnih jezika, Scala pokazuje jednostavnu migraciju iz orijentacije objekta u funkcionalniji pristup. Iako ga možete početi koristiti kao Javu bez zareza, ali kako vrijeme prolazi, s vremenom ćete napredovati kako biste ograničili promjenjivo stanje u svojim aplikacijama, pretvarajući svoj kôd u siguran funkcionalni obrazac.

Razvojni stručnjaci Scale skloni su vjerovanju da su takve vrste napretka uvijek dobra navika. Ali istodobno je Scala metodološka. Možete ga koristiti u bilo kojem stilu koji želite, u rasponu od scenarija, do predmeta orijentiranog do funkcionalnog.

Preporučeni tečajevi

  • Tečaj JIRA
  • Online obuka na Java EE / J2EE
  • Program o sastavljanju i kabliranju uređaja
  • Trening na mreži o općim mrežama

Hoće li Scala zamijeniti Javu?

Scala radi na Java virtualnom stroju koji ima kraticu kao JVM. Klase Java i skala mogu se temeljito miješati, bez glavobolje jesu li smještene u različitim projektima i mapama ili u istim.

Iako se nalaze na različitim lokacijama, i dalje se mogu pronaći. Osim toga, Compiler of scala uključuje manji set od skupa prevoditelja Java, koji se zatim podudara s sličnim ponavljajućim ovisnim kodovima.

Knjižnice i okviri Jave i alata besplatno su dostupni na mreži. Java alati za izgradnju, recimo, na primjer, Maven ili slični IDE-ovi poput Eclipse ili Netbeans i okviri poput Hibernatea ili čak proljeća, čini se da svi zajedno djeluju besprijekorno sa Scalom.

Ako to nije dovoljno, Scala pokrenuti i na Androidu. Zajednica skala vrlo je široka i ona je bitan dio Jave. Čak i zloglasni Scala-ovi okviri uključuju dualni API-je i za Javu.

Slijedi osnovni primjer u oba jezika:

Prvo, pogledajmo 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;

)

)

Sada pogledajmo isti primjer u 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 = _

)

Što h…? Upravo o tome sam govorio. No stvar je u tome što, iako Scala ima puno toga zajedničkog s Javom i mnogo je lakši od Jave, ona jednostavno ne može zamijeniti Javu. Javina interoperabilnost i skalabilnost daleko su superiornija od one skale.

Ima i mnogo rašireniju zajednicu od one Scale. Iako, ako provedem još 15 minuta s gore navedenim komadom koda, ipak mogu pokušati učiniti ovaj skala-kod iznad još kompaktnijim, on i dalje ne bi bio ' ne isplati se mnogo ako ovo upotrebljavam u manjem obimu.

Zaključak

Vidite, u ovom trenutku ne postoji takav zaključak. Jer Scala je, ako želiš da kažem, to je čisto utemeljen funkcionalni jezik. Bez obzira koliko skala napreduje, to će i dalje biti potpuno funkcionalni jezik s aspektima i neposrednim implikacijama objektno orijentiranog jezika.

Scala ima kompaktan kod, sličan jeziku skripta poput Ruby ili Python, predmete slične onome Javas-a i funkcionalni pristup sličan onom Haskellsova. Na kraju … Da! Scala je funkcionalan jezik.

Preporučeni članci: -

Evo nekoliko članaka koji će vam pomoći da postignete više detalja o skali pa samo prođite vezu.

  1. Želite znati o savjetima i trikovima programa Microsoft Excel (proračunska tablica)
  2. Što više voljeti Java Performance ili Python
  3. Najbolje informacije o internetskim servisima Pitanja i odgovori
  4. Želite znati o pitanjima za razgovor o web-uslugama Java Web Services
  5. Performanse Scala vs Java: Koji je bolji? (Infografikama)
  6. Python vs Scala
  7. Karijera na Javi

Kategorija: