Smart Pascal dialect

November 5, 2014 Leave a comment Go to comments

Ever since I posted the “Smart Pascal now an official dialect” post, I have gotten a fair share of negative comments on the subject.



First, I am open to the choice of words perhaps being “off” the mark. It was written at the spur of the moment as just a quick message to those that read my blog. So I didn’t exactly sit down and meditate of 2 days beforehand, trying to find the exact right words to use – nor is English my native language, so unless I focus a bit – my style of writing will always have a Norwegian flavor to it.

What does official mean

For some odd reason people have reacted to the word “official”, as if that requires some form of consortium or establishment behind it. It’s a word open for translation perhaps, but for me it simply means:

Publicly available, publicly accessible – and ultimately: publicly open for scrutiny.

I mean, when BattleField III and IV was announced it was done via a public announcement which is often termed “official”. When you google websites which has a lot of fans, it’s often required to add the word “official” to the query – just to filter out all the fan-sites from the actual site (especially for movies and bands). So how people can react to the word “official”, like I have somehow mis-represented Smart Mobile Studio and whatever articles have been written about it online; well, it could not be further from the truth.

And when it comes to the term “dialect” and Smart Pascal now being an “official dialect” of object pascal, consider this: On paper American English and British English can be tough to distinguish, yet everyone in the world recognizes the difference between British, American, Irish and Scottish. There is very little linguistic difference in the vocabulary between, say, an Irishman and someone born and raised in London with a purely “brit” accent. But the moment you get a chance to hear how they pronounce and use words — you will recognize that one is from Ireland and the other from London. You should also have no problems telling a man from Texas USA apart from a Scottish Highlander based on their dialect.

Smart Pascal is especially suited for HTML5/JS

Smart Pascal is especially suited for HTML5/JS

A dialect simply means that:

  • There is enough in common to recognize it belongs to a group (English)
  • There is enough differences to recognize that it stands apart (Scottish, British, American, Australian, Irish and so on)

Looking at how other programming languages deal with this very problem: is Blitz Basic something completely new or is it regarded as a dialect of Basic? And why is it recognized as a dialect as opposed to a whole new language?

It is recognized as a dialect because, naturally, there are key elements in the syntax which follows the “basic language” style. The same can be said of Wacom C in context with Borland or Gnu C. They are all recognized as C compilers, implementing a variation of the C language. In fact most vendors are quite proud when they finally support the official, latest C language specification. But this is also where things become paradoxical.

If a dialect is supposed to strictly follow a defined standard, then we would have no American English, no Irish English, no British Columbia, no South African English and absolutely no Scottish English. We would only have British. Forever and ever and under no circumstances would the language expand or evolve to absorb new elements and realities without a group meeting? Thats not gonna work.

The problem? The problem is that the pascal specification (ISO 7185) is bloody ancient! It was first envisioned back in 1977 (!) And I would feel deeply sorry for the entire IT community if the extent of our technological reach begins and ends with a paper. That would to a large extent invalidate most of the changes added by Embarcadero since it bought Delphi and C++ builder, and indeed any changes after Anders Hejlsberg left Borland (because he defined the standard for object pascal). It would also utterly condemn Remobjects for creating Oxygene — and freepascal would never exist in the first place.

FreePascal and Lazarus is just as in power as Delphi is

FreePascal and Lazarus is just as in power as Delphi is

So to make it crystal clear: modern pascal has no group or controlling entity (legal or otherwise) which is in charge of “pascal” and what that means. C/C++ on the other hand has a vibrant and very much active group of thinkers and specification thumpers, led by the author of C++Bjarne Stroustrup (which I guess we should regard as an lawless rebel because he dared invent something not yet defined by a standard); A group which keeps on knocking out standards for the C++ language. But it’s up to each compiler author and/or company to implement and follow these standards. The key here is choice and what lingo is better suited for a particular task. And this has nothing to do with academia, that’s not their job.

