|
That's no moon. It's a space station!
|
|
|
|
|
China has already built a base on the dark side of the moon ... maybe.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
That'll be beside the German one[^] I assume?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
And next to the monolith...
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Gerry Schmitz wrote: on the dark side of the moon
No such thing. Don't buy into Pink Floyd's propaganda.
|
|
|
|
|
I mean the first click to be felt within....
diligent hands rule....
|
|
|
|
|
|
its release date is: 2nd May 1989
diligent hands rule....
|
|
|
|
|
|
Tomorrow, probably.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I feel the click today
diligent hands rule....
|
|
|
|
|
That's just a hiccup.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Honestly? C#. Before that I was primarily dealing with C++ and it's not OOP**.
I wrote a bit of UI glue sometimes in VB5 and VB6 as well, but I don't consider those very OOP, especially the way I typically used them.
**You can do OOP like stuff with it because of its flexibility but it wasn't designed for OOP. It was designed for GP.
Real programmers use butterflies
|
|
|
|
|
your sharing is really enlightening to me
diligent hands rule....
|
|
|
|
|
I assume you mean my projects or my comment? Either way, thank you. I aim to please, and it's always good to know when I hit the mark.
Real programmers use butterflies
|
|
|
|
|
VB was classified as "component based" versus object-based. No "class" concept per se.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
They added classes later, but it was a bag on the side. Not as bad as PHPs "classes" but in the running.
Real programmers use butterflies
|
|
|
|
|
Circa 1991, though since 1981 I'd worked on a code base that sometimes implemented encapsulation, inheritance, and polymorphism manually, in a non-OO language. Getting a proper OO language that took care of all this was a godsend.
|
|
|
|
|
In my first formal Pascal training, the professor taught a discipline of collecting related attributes into RECORDs types, describing some object (I don't remember if he used that term). All handling of a given RECORD type should be done by a set of functions taking a pointer to an instance of the RECORD type as its first parameter. All the functions on a RECORD type should be declared together, and should not process other RECORD types.
So when OO appeared a few years later, we said "OK, we can switch around MyFunc(myInstance, ...) to myInstance.MyFunc(...). We can move the functions in before the END of the RECORD type definition. We can call it a 'class' rather than a RECORD, now that the functions appear before the END. Fine with us!"
Certainly: Pascal 'variant record fields' were just a tiny start of today's complex super- and sub-classes with virtual functions and multiple inheritance and whatnots. Yet, as complex OO-concepts matured (they came gradually!) we saw them as stepwise extensions to the variant record concept. OO languages provide some syntactic sugar, but if the concepts are in place and you have a good programming discipline, it doesn't make that big a difference!
In hindsight, I have often been thinking that this professor must have had an impressing understanding of OO long before it became a household term. (I took this Pascal course in 1977.)
|
|
|
|
|
This is similar to what we did, although we also had records that contained function pointers.
|
|
|
|
|
I had my first Simula course in 1979, one of the two textbooks for the course being G.M.Birtwhistle: Discrete Event Modelling on Simula. Your question made me dig up that book from my basement to see if there is anything worth learning/recalling from a 41 year old book.
(Sidetrack: Today, it feels strange to see a university level textbook "typeset" with a typewriter, one that certainly ranks far below the IBM Selectric!)
The next kick was when we got hold of a prerelease C++ compiler, one that compiled to K&R C, rather than to machine code, so we could se how classes, inheritance and the other basic mechanisms were implemented. That probably was around 1981-2.
|
|
|
|
|
I was also using Simula at that time but never really "got" the OO angle. But one program I was writing would be so much cleaner if only I could pass one function to another as an argument. I'd never heard of such a thing but decided to try it. And it worked! It was an impressive language for the time.
|
|
|
|
|
not sure I will ever get it. hahaha
honestly though. I was working on this FTP software for a bunch of Phd's back in the 90's. They couldn't be trusted to remember a login ID and password. Nor could they remember to select files and upload them correctly. So we had a process that would ftp up and sync and entire directory/folder on their C drives so various areas could work together. It was clunky but it worked.
Anyhoo, I wrote a piece of software that transversed the folder structure and went thru each one and uploaded it. Each folder in my mind was an object and it was really easy to think thru the recursion and things. It was the first and perhaps the only time it fully made sense to me.
I taught programming for a bit at our local community college and I always described OOP as Animal, Mammal, Cat. Each inherits from the preceding and keeps certain properties and actions that go along with it.
To err is human to really mess up you need a computer
|
|
|
|
|
I had been working on a parser with a C++ compiler, but all the examples were in a 'C' style. The logic was getting to be five to eight level-deep 'if' constructs, and becoming a nightmare to keep straight in your head. Bought a Herbert Schildt book bragging about being a complete C++ reference, to see if it gave any insights I was missing. It DID NOT - instead it was just the old 'C' way with a superficial stupid C++ wrapper which could have been done in C if I recall correctly.
I don't know what triggered it, but about that time (2003?) I finally truly understood virtual functions, and figured out that almost ALL of that crappy multi-level-deep logic could be eliminated by making those code locations call virtual functions of overridden base objects. When that clicked, I was so disgusted with Schildt's book that I think I emailed him to complain what crap it was, and how to do it correctly.
|
|
|
|
|
David O'Neil wrote: I was so disgusted with Schildt's book that I think I emailed him to complain what crap it was, and how to do it correctly. You cheeky bastard.
|
|
|
|