This class shows you how to easily transition up from Java to Scala. Not only will you be shown the basics of Scala, but you will also see how you can integrate the Java -> Scala transition in your daily work-flow. There is no need to abandon the existing Java code base completely, this class will show you a) the basics of Scala, and b) how to transition smoothly, painlessly, and guarantee you a soft landing as a Java programmer in Scala. Over 2.5 hours in 8 lectures, and we're expanding and adding new material based on students' feedback!
This lecture is a technical introduction from the business perspective. We will show you have you can attain faster time-to-market, higher quality, faster turn-around-times, and the prevention of several software development problems in traditional programming languages. Fasten your seatbelts.
This lecture is the second part of the Technical Introduction. You will get a top-level, 30,000 ft. overview of the benefits of adopting Scala (in general, and in favor of Java).
This lecture is the beginning of the code section. In this class we will cover basic, fundamental principles of Scala, such as values vs. variables, basic types, and the REPL. Get ready to type away!
In this lecture we'll show you how to set up your functions and objects for the extremely powerful functional and object-oriented programming paradigm that is combined in Scala. You'll learn how to handle and use functions, objects, and loops, to hit the ground running.
In Scala, all functions and function values (including numbers and other primitives) are objects, which is an immensely powerful concept.
Then we'll also look at for comprehensions -- a much more powerful extension of the "advanced for loop" in Java.
In this lecture you'll see how easy it is to set up higher-order functions in Scala and immediately start using them. You'll also see how powerful deeply ingrained concepts like lists, maps, hashmaps, and arrays are in Scala. You can use higher-order functions directly as functional arguments in those collections, and you get tremendous performance, including instant parallelism, if you choose so!
In this lesson we will cover the basic differences between Java classes and interfaces, and Scala classes, objects, and traits. Get ready for mind-boggling simplifications and easy-to-read, intuitive, straight-forward usage of classes, objects, interfaces, and mixins.
This lesson will focus entirely on actors, a much more powerful, flexible, and reliable concurrency system than Java's threads.
Practical Outlook: how to incorporate the Java -> Scala transition smoothly in our daily workflow, and use of the REPL for TDD and EDD. Fasten your seatbelts.
Passionate Java, Scala, C#, F#, Mathematica, perl programmer
Deep mathematical and programming background in financial derivatives pricing and risk management as well as optimization / operations research.
Have been programming financial derivatives and combinatorial optimization codes since the early 90s. Have worked for major German and UK banks, and then moved to the US in 1998. Have worked for several investment banks and hedge funds, as well as Wolfram Research, the makers of Mathematica. I am now in Chicago, and I have switched almost completely from Java to Scala. For various reasons I explain in my Java -> Scala transition class, I see this as the future, and I think in the next 5 years Scala will replace Java in the professional space.
I am also a very enthusiastic pilot, I have a commercial pilot license with instrument rating. I am also the CTO of the Volunteer PIlots Association (VPA), www.volunteerpilots.org, and the CTO of the Air Care Alliance (ACA), www.aircareall.org.
For more info on our consulting solutions, visit www.lauschkeconsulting.net