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.
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.
-- Tracy R Reed http://ultraviolet.org -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list
