Hi Hank!
Welcome to the fold!
I struggled with Eiffel for about a year until a particular internal event happened for me. I will pass this along to you (and any other reader) as a bit of advice.
Prior to Eiffel, I was an 18 year Visual FoxPro developer. It turns out that FoxPro is a completely horrid language for more reasons than I can count.
In the beginning, I was trying to frame Eiffel that I was learning in FoxPro terms. I kept looking for an Eiffel equivocation sans "here-is-how-we-do-it-in-fox". It turns out that this hobbled me badly. So badly, that I almost gave up trying to learn it.
Then it came to me—STOP! Quit trying to understand Eiffel through a _______ (FoxPro) lens! Throw away everything you've come to believe and all your muscle memory about "why-we-do-it-this-way", because that "way" requires a wiring of the head and mind that Eiffel will not fit into. This is most certainly a square peg attempt at forcing into a round hole.
I had NO WHERE to really turn on my own. So—here is what I did.
I realized that my struggle was largely with the Eiffel Compiler. BUT—it is precisely the Eiffel Compiler that takes my code text and translates it to C/C++ and then on to binary.
So—the epiphany—Larry, learn how to think like the Eiffel Compiler! How does the compiler see this? What are its rules? How does it interpret what I am writing?
What is lovely about Eiffel is that it has a very clean, clear, good, precise, and wonderful SPECIFICATION document (i.e.
ECMA-367).
I decided right then and there that I would study that specification in grave detail. I would sit on it, sit with it, sit beside it, and read and re-read until it made sense. It took me about a week of that when things started to click. It was like the lights came on and it started making sense.
It wasn't just the specification, it was how it was written, worded, and its grammar and structure.
The final result is that I got about 80% of it and my brain got rewired in the process.
The Eiffel ECMA-367 is still one of the finest tools for learning Eiffel if you're serious about it. They key is to tell yourself that you're going to turn your brain into an Eiffel Compiler. You're going to teach your mind how to think like the Compiler. If you'll do that, I have found that about 95% of what I come upon in Eiffel is resolved in my own head. I still turn to the specification from time to time when I get something really squirrely. I can then also come here to ask more detailed question and the very bright and fine minds of this community give outstanding and quick answers!
So—that's my story and I;m stickin' to it! Learn to think like the Eiffel Compiler. Use the ECMA spec as your detailed and very precise guide, which will show you how it things, its rules, and its design.
Kindest regards,
Larry Rix