eas lab wrote:
"functional programming" is very different from our "imperative programming".
You've been sold a lie by the religious cult known as functional programmers. It's not that different at all really. What ends up happening is all sorts of side effects are required for the functional program to actually do something useful, i.e. haskell Monads.... There is NO scientific proof whatsoever that ramming a bunch of side effects into monads makes it better than having the side effects like "writeln()" right there in a pascal program or cout() in a c program. At some point you have to deal with side effects sooner or later and delaying it until the last minute so that your program does absolutely nothing until it hits the "monads" section is kind of like shoving all your code into one long procedure that does anything useful, and putting all the code that doesn't do anything into other procedures elsehwere. SHOW me the science, and the studies done that prove this code is more reliable, less bug prone, etc. Then there is the parallelization hype.... But GoLang has goroutines for that, is GoLang functional? Show me the science and the studies done. Functional programmers are guilty of religious cult propaganda. Join our cult because we know more than all the other cults out there! trust our bible over at Haskell Wiki because it's God's word! Oh really? Show me the SCIENCE. Ask Dijkstra, he said something along the lines of "massaging all your code" is what functional programming is. Also, is the relational model, functional? If you end up actually updating your database with anything useful, you've got a side effect. Without side effects you are castrated, like a cow that has his balls cut off. Wise GoLang programmer said "I used a functional programming language that was doubly functional. Doubly in the fact that it actually did something." Lisp is jokingly a procedural language being fraudulently sold as functional.