Discussion:
Oberon 2 for vs. IP Pascal vs. Delphi - your opinion?
(too old to reply)
AtariFan
2010-02-25 20:21:58 UTC
Permalink
hello,

I would like to do some programming for my Win2000 system and am fairly
experienced with Turbo Pascal and partly Java.
I will do things like creating Windows menues, setting file attributes,
parsing text files and more and want small standalone programes when
finished.
Which compiler do you recommend? And when choosing Oberon, the POW!
system or XDS Modula?
I've bought a book about an older Delphi, "programming in Oberon" by
Wirth/Reiser and read Modulaware's introduction into Oberon-2 and Scott
Moore's IP-Pascal homepage. And noticed some important (for me)
aspects:
- Oberon stops duplicate declarations as in Turbo Pascal with
*interface* and *implementation* by marking an identifier with the star
char for export. Very appreciated!
- Oberon-2 is object oriented but I didn't get the point about the
extensibility of the language. What is the power of Oberon compared to
other OOP languages?
- Delphi offers constructors, Class objects and more. Nice but on the
other hand I'm not addicted to feature lists
- IP Pascal offers some well-thougt enhancements over Turbo Pascal 5
like open arrays that can even fixed arrays passed to as parameters and
more.
Feel free to advise, please.

Kind regards, Ludwig
Chris Burrows
2010-02-25 22:43:40 UTC
Permalink
Post by AtariFan
hello,
I would like to do some programming for my Win2000 system and am fairly
experienced with Turbo Pascal and partly Java.
I will do things like creating Windows menues, setting file attributes,
parsing text files and more and want small standalone programes when
finished.
Which compiler do you recommend? And when choosing Oberon, the POW! system
or XDS Modula?
I recommend BlackBox Component Builder:

http://www.oberon.ch/blackbox.html

Although the language used is called Component Pascal, it is actually
Oberon-2 with additional O-O extensions making it also suitable for building
component frameworks. The source code of the *entire* system is included,
excellent support from other users is available on the mailing list and
there are numerous advanced examples on Helmut Zinn's Component Pascal
Collection site:

http://www.zinnamturm.eu/

Refer to the section 'Platform-Specific Issues' for details of how to create
small standalone executables. One of my standalone BlackBox Windows
executables (which admittedly calls the Windows API directly) was only 6Kb!
Post by AtariFan
- Oberon stops duplicate declarations as in Turbo Pascal with *interface*
and *implementation* by marking an identifier with the star char for
export. Very appreciated!
Indeed. Once you get use to this it is very difficult to remain comfortable
using systems like Delphi.
Post by AtariFan
- Oberon-2 is object oriented but I didn't get the point about the
extensibility of the language. What is the power of Oberon compared to
other OOP languages?
An excellent book that will help you to understand this is Hanspeter
Mössenböck's "Object-Oriented Programming in Oberon-2". Several used copies
are currently available from Amazon.

A taste of what is in Mössenböck's book can be seen by reading his earlier
paper with the same title which was presented at the 2nd International
Modula-2 Conference. It can be downloaded in Postscript format from:

http://www.ssw.uni-linz.ac.at/Research/Papers/Moe91.html
Post by AtariFan
- Delphi offers constructors, Class objects and more. Nice but on the
other hand I'm not addicted to feature lists
The Delphi language is far too complex for its own good. It is virtually
impossible for mere mortals to master the language. I use Delphi as well as
Oberon and Component Pascal all the time. I only ever need about 10% of
Delphi's features and generally use about 90% of Oberon-2's features.

--
Chris Burrows
CFB Software
Armaide: ARM Oberon-07 Development System
http://www.armaide.com
August Karlstrom
2010-02-26 10:18:11 UTC
Permalink
Post by Chris Burrows
An excellent book that will help you to understand this is Hanspeter
Mössenböck's "Object-Oriented Programming in Oberon-2". Several used copies
are currently available from Amazon.
I agree, this is the best book I have read on the subject. A real
eye-opener. Bought a used copy through Amazon.


/August
AtariFan
2010-02-26 15:25:38 UTC
Permalink
Hello,

thanks both for your answers
Post by Chris Burrows
Post by AtariFan
Which compiler do you recommend? And when choosing Oberon, the POW! system
or XDS Modula?
http://www.oberon.ch/blackbox.html
The Pow! System and XDS Oberon are both not continued, so Blackbox
could be a solution accepting that it compiles to .NET
So POW! and XDS aren't used any more in this group?
Post by Chris Burrows
Refer to the section 'Platform-Specific Issues' for details of how to create
small standalone executables. One of my standalone BlackBox Windows
executables (which admittedly calls the Windows API directly) was only 6Kb!
I found this section to be part of the Blackbox online help, so I
should download the entire system at first?
Hope it is not difficult to call MS Win APIs.
AFAIK the OPAL lib of the POW! system integrates Windows-functios.
Post by Chris Burrows
Post by AtariFan
What is the power of Oberon compared to
other OOP languages?
An excellent book that will help you to understand this is Hanspeter
Mössenböck's "Object-Oriented Programming in Oberon-2". Several used copies
are currently available from Amazon.
So I should pick a copy from there. The Wirth's book is more about the
first Oberon.

Kind regards, Ludwig
Chris Burrows
2010-02-27 00:51:41 UTC
Permalink
Post by Chris Burrows
http://www.oberon.ch/blackbox.html
The Pow! System and XDS Oberon are both not continued, so Blackbox could
be a solution accepting that it compiles to .NET
BlackBox Component Pascal does NOT compile to .NET it produces native Win32
executables. GPCP is the implementation of Component Pascal that compiles to
.NET:

http://plas.fit.qut.edu.au/gpcp/Downloads.aspx
So POW! and XDS aren't used any more in this group?
Don't know about this group but I know of current XDS and POW! users.
Post by Chris Burrows
Refer to the section 'Platform-Specific Issues' for details of how to
create small standalone executables. One of my standalone BlackBox
Windows executables (which admittedly calls the Windows API directly) was
only 6Kb!
I found this section to be part of the Blackbox online help, so I should
download the entire system at first?
Yes - the whole system including source code is less than 7MB.
Hope it is not difficult to call MS Win APIs.
AFAIK the OPAL lib of the POW! system integrates Windows-functios.
99% of the time you don't need to call MS Win APIs directly in BlackBox. Its
framework and libraries are significantly more advanced than POW! so make
sure you read the documentation thoroughly before jumping in the deep end.
You can use these facilities to display forms, dialog boxes, menus, button
and all the usual Windows controls etc. etc.
Post by Chris Burrows
An excellent book that will help you to understand this is Hanspeter
Mössenböck's "Object-Oriented Programming in Oberon-2". Several used
copies are currently available from Amazon.
So I should pick a copy from there. The Wirth's book is more about the
first Oberon.
There is an extensive list of Oberon-related books (including Oberon-2)
here:

http://www.oberon.ethz.ch/bibliography/publications

--
Chris Burrows
CFB Software
Armaide: ARM Oberon-07 Development System
http://www.armaide.com
Chris Burrows
2010-02-27 03:25:41 UTC
Permalink
Post by Chris Burrows
Post by AtariFan
Which compiler do you recommend? And when choosing Oberon, the POW!
system or XDS Modula?
http://www.oberon.ch/blackbox.html
On second thoughts perhaps you should try POW! first. You should be able to
get started much more quickly with POW! as it is less powerful and
consequently simpler to learn than BlackBox. Once you have become familiar
with the language and have outgrown POW!, then would be the time to move up
to BlackBox.

There is an implementation of the POW! Opal library for BlackBox which might
make the initial transition from POW! to BlackBox a bit easier:

http://www.zinnamturm.eu/downloadsOS.htm

--
Chris Burrows
CFB Software
Armaide: ARM Oberon-07 Development System
http://www.armaide.com

August Karlstrom
2010-02-26 11:06:26 UTC
Permalink
Post by AtariFan
- Oberon-2 is object oriented but I didn't get the point about the
extensibility of the language.
It is not about the extensibility of the language itself, "extensible
types" corresponds to "inheritance" in standard OOP terminology.
Post by AtariFan
What is the power of Oberon compared to
other OOP languages?
* Simplicity - Oberon is one of (if not the) smallest procedural OOP
languages. The grammar of Oberon-07 has only 52 syntactic entities.

* Safety - strong typechecking, clear semantics

* Efficiency - few hidden costs i.e. not too much going on behind the
scenes. High-level constructs give room for compiler optimizations.

With Oberon I am more focused on solving real problems than struggling
with the language itself (compare with C++).

See also

http://www.modulaware.com/mdlt49.htm

A bit old but still relevant.


/August
Loading...