Beginning FP knowing OOP and more


#1

Hi Everyone,

How are you?

First of all, it is happening a brilliant discussion here about OOP(Python) vs Clojure, everyone should take a look.

Do you know a book, video tutorial that compares and teaches a program, simples OOP course( bank with clients and cards, accounts, etc) using classes, interfaces, Design Patterns comparing, moving to Clojure//FP, teaching the logic of FP applied using Clojure?

Thanks.


#2

@ecsmix I don’t have one particular suggestion, but most introductory Clojure books target people who know OOP, since that’s what most people know. I think though, that’s not what you’re asking. I think you want something that pairs good OOP code for solving problem X with good Clojure code for solving the same problem. I think that would be difficult to do well–it would require a lot of work–but maybe someone has done it.


#3

While this doesn’t directly address your question, I suspect you might find this a very interesting book Functional Programming for the Object-Oriented Programmer.


#4

Looks awesome Sean!! Thanks!!

I read a lot amazing stuff related to Closure users experience, I wish some power user could make a video tutorial demonstrating the top 10 features hard to find, that beats OOP and in other languages.

I am a beginner and it is hard to understand all the concepts and differences that make Clojure unique.

Thanks again!


#5

Clojure has historically appealed to a lot of gnarled, old programmers who had gotten fed up with the complexity of other languages and wanted a combination of simplicity and power together. That crowd isn’t the sort to produce video tutorials :slight_smile:

I personally hate video tutorials: give me text and code any time! A lot of the Clojure “power users” learned programming back in an era where there were no blogs (that trend started in the very early 2000’s), no video delivered over the web anywhere (I remember downloading video files in base64-encoded segments, from Usenet, and using various programs to reassemble those into a single file, then base64-decoding it to produce a file you could then load into a specialized video viewer!). There weren’t even many “beginner” level books back in those days – learning a new language was really hard. Take a “classic” like “Design Patterns” – the “Gang of Four” book – and consider that didn’t come out until I’d been doing C++ in production for two years! :slight_smile:

Not quite a “video tutorial” but definitely worth watching for “the top 10 features” you want is Stuart Halloway’s talk “Clojure in 10 Big Ideas”. That doesn’t link to videos of the talk, but if you Bing (or Google) the title, you should find links to YouTube/Vimeo for that talk.


#6

There are specific features that are sometimes listed as advantages of Clojure over OOP languages–emphasis on immutable data structures, for example, which can simplify debugging and make parallel processing easier. However, I personally think that the best advantage of Clojure has to do with how well many of its pieces fit together in ways that make it possible to do a lot very easily. Unfortunately, that is not something that is easy to summarize, and it’s not something that you can fully appreciate without spending some time with the language!


#7

Sean and everybody, despite all the help I am receiving from the community, and it is amazing, thanks!!
Don’t you think, in order to bring more people, even beginners like me, more tutorials on youtube could help closure get bigger and create more projects, more jobs, etc?

Closure has some great tutorials and books, but the majority is outdated. If we compared to Elixir, it has several video tutorials and books, even on Udemy.

@ 12:35
“Translating immutability to Java, in Closure you only has constructors never setters”
Priceless!!!

Thanks!!!


#8

Ya, I agree, I think the whole community agrees, but then, no one does it. Or at least, we don’t do a lot of it. I keep telling myself I’ll post more tutorials, blogs, maybe do some videos, and then I don’t. Why I don’t? Because I’m just too busy writing working software in Clojure, or playing at the REPL :yum:


#9

@ericnormand produces some good and interesting written pieces at LispCast, but they are more to the philosophical side and not very tutorial-like. However, he does run PurelyFunctional.tv, which contains learning resources for a lot of Clojure in video form. As I prefer to learn from text and code, I have not watched any of his resources though, and as such cannot say if they are good.


#10

Thanks, I know his channel and he is a very nice guy and an awesome teacher!!!

His videos are amazing!


#11

LOL, I know…Teach me and I will lol…hahaahah

One day, If I have the knowledge I will give it back!!!

Nevertheless, you guys are awesome and I feel very welcome in here, thanks!!


#12

Another thing, just to let the community know.

The hardest part, at least for me, was to set up the environment on Windows, IDE, work with Repl…

Since there are many IDE’'s, would be great to have a video teaching each one and it’s workflow developing with Clojure and why it’s so great experience.