Mr. Derek Banas, What an amazing contribution by you to humanity. Your investment of time to teach million others what you have mastered is extremely appreciated. You are a god-given gift to humanity. Beautiful explanation and loved watching and learning from it. I want you to know that for ever 1000 people who learn and benefit from you, may be a small fraction may take the initiative and communicate to you how helpful your efforts have been to them. However, I want you to know, the actual number of people who bless you and appreciate you is at least 1000 times more than the number of times you get to hear from them. So, thank you, god bless and kindly do keep up your benevolent gesture of teaching others what you know. We are all grateful to you even if only a few of them end up sharing this thought with you. Good luck and Take care.
Thank you for taking the time to write such a nice message :) I greatly appreciate it !!! I'm blessed to be able to make these videos and I'll continue making them as long as possible. I wish you and your family all the best.
Derek. Thank you sooo much for teaching me this. I'm actually enrolled in a big data course currently, however, my instructor isn't thorough, articulate, nor reliable. I've been relying solely on what I've been able to retain from the class, but it honestly SUX. It's proven to be a waste of time. Very very unnerving when you've invested into a course and the instructor is as competent as learning it on your own, from nothing.... 😤😤😤😤😤😤😤😤😤😤😤😤 RUclips and your knowledge & articulation will take me where I want to be. THANKS FROM THE BOTTOM OF MY HEART.💛
I like the information density. I see videos all the time when they spend the entire time telling you about what they are going to tell you and then breezing past the pertinent parts. Thanks
Derek you are "The Don" of teaching coding on youtube. I've started watching your videos when I first started to learn coding, and now watching your videos as I need to pick up a new language for work.
Derek Banas What a coincidence Derek !! I just started searching for *Scala* tutorials and also searched your videos just 2 days ago !! Thank You for the video.
Your video tutorials are very effective for me to learn a language since I often can't seem to motivate myself to read those huge books. It takes me 2-3 times the amount of time of a video to watch it because I have to pause and repeat every now and then, but then I'll have the whole cheat sheet written down by myself, memorized and saved for future reference. Thank you very much.
Yesterday literally I was checking if Derek Banas has a tutorial on Scala programming language and was sad to find out that he doesn't. Today a notification came about Derek posting Scala video tutorial. Derek. You're the best! :-)
Your channel should be compulsory for anyone trying to get into programming or getting a degree in computer science. Thanks for your dedication and great work!!
Wow!! great introduction to the basic syntax. From all the comments below seems like the next thing is understanding the functional aspects in detail. This is exactly what I needed.
My #1 goto place on the internet to quickly bring me up to speed on all aspects of software development. I really appreciate what you do Derek. Thanks very much....
Very informative tutorial :). I like the way you show how to install on Mac AND Windows, and the way you included adding it to the PATH, a lot of people leave that out and it ends up with a lot of confused people haha. Keep up the quality content :D!
"1" is not a prime number! ;-) I have watched many of your videos, and I greatly prefer the ~20 minute versions (even if there are 3 or 4 of them) of specific parts of a language rather than one long video. You are doing great work and helping mold a generation of programmers.
Thank you very much :) Yes 1 isn't prime. I think I removed it later in the tutorial and if I didn't I must have been crazy that day. I'm moving towards shorter videos now.
Really awesome...:) with in one video most of the Scala programming language covered, you really awesome person, you never tried for commercial to only earn money... really appreciate your way of thinking and every your video short and sweet..:) thanks for the valuable videos...!!
I've learnt Python in the last six months and now instead of starting a second language I watch one video a day on this channel to get familiar with lots of languages and then I will be able to make a better decision :) I was hoping that Scala would be next, I already have it setup on IDEA to try out the basics! :)
Thank you Derek for such a lovely and precise piece of art. Can you please make another Tutorial on how to handle big Scala projects. Like calling functions, making classes in different files and other such issues as well?
this guy has tutorials for like every language, so obviously he can't really understand all of them which really annoys me because he doesn't make sure the viewer understands that before 'teaching' them a language. he's basically trying to code Java, just using Scala syntax. shameful.
if you want FP scala, just lookup a scalaz tutorial, then after that a cats tutorial. it's really difficult to condense all that into one video. i still think this was a great tutorial for the impatient.
I think there are other good FP resources for Scala that don't have to do with either ScalaZ or Cats "Programming in Scala" by Odersky, Spoon, and Venners is a good book. It goes through the basics of Scala and along the way talks about best FP practices (immutable data, referential transparency, etc.) Particularly, it talks about how the Scala language facilitates FP.
Scala is about writing concise, readable, composable, testable and parallelizable code. This is achieved with immutable objects, functional abstractions, by using the smart type system and some powerful constructs. Your constructor fiddling is non-Scala-ish, and what happens with an animal of name "No name"? If you want to restrict the admissable values for names you better uses a value class "Name" with a companion object which provides a method to get an Option[Name] for an arbitrary string argument after checking the condition. Then your Animal class can have a constructor argument "name: Name", avoiding the check here and hence the assignment to a variable. The "Scala Cookbook" by Alvi Alexander teaches how to write idiomatic Scala code. So I would like you to make an improved Scala video next.
Btw. when using optional parameters with default values in the primary constructor you don't need auxiliary constructors. IMO auxiliary constructors are seldom used in good designed Scala classes.
+Derek Banas Thanks for getting back to me... I was doing lot of reading and find that python ( luigi) is easier for spark.... If you can teach spark with python and/or scalding....... I don't know who you are but you are genius to know all these languages and make you seem like this is natural to you.
This doesn't seem like a good tutorial to actually learn Scala, just to simulate OOP concepts from a language like Java, using Scala. That is not the point of Scala, the point is the functional programming side of the language which seems to be almost completely ignored in this video (I have only watched 30 minutes of it, but I checked the cheat sheet). Indeed, without the functional features, there would be no technical reason for the existence of Scala. Please change the title of this video so that people know what is actually being taught here. Thank you.
I think that this is a great start for programmers as scala has many reasons to exist besides functional programming it's made to be a mix between oop and fp while being one of the best languages on jvm
How do you learn things? What's your steps? I am programming for over 12 years now and I have worked on Java Script, VB.Net, C#, Java SE, Java EE,... But it took a long time for me to be able to be good at them. But it seems for me that you grasp the whole concepts very quick and you start teaching them. What is your secret? What is the source of learning? is it books or ...? What is your approach? Please tell me.
When I learn anything I think a little practice every day is extremely important. 1 to 1.5 hrs every day works best for me. Anything more then that and I get bored, but I do it every day. Then all I do is read the best book if it is available. I supplement that with blogs, stack overflow, APIs, etc. until I make a master cheat sheet. I then refer to the cheat sheet as I practice with the language, or anything. I did basically the same thing when I learned crochet 3 weeks ago. After a while I don't need to refer to the cheat sheet anymore and it stays locked in my brain. I don't try to memorize, but instead I try to learn how to utilize what ever I'm learning. I hope that helps. I'm not smart
Awesome tutorial. Can you please suggest what should be a good next step to get comfortable with this language. Are their any exercises that you would recommend?
Hey Derek, I've been keeping an eye on your channel for a while and there are tonnes of tutorials which is great. But one thing I think would be useful and probably wouldn't take too long is how/when all these different languages are used? How they can interact perhaps? If you know what it is you want to do but not which language can actually do that it would be useful to have a summary of that kind of thing in one place if you see what I mean? Maybe a video on that would be good or perhaps just like an info graphic or a description on your website would be clearer? Great videos though :)
+abarnybox Thank you :) Yes I have been thinking about how I can best cover topics like this. Thank you for the request. I'll see what I can come up with. Just understand that most programmers use very few languages. Most of the languages I have been covering are used because they are perfect for university research projects. They also help people better understand programming in other languages. I personally use Java, PHP, JavaScript and related frameworks for 90% of my work.
hi..Derek i love your teaching style and i learned many things from your videos...and we all blessed to have a teacher like you ... along with video lectures you also design some sample Projects on that language which you post for the day so as a learns we can easily have some industrial experienced projects ...thank you ...hope for your reply
Dear Derek, I have a question about how to use the split function. I want to split sentences by double quote, newline, space, comma, period. But I do not know how to write the code for spliting. Thanks.
+徐昌乐 You'll split based on a regular expression. Here is an example www.safaribooksonline.com/library/view/scala-cookbook/9781449340292/ch01s04.html I have a regular expression tutorial that can help as well.
Derek , Thank you for this awesome video , your lesson is clear and easy to follow . I am having a hard time to download scala in to my windows computer , I did follow your instructions but I guess I need a little help completing that
Excellent!, Scala is slightly complicated and you very easily explained different syntax for functions etc. Bravo! Can you do a Swift or Go or Javascipt tutorial!
Great, I really enjoyed the video. It takes a lot of experience with a language to simplify it and you showed it. The whole complication of Scala is the "syntax" because other concept i.e. functional , closure etc are present in other languages
It would be great if you can do some lecture for a) Functional programming vs Object Oriented programming, b) why and why not we learn and use functional programming
Hi Derek, I can't understand how u implemented continue in the for loop.I feel u are just just checking a condition and going to the next iteration and not omitting the code below it which is the actual property of continue (in ur case there is no code below that statement). Am i missing to understand smthg?
Hi @DerekBanas Thank you for making such crisp and clear tutorials. they are all amazing! I have learnt so much from your tutorials. Do you have any plans to make tutorials related to Big Data like Hadoop/Hue/Pig etc in the near future ! :) Thanks!
At 1:01:05, you mentioned to try spike.setName("SpikeOne"). When I did the println(spike.toString) after, it was still "Spike". I tried to debug by running spike.getName after, it does reflect "SpikeOne" correctly, but not when running spike.toString. Does this happen to you? If so, what is the correct way to fix this? Overriding setName seems pointless because it would be useless to extend the class then. As a JavaScript user, I think this might have to be something with the "this" context that runs the toString method inside the Dog class? Overall, awesome tutorial!! Your tutorial explains so much better than the others!
thank you very mush Derek, this is a very concise and useful intro to Scala. I m wondering are you planning to make a video specifically on Functional Programming?
Hi Derek, I just wanna say that your vids are amazing. But I have a question: How did you master so many languages? Do you read books everyday about them? Thanks a lot :)
+Ming Huang Thank you :) I have been doing this stuff for 30 years. After you learn one language he rest get much easier to learn. Every language has similar tools and I find it helpful to document how each new language differs tool wise on a cheat sheet. Then I just practice a lot.
I am currently doing your MEAN stack tutorials. We just had a speaker, and author of 'Functional Programming in JavaScript', give a presentation at my partners meetup. I am really interested in functional programming and wanted to know what stack you would use for an application in functional programming. The speaker talked about JavaScript not really being a functional language and brought up Scala and some others like Ramda for JS. What is your go to functional language/stack?
Val friends = Array ( " Bob" , "Tom" ) Friends(0) = "Sue" Println ("Best Friend " + friend(0) ) O/P - Best friend Sue But using val keyword we assign values to variable which cannot be changed. Then how come we changed Bob to Sue ???
Dude, you gotta have more views this is good $hit!... I program in a few other languages, but just learning Scala and your stuff was on point! I'd post it to r/Scala and the subreddits of scala maybe.
+YTavish141 Thank you :) I don't spend much time promoting myself. I figure people will find the videos if they want them. I think it is cool that I'm a little popular on Reddit.
Every time I try to Download forge, it says that it can not download the libraries. I could download most of the files manually, but the plugins would not download. Any advice?
Awesome video Derek! Speaking on languages that run on the JVM, it will be great if you can do the same kind of this video but for Groovy. Thanks, Mahmoud.
+Seshadri Raman This covers all of the basic syntax from which everything else is made. It is basically a 250 page book in a video. Programming in Scala goes into more detail amzn.to/1VWg6cM
My mac already has the Java Runtime Environment. (I assume that's the same as the Java Virtual Machine). But I have no "homebrew". Do I need the latter at all then? I ask because, as of yet, typing "scala" into Terminal yields an error.
Mr. Derek Banas, could you please advise the best book and resources to learn Apache Spark very quickly? Is there any Apache Spark for the impatient? Kindly advise.
Hi Derek, this is indeed a nice tutorial. Thank you very much. Which editor are you using and also can u please tell me how to install scala kernel in Jupyter in Windows?
Thank you Derek for getting back to me. Yes I checked the github page. But it doesnt state how to install it in Windows. Though I downloaded the jupyter-scala executable. But its not taking commands in Windows.
Hi there, this is a superb video but the inheritance example doesn't seem to work I'm afraid - I thought it was odd that you called a setter method with exactly the same value as you passed in for a field in the constructor, this would've highlighted the issue during the video had you set the name to Spot instead of Spike in the setName call. The Dog object retains the name first given to it in the constructor, using [Dog].setName and [Dog].getName do yield the correct results, however the issue is seen in the overridden toString method inside Dog. "this.name" retrieves the name first ever set in the constructor but doesn't seem to be able to pick up any change to it after the [Dog].setName method is called (hence why I was sceptical of you setting the value "Spike" - the same as you constructed the Dog with in the first place). To resolve it I had to alter my Dog toString method to the following (this.getName() rather than this.name): override def toString: String = { "%s with the id %d says %s or %s".format(this.getName, this.id, this.sound, this.growl) } Can you help me understand why this.name doesn't work but this.getName() does?
***** Get a bunch of sources : Books, Videos, Blogs, etc. and work your way through learning the essentials like loops, input, output, etc. Make cheat sheets. Then work through translating algorithms into your new language. If it is an OO language translate design patterns into the new language. Keep doing this until you can make most any program.
Great tutorial as always! I've been learning Python lately and I think it would be great if you do a tutorial on Django, is that coming anytime soon? Anyway, thanks for all the time that you put to these videos! They're excellent!
Learn in One Videos for Every Programming Language
Subscribe to Bookmark them: bit.ly/2FWQZTx
C++ : ruclips.net/video/Rub-JsjMhWY/видео.html
Python : ruclips.net/video/N4mEzFDjqtA/видео.html
Java : ruclips.net/video/n-xAqcBCws4/видео.html
PHP : ruclips.net/video/7TF00hJI78Y/видео.html
MySQL : ruclips.net/video/yPu6qV5byu4/видео.html
JavaScript : ruclips.net/video/fju9ii8YsGs/видео.html
C# : ruclips.net/video/lisiwUZJXqQ/видео.html
HTML5 : ruclips.net/video/kDyJN7qQETA/видео.html
CSS3 : ruclips.net/video/CUxH_rWSI1k/видео.html
JQuery : ruclips.net/video/BWXggB-T1jQ/видео.html
TypeScript : ruclips.net/video/-PR_XqW9JJU/видео.html
ECMAScript : ruclips.net/video/Jakoi0G8lBg/видео.html
Swift : ruclips.net/video/dKaojOZ-az8/видео.html
R : ruclips.net/video/s3FozVfd7q4/видео.html
Haskell : ruclips.net/video/02_H3LjqMr8/видео.html
Handlebars : ruclips.net/video/4HuAnM6b2d8/видео.html
Bootstrap : ruclips.net/video/gqOEoUR5RHg/видео.html
Rust : ruclips.net/video/U1EFgCNLDB8/видео.html
Matlab : ruclips.net/video/NSSTkkKRabI/видео.html
Arduino : ruclips.net/video/QO_Jlz1qpDw/видео.html
Crystal : ruclips.net/video/DxFP-Wjqtsc/видео.html
Emacs : ruclips.net/video/Iagbv974GlQ/видео.html
Clojure : ruclips.net/video/ciGyHkDuPAE/видео.html
Shell : ruclips.net/video/hwrnmQumtPw/видео.html
Perl : ruclips.net/video/WEghIXs8F6c/видео.html
Perl6 : ruclips.net/video/l0zPwhgWTgM/видео.html
Elixir : ruclips.net/video/pBNOavRoNL0/видео.html
D : ruclips.net/video/rwZFTnf9bDU/видео.html
Fortran : ruclips.net/video/__2UgFNYgf8/видео.html
LaTeX : ruclips.net/video/VhmkLrOjLsw/видео.html
F# : ruclips.net/video/c7eNDJN758U/видео.html
Kotlin : ruclips.net/video/H_oGi8uuDpA/видео.html
Erlang : ruclips.net/video/IEhwc2q1zG4/видео.html
Groovy : ruclips.net/video/B98jc8hdu9g/видео.html
Scala : ruclips.net/video/DzFt0YkZo8M/видео.html
Lua : ruclips.net/video/iMacxZQMPXs/видео.html
Ruby : ruclips.net/video/Dji9ALCgfpM/видео.html
Go : ruclips.net/video/CF9S4QZuV30/видео.html
Objective C : ruclips.net/video/5esQqZIJ83g/видео.html
Prolog : ruclips.net/video/SykxWpFwMGs/видео.html
LISP : ruclips.net/video/ymSq4wHrqyU/видео.html
Express : ruclips.net/video/xDCKcNBFsuI/видео.html
Jade : ruclips.net/video/l5AXcXAP4r8/видео.html
Sass : ruclips.net/video/wz3kElLbEHE/видео.html
It’s not
It’s
This is exactly how tutorials should be done: in a clear and CONCISE way. Good job!
+Romeo Bellon Thank you very much :)
00:55 Installation
03:03 REPL
04:36 Data Types
07:00 Math
09:57 If
12:38 Compiled Scala / Main
13:11 While
13:57 Do While
14:25 For Loops
19:46 User Input / Output
25:17 Strings
27:40 Functions
31:08 Recursion
33:22 Arrays
34:32 ArrayBuffer
37:04 Yield
37:40 ForEach
41:52 Maps
44:59 Tuples
46:39 Classes
54:26 Companion Objects / Static
57:42 Inheritance
1:01:22 Abstract Classes
1:03:11 Traits
1:06:04 Higher Order Functions
1:06:46 Map
1:07:53 Filter
1:10:07 Closures
1:11:05 File I/O
1:12:57 Exception Handling
Mr. Derek Banas, What an amazing contribution by you to humanity. Your investment of time to teach million others what you have mastered is extremely appreciated. You are a god-given gift to humanity. Beautiful explanation and loved watching and learning from it. I want you to know that for ever 1000 people who learn and benefit from you, may be a small fraction may take the initiative and communicate to you how helpful your efforts have been to them. However, I want you to know, the actual number of people who bless you and appreciate you is at least 1000 times more than the number of times you get to hear from them. So, thank you, god bless and kindly do keep up your benevolent gesture of teaching others what you know. We are all grateful to you even if only a few of them end up sharing this thought with you. Good luck and Take care.
Thank you for taking the time to write such a nice message :) I greatly appreciate it !!! I'm blessed to be able to make these videos and I'll continue making them as long as possible. I wish you and your family all the best.
Derek. Thank you sooo much for teaching me this. I'm actually enrolled in a big data course currently, however, my instructor isn't thorough, articulate, nor reliable. I've been relying solely on what I've been able to retain from the class, but it honestly SUX. It's proven to be a waste of time. Very very unnerving when you've invested into a course and the instructor is as competent as learning it on your own, from nothing.... 😤😤😤😤😤😤😤😤😤😤😤😤 RUclips and your knowledge & articulation will take me where I want to be. THANKS FROM THE BOTTOM OF MY HEART.💛
I like the information density. I see videos all the time when they spend the entire time telling you about what they are going to tell you and then breezing past the pertinent parts. Thanks
+Cory Hurst Thank you :) I'm happy that you liked it.
Derek you are "The Don" of teaching coding on youtube. I've started watching your videos when I first started to learn coding, and now watching your videos as I need to pick up a new language for work.
Thank you for the nice compliment :) I'm happy I could help
What should I teach next? Dart, Elixir, or Object Oriented JavaScript
+Derek Banas OO JS
Alex Yspol Thanks for the input. Which ever gets the most votes wins.
Saur Thank you :)
Derek Banas object oriented javascript
Dart would be great!
Derek Banas What a coincidence Derek !! I just started searching for *Scala* tutorials and also searched your videos just 2 days ago !!
Thank You for the video.
Sudeepto Dutta You're very welcome :)
+Sudeepto Dutta Same here, I was just searching to learn some basics of scala for Play framework and found it.
Your video tutorials are very effective for me to learn a language since I often can't seem to motivate myself to read those huge books. It takes me 2-3 times the amount of time of a video to watch it because I have to pause and repeat every now and then, but then I'll have the whole cheat sheet written down by myself, memorized and saved for future reference. Thank you very much.
+ShiintoRyuu You're very welcome :) You are using the videos in the exact best way.
Yesterday literally I was checking if Derek Banas has a tutorial on Scala programming language and was sad to find out that he doesn't. Today a notification came about Derek posting Scala video tutorial. Derek. You're the best! :-)
Krystian Szczegielniak I was reading your mind :) My next video will be on how to read minds!
Your channel should be compulsory for anyone trying to get into programming or getting a degree in computer science. Thanks for your dedication and great work!!
dilo00o Thank you for the nice compliment :) I'm very happy that I could help
Lightning quick crash course to Scala, thanks for the concise and clear walkthrough, would be really cool to see one on typical scala design patterns.
+moglimogify Thank you :) I'll see what I can do about more Scala tutorials
Wow!! great introduction to the basic syntax. From all the comments below seems like the next thing is understanding the functional aspects in detail. This is exactly what I needed.
Thank you I'm happy I could help :)
Watching your tutorial for a long time. Need to say you are for me the de facto tutorial. Great work. thanks Derek for this.
My #1 goto place on the internet to quickly bring me up to speed on all aspects of software development. I really appreciate what you do Derek. Thanks very much....
Thank you for the nice compliment :)
Thanks for this Derek. As an experienced SmallTalk dev I found this very helpful transitioning to Scala.
+Mart sandique You're very welcome :) I'm glad it helped.
Very informative tutorial :). I like the way you show how to install on Mac AND Windows, and the way you included adding it to the PATH, a lot of people leave that out and it ends up with a lot of confused people haha. Keep up the quality content :D!
Thank you :) I do my best to help everyone. That is why I duel boot
"1" is not a prime number! ;-) I have watched many of your videos, and I greatly prefer the ~20 minute versions (even if there are 3 or 4 of them) of specific parts of a language rather than one long video. You are doing great work and helping mold a generation of programmers.
Thank you very much :) Yes 1 isn't prime. I think I removed it later in the tutorial and if I didn't I must have been crazy that day. I'm moving towards shorter videos now.
This is one great tutorial! Multiple concepts were succinctly explained. Thanks Derek! Please keep posting.
Thank you very much :) Many more are coming
Really awesome...:) with in one video most of the Scala programming language covered,
you really awesome person, you never tried for commercial to only earn money...
really appreciate your way of thinking and every your video short and sweet..:)
thanks for the valuable videos...!!
+Sanjayreddy Guna Thank you very much :)
I've learnt Python in the last six months and now instead of starting a second language I watch one video a day on this channel to get familiar with lots of languages and then I will be able to make a better decision :) I was hoping that Scala would be next, I already have it setup on IDEA to try out the basics! :)
sanshinron I'm happy I could help with Scala. It is a pretty easy language to learn and use.
Thank you Derek for such a lovely and precise piece of art. Can you please make another Tutorial on how to handle big Scala projects. Like calling functions, making classes in different files and other such issues as well?
Thank you for the nice compliment :) I'll see what I can do
I have been waiting for a Scala tutorial for a long time , thank you very much :)
Gherbi Hicham You're very welcome :)
I was under the impression that Scala was a functional language. This video seems to treat it like an imperative language.
this guy has tutorials for like every language, so obviously he can't really understand all of them which really annoys me because he doesn't make sure the viewer understands that before 'teaching' them a language. he's basically trying to code Java, just using Scala syntax. shameful.
He treated it like Java
if you want FP scala, just lookup a scalaz tutorial, then after that a cats tutorial. it's really difficult to condense all that into one video.
i still think this was a great tutorial for the impatient.
I think there are other good FP resources for Scala that don't have to do with either ScalaZ or Cats
"Programming in Scala" by Odersky, Spoon, and Venners is a good book. It goes through the basics of Scala and along the way talks about best FP practices (immutable data, referential transparency, etc.) Particularly, it talks about how the Scala language facilitates FP.
It is a multiparadigm language.
Scala is about writing concise, readable, composable, testable and parallelizable code. This is achieved with immutable objects, functional abstractions, by using the smart type system and some powerful constructs. Your constructor fiddling is non-Scala-ish, and what happens with an animal of name "No name"? If you want to restrict the admissable values for names you better uses a value class "Name" with a companion object which provides a method to get an Option[Name] for an arbitrary string argument after checking the condition. Then your Animal class can have a constructor argument "name: Name", avoiding the check here and hence the assignment to a variable. The "Scala Cookbook" by Alvi Alexander teaches how to write idiomatic Scala code. So I would like you to make an improved Scala video next.
Btw. when using optional parameters with default values in the primary constructor you don't need auxiliary constructors. IMO auxiliary constructors are seldom used in good designed Scala classes.
Derek, thank you for saving my ass for my end sem exams for both scala and haskell! love you bro
man this tut is really clear and fun, I could watch it all day
Is it possible for ou to teach Apache spark with Scala?
+farhancpa I'll see what I can do
+Derek Banas Thanks for getting back to me... I was doing lot of reading and find that python ( luigi) is easier for spark.... If you can teach spark with python and/or scalding....... I don't know who you are but you are genius to know all these languages and make you seem like this is natural to you.
+Derek Banas that would be awesome!
Great video. The only thing I think important that is missing is packages. It saved me a lot of time to get started.
+Daniel Porto Thank you :) Sorry for not covering packages.
This doesn't seem like a good tutorial to actually learn Scala, just to simulate OOP concepts from a language like Java, using Scala. That is not the point of Scala, the point is the functional programming side of the language which seems to be almost completely ignored in this video (I have only watched 30 minutes of it, but I checked the cheat sheet). Indeed, without the functional features, there would be no technical reason for the existence of Scala.
Please change the title of this video so that people know what is actually being taught here. Thank you.
I think that this is a great start for programmers as scala has many reasons to exist besides functional programming it's made to be a mix between oop and fp while being one of the best languages on jvm
Great video as always. It seems like you have a video for everything I could possibly want to learn. Can't wait for spring boot!
Great tutorial. I was hoping functional programming in Scala would be covered; monads, closure, and function currying.
can you put a spark tutorials please!!!
I'll see what I can do
Akka would also be great. There's a dearth of good video information on it.
Yes Spark tutorial please
Yes spark Please
Spark Please. :)
If Python & Java had a child
@ 17:40 - nested for loop example : ideally, should variable 'j' have been initialized to 0 as well? i.e. var i=0; var j=0
This might be a dumb question but @ 24:25, where it's written println(s"") or println(f"") why were 's' and 'f' put in there?
i have the same question too
Great and very dense (per time unit) introduction to Scala. Thanks! It helped me a lot.
+Dmitry Bandurin Thank you :) I'm glad I could help :)
Good Tutorials...Nice Work !!! Please make part two with more advance concept of scala and data structures. Thanks!!
Good Derek! I really got a hang of Scala.
Looking forward to seeing your Spark with Scala!
Thanks!
+Vikas Gupta Thank you :) I'll see what i can do
Thank you Derek. You are really awesome. This was such a power packed video. Regards from India. Cheers!
Thank you very much :) I'm happy I could help
How do you learn things? What's your steps? I am programming for over 12 years now and I have worked on Java Script, VB.Net, C#, Java SE, Java EE,... But it took a long time for me to be able to be good at them. But it seems for me that you grasp the whole concepts very quick and you start teaching them. What is your secret? What is the source of learning? is it books or ...? What is your approach? Please tell me.
When I learn anything I think a little practice every day is extremely important. 1 to 1.5 hrs every day works best for me. Anything more then that and I get bored, but I do it every day. Then all I do is read the best book if it is available. I supplement that with blogs, stack overflow, APIs, etc. until I make a master cheat sheet. I then refer to the cheat sheet as I practice with the language, or anything. I did basically the same thing when I learned crochet 3 weeks ago. After a while I don't need to refer to the cheat sheet anymore and it stays locked in my brain. I don't try to memorize, but instead I try to learn how to utilize what ever I'm learning. I hope that helps. I'm not smart
I'm quiet impressed that scala has anonymous generators. It's a feature that I have wanted to have in c# for quiet some time now
Thank you very much for this very detailed presentation of Scala language. Tremendous work!
Thank you :) I'm happy I could help
Awesome tutorial. Can you please suggest what should be a good next step to get comfortable with this language. Are their any exercises that you would recommend?
Hey Derek,
I've been keeping an eye on your channel for a while and there are tonnes of tutorials which is great. But one thing I think would be useful and probably wouldn't take too long is how/when all these different languages are used? How they can interact perhaps? If you know what it is you want to do but not which language can actually do that it would be useful to have a summary of that kind of thing in one place if you see what I mean?
Maybe a video on that would be good or perhaps just like an info graphic or a description on your website would be clearer?
Great videos though :)
+abarnybox Thank you :) Yes I have been thinking about how I can best cover topics like this. Thank you for the request. I'll see what I can come up with. Just understand that most programmers use very few languages. Most of the languages I have been covering are used because they are perfect for university research projects. They also help people better understand programming in other languages. I personally use Java, PHP, JavaScript and related frameworks for 90% of my work.
hi..Derek i love your teaching style and i learned many things from your videos...and we all blessed to have a teacher like you ... along with video lectures you also design some sample Projects on that language which you post for the day so as a learns we can easily have some industrial experienced projects ...thank you ...hope for your reply
+Arunsai Vemula Thank you for the nice compliment :) I'm very happy that I could help.
Dear Derek,
I have a question about how to use the split function. I want to split sentences by double quote, newline, space, comma, period. But I do not know how to write the code for spliting. Thanks.
+徐昌乐 You'll split based on a regular expression. Here is an example www.safaribooksonline.com/library/view/scala-cookbook/9781449340292/ch01s04.html I have a regular expression tutorial that can help as well.
I have a scala job interview tomorrow, never used scala in my life. Lets see how far Derek's video will get me
I wish you the best of luck in your interview 😁
thanks, but felt not that much helpful, what about functional programming and concurrent programming in Scala?
If I'm graduating, it's because of you! Hahahaha You saved me so many times! Thank you from Brazil! xP
Thank you for the nice compliment :) I wish you all the best
Derek , Thank you for this awesome video , your lesson is clear and easy to follow .
I am having a hard time to download scala in to my windows computer , I did follow your instructions but
I guess I need a little help completing that
Thank you :) What problem are you having?www.scala-lang.org/download/
sorry for my late reply , it downloaded perfectly
use command (in scala repl) to save the command executed in the session --> :save ./filename
A really good tutorial. Covered more than I expected in this short time.
Clojure! It would be a good followup for a more pure approach to functional JVM land...
Andrew Suzuki Clojure is on the list. Thank you :)
Another awesome screencast. Thank you.
+Raf Fareen Thank you very much :)
Eric, This is super cool, thanks for sharing! Please don't forget the Erlang tutorial! BTW what software do you use to record the videos?!
Luis E Tineo Thank you :) I record with Camtasia 2 and edit with iMovie
Excellent!, Scala is slightly complicated and you very easily explained different syntax for functions etc. Bravo!
Can you do a Swift or Go or Javascipt tutorial!
Thank you :) I have a video like this for pretty much every language here ruclips.net/p/PLGLfVvz_LVvSX7fVd4OUFp_ODd86H0ZIY
I'm also going to make learn in one videos for Erlang, Elixir, Kotlin and Swift 3 in the next few weeks
Great, I really enjoyed the video. It takes a lot of experience with a language to simplify it and you showed it.
The whole complication of Scala is the "syntax" because other concept i.e. functional , closure etc are present in other languages
It would be great if you can do some lecture for a) Functional programming vs Object Oriented programming, b) why and why not we learn and use functional programming
vineet singh I'll see what I can do. Thank you for the request
1:10:17 is this ptr to function/lambda-expresion ?
Hi Derek, I can't understand how u implemented continue in the for loop.I feel u are just just checking a condition and going to the next iteration and not omitting the code below it which is the actual property of continue (in ur case there is no code below that statement). Am i missing to understand smthg?
Really informative and superbly presented for beginners!!Thank you so much Derek :)
Thank you :) You're very welcome
Good job Derek. I liked your simple examples. Thank you.
Teach the difference in Programming models: Imperative, Functional, Object Oriented, Reactive Model, Map Reduce and whatever the new things out there
I'll see what I can do
thanks Derek :) Tutorial was good :) However, it was difficult to understand without understanding the basics of functional programming
Thank you, Derek, for giving me such a great headstart on Scala!
I'm very happy to be able to help :)
Around 12mins, you seemed jumped a bit. What is the left window and what is the right window? (notepad++?)
+James SONG I have sublime text on the left and chrome on the right
Hi @DerekBanas
Thank you for making such crisp and clear tutorials. they are all amazing! I have learnt so much from your tutorials.
Do you have any plans to make tutorials related to Big Data like Hadoop/Hue/Pig etc in the near future ! :)
Thanks!
Vivek Mangipudi You're very welcome :) Thank you. I'm working on a Hadoop tutorial that I hope to upload soon.
Sounds Great! Thanks for the update! :)
At 1:01:05, you mentioned to try spike.setName("SpikeOne"). When I did the println(spike.toString) after, it was still "Spike". I tried to debug by running spike.getName after, it does reflect "SpikeOne" correctly, but not when running spike.toString. Does this happen to you? If so, what is the correct way to fix this? Overriding setName seems pointless because it would be useless to extend the class then.
As a JavaScript user, I think this might have to be something with the "this" context that runs the toString method inside the Dog class?
Overall, awesome tutorial!! Your tutorial explains so much better than the others!
Hi Derek Thanks for the Scala Video. But could you please upload a video that shows the functional side of Scala
+Aman Tuladhar Your welcome :) I'll see what I can do
+Derek Banas Thanks
Very Good Tutorial. Especially the Last 30 Minutes
+Gaurav Nigam Thank you :)
thank you very mush Derek, this is a very concise and useful intro to Scala.
I m wondering are you planning to make a video specifically on Functional Programming?
+Sam Zaroug (Saz) You're very welcome :) I have tutorials on most of them. I plan on covering R soon
scala tutorials was too good, thanks a lot!!
Thank you :) I did my best
Thanks Derek, this video is a great jump start.
+Christopher Mills You're very welcome :)
It is really awesome. Thanks for the swift intro to scala.
+Neeraj Bhatyal Thank you very much :)
As always a great tutorial Derek. Thanks very much.
Thank you :)
Hi Derek, I just wanna say that your vids are amazing. But I have a question: How did you master so many languages? Do you read books everyday about them? Thanks a lot :)
+Ming Huang Thank you :) I have been doing this stuff for 30 years. After you learn one language he rest get much easier to learn. Every language has similar tools and I find it helpful to document how each new language differs tool wise on a cheat sheet. Then I just practice a lot.
I am currently doing your MEAN stack tutorials. We just had a speaker, and author of 'Functional Programming in JavaScript', give a presentation at my partners meetup.
I am really interested in functional programming and wanted to know what stack you would use for an application in functional programming. The speaker talked about JavaScript not really being a functional language and brought up Scala and some others like Ramda for JS.
What is your go to functional language/stack?
Haskell
Great lesson. Like your presenting style, too.
+Alex Povolotski Thank you very much :)
Does the course cover basic to advanced scala concepts??
Val friends = Array ( " Bob" , "Tom" )
Friends(0) = "Sue"
Println ("Best Friend " + friend(0) )
O/P - Best friend Sue
But using val keyword we assign values to variable which cannot be changed. Then how come we changed Bob to Sue ???
Can you do updated Scala 3 tutorial, please?
You are doing god's work Derek. Great stuff!
Thank you very much :) I'm glad I could help
Dude, you gotta have more views this is good $hit!... I program in a few other languages, but just learning Scala and your stuff was on point!
I'd post it to r/Scala and the subreddits of scala maybe.
+YTavish141 Thank you :) I don't spend much time promoting myself. I figure people will find the videos if they want them. I think it is cool that I'm a little popular on Reddit.
Every time I try to Download forge, it says that it can not download the libraries. I could download most of the files manually, but the plugins would not download. Any advice?
Awesome video Derek! Speaking on languages that run on the JVM, it will be great if you can do the same kind of this video but for Groovy.
Thanks,
Mahmoud.
Is there a part 2 or can you please suggest some tutorials on Scala for people who have viewed this?
+Seshadri Raman This covers all of the basic syntax from which everything else is made. It is basically a 250 page book in a video. Programming in Scala goes into more detail amzn.to/1VWg6cM
+Derek Banas
Thank you very much!
My mac already has the Java Runtime Environment. (I assume that's the same as the Java Virtual Machine). But I have no "homebrew". Do I need the latter at all then? I ask because, as of yet, typing "scala" into Terminal yields an error.
You need the Java Development Kit which you can find here www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Great tutorial and neat presentation style! 👌
Thank you very much :)
Mr. Derek Banas, could you please advise the best book and resources to learn Apache Spark very quickly? Is there any Apache Spark for the impatient? Kindly advise.
The Sam's 24 hour book is pretty good, but a bit out of date. Other then that I haven't had a chance to look at others
Hi Derek, this is indeed a nice tutorial. Thank you very much. Which editor are you using and also can u please tell me how to install scala kernel in Jupyter in Windows?
Thank you :) have you seen this github.com/alexarchambault/jupyter-scala
Thank you Derek for getting back to me. Yes I checked the github page. But it doesnt state how to install it in Windows. Though I downloaded the jupyter-scala executable. But its not taking commands in Windows.
Hi there, this is a superb video but the inheritance example doesn't seem to work I'm afraid - I thought it was odd that you called a setter method with exactly the same value as you passed in for a field in the constructor, this would've highlighted the issue during the video had you set the name to Spot instead of Spike in the setName call.
The Dog object retains the name first given to it in the constructor, using [Dog].setName and [Dog].getName do yield the correct results, however the issue is seen in the overridden toString method inside Dog. "this.name" retrieves the name first ever set in the constructor but doesn't seem to be able to pick up any change to it after the [Dog].setName method is called (hence why I was sceptical of you setting the value "Spike" - the same as you constructed the Dog with in the first place).
To resolve it I had to alter my Dog toString method to the following (this.getName() rather than this.name):
override def toString: String = {
"%s with the id %d says %s or %s".format(this.getName, this.id, this.sound, this.growl)
}
Can you help me understand why this.name doesn't work but this.getName() does?
excellent overview: succinct, simple and smartly presented.. thanks!
Thank you very much :)
Excellent material presentation. Thank you.
Thank you :)
Awesome. Thanks!
Thank you very much :)
8:12 import math.{abs, cbrt, ceil. round, floor, exp, pow, sqrt, hypot, log10, log, min, max, random}
Derek, how do you pick up and completely learn a whole coding language so fast?
***** Get a bunch of sources : Books, Videos, Blogs, etc. and work your way through learning the essentials like loops, input, output, etc. Make cheat sheets. Then work through translating algorithms into your new language. If it is an OO language translate design patterns into the new language. Keep doing this until you can make most any program.
+Derek Banas And finally it's here. Thanks a lot. :)
And BTW the standard book has 800 pages. ;-)
Dipankar Achinta You're very welcome. I'm working on condensing 800 page books into 1 hour videos. I need to learn how to talk faster :)
Great tutorial as always!
I've been learning Python lately and I think it would be great if you do a tutorial on Django, is that coming anytime soon? Anyway, thanks for all the time that you put to these videos! They're excellent!
Dark Mysteries Thank you :) Django is on the list and I hope to cover it soon.
Can you please do an algorithm analysis tutorial please?
+yazan Hussein Here is my data structure algorithm tutorial ruclips.net/video/f5OD9CKrZEw/видео.html I hope to make more soon
Is there a Spark tutorial in the works or is there one you would recommend? Please let me know.
Sorry I don't know of one. I'll see what I can do