IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Have you seen Joel's article on this?
[link|http://www.joelonsoftware.com/articles/fog0000000319.html|Joel on Software]:
I think that some of the biggest mistakes people make even at the highest architectural levels come from having a weak or broken understanding of a few simple things at the very lowest levels.

[snip very long, very low-level explanation of why this is true]

This is why my view of teaching is that first year CS students need to start at the basics, using C and building their way up from the CPU. I am actually physically disgusted that so many computer science programs think that Java is a good introductory language, because it's "easy" and you don't get confused with all that boring string/malloc stuff but you can learn cool OOP stuff which will make your big programs ever so modular. This is a pedagogical disaster waiting to happen. Generations of graduates are descending on us and creating Shlemiel The Painter algorithms right and left and they don't even realize it, since they fundamentally have no idea that strings are, at a very deep level, difficult, even if you can't quite see that in your perl script. If you want to teach somebody something well, you have to start at the very lowest level. It's like Karate Kid. Wax On, Wax Off. Wax On, Wax Off. Do that for three weeks. Then Knocking The Other Kid's Head off is easy.
===

Kip Hawley is still an idiot.

===

Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats].
[link|http://DocHope.com|http://DocHope.com]
New OT void removeSpaces(char *s)
I use this as my interview question, and I have seen scores of various ways to do it wrong.

Recently, however, I've got a spectacular recovery from a gentleman I was talking to.

He initially wrote something along the lines of

\nvoid removeSpaces(char *s)\n{\n    for (;*s != 0; s++) {\n        if (isspace(*s))\n           *s = *(++s);\n    }\n}\n


So, I wrote two strings "a<space><space>b" and "a<space>".

And then he goes, "Ahh, I should make it recursive!"

In the end, he's got something along the lines of
\nvoid removeSpaces(char *s)\n{\n    for (;*s != 0; s++) {\n        if (isspace(*s)){\n          *s = *(++s);\n          removeSpaces(s);\n          return;\n        }\n    }\n}\n



I think that's amazing. If the compiler supports tail recursion, it will even be cheap and safe WRT stack overflow, I think.

------

179. I will not outsource core functions.
--
[link|http://omega.med.yale.edu/~pcy5/misc/overlord2.htm|.]

New I hadn't actually.
But I understand his point of view. Even agree with it in a lot of ways.

Wade.
"Don't give up!"
     Compiler courses need updating? - (tjsinclair) - (9)
         Your right about the second - (JayMehaffey)
         Not sure I agree. - (static) - (3)
             Have you seen Joel's article on this? - (drewk) - (2)
                 OT void removeSpaces(char *s) - (Arkadiy)
                 I hadn't actually. - (static)
         make sure those dev bastard wannabe's - (boxley) - (1)
             Assembler is a pre-req for the class -NT - (tjsinclair)
         Parsers - (tuberculosis)
         Here's why I went this way - (tjsinclair)

Dude!
38 ms