Author Topic: The Imperium programming language - IPL  (Read 71504 times)

0 Members and 1 Guest are viewing this topic.

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: A microcontroller programming language
« Reply #750 on: January 10, 2023, 06:29:46 pm »
I don't see any advantage in a programming language that recognizes only English keywords over one that can recognize English and - optionally - other cultures' keywords too. What advantage does such a programming language offer and to whom? what can the former do that the latter cannot?

Most people will ask a different question, along the lines of "What is the benefit of a language that has (non-) keywords in many languages? How does it improve the code quality and reduce cost?

In other words, don't confuse "features" with "benefits".

Call me old fashioned but I like see questions answered in the same order they are asked, if you'd prefer to evade it then do so, but it doesn't do much for your speculative claims.

So, lets try again: What advantage does such a programming language offer and to whom? what can the former do that the latter cannot? perhaps you're at a loss for words? if so I'm forever grateful.

« Last Edit: January 10, 2023, 06:33:09 pm by Sherlock Holmes »
“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 19789
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: A microcontroller programming language
« Reply #751 on: January 10, 2023, 08:11:32 pm »
How else would multicultural and multilingual development teams cooperate?

Consider this the programming equivalent of personal pronouns: each subgroup gets to define how the code looks to them, without any oppressor forcing them to use a specific form.  I'm quite sure this is the future of socially aware software development.

(This might also open up interesting possibilities for funding the development of such a programming language.)

I can't honestly tell if you are being serious right now.
To me that sounds like a nightmare. Simple syntax, having to use a specific language in a project instead of each one their own is a compromize we all have to make to share a common base. And that's good. What's good engineering if not the best possible compromize?

I'm 99.999% sure he isn't being serious, partly because he (almost always  >:D ) makes sense :)

Instead he is one of several people pointing out to the OP that, while his ideas might be cute in some way, in practice they will be a can of worms. As of a couple of posts ago, the OP appears to accept that he will also be rewriting the development tools around the language!

You must be paraphrasing me, can you quote the post where I said "I will also be rewriting the development tools around the language"? I said no such thing, nor would I ever express myself in such a sloppy, cavalier manner.

It is implicit in https://www.eevblog.com/forum/programming/a-new-hardware-oriented-programming-language/msg4629565/#msg4629565
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 19789
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: A microcontroller programming language
« Reply #752 on: January 10, 2023, 08:16:34 pm »
I don't see any advantage in a programming language that recognizes only English keywords over one that can recognize English and - optionally - other cultures' keywords too. What advantage does such a programming language offer and to whom? what can the former do that the latter cannot?

Most people will ask a different question, along the lines of "What is the benefit of a language that has (non-) keywords in many languages? How does it improve the code quality and reduce cost?

In other words, don't confuse "features" with "benefits".

Call me old fashioned but I like see questions answered in the same order they are asked, if you'd prefer to evade it then do so, but it doesn't do much for your speculative claims.

So, lets try again: What advantage does such a programming language offer and to whom? what can the former do that the latter cannot? perhaps you're at a loss for words? if so I'm forever grateful.

Call me old fashioned, but I like to skip over unimportant questions and concentrate on the "touchstone" questions, i.e. those where the answer indicates which direction to take.

Fundamentally, answering questions is relatively easy. It is more difficult (and rewarding) to find the right question to answer.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: MK14, DiTBho

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: A microcontroller programming language
« Reply #753 on: January 10, 2023, 08:20:26 pm »
How else would multicultural and multilingual development teams cooperate?

Consider this the programming equivalent of personal pronouns: each subgroup gets to define how the code looks to them, without any oppressor forcing them to use a specific form.  I'm quite sure this is the future of socially aware software development.

(This might also open up interesting possibilities for funding the development of such a programming language.)

I can't honestly tell if you are being serious right now.
To me that sounds like a nightmare. Simple syntax, having to use a specific language in a project instead of each one their own is a compromize we all have to make to share a common base. And that's good. What's good engineering if not the best possible compromize?

I'm 99.999% sure he isn't being serious, partly because he (almost always  >:D ) makes sense :)

