From: Tracy R Reed <[EMAIL PROTECTED]>
Gabriel Sechan wrote:
for lack of inlines and const, now fixed. Side effects have a bad rap- undocumented side effects are bad, but the ability to have side effects is extremely useful (OO programming is based on side effects- changing a member variable is a side effect).


Actually, I think the bad reputation of side effects is well deserved. My recent forays into LISP/Scheme (and soon Haskell) have shown me that side effects (documented and undocumented) do introduce bugs and they prevent your code from being easily parallelized. If you code things in a purely functional way the parallelism is inherent. There is now a parallelizing Haskell compiler. With more and more cpu cores being added per chip parallelism is becoming an important issue.

I don't like functional programming. I'm glad it exists, its always nice to see a completely different approach (since in reality the OO and procedural approaches are pretty damn similar). But it bears absolutely no resemblance to my natural thought flow. My mind works procedurally, it has since I've been a kid- I've always taken the break things into steps, then into smaller steps approach. As such I avoid actually using them like the plague. I'll pay the price of having to do my own locking gladly, it would still be 10x more efficient for me in terms of programmer hours.


Every language is defficient.  C just has the least of them.


C has the least number of deficiencies? Surely that is a religious belief, not something provable.

Of course it is. The definition of deficiency is a religious belief, some of what I call a language flaw is called a feature by other, and vice versa.

Gabe



--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to