So once again for pascal, there is no such organ. People have somewhat fallen into line automatically behind Embarcadero as “the trend setter” for object pascal, but in reality it has no more authority on the subject than Remobjects or myself. The sad reality is that object pascal sort or died when Anders Hejlsberg jumped ship and defected to Microsoft. It is a very sad story, but it’s none-the-less true. And in his absence the pascal community has had to make due. And after many years of loom and doom Delphi, FreePascal, Smart Pascal and Oxygene Pascal is standing on their own feet, evolving without the guiding hand of the grandfather of object pascal: Anders Hejlsberg.

And it should also be mentioned that Anders produced object pascal in his room, living with his parents back in Denmark– utterly violating the existing pascal specification. Something which was a necessity in order to create something new. A rule of life: the old must be destroyed for something new to be created (there is a limited amount of particles in the universe after all).

Tools of the trade?

Let’s face facts: There is no board, organ or philosophical entity in the world from which developer’s must seek a blessing in order for something to be official, although Apple is sure as hell playing the role of emperor without clothes pretty well. RemObjects Oxygene for instance, does that need the approval of Embarcadero to be an official dialect of pascal? I sure consider it an official dialect, nor was there ever a time when it was not official except for the incubation period. The moment Oxygene went from beta to public release, it was an official dialect.

The exact same thing can be said about Smart Pascal.

The tools of the trade in this case is probably university type mentality meets reality. People with a higher degree of education tends to pick up concepts along the way which quite often goes against the reality of nature and the mother of necessity. Things are created and built out of personal need, adapting to a situation or technology. Nature doesn’t write a paper on it, subject it to a panel of peers for review, until it finally jumps into gear and builds it. Nope, if you can envision it, built it and drag that idea from the realm of thought to our human, factual plane — nature will back you up and provide momentum. That is the law of the jungle, and bitching about it is not gonna help.

Is Remobjects Oxygene not a proper dialect? Ofcourse it is

Is Remobjects Oxygene not a proper dialect? Ofcourse it is

And it’s been like that for thousands of years. It amuses me to some degree how few of our human practical inventions that we enjoy were created in a funded, managed environment. The wast majority were in fact incubated and forged in personal “hobby” type labs by people of passion. Apple and Google started out in a garage for pete sake.

I have higher education myself, but I also recognize that inspiration and motivation can just as easily be murdered by academics as it can be polished and perfected.

Final words

So what makes something official? Well it depends on who you ask perhaps. My observation is that languages can die out just as quickly as they appear, but those that “make it” into history are typically those with a book or two dedicated to them. There is also a high level of persistence involved (or required) for the inventors and initiative-takers. But there is never a guarantee that one idea will win over the other. If VHS vs. BETAMAX taught us anything, it was that (or Windows vs. OS/2 for that matter).

In the meantime, I will continue to use the best tool for a job. I have no intention of putting in a nail with a screwdriver, or a screw with a hammer. Programming the browser is in my view best done with Smart Pascal, and the benefits of true OOP under JavaScript far outweighs whatever concerns some may have over a spec violation from the late seventies.


  1. leledumbo2503
    November 5, 2014 at 2:46 pm

    Borland, and now Embarcadero, doesn’t want Object Pascal to have standards because they want to monopolize. I asked for this once in the FPC mailing list. Seriously, if you can get in touch with Embarcadero, go ask them about this.

    • Jon Lennart Aasenden
      November 5, 2014 at 3:59 pm

      I think that for Embarcadero this is not so much a question of standards as of financial concern. Embarcadero has inherited a product, which implements a language. A lot of people think that “delphi” is a language, but it’s in reality a product name.
      This means that the rules of the game will be financial orchestrated by investors (in this case the sole owner of Delphi and C++ builder) with little or no regards to what is politically, educational or morally correct.

      But on that noe — freepascal and it’s community is equally valid to make decisions regarding language and syntax, or what should be considerd “standard”; but Delphi as a product has the upper hand due to financial backing and a large commercial usergroup which are to a large extent shielded from any or all things FPC.

      After 4 years I am still surprised to meet people online which are die-hard delphi fans, but they have never heard of smart mobile studio and only remotely about FPC (!)
      Have they been living on another planet all these years? But the sad fact is, a lot of people start the day by visiting EDN — and they never got out of the old Delphi newgroups. I remember starting the day by checking the Borland newsgroups myself, but thankfully I grew out of that.

  1. No trackbacks yet.

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: