One of the few languages that are designed to grow with the user, Scala has been making huge splashes in the world of programming. The term ‘Scala’ is a portmanteau for ‘scalable’ and ‘language’ and the language is known for its ability to combine object-oriented programming and functional programming. Here are a few tidbits about Scala and why it is currently one of the trending languages on the market. Let’s see how it ranks up to another popular programming language, Java.
https://www.eduonix.com/blog/infographics/infographic-on-scala-programming-language/
https://www.eduonix.com/courses/Software-Development/Learn-Scala-Programming-Language-from-Scratch
1. Today’s software engineers need a toolkit that allows a
choice when writing code between object-oriented or
functional, immutable or mutable, high-level abstractions
or low-level speed. Scala is a language that has evolved
fromitscreationin2003andprovidesthischoice.hence,itisa
popular choice for constructing applications that are
revolutionisingtheIndustry.
Scala is a type-safe JVM language that incorporates both
object-oriented and functional programming into an
extremely concise, logical, and extraordinarily powerful
language
Concurrent
programming
Functional
Language
March- 2016
What Is Scala?
Scala is an acronym for “Scalable Language”
usesofScala
Scalausedbytheworld’sleadingcompanies
sourcelink
messagingmobile (android)
applications
graphical user
interfaces
JobMarketofScala?
salaryapplication
ColdFusion $85,000
ASP.net $89,000
Golang $115,000
Java $102,000
Scala $120,000
Node.js $112,000
Python $107,000
Ruby $107,000
PHP $89,000
Perl $100,000
In USD as of jun 7,2015
Web Development
Game Development
Mobile App Development
Data Analysis
Embedded System Programming
Scalawasused
tobuild
Martin Odersky
FascinatingFacts
aboutScala
Martin Odersky is a German
computer scientist and
professor of programming
methods at EPFL in
Switzerland.
Prosofscala consofscala
Simple and straightforward syntax.
Scala typically requires two-thirds less codes than
Java. The syntax is also more flexible. For
example, you can leave out periods between
method calls so that the code is more human-
readable and easier to understand.
Inherently immutable objects.
Scala’s programming language reduces many
thread-safety concerns that spring up in
traditional Java applications.
Fast implementation speed.
It allows for quicker implementation and
enhanced performance.
Hard to learn.
Syntactically, Scala is significantly different from
traditional Java. Furthermore, it presents a
completely different programming
paradigm—requiring a higher level.
Low ease of adoption.
When coding with a team, it’s rare to find
everyone writing purely in Scala. You need a team
of eager adopters for Scala to be feasible.
Limited backward compatibility.
Each major new release of Scala is incompatible
with the previous version.
List<Integer> ints = new ArrayList<Integer>();
for (String s : list) {
ints.add(Integer.parseInt(s));
}
val ints = list.map(s => s.toInt)
Scalavs.Java
There are some tricks in Java to shorten the code a bit, but not in standard usage.
Now consider a case where we have a list of strings that are numbers, but we want to convert that
list to a list of integers:
ScalaonEduonix?
Lectures
23
hours
6
30 Day Money-Back Guarantee!
Lifetime Access. No Limits!
Certificate of Completion
65
43
1
TopicsCoveredbyeduonix
JVM Languages
Oracle
Sun
Apple
IBM
BEA
2 Scala Development Environments
Scala Syntax and Semantics Scala Functions with Collections
Concurrent Scala Scala Application Examples
2 4 6 8
0
20
40
60
80
100
120
140
-20
STATIC FINE
STATIC COARSE
DYNAMIC FINE
DYNAMIC COARSE
0
Traversable
Iterable
Seq
IndexedSeq
BitSetSortedSet
Serializable
SortedMap
Set Map
java::concurrent
::Future< V >
scala::concurrent::
forkjoin::ForkJoinTask< V >
scala concurrent forkjoin.
RecursiveTask< V >
SortedMap
input data
stream
batches of
input data
batches of
processed data
Spark
Streaming
Spark
Engine
Scala is a general purpose
programming language
introduced in January 20, 2004
by:
scripting web application highly scalable &
performing backends
https://www.eduonix.com/courses/Software-Development/Learn-Scala-Programming-Language-from-Scratch
https://en.wikipedia.org/wiki/Scala_(programming_language)