On 07/29/2011, at 12:22 AM, Bill Dueber wrote: > Unless you're in a very, *very* different library than mine, "all the > low-level stuff" written in C and variants are at a low-enough level (and in > very specialized domains) that I'd never have an expectation that anyone > working in the library would mess with it. I presume there are people in > research libraries that muck around with C/C++, rolling their own libraries > and what not, but I've been at Michigan for six years and I haven't heard of > it, here or elsewhere. For most of us, I think, doing something in C is > premature optimization. I definitely agree with you here. But I think most of the focus on C in this discussion is because that's what the OP had available. The consensus seems to be: C isn't the language you would pick if you had your choice, but if that's what's available, it's a fine language to use to learn the fundamentals, and you can learn the rest later. > Finally, I always ask someone what their favorite programming environment > is. I've had a few candidates tell me that they just use Notepad, and I > don't mind admitting that that's almost a dealbreaker for me. Using a good > editor or an IDE is a critical part of taking advantage of the language > ecosystem. A good programming editor is a must. Not having at least syntax > highlighting and checking is, to me, a sign that you haven't written enough > code for the lack of such functionality to drive you nuts yet. Java without > an IDE is insanity. And if the candidate proudly tells you that she uses vi, > well, make sure she really knows how to push it around. You don't get > street-cred for using a 30 year old program shittily. I think this is a matter of personal preference more than anything else, and in the immortal words of Larry Wall, There Is More Than One Way To Do It. My "IDE" is 2-10 terminal windows with various combinations of vi, build scripts, logfiles, data files, etc., plus a 2-10 browser tabs with Javadoc, specs, the webapp I'm building, etc. I could use syntax highlighting, etc. in vi, but I usually don't -- because a riot of colors, movement and all that is what drives *me* crazy, not having to remember exactly what that method's called or having to look it up from the handily-accessible docs if I can't remember. Now, I don't generally just say "vi" when people ask me what my dev environment is, but I wouldn't be surprised if a job applicant abbreviated a similar system to "Notepad" or something like that. I wouldn't fault them for their choice of tools. I'd just fault them for not knowing what level of detail was expected of them. -Esme -- Esme Cowles <[log in to unmask]> "A person, who is nice to you, but rude to the waiter, is not a nice person. (This is very important. Pay attention. It never fails.) " -- Dave Barry