Short sharing that delivers huge punches! Martin just stated 3 different aspects of Scala, and each of them simplifies an issue in a mind blowing way! Kudos to you!
His Coursera course on functional programming get me here. I'm learning Scala majorly for Spark. Why Spark is written in Scala, is FP naturally suited for parallel computing ?
+Xiaofei LUO I believe, yes. Ever since I've learnt Scala, I think more in terms of concurrency and scaling things out. Scala isn't exactly is functional programming. I would say that it's a hybrid. Anyhow, the way Scala is build, it's perfect for concurrent distributed applications.
Hi, Does anyone agree over here that the "Time vs Space graph" shown at 6 minutes is technically incorrect ? If no, then can someone please explain me how come space functions (vertical lines) are distributed at different timings if they are parallel on given time ?!! Entangling of Imperative language is understandable due to locking mechanism and all, but isn't this graph an incorrect example for difference which Martin Odersky wants to explain ??
+Pratik Mehta IMHO the difference is more subtle than that. Its about the abstraction at which you think when implementing the solution (not from a functional requirements perspective). He said when you are writing code, you dont have to think in terms of time, you can think in terms of building blocks like legos. e.g. when writing a multithreaded app, you dont worry about things like locking, waiting, notifying of threads, the correct sequence in which these things happen and how you guard against these; you let the scala compiler take care of these things. Later on he also said that as humans we are optimistic; we dont guard against whatever would possible go wrong; again alluding to the same thing Hope that helps.
Since functions are referential transparent, they can execute in parallel in different space, at the same time, yielding the same result even if they are executed in different sequence(determinism).
I did some of my most critical programming as a minor (in C and C++ of course)... Do you mind sharing your framework on GitHub or something? Perhaps an old adult like me can learn from it!
From the top of my head, here’s a short list of my own favorite tech talks for every programmer :) What do you think? medium.com/@mithi/a-few-good-tech-talks-c00bda9ab3ab#.tldvbi6ol
Your examples for Scala only work in a classroom environment. Simplicity programming in Scala will run into huge problems in real coding later on. Coders will understand what I mean. Azlan
Hmm... I'm a minor XD And I learned and control half of it in half a week :) And also made an handy,consice assertion framework on the third day after starting to learn scala :) I'm special :)
The Coursera course brought me here.
Great talk by Martin Odersky, explaining exactly why Scala was designed the way it was.
Coursera course brought me here too. Great talk!
Same here!
Coursera brought me here too
How did you all like the course?
which course?
Ok i was thinking about it but now i'm convinced ,Scala is a must learn language .
Short sharing that delivers huge punches! Martin just stated 3 different aspects of Scala, and each of them simplifies an issue in a mind blowing way! Kudos to you!
The last bit about the Physics DSL went over my head
ALL HAIL LORD ODERSKY
His Coursera course on functional programming get me here. I'm learning Scala majorly for Spark. Why Spark is written in Scala, is FP naturally suited for parallel computing ?
+Xiaofei LUO I believe, yes. Ever since I've learnt Scala, I think more in terms of concurrency and scaling things out. Scala isn't exactly is functional programming. I would say that it's a hybrid. Anyhow, the way Scala is build, it's perfect for concurrent distributed applications.
"This thing can beat hand written C++ code" - wow!
7:10 typo in the word "tpying"... on the bottom right of a typesafe slide :)
these things it seems happen even to the best
Lior Neuman You seem to focus on small things and I am sure you'd have missed the big picture.
Well done Scala!!! Amazing
how are you doing. are you in nigeria?
Fantastic talk. Coursera course has brought me here.
Scala is really amazing for multithreading issues. Much better than c# async await.
For performance reason and Oracle and IBM have close collaboration on improving JVM. Not many people know it.
Short by very nice talk.
the advanced course is here --> coursera.org/course/reactive
"Principles of Reactive Programming" by Martin Odersky, Erik Meijer and Roland Kuhn
Coursera has changed these days :/
i also heard about it, sounds like something about concurrency or parallel programming
About Parallelism... Why IBM not uses Scala for "Watson"?
@pkasb90 I'm interested to know too. Can you please explain further? I'm looking forward to learning Scala atm.
and he was planning to do an advanced course this fall
fantastic talk
does it use the scala combinator parsers to parse the DSL to generate the AST?
Hi,
Does anyone agree over here that the "Time vs Space graph" shown at 6 minutes is technically incorrect ? If no, then can someone please explain me how come space functions (vertical lines) are distributed at different timings if they are parallel on given time ?!! Entangling of Imperative language is understandable due to locking mechanism and all, but isn't this graph an incorrect example for difference which Martin Odersky wants to explain ??
+Pratik Mehta
IMHO the difference is more subtle than that. Its about the abstraction at which you think when implementing the solution (not from a functional requirements perspective).
He said when you are writing code, you dont have to think in terms of time, you can think in terms of building blocks like legos.
e.g. when writing a multithreaded app, you dont worry about things like locking, waiting, notifying of threads, the correct sequence in which these things happen and how you guard against these; you let the scala compiler take care of these things.
Later on he also said that as humans we are optimistic; we dont guard against whatever would possible go wrong; again alluding to the same thing
Hope that helps.
+PlanetSunny6 I had the same question as the OP and your reply was clear enough. thank you!
Since functions are referential transparent, they can execute in parallel in different space, at the same time, yielding the same result even if they are executed in different sequence(determinism).
Functional Programming Principles in Scala
Hello Scala...here I come baby!!!!
Scala, AKKA, parallel embedded DSLs. This top science is what separates minors from adults.
I did some of my most critical programming as a minor (in C and C++ of course)... Do you mind sharing your framework on GitHub or something? Perhaps an old adult like me can learn from it!
great video
From the top of my head, here’s a short list of my own favorite tech talks for every programmer :)
What do you think? medium.com/@mithi/a-few-good-tech-talks-c00bda9ab3ab#.tldvbi6ol
good one! you should consider adding Simon Ritter's 55 features in Java 9
4:39 I love the accidental humor
y pic of guiddo van rossum?
good question
@pkasb90 Really? What about some more specific examples? Since Scala people don't seem to have those "huge problems".
Could you please send me the cours name ?
Functional programming principles in Scala
tpying, typo?
Coursera, Thumbs up!
Your examples for Scala only work in a classroom environment. Simplicity programming in Scala will run into huge problems in real coding later on. Coders will understand what I mean.
Azlan
Any opinions now? I was starting to learn Scala now
10:18 that's a very un-encapsulated java class.. why are the members public?
13:34 "... and the it sends minors to Facebook and adults to LinkedIn".
Hmm... I'm a minor XD
And I learned and control half of it in half a week :)
And also made an handy,consice assertion framework on the third day after starting to learn scala :)
I'm special :)
congratulations, have a cookie
yeah right..tell that to twitter, linkedin and many more that uses scala in production..zzzz