Suggestions and Question

I just watched a video talk of John De Goes and I liked it very much. It was from 10 months ago. There were perhaps a couple of things missing or which could be presented in another talk to complement this one, but this one is excellent.

A big part at the beginning would seem elementary to some people, but his way of introducing FP and OOP and how they differ could be very useful to other viewers.

Other videos and books I’ve been reading discuss FP fundamentals which are distinctly different than OOP practices and it would be helpful to see how “effects free” and “invariable data” would best be incorporated into that list of Best Practices. Getting a fuller inclusion of strong FP ideas would help even the OOP methods to be better and for more OOP programmers to understand better how to construct their classes and its object’s internal operations.

It’s sad that he had to admit his talk, in support of some OOP things, would make people angry with him. After all, the primary goal of a language like C++ to give us imperative AND OOP ideas wasn’t a disaster and the inclusion of those with FP in Scala shouldn’t be either. Cloistered ideas aren’t going to help Scala develop to its full potential.

Another minor detail which has irritated me a bit is the fact that naming of the units which work together to make objects and ADTs don’t really seem to scream “we’re together”. I’m okay with “trait” rather than the clunkier older Modula-3 term “interface”, but “final case class” seems rather random next to “trait” and “object”. If these 3 were named in a more unifying way it might make writing & reading Scala easier and somehow better.

And finally, for this post, There needs to be inclusion of error-handling since the FP way is very different than the imperative way (try with exceptions). The FP way would be very superior for most occasions and showing when and how to do both would be very helpful as another Best Practice.

Question: Would anyone like to do such an article/video?