[Lazarus] Teaching Pascal at College

Lars noreply at z505.com
Fri Oct 21 10:08:26 CEST 2016

On Mon, October 17, 2016 2:52 am, Michael Schnell via Lazarus wrote:
> On 14.10.2016 16:10, Jürgen Hestermann via Lazarus wrote:
>> In most cases they never get to the step "find out how it works".
>> If it works, nobody wants to invest time anymore to look under the hood.
>>  So they always operate on the surface and repeat the same
>> subobtimal programming over and over again because they don't know how to
>> do it better.
> That is absolutely correct.
> But the point where the "knowing how it works" is just a matter of
> deliberate choice (or the professor, the student or the situation you get
> in and need to crawl deeper into the complexity of the matter.-
> - do I need know how/why the GUI builder creates the code that makes a
> Button visible on a Form and  my Event handler be called when a button
> is pressed ?  (I.e. do I need to be able to write the code myself without
> the help of the GUI builder ?)

Sometimes knowing the internals and details can be a disadvantage because
instead of thinking about the abstract program you are thinking about cpu
cycles, bit popping, bit twiddling, low level API calls.

Sometimes it's nice to live in La La land of an abstract layer over top so
you can focus on the program construct, instead of low level
implementation details.  I for one, do not like doing pure Win Api calls,
even though that can be so much fun for an intellectual exercise. The
first time I really realized this was when I downloaded the Sysinternals
tools (procmon, taskmon, regmon) now which no longer exist as sysinternals
tools and were purchased by microsoft. I was absolutely fascinated that
Mark R. and friend, wrote those tools in pure winapi... I was beautiful

But I was also disappointed that they would waste their time on such low
level code when a lot of it could have been easily abstracted with a tool
like Delphi, with just some winapi calls directly, and most of the stuff
automated with gui widgets already in a vcl.  They didn't use c++ and did
it in pure c, AFAIR.  It was beautiful code, but then I asked my self..
why? why would you waste your time doing pure api calls? Just as
intellectual exercize?

Sometimes it's nice to live in a fairy land (abstract) over top of all the
low level details.

Also, Edsgar Dijkstra was also very much against knowing too many details
about the CPU or computer hardware, as he though computing was math, not
engineering of computers.

More information about the Lazarus mailing list