Instead he is one of several people pointing out to the OP that, while his ideas might be cute in some way, in practice they will be a can of worms. As of a couple of posts ago, the OP appears to accept that he will also be rewriting the development tools around the language!

You must be paraphrasing me, can you quote the post where I said "I will also be rewriting the development tools around the language"? I said no such thing, nor would I ever express myself in such a sloppy, cavalier manner.

It is implicit in https://www.eevblog.com/forum/programming/a-new-hardware-oriented-programming-language/msg4629565/#msg4629565

No it isn't, you're imagining things.

“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: A microcontroller programming language
« Reply #754 on: January 10, 2023, 08:22:38 pm »
I don't see any advantage in a programming language that recognizes only English keywords over one that can recognize English and - optionally - other cultures' keywords too. What advantage does such a programming language offer and to whom? what can the former do that the latter cannot?

Most people will ask a different question, along the lines of "What is the benefit of a language that has (non-) keywords in many languages? How does it improve the code quality and reduce cost?

In other words, don't confuse "features" with "benefits".

Call me old fashioned but I like see questions answered in the same order they are asked, if you'd prefer to evade it then do so, but it doesn't do much for your speculative claims.

So, lets try again: What advantage does such a programming language offer and to whom? what can the former do that the latter cannot? perhaps you're at a loss for words? if so I'm forever grateful.

Call me old fashioned, but I like to skip over unimportant questions and concentrate on the "touchstone" questions, i.e. those where the answer indicates which direction to take.

I get it, and an "unimportant question" is defined as "a question I do not want to answer because it will make me look stupid if I do answer it honestly", yes?

Fundamentally, answering questions is relatively easy. It is more difficult (and rewarding) to find the right question to answer.

(or right question to evade!)

I'm just glad you're not designing a language, with "logic" like that it'd be more confusing than obfuscated C.

« Last Edit: January 10, 2023, 08:34:48 pm by Sherlock Holmes »
“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: A microcontroller programming language
« Reply #755 on: January 10, 2023, 09:33:45 pm »
This thread is incomplete, until the new programming language name, is written in a significant number of the thousands of languages of this world.

7,117 languages:
https://www.theintrepidguide.com/how-many-languages-are-there-in-the-world/

Ideally, including Klingon and in pure mathematics.

The names, will be interesting in the languages which don't have a written form (if applicable).

Ideally express this list, in the form of an example program, written in your new language.

Let's say, that that program is 10,000 lines of source.

Then demonstrate how easy it is to translate that 10,000 (very approximately) line example code, into the required, 1,000 supported foreign languages.

N.B. Make sure that the program is very well documented, to put on a good show.  But also, don't forget to translate all those 1,000 example programs (including all the comments! but also the variable/constant/function/procedure/etc names), into their respective native foreign language.

It can't take very long to do that task, because if it did, you might be illustrating a point (via sarcasm), that the OP may have made one or two, slight design errors in the design of this proposed new language.

For bonus points.  Please state how many different keyboards were needed, to type the various symbols/characters in, and also explain how you coped, with any languages that google translate (or similar), doesn't currently handle.

Adding a keyword lexicon is a simple matter of editing a JSON file and creating a pull request, I don't care how many distinct languages they get created for, the point is they, can be, if somebody want's one they are welcome to add it.

I don't care about keyboards or input methods, anyone who uses their native alphabet today already know how to use their native alphabet I suspect. If they do not want to or find it difficult then they won't use it, if they find it easy they will use it - why is this hard for you to grasp?

You have a rare gift for making the simple appear complex, no wonder you struggle so much with some of this.

You bring to mind Sir Walter Raleigh:

https://youtu.be/n-Zm8H6G108?t=58




« Last Edit: January 10, 2023, 09:42:14 pm by Sherlock Holmes »
“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: A microcontroller programming language
« Reply #756 on: January 10, 2023, 10:09:20 pm »
Adding a keyword lexicon is a simple matter of editing a JSON file and creating a pull request, I don't care how many distinct languages they get created for, the point is they, can be, if somebody want's one they are welcome to add it.

