Tim:

Great info - many thanks for the explanation.

"I just checked wikipedia and it says the Mac SE/30 with 4MB or RAM and
80MB hard drive was $6,569! I don’t remember them being that expensive.
Makes the machines today look dirt cheap!"

The SE/30 was a great little machine. The PDS card had expansions slots. I
don't think I used an accelerator card but I know I had an ethernet card
and a video card for my 19" (black and white) CRT monitor.

The $6k figure sounds like current dollars but, yes, the Mac was an
expensive computer to purchase though the lifecycle cost made it a no
brainer purchase.  In the past few days, we've seen postings from folks who
are using laptops that are 7+ years old that are still being used to write
software.


--
Douglas von Roeder
949-336-2902

On Thu, Apr 6, 2017 at 3:09 PM, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com
> wrote:

> On Apr 6, 2017, at 4:43 PM, Douglas von Roeder wrote:
>
> > A couple of thoughts on this…
> >
> > I couldn't find this documented but 4D's compiler does three "passes"
> > through the source code (when you're not typing all of your variables).
> > IIRC, the compiler displays what it's doing for each pass but newer
> > versions of 4D + modern hardware are so fast that I haven't seen the
> > "label" appear in the compiler window.
> >
> > For the sake of argument, lets' say that the three passes are something
> > like syntax, declarations, and then parameter type matching. There must
> be
> > no errors in one phase before the compiler will move on to the next.
> > Perhaps what you're seeing is that as you resolve errors during the
> syntax
> > phase, those changes engender issues within that same phase.
> >
> > Once the issues in the syntax phase are resolved, the compiler will run
> the
> > declarations phase and will report those errors.
> >
> > Rinse, lather, repeat for the next phase.
> >
> >
> > Second issue is that 4D's compiler used to scan methods sequentially,
> based
> > on ID, and would check parameters based on the parameter list that exists
> > for the first instance of a method.
> >
> > This was my observation of the early versions of the compiler so it could
> > be observer error/bias and 4D could have completely revamped how the
> > compiler functions. Also, in the 25 years or so since I made this
> > observation, I've never gone back and checked. :-)
> >
> > Having just done a 2004 to 15 conversion, I saw the same behavior you're
> > experiencing and it was *not* a pleasant feeling. Most of the time I
> > compile it really is just a "spell check", so it was unnerving to
> compile -
> > error fix - compile and get more errors - error fix - compile and get
> > different errors. No fun at all but an inherent part of the process of
> > "getting to done".
>
> If you are letting 4D do the variable typing then the first phase is to
> scan every method and create a list of all variables and their types. If
> you are typing all variables then it first looks at the “Compiler…” methods
> for variable typing.
>
> It also has to type all parameters for methods. So if you let 4D do all
> the typing it has to scan all methods looking for $1, $2, etc and types
> them. If you are doing the typing then it gets this info from “Compiler…”
> methods.
>
> Then you have local variables to deal with. Could be it builds this typing
> list when it is scanning all the methods. Could be during all this typing
> scanning it does some syntax checking along the way instead of waiting
> until the last step.
>
> I think the 4D Compiler is very optimized. As it is processing as soon as
> an uncertain situation occurs it bails. No need to scan the whole structure
> every time if an uncertain situation could have cascading effects. So
> that’s why when you fix some errors and compile again you can get a whole
> new set of errors you didn’t get the first time. And this explains why
> sometimes the number of errors increase with each compile instead of go
> down.
>
> I’m sure it would be extremely difficult to have the compiler show every
> possible error when it compiles each time. I think it is doing the best
> that it can do and as they say “it is what it is”.
>
> I wonder whatever happened to the original 4D Compiler writer David Hemmo?
>
> When he wrote 4D Compiler back in 1990 I thought he was a programming god
> to be able to build all that machine code and hook it all together to make
> something that actually worked. And then to update 4D Compiler to support
> 68K machine code, PPC machine code, Intel machine code, and variances
> between Mac OS and Windows OS. To me that is some serious programming skill
> and ability.
>
> I remember the first time I ran 4D Compiler 1.0 on a structure. It had
> over 4,000 errors! I worked all day to get that number down to the
> hundreds. A lot of code had to be rewritten due to variable retyping
> issues. I probably tried to compile 20 times that day. But by the second
> day I had a compiled structure that ran on my Mac SE/30.
>
> I just checked wikipedia and it says the Mac SE/30 with 4MB or RAM and
> 80MB hard drive was $6,569! I don’t remember them being that expensive.
> Makes the machines today look dirt cheap!
>
> Tim
>
> ********************************************
> Tim Nevels
> Innovative Solutions
> 785-749-3444
> timnev...@mac.com
> ********************************************
>
> **********************************************************************
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **********************************************************************
>
**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**********************************************************************

Reply via email to