News for hackers. Stuff that matters.
Re:On F# code readability by gnaritas on Monday March 04, 2013 @01:42PM (#5319773)
> The x::xs example is bad because it's a widely used idiom, similar to using i as a loop counter.

And IMHO bad for the same reason. I'd rather see "index" than "i" and I'd rather see "head::tail" than "x::xs", abbreviations for variable names are terrible; the English language is not running out of words and readability is more important than brevity. Of course, I'm a Smalltalker and we like to actually have readable code.

Re:On F# code readability by mich41 on Monday March 04, 2013 @02:46PM (#5320350)
Everybody who has ever seen any C code has

  #define i index
programmed deeply in his brain's CPP.

Using i for loop counter never causes confusion and using index makes the for statement 12 characters longer for no reason.

Re:On F# code readability by gnaritas on Monday March 04, 2013 @03:07PM (#5320508)
I'm sure they do, it's not relevant; using short meaningless variables names as a matter of habit eventually always causes confusion because of nested loops. If you can touch type, counting characters is an absurd reason to write obtuse code. Code is read far far far more than it is written; optimize for reading, not writing.

I'm very well are "i" is idiomatic; I still think it's stupid, as are many such idiomatic hangovers. Idiomatic does not mean correct or good, it means popular. Well chosen meaningful variable names are always a plus and are a sign of a programmer that understands code is read far more than it is written and not always by those who know all the little idioms of a particular language.

Re:On F# code readability by mich41 on Monday March 04, 2013 @03:42PM (#5320765)
If you count to 100 or iterate over some array, i, j, k, l are more readable than index1, index2, index3, index4 simply because they are shorter and still mean the same.

And if you iterate over some collections of "meaningful" objects, meaningful names are more readable than either i or index.

It never makes sense to use index over i.

Re:On F# code readability by gnaritas on Monday March 04, 2013 @04:21PM (#5321058)
If there were nested loops, I'd use meaningful names, and as a matter of course of using meaningful names, index beats i on a single loop. It's silly to sometimes use meaningful names and sometimes abbreviate because you're too lazy to type.

Of course, these are personal subjective things, but if you allow the habit of abbreviation, it tends to spread where it isn't appropriate, better to simply not do it.

Re:On F# code readability by Dylan16807 on Monday March 04, 2013 @05:40PM (#5321524)
'index' just isn't meaningful. Use actual meaning or use shorthand. Don't waste verbosity.
Re:On F# code readability by gnaritas on Monday March 04, 2013 @05:58PM (#5321598)
"index" is very meaningful, it tells me I'm indexing and not counting, otherwise I'd use "count". Confusion between those two often causes off by one errors, so yes it does actually matter and is actually meaningful. You might like "i" or "n" to convey the same meaning, but as I said, I want words not abbreviations.
Re:On F# code readability by klibertp on Monday March 04, 2013 @05:58PM (#5321597)
Of course, it should be `aStreamPosition` rather than `index` - still not `i` ;)