It's designed for a mouse, where there are normally actions taken after moving the pointer. If there's no continuous UI presence on the playing field it's kind of... erm... pointless.
> The first sign of trouble is the sheer weight of CLTL.
Was this simply an issue of trying to put (what should have been?) library functionality into the language?
I've never been sure at what point one should stop adding the next keyword argument or handling the next edge case: if things are designed so that it's easy to do only when necessary.
CL seemed to accrete functionality better left to specific use-cases, but re-inventing the wheel sucks too. Back then it seemed like a lot could have been done with CL addons but instead it was pushed into the spec.
(Caveat: I don't remember stuff that happened yesterday, let alone in the very late 80's/early 90's, when I was working in CL.)
I'm a dead-tree fanatic, but I've also found that it's the blog entries (when available) regarding functionality that do more digging than a book (usually) has the time for.
A blog entry is strongly-targeted to the specific issue; that's why there was a blog article. While I can't cut-and-paste from a Real Book (tm) I could just as easily type in a code sample mindlessly, without any thought to how it works, why it works, or its relation to anything else.
I view this as a discipline vs. time vs. curiosity issue rather than the information source, but (as I've been told recently, quite a bit) I'm abnormal.
> People with lots of years in one field don't have the courage/curiosity to learn something new.
Or they may enjoy their field, or they learn new things and apply them in their field, or their field is dynamic enough that it provides new challenges, or...
> I would recommend starting to dabble with a smaller language first. Something like Python or Ruby would be an excellent place to start.
While I'd also recommend starting with something other than C#, I'd be hesitant about using the phrase "smaller language".
Good Ruby or Python is a deeper subject than C# (IMO); I agree that it's easier to get started in either of these, but becoming proficient in the language itself may actually be more difficult.
As you say, the .NET ecosystem, like Java's, is large and many-headed (I'd argue Java is even worse) and using it efficiently can be a steep climb.
The human mind works well in 45-minute intervals (obviously this isn't always practical, but even working on something related-but-easier for 10-15 minutes between two 45-minute intervals) so I try to step away from the computer every 45-90 minutes, give or take.
Well, hopefully that isn't the only way to turn the lights on and off.