You are writing a comment about Failure of Implicit Conventions: Determining Function Destructiveness, here is a quick summary:

The distinction between destructive and non-destructive methods is important, but most languages rely on unwritten convention to differentiate one from the other. We need to do better than this.


You are responding to this comment written by Peter Burns on January 3rd 2008, 23:33.

Here, here! We should have good resources for indoctrinating newbies in the conventions of the language.

Though the biggest convention I'm lamenting right now in the Ruby community is "Matz Is Nice And So We Are Nice." When I first started coding in Ruby two years ago, back when Rails was first taking off, people were almost unilaterally nice.

I agree with your main point as well. Managing side-effects of functions is crucial. If it ever becomes too big of a problem though, you could always code in a modern statically typed language that forces the distinction between those functions with side effects and those without.


Please be aware that comment forms go stale after one hour.





Comments may make use of LifeFlow MarkDown. Raw html will be escaped.


Quick Introduction to LifeFlow MarkDown Syntax

A highlighted code block:

@@ ruby
def a (b, c):
  b * c
end
@@

Other common languages work as well: scheme, python, java, html, etc.

Other markdown syntax:

 ### This is an h3 title
#### This is an h4 title
**this is bold**
*this is italics*

1. This is an
2. ordered list

* And an unordered
* list too

[this is a link](http://www.lethain.com/ "Lethain")