| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#1
| |||
| |||
| Hi, I was a big Modula-2 user from the days of Topspeed, through to about 2001. We built simulation models (you can play with one here, if you're interested: http://bized.co.uk/virtual/economy/model/ - that's XDS Modula running on Linux with a Java front end). I haven't posted here in many years. The group was busier then! I don't think we could have achieved anything like we did if we hadn't switched to this family of languages (first Turbo Pascal, then Modula, now I use Ada quite a lot (better support, uglier language) whilst former colleagues use Delphi(ditto) ). So, I have two questions: 1) Why have these languages failed? Ada and Delphi are alive to an extent, but none dominate, and - lets' face it Modula-2 is barely used at all. At first sight, they offer so many advantages, especially in clarity and type safety. 2) Is it fixable? Can anyone imagine a language in this tradition that might be a hit? What would it look like? I have my own views but would love to know what you all think. Graham |
|
#2
| |||
| |||
| "graham.kerr.stark@googlemail.com" <graham.stark@virtual-worlds.biz> wrote in message news:7c9a0c9f-3394-43de-8ece-3f8f1d45f650@m73g2000hsh.googlegroups.com... > So, I have two questions: > > 1) Why have these languages failed? Ada and Delphi are alive to an > extent, but none dominate, and - lets' face it Modula-2 is barely used > at all. At first sight, they offer so many advantages, especially in > clarity and type safety. > Failed? Failed to have mass acceptance do you mean? Does that really constitute a failure? I would rather be in the company of a few lions than millions of sheep ;-) After a decade or so using Modula-2 (M2MPC, Volition Systems, FTL and JPI) I switched to Delphi in 1995 as, at that time, it was as difficult to write rich GUI Win32 apps in Modula-2 as it was to write them in C / C++. VB was eliminated as a serious contender within just a few hours' consideration. > 2) Is it fixable? Can anyone imagine a language in this tradition that > might be a hit? What would it look like? > I was happy with the improvements of Oberon-2 over Modula-2 from a language perspective but it wasn't until the .NET Framework 2.0 and Component Pascal for .NET came along a couple of years ago that I was able to start replacing Delphi as my tool of choice for implementing Windows apps with the clarity and security of Oberon-style code. -- Chris Burrows CFB Software http://www.cfbsoftware.com/modula2 |
|
#3
| |||
| |||
| "graham.kerr.stark@googlemail.com" <graham.stark@virtual-worlds.biz> wrote in message news:7c9a0c9f-3394-43de-8ece-3f8f1d45f650@m73g2000hsh.googlegroups.com... > Hi, > I was a big Modula-2 user from the days of Topspeed, through to > about 2001. We built simulation models (you can play with one here, if > you're interested: > http://bized.co.uk/virtual/economy/model/ - that's XDS Modula running > on Linux with a Java front end). > > I haven't posted here in many years. The group was busier then! > > I don't think we could have achieved anything like we did if we hadn't > switched to this family of languages (first Turbo Pascal, then Modula, > now I use Ada quite a lot (better support, uglier language) whilst > former colleagues use Delphi(ditto) ). > > So, I have two questions: > > 1) Why have these languages failed? Ada and Delphi are alive to an > extent, but none dominate, and - lets' face it Modula-2 is barely used > at all. At first sight, they offer so many advantages, especially in > clarity and type safety. One point might be: it developed to slow and to many developments were incompatible. I remember the overhead of porting my code from one compiler to the other, from one operating system to the other. When ISO modula finally arrived, other languages already had OO and generics. (there were proposals to add those language elements to M2 as well, but again in an incompatible way.) Migrating away from M2 was always simpler than migrating from an other language to M2. There is "mtc", but no "ctm"! This might be one reason why Windows APIs stayed on the C-->C++ track. M2 is a good language to express algorithms and to write new programs from scratch. But migrating an existing project to M2 is hard, and most users work in enhancing existing programs. This requires UI, DB connection and all the things Delphi addresses. But Delphi is not M2, if you need to migrate your M2 project to something different, you can as well go the way to Java or C++. > > 2) Is it fixable? Can anyone imagine a language in this tradition that > might be a hit? What would it look like? The current programming languages are not the end of development. For sure, one of the following languages will put more emphasis on structure and readability again. I will not tell you the killer details of the language I will publish in ~20 years ;-) > > I have my own views but would love to know what you all think. > > Graham Regards, Georg |
|
#4
| |||
| |||
| graham.kerr.stark@googlemail.com wrote: > Hi, > I was a big Modula-2 user from the days of Topspeed, through to > about 2001. We built simulation models (you can play with one here, if > you're interested: > http://bized.co.uk/virtual/economy/model/ - that's XDS Modula running > on Linux with a Java front end). > > I haven't posted here in many years. The group was busier then! > > I don't think we could have achieved anything like we did if we hadn't > switched to this family of languages (first Turbo Pascal, then Modula, > now I use Ada quite a lot (better support, uglier language) whilst > former colleagues use Delphi(ditto) ). > > So, I have two questions: > > 1) Why have these languages failed? Ada and Delphi are alive to an > extent, but none dominate, and - lets' face it Modula-2 is barely used > at all. At first sight, they offer so many advantages, especially in > clarity and type safety. > > 2) Is it fixable? Can anyone imagine a language in this tradition that > might be a hit? What would it look like? > > I have my own views but would love to know what you all think. Nothing 'went wrong' with Modula-2, but many things have conspired against it. a) What is windows written in ? That factor alone, gives the 'windows incumbent language', (whatever it happens to be), a juggernaught advantage. b) How large IS the Compiler industry ? Not very large, look at Borland : one of the pioneers, and they are re-branding into some corporate-warm-fuzzies thing, with 'enterprise' buzz words. Going for fewer customers, with larger dollars per customer. Their actual compiler revenue is small. Same with TopSpeed/Clarion. Does microsoft still charge for their compilers ? That leaves Modula-2 as a niche language, in an already niche industry, with ststic/falling revenues. c) Inertia and 'good enough' These also conspire against change. C was 'good enough', and a large number of cores release C first. There they stagnate, as the effort to release any better languages hits the repidly diminishing returns. -jg |
|
#5
| |||
| |||
| Georg Lokowandt wrote: > "graham.kerr.stark@googlemail.com" <graham.stark@virtual-worlds.biz> wrote > in message > news:7c9a0c9f-3394-43de-8ece-3f8f1d45f650@m73g2000hsh.googlegroups.com... > >>Hi, >> I was a big Modula-2 user from the days of Topspeed, through to >>about 2001. We built simulation models (you can play with one here, if >>you're interested: >>http://bized.co.uk/virtual/economy/model/ - that's XDS Modula running >>on Linux with a Java front end). >> >>I haven't posted here in many years. The group was busier then! >> >>I don't think we could have achieved anything like we did if we hadn't >>switched to this family of languages (first Turbo Pascal, then Modula, >>now I use Ada quite a lot (better support, uglier language) whilst >>former colleagues use Delphi(ditto) ). >> >>So, I have two questions: >> >>1) Why have these languages failed? Ada and Delphi are alive to an >>extent, but none dominate, and - lets' face it Modula-2 is barely used >>at all. At first sight, they offer so many advantages, especially in >>clarity and type safety. > > > One point might be: it developed to slow and to many developments were > incompatible. I remember the overhead of porting my code from one compiler > to the other, from one operating system to the other. When ISO modula > finally arrived, other languages already had OO and generics. (there were > proposals to add those language elements to M2 as well, but again in an > incompatible way.) > > Migrating away from M2 was always simpler than migrating from an other > language to M2. There is "mtc", but no "ctm"! This might be one reason why > Windows APIs stayed on the C-->C++ track. > > M2 is a good language to express algorithms and to write new programs from > scratch. But migrating an existing project to M2 is hard, and most users > work in enhancing existing programs. This requires UI, DB connection and all > the things Delphi addresses. But Delphi is not M2, if you need to migrate > your M2 project to something different, you can as well go the way to Java > or C++. > > >>2) Is it fixable? Can anyone imagine a language in this tradition that >>might be a hit? What would it look like? > > The current programming languages are not the end of development. For sure, > one of the following languages will put more emphasis on structure and > readability again. I will not tell you the killer details of the language I > will publish in ~20 years ;-) It will be called Fortran 2008 (it's not to far from publication). > > >>I have my own views but would love to know what you all think. >> >>Graham > > > Regards, Georg > > -- Gary Scott mailto:garylscott@sbcglobal dot net Fortran Library: http://www.fortranlib.com Support the Original G95 Project: http://www.g95.org -OR- Support the GNU GFortran Project: http://gcc.gnu.org/fortran/index.html If you want to do the impossible, don't hire an expert because he knows it can't be done. -- Henry Ford |
|
#6
| |||
| |||
| In article <7c9a0c9f-3394-43de-8ece-3f8f1d45f650@m73g2000hsh.googlegroups.com>, graham.kerr.stark@googlemail.com <graham.stark@virtual-worlds.biz> wrote: [snip] > So, I have two questions: > 1) Why have these languages failed? Ada and Delphi are alive to an > extent, but none dominate, and - lets' face it Modula-2 is barely used > at all. At first sight, they offer so many advantages, especially in > clarity and type safety. > 2) Is it fixable? Can anyone imagine a language in this tradition that > might be a hit? What would it look like? > I have my own views but would love to know what you all think. As others have said, nothing is 'wrong' with Modula-2 that a little blowing of dust and re-writing implementations from scratch won't fix. This, of course isn't going to happen because writing a compiler from scratch is in the 'too hard' basket for most commercial programmers out there. For a while I used Sather after Modula-2 as an insight into OO programming. I spent a long time looking at the compiler and the compiled code (which was re-written by the compiler into C and then gcc applied). I had a student do a (quite good) rework of the Sather compiler to produce x86 assembler - just to look at the efficiency problem - it was about as efficient as gcc using O2. This, to me, meant that the language design was not terribly efficient and, in particular that the Run-Time Engine was heavily over-blown. Modula-2 is an excellent language as it is very efficient when compiled well - but it does not offer programmers a range of possible programming paradigms - which seems to be the way modern language design is going. I agree that many of these so-called new paradigms are written as veneers on top of C or Java - which themselves are, to say the least, not really type safe. My solution? Back to the drawing board! One of the things that intrigues me from a theoretical point of view is the much-touted initiative to develop tools for proving program correctness. Some people are even working on this as an'extension' to Java - which sounds fine, but inevitably relies on the correctness of a Java implementation - and Java isn't really a very flexible language to start heaving complicated superstructures onto. I think a formally designed and implemented language is necessary for this initiative to really work. For a couple of years now I have been working on the formal design (using vdm-sl) of a completely new language which has flavours of Modula-2, flavours of Sather and Ada too. At the moment I am mildly stuck on two fronts - (1) The algorithms for converting a trace description into suitable concurrency controls (a la Path Pascal sort of thing). (2) The part of the run-time engine which will act as distributed program communication manager. It seems to me - as you may guess from these comments - that no matter how hard we try to wrap it up, concurrency and program distribution are in the 'very hard basket' for commercial programmers. I don't think that Modula-2 helps in this regard (which may be another reason for its fading away) - even though distribution and event driven programming are likely to become the norm in the not too distant future. What might it look like? Well - if anyone is interested - http://srv.asgard.docs/esk.txt is my version of a compiler for my new language!! All a bit tongue-in-cheek of course! Keith Hopper -- Inspired! |
|
#7
| |||
| |||
| On 2008-04-16, graham.kerr.stark@googlemail.com <graham.stark@virtual-worlds.biz> wrote: > I haven't posted here in many years. The group was busier then! > > I don't think we could have achieved anything like we did if we hadn't > switched to this family of languages (first Turbo Pascal, then Modula, > now I use Ada quite a lot (better support, uglier language) whilst > former colleagues use Delphi(ditto) ). So do I (and Free Pascal). > 1) Why have these languages failed? Ada and Delphi are alive to an > extent, but none dominate, and - lets' face it Modula-2 is barely used > at all. At first sight, they offer so many advantages, especially in > clarity and type safety IMHO the failure was twofold: - general engineering and academics largely stopped using general purpose languages, and switched to more specialised tools and Mathlab. - The future of professional programming came from the US, while Europe was(and is) the Wirthian stronghold. The latter maybe helped by the fact that the dotcom bubble put a huge pressure on all development to be quick, without standing back and examine the options. When the dust settled, all other languages were dead. Delphi is dying too I think. I've been looking out, but haven't found a worthy successor. The problematic point for me is to make fast client apps without many dependancies (I work for a machine Vision specialist), and also create them reasonably fast and flexible. > 2) Is it fixable? Can anyone imagine a language in this tradition that > might be a hit? What would it look like? No. In my Pascal advocacy I find there is hardly any bottom to feed on. The majority are relatively new arrivals that haven't known anything else. Some parallels to say win98 times when a lot of the people know nothing about Dos anymore and are scared of the commandline come to mind. Currently it looks like native languages are going to be the Cobol of the 2010's. Everybody frowns upon them, but the number of programmers are low, and the needs will be high, while the .NET/Java markets will be swamped with programmers, and making a difference there will be difficult (though not impossible). I just don't want to create dumb webapps for mom and pop shops for 5 years to get enough experience again. > I have my own views but would love to know what you all think. I'm going to hold out with Delphi, unless some really interesting comes along. I get offered Delphi jobs nearly every other week, and I'm not even looking officially. Hobbywise, I've committed to Free Pascal a long time ago, and I always meant to ride it out. Of course nothing is forever, but I'm still loving it. |
|
#8
| |||
| |||
| On 2008-04-16, Jim Granville <no.spam@designtools.maps.co.nz> wrote: > Nothing 'went wrong' with Modula-2, but many things have conspired > against it. > > a) What is windows written in ? > That factor alone, gives the 'windows incumbent language', > (whatever it happens to be), a juggernaught advantage. And Unix was always C centric to start with. > b) How large IS the Compiler industry ? Very good point. > Does microsoft still charge for their compilers ? Yes, afaik it makes big bucks with it. (more than Borland/annum afaik). > c) Inertia and 'good enough' > These also conspire against change. C was 'good enough', > and a large number of cores release C first. There they > stagnate, as the effort to release any better languages hits > the repidly diminishing returns. A big problem is also that 32-bit dos C's appeared first. |
|
#9
| |||
| |||
| Marco van de Voort wrote: > On 2008-04-16, Jim Granville <no.spam@designtools.maps.co.nz> wrote: > >>Nothing 'went wrong' with Modula-2, but many things have conspired >>against it. >> >>a) What is windows written in ? >>That factor alone, gives the 'windows incumbent language', >>(whatever it happens to be), a juggernaught advantage. > > > And Unix was always C centric to start with. > > >>b) How large IS the Compiler industry ? > > > Very good point. > > >>Does microsoft still charge for their compilers ? > > > Yes, afaik it makes big bucks with it. (more than Borland/annum afaik). > I googled and found these links : http://www.microsoft.com/presspass/p...essFreePR.mspx "At this weekend’s Maker Faire, Microsoft Corp. will display how a variety of innovative companies are using its now-free Visual Studio® 2005 Express editions to bring the power of code to the growing community of 18 million recreational and hobbyist developers. " http://www.turboexplorer.com/delphi "The free Turbo Delphi Explorer edition is a fixed, all-in-one solution which lets beginners and hobbyists learn programming and develop applications using the Delphi language." So the emergence of free, high grade compilers for students, and part time, or shareware type developers shows a couple of things : ** Other free software offerings (Gcc, freepascal etc), helped push the companies to do this. ** The revenue streams from this sector was not big. Large number of users, but most happy one generation (or more) back from the leading edge. -jg |
|
#10
| |||
| |||
| Hi Keith, > > My solution? Back to the drawing board! One of the things that > intrigues me from a theoretical point of view is the much-touted initiative > to develop tools for proving program correctness. Some people are even > working on this as an'extension' to Java - which sounds fine, but > inevitably relies on the correctness of a Java implementation - and Java > isn't really a very flexible language to start heaving complicated > superstructures onto. I think a formally designed and implemented language > is necessary for this initiative to really work. > > For a couple of years now I have been working on the formal design > (using vdm-sl) of a completely new language which has flavours of Modula-2, > flavours of Sather and Ada too. At the moment I am mildly stuck on two > fronts - > > (1) The algorithms for converting a trace description into suitable > concurrency controls (a la Path Pascal sort of thing). > > (2) The part of the run-time engine which will act as distributed > program communication manager. > > It seems to me - as you may guess from these comments - that no matter > how hard we try to wrap it up, concurrency and program distribution are in > the 'very hard basket' for commercial programmers. I don't think that > Modula-2 helps in this regard (which may be another reason for its fading > away) - even though distribution and event driven programming are likely to > become the norm in the not too distant future. > > What might it look like? Well - if anyone is interested - > http://srv.asgard.docs/esk.txt is my version of a compiler for my new > language!! All a bit tongue-in-cheek of course! The link does not work ? The 'next frontier' is managing multiple cores, and multiple threads, and elements of 'hard realtime' (usually relatively small), within larger systems. Some of my links, that may be of interest Some fringe language work, in the 'provable' area http://research.microsoft.com/foundations/AsmL/ and, since everyone is starting to offer 2,3,4 and more cores this at the single chip level: http://www.electronicstalk.com/news/xmo/xmo102.html Which says "Two compilers target the XCore processor engine an ANSI C compiler from ACE Associated Compiler Experts and the XMOS XC compiler. A mapper/linker builds object files from the source code and precompiled IP modules. The two compilers are seamlessly integrated for mixed C and XC projects. XC is an XMOS-originated variant of C that supports parallel processing, event-driven control and time-based programming. A companion Eclipse IDE provides developers with a complete debug and simulation environment." Early days for them, but it is a complete system, and they may be keen to assist some research under NDA. Also, there was talk a while back, of Silicon that would run .NET bytecodes directly, but that does not seem to have hit critical mass. Maybe the leading-process x86 variants, can interpret faster than a native NET device, 'a couple of generations back'. Similar with java-silicon. Fringe work only, no sign of critical mass being reached. Plus, an ideal new language, should also be able to compile into FPGA design flow - there are first generation C to Fpga hardware flows, that try to blur the algorithm. -jg |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.