Frank Heckenbach wrote:
It seems GPC has a good following in adademia and there should still be universities who teach Pascal.
From what I see and read recently (more like, in the last 10 years or longer), apparently not so many.
It depends on where you are looking. It is true that at universities in most of Western Europe and the United States the use of Wirthian languages has been in decline but there are geographies where this isn't so.
For example, Pascal is still very prominent in the Baltic states and some former Soviet republics. Modula-2 is taught in many Spanish universities, former Yugoslavia and in Russia. Oberon is taught in some universities in Belgium and in the UK. Oxford university even maintains its own Oberon compiler which I believe is predominantly for teaching.
So my recommendation would be to actively seek out those universities, talk to the professors who run the courses and try to win them over as "recruiters".
To be honest, I think this might have been a good idea some 10-15 years ago. Now it may be too late.
I agree that it would have been easier 10-15 years ago than it is today, but if I had any stake in this, I personally wouldn't give up that easily.
Not that far back, our Modula-2 project looked like a Don-Quixotian effort, you know, fighting wind mills and everybody watching thinks you're nuts. Yet, with hard work and perseverance the project has gained momentum and more and more people are flocking in. If we had listened to the sceptics none of this would have happened.
My advice would be to get 2 or 3 folks together to form a kind of steering/action committee, draft some document about what the future direction should be, use peer review to refine that, turn it into a goals and requirements catalog, give it a name (say GNU Pascal NG, "for next generation"), put it up on a website with all the necessary collaboration tools, then go fishing and see what happens. You never know how far you will get unless you go for it.
The GNU Modula-2 GCC front end is written in Modula-2.
One advantage GM2 (and disadvantage GPC) has had is WRT support of different major backend versions and their large changes.
You might say we should have dumped the old versions and go all in with the new ones as soon as possible, but remember we didn't write GPC in an empty space with unlimited resources for philanthropic reasons.
Fair enough. I am not saying it is going to be a walk in the park, but I am saying it ain't impossible to have a GCC front end that is not written in C or C++.
We had actual programs that we needed to compile and maintain (since BP wasn't up to the task anymore), with gcc 2.7.x or 2.8.x current at that time. When gcc-3 came out, it took some time before GPC support with it was really stable (not just somehow usable), and during this time we still needed support for gcc-2. (Actually it was two major steps, since gcc-2.95 and egcs already introduced big changes from 2.8.x and gcc-3 made more.) Then, in the transition to gcc-4 we cannot (note the present tense) dump gcc-3 which for me currently is the only way to compile most of my programs. If we had started with gcc-4 as GM2 did (AFAICT),
You are mistaken. GM2 started originally as M2F, a Linux-only Modula-2 compiler with an x86 back-end and about 10 years ago, the author decided to retarget it to GCC and thereby turn it into GNU Modula-2. At the time when the first work on that was done the current GCC version was 2.95 or thereabouts.
Of course, the fact that it has taken 10 years for GNU Modula-2 to get to almost reaching a 1.0 release is an indication that this has been a major effort. Like GPC, GM2 is multi-dialect (including ISO M2). Like GPC it has only one developer (other contributors are mostly platform testers). Like GPC it has struggled keeping up with GCC updates.
In any event, my point was that if you guys really want GPC to be written in Pascal, it's not impossible, it'll be an effort, yes, but it can be achieved.
Kevan Hashemi wrote:
If what OM2 says about GCC is true, then I think it's clear that the GCC team will do their best to make it hard for us to keep up with their changes, and therefore you are right: it's not worth bothering with.
Please don't take this out of context. I also wrote that not all GCC developers think this way. There are two lines of thought. One group is so concerned about possible circumvention of the GPL that they are willing to let this influence design choices. The other line is more concerned with technical merit, they think protecting the license is a job for lawyers not for engineers to do.
I didn't mean to suggest that GCC is entirely shaped by those who are willing to let license considerations influence the design. I said that there is an influence from *both* these lines of thought and that even if the influence of the former can be expected to weaken as a result of competition with LLVM, that I doubt it will ever entirely disappear.
Also note that I do not pass any judgement about the license or which approach is "right" and which approach is "wrong". I am only observing.
I personally tend to believe that in the early days of open source it was necessary to have a viral license to protect and spread the open source model, that meanwhile open source has become so well established that the model is no longer threatened by more liberal license regimes. However, like anybody else, I don't have a crystal ball, so I cannot be 100% sure that my assessment is correct, there is a chance I might be wrong about this.
For this reason, even if I disagree, I cannot entirely dismiss the concerns of those GCC developers who think their project is threatened by possible GPL circumvention.
This is one of the reasons why I made a plea for GNU Pascal to be sustained as a GCC front end even though I am not exactly a big fan of GCC. As nature teaches us, the best way for a species to survive is genetic diversity. I believe the same holds true for software projects. If Pascal is represented in all the mainstream technology approaches and all the mainstream licensing models, it has a better chance of survival then if all eggs are in one nest. As a result it follows that there ought to be a GNU Pascal that targets GCC even if there is also an LLVM Pascal around (and a JVM and .NET/mono targeting Pascal).
The same applies on the language level. I personally prefer Modula-2, but I'd be rather concerned if Modula-2 was the only surviving member of the Algol line. I think diversity is important on that level, too.
If one member of the extended family gets into trouble, that should be concern for all members of the extended family. The fewer of us remain standing, the more likely we'll end up in a world where the Algol line becomes extinct.
As for retargeting GNU Pascal, I personally would consider that a new project.
Waldek suggested the same in private correspondence, which already made me skeptical of the approach before I sent my first mail. The situation doesn't seem right for starting new projects.
Please, don't let my comment discourage you from doing what you would like to do. My comment was more about marketing than technical issues.
Also, when I said "new project" I meant something akin to a fork, not necessarily an effort starting from scratch.
But even starting from scratch isn't as bad as it may seem. In fact, starting from scratch can be liberating, motivating and energising.
Our Modula-2 project started from scratch. We even spent an entire year on revising and modernising Wirth's last Modula-2 specification. During that time we only did some experimental coding to test ideas. It almost felt like we were moving further away from working on implementation.
Yet, once we had a viable specification and started our public repository, we quickly gained momentum and I have not seen as much enthusiasm and motivation in any project I have been involved in for many years. A lot of that, if not all, is a result of a fresh start.
Whichever road you decide to take, don't let yourself be discouraged.