Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It is discouraging to see them make the same mistake that early Lisps did, the solution to which was well understood in the Scheme community since 1975.


Well, they are human after all.

Overall, I feel that C# team has definitely achieved their goal of being a 'Pit of Success'. http://www.codinghorror.com/blog/2007/08/falling-into-the-pi...

E.g. Order of evaluation is strictly defined as left to right in C#.

http://blogs.msdn.com/b/ericlippert/archive/2008/05/23/prece...

Disallowing use of uninitialized local variable.

http://stackoverflow.com/questions/7797424/why-arent-unassig...

C# warns you if you do

if (i = 1) //notice the '=' instead of '==' {

}

warning CS0665: Assignment in conditional expression is always constant; did you mean to use == instead of = ?

Obviously, they failed in the case of 'foreach' but I feel great knowing that they will be fixing it in the next release.


It's lovely how you confirm the common prejudice:

1958 - John McCarthy and Paul Graham invent LISP. Due to high costs caused by a post-war depletion of the strategic parentheses reserve LISP never becomes popular[1]. In spite of its lack of popularity, LISP (now "Lisp" or sometimes "Arc") remains an influential language in "key algorithmic techniques such as recursion and condescension.[2]"

(from http://james-iry.blogspot.com/2009/05/brief-incomplete-and-m...)


In fairness, they stumbled into it more than they deliberately perpetrated the error. In the beginning, when the rules for foreach loops were laid out, C# didn't have closures so it didn't really make a difference.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: