On Feb 28, 2006, at 8:29 AM, William Killian wrote: > OO is a mindset not a language. Some languages just make it > easier and some make it really really hard. > I had a revelation recently... For years (decades, actually) I've been a sort of low-level programmer, writing first primarily in assmebler and more recently in C. I've occasionally forayed into more modern languages (first smalltalk, more recently Java...) But I just didn't get the point. OOP looked OK, but I didn't see the compelling advantage that would justify everyone being so excited about it. Then, I finally decided it was time to venture into host-side software; something for windows or macs, rather than an embedded board somewhere. I couldn't believe how much crap you had to go through just to setup basic constructs like windows with buttons. Thus, the revelation... Objects are not so much a basic programming construct as a technique for interfacing to shared code (libraries) in a way that is much more convenient than traditional methods for cases where the data structures involved are large and/or complex. And library-style shared data structures as well as their definitions, which traditional languages do even worse. You can define and use a standardized "window" in java in a way that would be quite complex in C, with little effort... That objects can also be massaged to look like a vaguely useful basic computer construct bodes well for the concept, I guess. Alas, as James is discovering, this means that becoming a proficient Java or C++ programmer is more a matter of being familiar with the vast array of standard and available pre-defined classes and such than knowing the details of the syntax and theory of the language itself, or anything as simple as a mere CPU or microcontroller. Being used to embedded and C, one tends to forget that that's been important in many languages for all time. (Even now, "C programmer" frequently means "Posix programmer") BillW -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist