|
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.
|
|
|
|
|
When I had my first college lecture about abstract base classes, virtual functions, and method overloading.
Previously I was self-taught from screwing around with turbo pascal code I'd downloaded off the internet and had some gaping holes in my understanding as a result. I'd spent a summer in HS trying to write a game engine; I knew I wanted to be able to keep all my mobile sprites in a single array. I also knew I wanted to be able to abstract out things like how they moved instead of having a giant switch function. Not realizing the good folk as Borland had already created exactly what I needed I spent about a month going slowly insane(r), trying to reinvent the wheel by passing function pointers into a constructor.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, weighing all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
When I created an animal class, and the duck subclass went "quack" and the cow went "moo"; when I said they should "speak". (Clipper, I think; can't remember. That or VB or VFP).
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
|
|
|
|
|
If you regularly get involved in other people's business, do you deserve a meddle?
"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!
|
|
|
|
|
Only a sliver medal.
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
megaadam wrote: Only a sliver medal. Ha ha! That's gold!
/ravi
|
|
|
|
|
Who nose-y? Perhaps I'll gossip some good single malt and cogitate.
You can never tell . . .
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
modified 26-Oct-20 13:34pm.
|
|
|
|
|
Days when even a horse loses it's tail? Bull! (7)
A horse - EQUINE - loses tail => EQUIN
Bull => OX
===============================================
Days when even => EQUINOX
|
|
|
|
|
I like it, but my understanding--though I'm no expert in this--is that setting off "Bull!" is a second definition indicator, not a suffix indicator.
|
|
|
|
|
Greg Utas wrote: my understanding--though I'm no expert in this--is that setting off "Bull!" is a second definition indicator, not a suffix indicator.
Myself not an expert for sure.
My understanding over the years, aim for more structured meaningful sentence. Sometimes there might be hidden clues but not necessarily always.
(I personally have never seen/read in terms of indicators)
Open for experts to share their thoughts.
|
|
|
|
|
The exclamation mark isn't required and is indeed misleading after bull, if anything it should have been a question mark. You should also have indicated that the answer was a combination of tailess horse and bull ? ( the question mark would indicate another name for a bull ) Equinox ? why even days ?
"I didn't mention the bats - he'd see them soon enough" - Hunter S Thompson - RIP
|
|
|
|
|
pkfox wrote: Equinox ? why even days ? equinox = equal length days/nights; i.e. days + nights are even in length.
Good clue; I liked it, got that horse was likely to be equine but only had a few minutes and had to go out before thinking about it more.
|
|
|
|
|
@sanderrossel
You were speaking about a sopran singing in the background in one of your lasts SOTW... I recommend you to check:
Dos Brains - Elements
or
Dwayne Ford - Dragon Fire
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
modified 26-Oct-20 9:59am.
|
|
|
|
|
I've been recommending all sorts of music for years, most of all metal.
I mention a background soprano once and now I'm the background-soprano-guy?
Really cool music though!
Especially Dos Brains.
Too bad I can't find any information on them.
They did release nine(!) albums on Spotify this year alone and another ten(!!!) in 2019
Apparently, it's the work of Dirk Ehlert, so I guess Dos Brains is his professional moniker?
Although both Dos Brains and Dirk Ehlert are on Spotify.
Elements is under Dirk Ehlert's discography, not Dos Brains'.
He writes movie soundtracks, but I guess that's kind of obvious from the music
Really cool, thanks for sharing!
|
|
|
|
|
I found that the singer is Úyanga Bold (never heard of her before)
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
I've been using Microsoft Word since at least 1995.
I was just attempting to do a Search / Replace and I (of course) hit Ctrl-F (find).
Of course, Microsoft in there infinite wisdom has changed that to show some Navigate option thing which is useless (see this snapshot[^]).
I'm not sure what the even does. Navigate on a word? What kind of garbage is that? Useless.
Search / Replace: Nowhere To Be Found
Where is search or search replace? Ctrl-F means FIND in almost every editor known to humans.
I literally couldn't find it on the Ribbon Bar, in the menus...nowhere.
I finally had to search the web to find out how to search / replace[^].
They changed it to CTRL-H -- After 30 years of CTRL-F!?!
CTRL-H ??? CTRL-H!!! You Freaking Monsters Changed it to CTRL-H!!!
I'm done!!
|
|
|
|
|
raddevus wrote: I'm not sure what the even does
In MS Word: It shows all instances of your search word/phrase, without having to scroll through a 40 page document. I like it!
Never really had to perform replace in MS Word before, so no comment there.
modified 26-Oct-20 12:01pm.
|
|
|
|
|
Slacker007 wrote: It shows all instances of your search word/phrase, without having to scroll through a 40 page document. I like it!
Thanks for the explanation of that. I was totally confused about it. Also, it's good to hear an alternative viewpoint. I'm just so shocked that CTRL-F is replaced. It's confusing to an old guy like me.
|
|
|
|
|
raddevus wrote: It's confusing to an old guy like me.
Too be honest, it was confusing to me at first as well. Company pushed out the latest version of office and a lot had changed with little to no warning.
Frustrating, I know. I just try to roll with the punches.
Also, I am almost 50 myself, so not a spring chicken anymore.
|
|
|
|