I don't care about keyboards or input methods, anyone who uses their native alphabet today already know how to use their native alphabet I suspect. If they do not want to or find it difficult then they won't use it, if they find it easy they will use it - why is this hard for you to grasp?

You have a rare gift for making the simple appear complex, no wonder you struggle so much with some of this.

Great, since it is so simple, and my first attempt at getting you to see sense, doesn't seem to have worked...
Il était une fois dans un pays loin, loin,
Es war einmal in einem Land weit, weit entfernt,
Había una vez en un país lejano, lejano,
story = "Once upon a time in a land far, far away, there lived a little dragon with scales of red and gray. He breathed fire and flew through the skies, fierce and mighty, with his head held high."
print(story)
(setf story (concatenate 'string "Once upon a time in a land far, far away, there lived a little dragon with scales of red and gray. He breathed fire and flew through the skies, fierce and mighty, with his head held high."))
(print story)
遠くの遠い国に、昔の話があった。
赤と灰色の鱗を持った小さなドラゴンが住んでいた。
彼は火を吹いて空を飛んでいた、
強くて威風堂々と頭を高く持っていた。
C'era una volta in un paese lontano, lontano,
很久很久以前,在一个遥远的国度里
Жил-был на свете дракон маленький,

كان يوما في بلد يبعد بعيدا،
كان هناك تنين صغير ذو تشعة من الأحمر والرمادي.
وقال انه يتنفس النار ويطير من خلال السماوات،
قوي وشجاع، مع رأسه العالي
nuqneH 'ej nuqDaq vIlo'laHbe'chugh yImev
Daq ghaH Daq vIneHmeH Daqmey tIqwIj
Daq vISam Daqmey Daq vIlegh
DaqmeyDaq vIneHmeH Daq vIbe'
Havia uma vez, em um país muito, muito longe,
Det var en gång i ett land långt, långt bort,
Er was eens in een land ver, ver weg,
Estis iam en lando for, for,
Kerran, kaukana kaukana maassa,
++++++++[>++++[>++>+++>+++>+<<<<-]>+<<<<-]>++.
(=<`#9]~6ZY32Vx/4Rs+0No-&Jk)8Cj
(space) (tab) (newline) (space) (space) (tab) (newline) (tab) (tab) (newline) (tab) (space) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline) (tab) (tab) (newline)

An improvement, definitely an improvement, this might be the most clearly written post I've seen from you for some time.

“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 19789
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: A microcontroller programming language
« Reply #757 on: January 10, 2023, 10:18:24 pm »
Just in case my last post is NOT obvious enough.

Programming projects, which have got lots of different languages (spoken) in them.  Can become nightmares to understand, maintain and process (for humans).  Therefore, great care, should be taken, before allowing/encouraging such features, in new programming languages.

In other words.  There can be extremely GOOD reasons, why existing programming languages, are the way, they are.

Don't forget the non-verbal non-written languages!

In this case I think one such phrase may be particularly relevant: <pheoooow, whooosh>. That can be loosely translated into English as "the sound made as the point whizzes past the OP".
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: Siwastaja, MK14

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: A microcontroller programming language
« Reply #758 on: January 10, 2023, 10:22:39 pm »
Just in case my last post is NOT obvious enough.

Programming projects, which have got lots of different languages (spoken) in them.  Can become nightmares to understand, maintain and process (for humans).  Therefore, great care, should be taken, before allowing/encouraging such features, in new programming languages.

First I have not advocated writing code in "different languages". I've enabled code to be written with a choice of keyword lexicons, applicable to an entire source file or project as decided by those using the language.

Second I would never and have not advocated not taking care when designing something.

Third code written in any programming language (e.g. C or C++) can "become a nightmare to understand, maintain and process (for humans)" so that complaint seems rather vacuous.

Fourth - by design - the language makes it simple to convert source code using one keyword lexicon into code that uses any of the other lexicons, that code will compile to an identical output and will behave identically at runtime.

Fifth since there are no programming languages that do what I've enabled this one to do, there is no evidence that it can lead to any of the world shattering cataclysms you seem to be terrified of, it is all in your own mind, a demon of your own making.
“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: A microcontroller programming language
« Reply #759 on: January 10, 2023, 10:57:02 pm »
In other words.  There can be extremely GOOD reasons, why existing programming languages, are the way, they are.

I'm sure that there are good reasons for why things were designed they way they were, no argument from me.

But something being designed without some feature does not prove that it was designed to not have that feature, that not having the feature was a design objective!

C was not designed to do OO so on that feeble basis you'd argue that OO programming language were a terrible idea? seriously?

This is the way of the Luddite, fear of change, demonizing innovation, fear of things foreign, sorry man I left that kind of provincial small world thinking behind long ago when I left the UK.

« Last Edit: January 10, 2023, 11:01:05 pm by Sherlock Holmes »
“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: A microcontroller programming language
« Reply #760 on: January 10, 2023, 11:05:00 pm »
Just in case my last post is NOT obvious enough.

Programming projects, which have got lots of different languages (spoken) in them.  Can become nightmares to understand, maintain and process (for humans).  Therefore, great care, should be taken, before allowing/encouraging such features, in new programming languages.

In other words.  There can be extremely GOOD reasons, why existing programming languages, are the way, they are.

Don't forget the non-verbal non-written languages!

In this case I think one such phrase may be particularly relevant: <pheoooow, whooosh>. That can be loosely translated into English as "the sound made as the point whizzes past the OP".

That's it, you're ignored, nothing but vacuities and juvenile pettiness, later dude.

“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: A microcontroller programming language
« Reply #761 on: January 10, 2023, 11:12:04 pm »
Just in case my last post is NOT obvious enough.

Programming projects, which have got lots of different languages (spoken) in them.  Can become nightmares to understand, maintain and process (for humans).  Therefore, great care, should be taken, before allowing/encouraging such features, in new programming languages.

In other words.  There can be extremely GOOD reasons, why existing programming languages, are the way, they are.

That's it, you're ignored, nothing but vacuities and juvenile pettiness, later dude.

“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: A microcontroller programming language
« Reply #762 on: January 10, 2023, 11:16:54 pm »
Beautiful, that noise filter is sure nice, now back to business...
“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: A microcontroller programming language
« Reply #763 on: January 10, 2023, 11:27:06 pm »
I'm very interested next (now that support for multiple keyword lexicons is working), in the subject of preprocessing. Some preprocessors like that found in PL/I were in essence a programming language for manipulating the source code, a true language with loops and if/then/else even preprocessor procedures.

Having read this recently about the language Zig, I want to take a good long hard look at this to see how this can be leveraged for a new language.

Any thoughts, ideas or suggestions about this aspect of programming languages is welcome.

« Last Edit: January 10, 2023, 11:32:16 pm by Sherlock Holmes »
“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 19789
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: A microcontroller programming language
« Reply #764 on: January 10, 2023, 11:51:04 pm »
:palm:

Well at least I tried.

You We can lead a horse to water, but you we can't make it drink :)
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: MK14

Offline DiTBho

  • Super Contributor
  • ***
  • Posts: 3944
  • Country: gb
Re: The Imperium programming language - IPL
« Reply #765 on: January 11, 2023, 12:21:25 am »
I think he is just trolling us with nothing but poor amount of repeated bullshit.

He does not event really want to discuss: nobody here wants that damn Babel feature, but he insists with nothing but aesthetic poor reasoning.

So, guys, give yourself a favor and give him nothing but a full ignore.
He will stop bothering us.

« Last Edit: January 11, 2023, 12:30:56 am by DiTBho »
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 
The following users thanked this post: MK14, Nominal Animal

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 19789
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: The Imperium programming language - IPL
« Reply #766 on: January 11, 2023, 12:45:32 am »
Aaaand... The OP has changed the thread name for a second time. I don't remember seeing that before!

What started out as "A new hardware oriented prorgramming language" has become completely boring: Yet Another Software Weenie's Me-too Compiler Exercise.

Changing the thread name is, IMHO, in bad taste. Good taste would have been to start a new thread on "My Own Programming Language: Imperium".
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 
The following users thanked this post: MK14

Offline retiredfeline

  • Frequent Contributor
  • **
  • Posts: 547
  • Country: au
Re: The Imperium programming language - IPL
« Reply #767 on: January 11, 2023, 03:52:01 am »
I'm surprised OP did not call their language Elementary.  :-DD
 
The following users thanked this post: Sherlock Holmes

Offline Kalvin

  • Super Contributor
  • ***
  • Posts: 2145
  • Country: fi
  • Embedded SW/HW.
Re: The Imperium programming language - IPL
« Reply #768 on: January 11, 2023, 10:02:27 am »
Allowing different language keywords will break a havoc in developing and maintaining tools which work at the source code level. Just do not do it.
 
The following users thanked this post: MK14, DiTBho

Offline Kalvin

  • Super Contributor
  • ***
  • Posts: 2145
  • Country: fi
  • Embedded SW/HW.
Re: The Imperium programming language - IPL
« Reply #769 on: January 11, 2023, 10:13:00 am »
Luckily Linux kernel is written in C which doesn't allow using multilanguage keywords, and any preprocessor trickery in that regard is also prohibited. It would be a nightmare trying to read and maintain source code written using local language keywords, and the tools which should be able to support all current and future languages to be added at the later time. Klingon, anyone? I will repeat myself here: Just do not do it.
 
The following users thanked this post: MK14, DiTBho

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: The Imperium programming language - IPL
« Reply #770 on: January 11, 2023, 01:39:22 pm »
I think he is just trolling us with nothing but poor amount of repeated bullshit.

He does not event really want to discuss: nobody here wants that damn Babel feature, but he insists with nothing but aesthetic poor reasoning.

So, guys, give yourself a favor and give him nothing but a full ignore.
He will stop bothering us.

If the thread offend you, go elsewhere, you too are engaging in harassment, you're ignored. Its frankly obscene to accuse me too of "bothering" anybody, a perversion of the facts.
« Last Edit: January 11, 2023, 02:37:12 pm by Sherlock Holmes »
“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: The Imperium programming language - IPL
« Reply #771 on: January 11, 2023, 01:54:08 pm »
Allowing different language keywords will break a havoc in developing and maintaining tools which work at the source code level. Just do not do it.

Why? first only a single lexicon's keywords can be used in any file, it is not permitted to ever mix lexicons in a source file. The lexicon is specified in a compiler directive or can be overridden as a compiler option. Every source file uses one and only one lexicon and the default is English, if no directive or compile option is specified.

One must "opt in" to use other lexicons.

Any source file can be converted from any lexicon to any other using a simple utility (and class library by tool builders).

Owners of repositories can establish a check that all pull requests contain source in some defined lexicon, this is trivial to do with GitHub actions, every contributor would have to save their code with that lexicon.

A developer could work locally by seeing Bulgarian keywords but always have their files saved as English.

The analogy with fonts and colors in an IDE is good, nobody cares about how the source appears to a developer, all we care about is what is shared.



« Last Edit: January 11, 2023, 01:59:08 pm by Sherlock Holmes »
“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 

Offline YurkshireLad

  • Frequent Contributor
  • **
  • Posts: 365
  • Country: ca
Re: The Imperium programming language - IPL
« Reply #772 on: January 11, 2023, 02:30:39 pm »
I think he is just trolling us with nothing but poor amount of repeated bullshit.

He does not event really want to discuss, nobody wants that Babel feature, but he insists.

So, guys, give yourself a favor and give him nothing but a full ignore.
He will stop bothering us with his personal bullshit.

That makes sense (possible trolling).  Either that, or possibly significant communications difficulties, causing them to misunderstand too much, for them to make sense of it.  But there are many, possible explanations, of how this thread has come to exist.

Anyway, whatever the reason(s) is.  Something funny seems to be going on, even if it is not 100% clear, what.

Also, if someone wants to invent a brand new programming language.  Just go ahead and do it.  Don't spend all day, creating thread(s) about it.  Otherwise, it could end up going nowhere, fast.

Create a github project and start adding stuff and example code. We can all look at the example code and provide comments, except I can only understand English.
 
The following users thanked this post: MK14

Offline Kalvin

  • Super Contributor
  • ***
  • Posts: 2145
  • Country: fi
  • Embedded SW/HW.
Re: The Imperium programming language - IPL
« Reply #773 on: January 11, 2023, 03:03:31 pm »
Allowing different language keywords will break a havoc in developing and maintaining tools which work at the source code level. Just do not do it.

Why? first only a single lexicon's keywords can be used in any file, it is not permitted to ever mix lexicons in a source file. The lexicon is specified in a compiler directive or can be overridden as a compiler option. Every source file uses one and only one lexicon and the default is English, if no directive or compile option is specified.

One must "opt in" to use other lexicons.

Any source file can be converted from any lexicon to any other using a simple utility (and class library by tool builders).

Owners of repositories can establish a check that all pull requests contain source in some defined lexicon, this is trivial to do with GitHub actions, every contributor would have to save their code with that lexicon.

A developer could work locally by seeing Bulgarian keywords but always have their files saved as English.

The analogy with fonts and colors in an IDE is good, nobody cares about how the source appears to a developer, all we care about is what is shared.

It is your language and project, so you can do whatever you want to. I have just expressed my opinion and concern here.
 

Offline Sherlock HolmesTopic starter

  • Frequent Contributor
  • **
  • !
  • Posts: 570
  • Country: us
Re: The Imperium programming language - IPL
« Reply #774 on: January 11, 2023, 03:11:18 pm »
A NOTE ON MULTIPLE KEYWORD LEXICONS

This is to clarify and define what this actually amounts too, there seems to be some misunderstandings about this so I'll clear it up once and for all.

The grammar - by design - does not reserve keywords, it allows an identifier to be a keyword. It does this not to facilitate obfuscation but to guarantee that a newly added keyword in a future version of the language will always be 100% backward compatible, that's one of the language's design goals, even if a newly added keyword has been used as an identifier in earlier source code by some developer, the code will compile fine, guaranteed.

During testing and conversation elsewhere outside of this forum, I realized that this absence of reserved words meant one could also select the keywords on a per-human-language basis and because no keyword is reserved the code would also compile fine, even if a developer had unwittingly used a keyword from some other language in their code. For example if an English developer had used "retour" as a variable name or function name then the fact that that is the French keyword for "return" would not matter even if we'd written the code using French keywords.

So the ability to be agnostic to the spelling of the keywords already, in and of itself, meant we could use keywords in any language we wanted to (if the grammar was updated to allow it) and the code would always compile, guaranteed, 100%.

The ability to use any cultures keyword spelling with zero impact on the generated code was already there, just "waiting in the wings". So I expanded the grammar (and therefore the lexer and parser) and created a proof of concept and it worked wonderfully.

So I decided to support this but make it "opt in". The system defaults to English, it behaves like any English based programming language. But if one wants to write code with some other language's keywords one can, all they need do is add a compiler directive to the source file (%lexicon("fr"); for example) and use the French keywords. Or one can specify the lexicon at compile time. Unless one does this the language behaves like a conventional English based language.

A source file can only use a single lexicon, one cannot mix French/Hungarian/English for example within a single source file, the lexicon language applies to an entire source file.

Because the compiler tools and libraries are reusable, it is - in principle - easy to add this support to an IDE like Visual Studio Code for example. It would be straightforward to set that up so that it always renders, displays any source file in some preferred language, even though it might be written in some other. Likewise it would be straightforward to have the system always save files in some preferred language too.

A user, teacher or student who wanted to work in say say Danish or just discuss some existing code in a class, using Danish has that option, they could easily look at a codebase coded in English and see only Danish keywords, if they wanted to.

It is not for me to tell people how to work, what language they must use for writing code when a native option is available, it is not for me to "police" how a person or a team works, a programming language should not attempt to impose control over how people think and work.

All programming languages and environments can be used sensibly and intelligently or they can be abused, but that's not my call, I don't decide what works for someone else, my fears and insecurities are not theirs, if something isn't suitable for some work or project then don't use it.
« Last Edit: January 11, 2023, 03:43:02 pm by Sherlock Holmes »
“When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.” ~ Arthur Conan Doyle, The Case-Book of Sherlock Holmes
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf