This week's book giveaway is in the Java in General forum.
We're giving away four copies of Event Streams in Action and have Alexander Dean & Valentin Crettaz on-line!
See this thread for details.
Win a copy of Event Streams in Action this week in the Java in General forum!

Daniela Sfregola

Author
+ Follow
since Jan 31, 2018
Cows and Likes
Cows
Total received
5
In last 30 days
0
Total given
0
Likes
Total received
6
Received in last 30 days
0
Total given
2
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Daniela Sfregola

Hi Yago,
thanks! I am going to cover Monads: they are such an important part of the Scala ecosystem!

However, I have intentionally decided not to use terms that are too technical not to scare people off....but I bet you can guess the unit in which I am gonna talk about them ;)

Cheers,
Daniela
1 year ago
Hi Will,
I wouldn't be writing a book on Scala if I didn't believe that Scala has a long future ahead! ;)

Scala, like any other language, can be written in a good and in a bad way -- it's up to us to learn how to write GOOD Scala code.
There are obviously more Java developers on the market that Scala ones (i.e.: it is easier to find a Java developer than a Scala one), but the demand for Scala developers is growing every day more and more thanks also to tools like Spark and Akka.

My personal experience is that in the London market (that is where I am currently based) the rates for Scala jobs are way higher than Java jobs -- simply because Scala developers are harder to find and require more specialized skills.

Cheers,
Daniela
1 year ago
Hi Kim,
I am not aware of any video game written in Scala -- but I have to admit my limited knowledge in the field of gaming!

Scala is not a scripting language, have a look at this chapter (you can access it for free) of Get Programming with Scala where I explain what Scala is: https://livebook.manning.com/#!/book/get-programming-with-scala/chapter-1/v-1/40

Cheers,
Daniela
1 year ago
Hi Divya,
having an easy integration with Java has two main practical advantages:
- you can reuse any legacy code that you may have in Scala
- you can use any Java library that the community has produced and tests in the last 25+ years.

Using pure Scala is always better, but not always possible either because there are no resources to rewrite the Java legacy code in pure Scala or maybe because a specific library does exist in the Scala ecosystem.
Having the choice of integrating Java with Scala is a nice option that the language gives you.

Cheers,
Daniela
1 year ago
Hi Alex,
I haven't read "Scala for the Impatient", but I just quickly skipped through its table of contents.

Some of the topics do overlap -- since both the books are introductions to Scala -- but the structure is quite different.

My book is divided into units: at the end of each unit, my goal is to teach you how to build something extremely practical: by doing small projects at the end of each unit you will make sure you mastered what you have learned so far.

Also, have a look at my answer at https://coderanch.com/t/690437/Programming-Scala-people-scala-hard#3241018 for some other particular characteristics of Get Programming with Scala

Cheers,
Daniela
1 year ago
Hi Divja,

Scala can be easily integrated with Java. Have a look at this chapter (you can access it for free) where I explain how: https://livebook.manning.com/#!/book/get-programming-with-scala/chapter-1/v-1/40

The bottom line is that, because Scala's compiler is built on top of the Java one, you can just mix the two: the Scala compiler will compile both Java and Scala depending on the file extension.

Cheers,
Daniela
1 year ago
Hi Upe Fisherman,
I do plan to mention some Category Theory's principles as the reason of why things are designed in a certain way in Scala.

I'd love to properly discuss Category Theory, but I am afraid this is a pretty advanced topic that is out of scope for the book: you do not need to know category theory to be a good Scala developer.

Cheers,
Daniela
1 year ago
Hi YJ Lee,
great question!

Scala combines two styles of programming that are very different: OOP vs FP.
Most of the people that try to learn Scala, they are also trying to learn FP at the same time -- and this makes things more difficult!
In my book we do not start talking about FP until we have fully reviewed the OOP side of Scala and you are fully comfortable with it - I do assume that you have some OOP experience, but no experience in FP.

Scala is extremely flexible and fun to work with.
The downside of this is that the same thing can be done in more than one way.
In Get Programming with Scala I teach you only extremely practical things -- if something is cool, but nobody uses it in their daily job because of their complexity, I am not gonna tell you about it.
My aim is not to show you everything there is to know about Scala, but to show you enough to be productive and to continue your learning path on more advanced resources if you wish to do so.

Finally, syntax is quite different from Java -- most of the people approaching Scala have a Java background -- and it can be overwhelming at the beginning.
In the book, every time I introduce a new topic, I give you a syntax diagram to visually summarize what you have learned, so that you can come back to it later and remind yourself what the topic was all about.

Cheers,
Daniela
1 year ago
Hi Paul,
I am glad you enjoyed it!

In Scala not everything is immutable -- you can still do things in a mutable way! But there is a clear separation between what it is immutable and what it is not.

There are several lessons dedicated to the topic - variables and values, case classes and case object ones are just a few of them -- but unfortunately, they are not accessible for free!

Cheers,
Daniela
1 year ago
Hi Jim,
have a look at my answer here on Kotlin vs Scala: https://coderanch.com/t/690384/Programming-Scala-compared-Kotlin

Cheers,
Daniela
1 year ago
Hi Paul,
there are several advantages to in Scala!

I have dedicated an entire section of why Scala is a great language to learn: it is accessible for free at https://livebook.manning.com/#!/book/get-programming-with-scala/chapter-1/v-1/

Cheers,
Daniela
1 year ago
Hi Alexander,
thanks for the kind words!

My advice is to code as much as possible: just reading books and watching talks is not enough.

Start simple -- do not worry about doing things right the first time. Then start to ask yourself (and even people in the community) how you can do better.

Books and courses can guide you through this process learning -- and that is exactly what I'd like for Get Programming with Scala to be.

Another advice is to do open source: by contributing or even having your own open source project, the community can review your code and help you become a better programmer whatever the language of your choice.

Cheers,
Daniela
1 year ago
Hi itsme saran,
have a look at Scala IDE: http://scala-ide.org/

Cheers,
Daniela
1 year ago
Thanks,

Looking forward to all your questions!

Cheers,
Daniela
1 year ago