Debate over coursework help 
Author Message
 Debate over coursework help



Quote:
>  As to the comment about there not being Visual Modula-2 yet. I suppose
> it might be possible to write something (lexical/Syntax analyser) in  
> Pascal(ie DELPHI) compile it  and then you would have visual Modula-2?

There's apparently an effort to produce an open delphi clone using Free
Pascal and GPLed code from the Sybil environment,
http://www.*-*-*.com/ 't know if there's a similar base of
class libraries etc. written in Modula-2, but I'd cautiously suggest that
a development environment that could produce code for both termcap/curses
and a graphical equivalent would be extremely welcome.

I'm not referring to something like Zinc, I mean something comparable to
early Visual Basic where it was not very difficult to port code and forms
between the DOS and Windows variants.

-- Mark Morgan Lloyd

--
-- [Opinions above are the author's, not those of his employers or
colleagues]
--
-- ** Internet feed may be unreliable- please cc anything important by
email **



Mon, 27 Aug 2001 03:00:00 GMT  
 Debate over coursework help

Quote:
> but I'd cautiously suggest that
> a development environment that could produce code for both termcap/curses
> and a graphical equivalent would be extremely welcome.

In Ulm's Modula-2 Library (distributed under the terms of the LGPL, see
http://www.mathematik.uni-ulm.de/) you'll find a module named Windows
providing this. The interface of Windows is system-independent and
implementations on base of termcap and terminfo are available. It
should be possible to adapt it with reasonable efforts to other
environments and even if you would prefer another interface you would
find the code necessary to parse terminfo (or termcap) files etc.  More
about it may be found at

   http://www.mathematik.uni-ulm.de/modula/man/man3/Windows.html

Having it written in the late 80ies, you might find some parts of it
outdated, though (no ISO Modula-2, no support for the features of
termcap/terminfo that were later added).

Andreas.

--
Andreas Borchert, Universitaet Ulm, SAI, Helmholtzstr. 18, 89069 Ulm,  Germany

WWW:    http://www.mathematik.uni-ulm.de/sai/borchert/



Mon, 27 Aug 2001 03:00:00 GMT  
 Debate over coursework help

Quote:

> In Ulm's Modula-2 Library (distributed under the terms of the LGPL, see
> http://www.mathematik.uni-ulm.de/) you'll find a module named Windows
> providing this.

I might take a look at that presently, but even so there would be a lot of
work building modern user-interface components on top of it.

-- Mark Morgan Lloyd

--
-- [Opinions above are the author's, not those of his employers or
colleagues]
--
-- ** Internet feed may be unreliable- please cc anything important by
email **



Mon, 27 Aug 2001 03:00:00 GMT  
 Debate over coursework help

Quote:

>  As to the comment about there not being Visual Modula-2 yet. I suppose
> it might be possible to write something (lexical/Syntax analyser) in
> PASCAL(ie DELPHI) compile it  and then you would have visual Modula-2?

Why not just use Delphi directly?

Borland Object Pascal has reasonable module provision, and
class extension to types.  It only differs from modern Modula-2
in a few small syntactic areas, and in lack of standardisation.
But if you make your Visual Modula-2 out of Delphi, it would
be locked into delphi platform anyway!

Personally I despise delphi and the "Visual xxx" products ..
they don't scale up very well and they mislead beginners.

Better to stick with raw modula-2 and use a toolkit to
build dialogue and presentation separately.  I seem to recall
managing it with TeleUSE and Gardens Point Modula-2 a long
time ago, when the former would work with C API and the latter
generated C-compatible object code.

----------------------------------------------------------------

OTOH remember that there's more to the world than Wintel
desktops.  There's servers, middleware, unix/mac apps,
mainframe apps, portable apps, embedded apps, mobile agents,
comms software, math/stat/engineering specialist libraries...

I feel it a great pity that education is allowing itself
to focus exclusively on the {*filter*} desktop technology
of the day.  

You might look around your local auto garages, pizza
takeaways etc. and see their set-ups .. no mouse &
fancy windows, just plain DOS-windows display and
everything handled from keyboard with plastic cover.

Exercise:  using ANSI screen controls, write a decent
widget library for DOS-windows programming.
(it's useful, fun, and you'll learn a lot about
general window handling for any system)

----------------------------------------------------------------
Graham Perkins, De Montfort University, Milton Keynes
http://www.*-*-*.com/ ~gperkins/



Mon, 27 Aug 2001 03:00:00 GMT  
 Debate over coursework help
Definitely time for me to contribute my $.02 here.

To give you a bit of background, my first ever computer language (basics
not included) was Modula-2, which I learnt at the age of 13. (I'm now
21). I then learnt Modula-3 at Cambridge University, and I started using
Delphi about 2.5 years ago. I currently write a mixture of C/C++ and
68040 assembler at work, and Delphi is my "after hours" language. In
addition to the above, I've written small to medium sized programs (a
few thousand lines) in ML, Prolog, and Lisp.

Quote:

> Borland Object Pascal has reasonable module provision, and
> class extension to types.  It only differs from modern Modula-2
> in a few small syntactic areas, and in lack of standardisation.

This is mainly the case. Although the Unit / Module facilities in Pascal
perhaps wouldn't appeal to the Modula-2 purist, mainly because the
"private" visibility section of classes often ends up appearing in the
definition (interface) section of a unit (module), the actual rules on
what one can and can't see and use across units (modules), is, for all
practical purposes, identical.

