A very great teacher, presentor that combines humor and technicality to get his message through. One of the greatest speaker I have seen in youtube... same as those I see on TED Talks.
Don't have words to applaud him.. mandatory video to watch for not only those who wants to work in Scala but for Java guys as well to see why you should move to Scala now :)
Cannot hold myself without commenting - Its a awesome tutorial for people who wish to learn Scala. Should be key for Hadoop developers as well who wish to use Scala in Spark.
I loved this tutorial absolutely. Funny way to learn the core Scala language. May be Venkat, you should write a Head First Scala book. It will sell like hot cakes!
@25:42 Java is pass by value. Pass by reference would allow you to assign a new thing to a parameter inside a function that would then be visible outside the function.
***** It's been a while since the original post, so I hope I am responding to correct thing. In java if you have a function f that takes a parameter x, let's say of String, within the body of f you can change the value of x, e.g. set it to null. This will have no effect on the value that x held when the function was called. As a matter of fact, x did not even need to be a variable. That is what is meant by pass by value. I thing what you may be thinking of is the case where you pass in not a String, but let's say a StringBuffer. Again, if you set x, the StringBuffer, to be null within f, it will have no effect outside of f. You can, of course, update the StringBuffer, but this has nothing to do with whether the parameter was passed by value or reference.
nice intro, you have covered some key topics very nicely which help not getting scared from scala, will be good to understand this in a step by step manner, something like "thinking in scala" thanks
anyone know how to resolve this issue? That entry seems to have slain the compiler. Shall I replay your session? I can re-run each line except the last one. [y/n] You must enter y or n. That entry seems to have slain the compiler. Shall I replay your session? I can re-run each line except the last one. [y/n] Abandoning crashed session. thanks in advance
This is a textmate script I wrote, it works similar to his: gatoprogramador (dot) snipt (dot) net/textmate-run-filescala-as-script/ (just set SCALA_HOME).
Really very informative video, excellent content, awesome speech with humor ohh I just added a Trait BTW (with humor) :D. and I wanted to know, what is the REPL, Text Editor, IDE is used for this presentation.
I wish I had watched this 4 years ago, instead of trying to follow 12-hour online courses on Coursera full of academical stuff and being bored to death.
Muhip, you mean the 'programming principles in Scala' course ?! The IDE setup on windows - 20 minute session was particularly painful with asian English accent that only their country can understand :-(.
Why even bother with the if(n == 1) guard, you can just write @scala.annotation.tailrec def factorialImpl(n: Int, fact: BigInt) : BigInt = n match { case 1 => fact case _ => factorialImpl(n - 1, fact * n) } Scala rocks... :)
He's arguments are very naive... For example: what's easier to notice during code review: var against val or private String against private final String?
This is really awesome! This is still relevant still after 11+ years since this content was published. Thank you! 🙏
Finally I video about scala where someone is actually writing code instead of display slides.
Deserves a standing ovation.
Indeed
One of the best technical presentations I have ever seen. Thanks!
+Alex McLintock what do you expect, scala programmed his brain and filled awesomeness.
A very great teacher, presentor that combines humor and technicality to get his message through. One of the greatest speaker I have seen in youtube... same as those I see on TED Talks.
The way he is speaking, has got my attention all along, didn't have to repeat the video at all. Excellent video.
Don't have words to applaud him.. mandatory video to watch for not only those who wants to work in Scala but for Java guys as well to see why you should move to Scala now :)
Can't wait to listen to him again next week in SF JavaOne2016. I migrated to Scala last year after 13 years in Java.
Cannot hold myself without commenting - Its a awesome tutorial for people who wish to learn Scala. Should be key for Hadoop developers as well who wish to use Scala in Spark.
This is exactly the kind of presentation I've been looking for.
Really good video that fills in the gaps most Java to Scala tutorials leave out. Great presenter too!
have been working on scala for a year now. A lot of missing things are cleared up here thanks venkat!
Excellent video! Learned so many things from this single video 👌 Great teacher
omg! I didn't even realise 1 hour 40 odd minutes. Before starting the video I was hesitant if I'll be able to make it. Wonderful talk
Scala and Clojure are making my life easier everyday.
Presenter,Presentation,Content -- Brilliant, loved it. Thanks Venkat !!
One of the best talks on Scala.
I just started working on a scala project. This was an excellent introduction.
Been Binge watching Venkat's talks!
I loved this tutorial absolutely. Funny way to learn the core Scala language. May be Venkat, you should write a Head First Scala book. It will sell like hot cakes!
wow this is a game changer... just "tailrec" alone! awesome video!
This guy is fantastic
@25:42 Java is pass by value. Pass by reference would allow you to assign a new thing to a parameter inside a function that would then be visible outside the function.
***** It's been a while since the original post, so I hope I am responding to correct thing. In java if you have a function f that takes a parameter x, let's say of String, within the body of f you can change the value of x, e.g. set it to null. This will have no effect on the value that x held when the function was called. As a matter of fact, x did not even need to be a variable. That is what is meant by pass by value. I thing what you may be thinking of is the case where you pass in not a String, but let's say a StringBuffer. Again, if you set x, the StringBuffer, to be null within f, it will have no effect outside of f. You can, of course, update the StringBuffer, but this has nothing to do with whether the parameter was passed by value or reference.
He is awesome!!! I'm totally buying his book.
This guy knows how to give a good talk. Very informative with a bit of fun
Excellent teacher! I love his lectures!
nice intro, you have covered some key topics very nicely which help not getting scared from scala, will be good to understand this in a step by step manner, something like "thinking in scala" thanks
Wonderful introduction to Scala. Very nicely organized and well explained.
A very eloquent and energetic speaker. Loved watching the video.
very good presentation about scala, great teacher.
This is awesome and Venkat is amazing!
Awesome !! Superbly explained, Nice work Venkat !!
Exceptional explanation ! Very good head start to learn Scala.
Learn new things about trait in this video. So thankful!
one thing attracted attention: the statement that in java function parameters are passed by reference.
He is the first person in the world who REALLY explained Scala to me. Btw what is the music? Greetz
Tail call optimization starts at 46:00
Lots of things to learn. Great Work
This is awesome video and they way he present the things is superb!!!
Can anyone suggest me a followup video/book to know more about sealed, monads, effects, pattern matching etc?
anyone know how to resolve this issue? That entry seems to have slain the compiler. Shall I replay
your session? I can re-run each line except the last one.
[y/n]
You must enter y or n.
That entry seems to have slain the compiler. Shall I replay
your session? I can re-run each line except the last one.
[y/n]
Abandoning crashed session. thanks in advance
Wow, that was a fun talk. Great speaker.
superb narrator. well explained
Great presentation as always.
Great introduction to Scala.
This is a textmate script I wrote, it works similar to his: gatoprogramador (dot) snipt (dot) net/textmate-run-filescala-as-script/ (just set SCALA_HOME).
is e predefined for the elements?, if we had many lists which list would scala choose.
Does anybody know how to setup BareBones TextEditor to work like Textmate as used in this video, basically compile and run scala code from BBEdit
?
This is a fantastic presentation
Anyone know what compiler/IDE/Editor he's using there?
TextMate
IntelliJ IDEA Community Edition 14.1.5
Its not IntelliJ. I think it is Textmate.
Durga swaroop Perla Thanks!
it is a joy to watch this video.
Insightful talk. Really enjoyed it.
how to setup intellij in the presentation mode he has? with a nice background, compiler errors shown as baloon etc
Now I at least know it's IntelliJ
Its not IntelliJ. I think it is Textmate.
Wow Scala!
Great video!! Thank you!
Awesome , Really good teacher ....
Wow......Venkat u rock !!!
Great teaching
This is really good intro to Scala. Which REPL he is using here?
awesome lecture as always!
Really amazing presentation
I am just wondering how can programming can be teach.. hats off sir.
Superb explanation.
what a great teacher!
Anybody knows which text editor he uses?
Fantastic talk. What editor is he using?
Really awesome talk!
do you happen to know if sublime text 3 has a similar plugin?
Great Presentation
How come this lecture has only 120k views? This is gold material. They can f**king charge for it!
Simply Awesome
Which plug-in is this ?
Really very informative video, excellent content, awesome speech with humor
ohh I just added a Trait BTW (with humor) :D.
and I wanted to know, what is the REPL, Text Editor, IDE is used for this presentation.
Great presentation. Thank you
Wonderful talk!
depends on india¿??
you made Scala interesting for me :)
What REPL is he using? This is not the standard REPL.
Excellent....
More, More, MORE!
-- Zoidberg
Scala is very cool!
53:36 "What are you smoking, this is not tail call optimized"
Awesome !!
Excellent
Amazing
Thank you. I finally got it.
great dude.
"Shared mutability is devil's work"
can confirm after just having taken an operating systems course.
Good to see mitpress.mit.edu/sicp/full-text/book/book.html mentioned at 46:00
Ok, what's the music ?
I feel very happy!
I liked this talk but if I may nitpick...
factorial(0) = 1. He should have really done "if (n == 0)" rather than "if (n == 1)".
I wish I had watched this 4 years ago, instead of trying to follow 12-hour online courses on Coursera full of academical stuff and being bored to death.
Muhip, you mean the 'programming principles in Scala' course ?! The IDE setup on windows - 20 minute session was particularly painful with asian English accent that only their country can understand :-(.
Very good presentation..
Why even bother with the if(n == 1) guard, you can just write
@scala.annotation.tailrec
def factorialImpl(n: Int, fact: BigInt) : BigInt = n match {
case 1 => fact
case _ => factorialImpl(n - 1, fact * n)
}
Scala rocks... :)
Below approach is better than using factorialImpl
@scala.annotation.tailrec
private def factorialWithTail(n: BigInt, accumulator: BigInt = 1): BigInt = {
if( n == 0 )
accumulator
else
factorialWithTail(n - 1, (accumulator * n) )
}
println(factorialWithTail(3000))
Fantastic presentation by an obviously brilliant guy, but he really doesn't understand cats at all!
damn, this guy is awesome.
Goood!!!
He's arguments are very naive...
For example: what's easier to notice during code review:
var against val
or
private String against private final String?
+Jay Cris but who wants to type "final" all the time when you could just write an 'L' instead of an 'R' (val/var)
recurisive