Hi there, amazing video straight to the point. As someone just starting out with Scala this channel is a goldmine! However I also wanna leave some feedback (unrelated to Scala), or rather advice to watchers of this video. 7+ years ago using a Before method probably seemed like a nice idea to reduce repition, but it also makes harder to understand what's going on inside of a test case. In this particular case it's not too bad, but people tend to use such "helpers" and before long there's tons of shared code in the Before method that prepares all kinds of state and it makes tests a little more coupled and opaque. The modern approach is to create a function that creates your object, so you'd have something like this repeated in every function: val stack = getDefaultArrayStack() So even if your initializationcode becomes more complex you still only have to change it in one place, but all tests are a bit more transparent about their initial state. There is still indirection/abstraction, but finding the places that actually runs the code is obvious (just follow the function call), rather than having to reason "oh this one variable here which comes out of nowhere might have been manipulated in some lifetime method of the test itself, i guess". Also if one test needs to prepare a little more or a little less than the others, no problem, just don't call the respective functions. Due to similar reasoning Microsoft (edit: not sure if they are the maintainers or someone else) actually removed their Setup and Teardown methods completely from newer XUnit versions (C# equivalent of JUnit)
@mattp64602 ай бұрын
thank you very helpful
@realmaddyson2 ай бұрын
Thank you!
@somasundaramvalliappan38513 ай бұрын
After working for so many years , just in this video I realised why we shouldn't use float/double for currency, thank you 😊
@full_stack98104 ай бұрын
2:34 This copy & paste only worked because the constructor argument *_balance* is of the type *Int* (a class), so the private field *balance* points to the same reference in memory and later updating the argument *_balance* in a closure still updates the field. If it was the primitive value *int* it would be a bug, so it would be best to have replaced the copy & paste values with *balance* instead. Nice example, and great videos! ❤
@Mitra-xb7tz5 ай бұрын
I am getting the following error in my scala console : scala> printf("hello") <console>:23: error: type mismatch; found : String("hello") required: org.apache.spark.sql.Column printf("hello")
@MarkLewis5 ай бұрын
I would need to know more about your setup. Are you doing this in a Spark shell? I just tried this in a recent scala and scala-cli and it works fine. The fact that your error mentions Spark makes me wonder how you are running your REPL.
@Mitra-xb7tz5 ай бұрын
@@MarkLewis yes, in spark shell.
@hubstrangers34506 ай бұрын
?v=saWlRI10LiQ on yt , is bigger blood bath to be unravel...., certainly would appreciate your thoughts though.... thank you
@mahdihossain6 ай бұрын
It is nice to see that you are still using scala. I first learn scala, many years ago, by watching your scala series. However, after 5 or 6 years working with it, I found this language can be replaced by Rust. We are now shifting our apps in RUST due to its (rust) more stability and industry compatibility, which scala lost a few years ago. RIP scala.
@MarkLewis6 ай бұрын
I like Rust for the things that need system-level performance, but I'm not convinced it is a replacement for Scala (or other JVM/.NET) languages when you don't need that. Rust has a higher cognitive load because you do have to care about certain memory details that happen automatically in those other environments. I wouldn't write off Scala. I still think it is a great language to program in and language popularity ebbs and flows over time. Python is older than Java, but didn't see wide-scale adoption for nearly two decades after release. Scala rose in popularity with functional programming in general. If there is another wave in popularity for functional programming, I expect it will benefit Scala. (I have to note that because all the default collections in Rust are mutable I don't consider it nearly as functional, though it does support many aspects of functional programming and pushes you to not use mutability in order to keep the borrow checker happy.)
@hubstrangers34506 ай бұрын
Thank you......however needs an example project though
@MarkLewis6 ай бұрын
Anything that needs an immutable sequence could use this.
@hubstrangers34506 ай бұрын
@@MarkLewis Thank you...
@rvt93246 ай бұрын
You’re back?! ❤
@hubstrangers34506 ай бұрын
Thank you....welcome back to YT, certainly looking forward to your content always...
@shivanisaxena18316 ай бұрын
Why not just use lock?
@MarkLewis6 ай бұрын
Manual locking is error prone. Do it too much and you are killing the benefits of parallelism and risking deadlock. Do it too little and you have race conditions. Using actors it is easy to model the parts of your program that are safe to run in parallel as separate elements and the framework will give you safety and high levels of parallelism.
@GG64du026 ай бұрын
Thank you sir, you helped me understand kdTree few months back. I integrated the kdTree search in a pathfinder project for a game (aka find the nearest node to route from). The log n search time is awesome. :)
@MarkLewis6 ай бұрын
Glad you found it useful. Spatial trees, including kD-trees, are some of my favorite data structures.
@dnslbr68986 ай бұрын
Finally, Mark! New videos from you! Are these gonna have a dedicated playlist?
Mark you are exceptionally generous and well organized instructor. thank you very much for your valuable material. well done!!
@esmaelmohamed82099 ай бұрын
After 10 years still your material is gold mining. You are exceptional Instructor. Thank you for all your did Sir!❤
@MarkLewis6 ай бұрын
Thank you for taking the time to write that. Those types of comments are very meaningful. Perhaps one of these days I'll take the time to update all of my material for Scala 3. I started doing that with my books, but I was hoping to use the null safety feature and that hasn't moved forward as fast as I would like.
@ChamindaRajapaksha-s5n10 ай бұрын
Dear Sir, I am an undergraduate and I habe my one year project using scala. How can I contact you. I really need your help.
@MarkLewis6 ай бұрын
Alas, I don't check my KZbin comments all that often.
@Anas01-c4s10 ай бұрын
thank you! amazing explanation
@akhileshnevatia99510 ай бұрын
Reminds of Dynamic Programming haha! Great video :)
@bolafahmi11 ай бұрын
Simple and informative, just what I needed.
@邵静虎11 ай бұрын
It's too cool
@FadkinsDiet Жыл бұрын
I can barely hear it, even with the volume up
@romaincomeau Жыл бұрын
Hello Professor Lewis, I am currently building projects with Scala Play, expected to be the reference for my team, and your playlist has been a huge help to me. I am wondering how you acquired all of this in-depth knowledge of the Play framework. Is it just from your experience, or have you also derived some of it from a book or another source? I have found the Scala Play documentation to be quite surface-level. Thank you for your time.
@MarkLewis6 ай бұрын
Sorry for the delay. I haven't been checking KZbin comments much. I acquired my knowledge from the docs and from reading a book years ago. I think it was www.manning.com/books/play-for-scala. Then I started writing various things. A lot of it was self-taught looking stuff up when writing my own stuff. Manning has a slightly newer book in www.manning.com/books/reactive-web-applications, but even that is almost a decade old at this point.
@static_void_ Жыл бұрын
Thank you for sharing this playlist. It is so fun and easy to follow and genuinely learning and understand how the language works. Thanks for the Vim tips. super fun to use
@mdjafar8562 Жыл бұрын
Scala Spark OR Scala Play Frameworks certificate mile jayega kahi se free of cost ??
@小猫-c3e Жыл бұрын
What a good scala video, you saved my day!
@romaincomeau Жыл бұрын
Hello Mark Lewis, thank you so much for being one of the best scala resource on the internet. I have been learning scala for about 3 months, programming for a year and a half and have been learning a lot from your more recent videos.
@MarkLewis Жыл бұрын
Thank you for taking the time to write this. I am glad to hear that you are finding them useful.
@kristiannn Жыл бұрын
thanks :)
@MarkLewis Жыл бұрын
Happy to help. Glad you found it useful.
@bhaveshshah9487 Жыл бұрын
@MarkLewis Thanks for putting out these videos on scala. I want to learn programming and big data using scala. Where do I begin with and what should be the sequence I must follow through the playlist, and are there any most recent videos or updated websites of yours available?
@MarkLewis Жыл бұрын
You could look through my playlists. I haven't made much material in a while. I have a number of playlists for my introduction to programming and others for Spark specifically. If you are going with Spark, you don't need or want Scala 3 yet, so my materials are probably sufficiently up to date. "Rock the JVM" and Alvin Alexander have more updated materials on Scala. I think that Alvin focuses heavily on functional programming in Scala.
@pournimasapkale9670 Жыл бұрын
Hi mark, need help with email functionality .are you available
@adada8577 Жыл бұрын
Hello @Mark Lewis I really apricate your explanation. It's pretty straightforward and easy to understand. It just saved the entire week of work for me, and If you have time then can you please explain us about Akka streams and how they handle the data particularly about sink, flow, streams.
@MarkLewis Жыл бұрын
I'm glad that you found this helpful. Akka Streams has been on my "to learn" list for a while now. I'd have to get myself more up to speed on Akka Streams before I'd feel comfortable creating those videos. Outside of the websockets in Play, I haven't had a lot of reason to use it to date. I know many people do use it a lot more, but it hasn't come up with my work.
@ying-yd7np Жыл бұрын
This exactly what I am looking for after searching for so long on internet!!! THANK!!!
@hengchengzhang8378 Жыл бұрын
Hi Mark, thanks for your amazing course and I think there's a typo in the caption.
@MarkLewis Жыл бұрын
Where? I add descriptions, but the captions are done automatically.
@owen551 Жыл бұрын
This video was perfect and everything it needed to be and nothing more.
@iFunktion Жыл бұрын
Can't get this to run at all, just constantly get compile errors
@andrewroby1130 Жыл бұрын
10:12 Is this what refactoring looks like in functional language? withJsonBody is some alluring black magic.
@giorgiabzianidze6384 Жыл бұрын
After 7 years, those tutorials are the best. Please Mr Mark continue sharing your knowledge is amazingly helpful
@MarkLewis Жыл бұрын
Thank you very much for the positive feedback. I hope that I will be able to return to making videos this year.
@Shawner666 Жыл бұрын
useless video.
@cyanuranus6456 Жыл бұрын
I Love Scheme. But How did You Made This Programming Language? Tell My Creator Named "Tandya Bima" How
@MarkLewis Жыл бұрын
I'm confused by these comments that imply that I made Scheme. I did not create Scheme. It was created close to the time I was born. I have written limited implementations of it. Because it has a very simple syntax, a basic implementation of a Scheme-like interpreter is a fun exercise. My implementation, which I wrote many year ago and I wouldn't say is good, is at github.com/MarkCLewis/SwiftVis/tree/master/src/main/java/edu/swri/swiftvis/scheme.
@cyanuranus6456 Жыл бұрын
@@MarkLewis Well. You Made The Introduction. It Feels like You're Showing Us You Created. Not Found
@subodhrathi9512 Жыл бұрын
Hi @MarkLewis I tried similar example with number as 50 for fib function using onComplete and the main thread completed before printing the result. If I understood from this video, my future should have waited to receive the value or an exception. Am I missing something? Most of the times, we would need a value from future to do something; hence is Await the only possible option and how should one determine the timeout window?
@anuragchaturvedi2672 Жыл бұрын
where our credentials are stored ,,,, when we create new one.
@cyanuranus6456 Жыл бұрын
Mark Lewis Created The Programming Language Called "Scheme"? How did He Make it? Can You Make a Tutorial Video About it? I Want to Know The Tutorial of Making a Programming Language. Pleaaaaasssssssseeeeee
@MarkLewis Жыл бұрын
I did not create Scheme. Not even close. I have written a partial implementation of it for a project. The language itself is as old as I am.
@7guitarlover Жыл бұрын
Thankyou ! =)
@7guitarlover Жыл бұрын
This is awesome and so easy to understand . Video created 8 years ago , still helping people like me ! =) Thanks Mark
@MarkLewis Жыл бұрын
I am glad that you found it to be useful.
@kdineshreddy3254 Жыл бұрын
thank you, nice explanation
@MarkLewis Жыл бұрын
I am glad that you found it to be useful.
@siddharthbanga7301 Жыл бұрын
I am glad I completed this playlist, along with a few other playlists of yours. Thanks a lot, professor for your content. I really can't find any good content related to Scala online except for yours. Thanks, a lot
@MarkLewis Жыл бұрын
You are welcome. I am glad that you found it to be useful.
@marcutefys Жыл бұрын
We were preparing a documentation about Scala in terms of Programming Language Concepts. You helped us a lot especially about how does parsing happen in Scala.Thanks a lot Mr.Lewis.
@MarkLewis Жыл бұрын
Glad you found it useful!
@airtime2pesa Жыл бұрын
Thanks a million for this Could you have mysql Connector config guide I have not been lucky finding one
@MarkLewis Жыл бұрын
That's not an area that I have a lot of experience with. I set them up for my systems, but I'm probably not the right person to write that tutorial.
@airtime2pesa Жыл бұрын
@@MarkLewis thanks for taking your time to reply I eventually got it to work with MySQL
@hiroshin4619 Жыл бұрын
Been looking everywhere for this kind of tutorial. Thank you!!