I would say that Delphi is very standardised: The current implementation
defines the standard! Admittedly, not everyone likes this, in that it
means that Borland could modify the language in any way it wants for
future versions of Delphi, however, the core of the language has not
changed one iota since Delphi 1 was first released, and it's unlikely to
change in the future.

Quote:
> Personally I despise delphi and the "Visual xxx" products ..
> they don't scale up very well and they mislead beginners.

Scaleability:

Here, methinks thou art mistaken. I would totally agree if you remove
the string "delphi and" from the above paragraph. Despite comparisons in
the popular computing press, Delphi and VB are two completely different
beasts. I consider Delphi to be very much like Modula-3 or OO versions
of Modula-2 in it's scaleability. Although Delphi appeared to be very
visual (ie all gloss no substance) when I first started using it, after
a few years investigating the internals, and nearly 100,000 lines of
code written, I have come to the conclusion that the power of the
environment is mainly due a very well designed language and architecture
underneath. The language encourages a well partitioned design, and one
only has to look at the libraries borland supplies to see how it is
possible to write very large applications which contain clear interfaces
and segmentation of responsibility. If the marketing department of
Inprise wishes to emphasise the visual aspect, then there's nothing I
can do about that.

Misleading beginners:

The problem with Delphi is it's marketing: All tutorials normally
contain a very visual introduction, consisting of GUI building, and the
powerful IDE often means that Delphi beginners write GUI-governed apps.
I've seen some truly awful delphi applications where the core
functionality of the application is inextricably bound to the GUI. This
is why it's so often compared to VB. However, experienced programmers
should easily be able to see behind this, and to produce good
applications where there is  a clear separation between GUI and core
logic.

My latest application (a distributed [ie multi-machine] raytracer) has
only 2.3% of it's code dedicated to user interface issues. The rest
consists of various OO communication protocols (written by myself), a
central raytrace engine, and a "compiler" which accepts scene
description files, and produces a data structure, which is then shipped
over the network to various client applications which do the rendering.
If Object Pascal compilers existed for other platforms, I would be able
to port the application to a new platform and UI with minimal effort.

Object Pascal isn't a teaching language, and it's possible to write
poorly designed apps in Delphi, just as it is in any other language.
However, in terms of general "language cleanliness", Object Pascal is
just as clean and conceptually elegant as Modula-2. The IDE is the main
thing that misleads beginners.

Almost any experienced Modula-2 programmer would (after a six month
apprenticeship) realise that the language is excellently put together. I
doubt Herr Wirth has looked closely at Object Pascal, however, if he
did, I suspect that he would concede that although the language is
rather more cluttered than is stricly necessary (mainly due no doubt to
market forces that Borland/Inprise is subject to), the core
functionality and object model is as clean and elegant as anyone might
wish, and lends itself to building large scale projects.

In order to ensure that one's programs are not GUI-bound, I find it very
useful to write the user interface last. By doing this, one can ensure
that one has a complete functional program that does not depend on the
user interface for any of it's core architecture.

Quote:
> Better to stick with raw modula-2 and use a toolkit to
> build dialogue and presentation separately.

For this project, quite probably.

Quote:

> OTOH remember that there's more to the world than Wintel
> desktops.  There's servers, middleware, unix/mac apps,
> mainframe apps, portable apps, embedded apps, mobile agents,
> comms software, math/stat/engineering specialist libraries...

Indeed so. I'm just waiting for a linux Object Pascal compiler (FPK is
nearly there), and then I'll be distributing Linux versions of my
software. In addition, most of my employed programming is on a mission
critical embedded system.

Quote:
> I feel it a great pity that education is allowing itself
> to focus exclusively on the {*filter*} desktop technology
> of the day.

In some corners of the establishment, maybe. My university computer
science degree mode use of both DOS, Windows, X on Solaris, Linux and
some embdedd work. I hope De Montfort still hs a good range of platforms
in it's computer science dept :-)

Quote:
> You might look around your local auto garages, pizza
> takeaways etc. and see their set-ups .. no mouse &
> fancy windows, just plain DOS-windows display and
> everything handled from keyboard with plastic cover.

I spent many happy years writing DOS apps ... however, I far prefer to
work with proper multitasking operating systems. I have no preference on
platform. If I get to write parts of the OS (thinly veiled reference to
employment) then so much the better :-)

Quote:
> Exercise:  using ANSI screen controls, write a decent
> widget library for DOS-windows programming.
> (it's useful, fun, and you'll learn a lot about
> general window handling for any system)

I did spend time a couple of years back designing a Modula-2 windowing
system, although I never got round to writing it. It was great fun!

MH.

--
Martin Harvey.
http://www.*-*-*.com/
PGP key available from above address,
or http://www.*-*-*.com/



Thu, 30 Aug 2001 03:00:00 GMT  
 
 [ 5 post ] 

 Relevant Pages 

1. (B. Tilly - read) Ruby in college coursework

2. Ruby in college coursework

3. prolog - CNF DNF (coursework)

4. Dialects & debates (was Re: (no subject))

5. apl/j debate !!!NOT!!

6. Join Network World's on-line Java debate

7. A Little Debate CFD3.1 And Novell

8. Resize template - joining the debate..

9. Eiffel Debate

10. Forth debate :-) (was: Making Palm software)

11. Standard Debate

12. Standard Debate

 

 
Powered by phpBB® Forum Software