Name for our language and interpreter #31
I have realized, that there is already a software called P#. It is a safe asynchronous event-driven programming for .NET and Azure. There is also P++, based on PL/0, C and Haskell. Finally there is even P - developed by Microsoft.
Even P# is not used, I think it mostly associate to .NET platform. I think, we need a new name. Let's discuss it here.
Anything but not with #, too related to .NET as said. What about PHe (e would stand for engine) ?
I agree to not use # sign. It is commonly used by all languages compiled to CIL ( Common Intermediate Language) for .NET or DotGNU. Should the name somehow refer to PHP? PHP stands for PHP: Hypertext Preprocessor. I think it is hard to say about P# that it is hypertext preprocessor. Thus maybe we should not follow this name convention at all?
++ sounds like "iteration" like C++ was for C. I m not 100% sure about it in this language's case.
The ++ operator in C-like languages means incrementing. The C++ name means its something more than just C. And C++++ also known as C# is something more than C++. Also if we go back with the history, C was based on B language. The name here is just the next letter, what also might suggest some continuation.
Our language refers to PHP less or more, even it is a general purpose programming language and derives also from C++ and Java. Thus its name can but does not have to refer to PHP.
This is what I meant in fact, C++, back in the 80's, was supposed to be a "super" C. but in the case of Psharp (for now), not sure if it s considered as a "better" php on some sort since it will take quite a different direction but maybe I m wrong.
Yes and not. I think it derives from PHP mostly, but we do not follow it strictly, since some parts of language are not well designed. This is a heritage of the PHP's beginnings. Its first version PHP/FI was rather a tool for creating web sites, not programming language. Rasmus Lerdorf wrote some CGI programs to help him maintain his website. He revealed, he doesn't know how to develop programming language. He was just adding the next logical steps and deriving syntax mostly from Perl. This has led to inconsistent naming of functions and inconsistent ordering of their parameters. Even PHP3 has been completely rewritten, it still followed the bad practices of PHP/FI. Same happened to PHP4, PHP5 and now PHP7. Every new construct of the language seems to be very controversial. The namespace support and that the namespace keywords has to be the first one found in the file, namespace separator, the way strict data typing has been implemented and its optionality and so on...
But whatever bad we say about PHP, it still has some nice features and its one of easiest languages to learn. Its fast to develop some website or CLI script using PHP. Additionally, Symisc done great work on writing PH7 which implements a subset of PHP5. It is still suitable for writing web sites and common scripts. What is more, it is lightweight and thanks to that it works great in embedded environments. Also its name refers to PHP. Dont forget that when Symisc was working on PH7, latest version of PHP was v5. Symisc has not implemented all its features, but they also added extra features, like for example functions and methods overloading.
Now, we continue their work. We have already fixed a lot of bugs and implemented some nice features not known in PHP, nor PH7. Today, we have at least semi-multiple inheritance. I write semi, because it is not the one exactly known from other languages like C++ but on the other hand it is free of some weaknesses like the diamond problem. Also, we are going to strip it from functional paradigm and focus on OOP. As OOP in PHP is rather some kind of addon, I think it will derive from C++ or Java mostly here, to not duplicate mistakes done by PHP. Anyway, for sure, it will be the first fully OOP, interpreted, general purpose language that still has its roots in PHP.
Now we should answer the question if we want to give it a name somehow related to PHP or not. Unfortunately, we cannot just call it PHP++ or something like that, because PHP is a registered trademark.
And I m not sure (ie. PHP++) it s so great idea even if we could. I would go with a more subtle name (in the sense of mentioning PHP "inheritance") or a complete new direction but would be glad to see other people opinions too.
The P language has been designed for IOT. P# refers to it at first glance, but is not bad, as it is so lightweight and can be use on embedded devices. I'm just concerned about the # character, that is used in most programming languages that work with the .NET platform. On the other side, there is no such language yet and # character cannot be a trademark. This name unfortunately refers to a framework, that works on top of .NET platform. This framework seems to be an extension of C#, despite it was created for the same purpose as P language.
And somewhere there is P++. Completely unrelated to P, P# and .NET platform, but based on PL/0. And P++ seems to be dead.
I agree with @devnexen about mentioning PHP. Let's say I liked the P# name, because it can gently refer to PHP (if we say some story), but for the first look it does not. I could also like the P++.
So the name ought to reflect its inner nature then ? (i.e. meant for embedded env)
For Embedded Env (FEE)... almost like a pee :D just kidding.
No idea about that, but should we refer to it and on the other side say it is general purpose language?
Well, P# sounds nice as a connection of PHP, C++/C#/Java.
P++ would be nice too - not connected with .NET framework, meaning a connection of PHP and C++ - 2 languages it derives mostly.
But about P++, Ive already found two of them:
I would prefer to avoid using existing name (even if the project is dead). But if everyone else wants, no problems :)
Id like to avoid this too. I think we should also avoid P-like names, due to "P family of languages and tools": https://github.com/p-org
Some ideas related to other languages (some already mentioned):
- PH8 - as a continuation of PH7
- PH+ - PHP? PH7?
- PH++ - PHP? PH7?
- PP# - Power Preprocessor Sharp
- PP+ - Power Preprocessor +
- PJ+ - PHP, Java, C++ derived language
- Object PHP - like Object Pascal
Some other, unrelated:
- AerScript, AerLang, Aer - (from latin: air); as air is necessary to breath, that aer is necessary to develop scripts and websites
(tried to send this via email; didn't work afaict)
Maybe PHP -> phi (Greek letter) -> fi (similar-looking Coptic letter) -> fi++ (roots in php, with a touch of C++?)
Also, @likoski, air is lightweight, and could allude to something meant for embedded environments
Aer or AerScript sounds good. AerLang sounds similar to Erlang I think.
Phi or Phi++ also sounds good and refer somehow to PHP and C++.
I like both.
Sample, possible logotypes. Two for Aer, one for Phi.
They are based on current logotype for P#.
What about Intel Xeon Phi and this: https://github.com/emnl/phi/ ?
What about Adobe Air?
There is also https://assetwolf.com/learn/phi
What is more there seems to be already 2 PSharps (one branded by Microsoft - a framework, and another - language: https://homepages.inf.ed.ac.uk/stg/research/Psharp/)
Does PHe or PHx refer to something? Is it some kind of acronym? Its shame Phi is already in use by at least two projects. @devnexen, What about Aer? or AerScript?
Aer* are nice by themselves but barely carry the link with PHP. PHe, PHinx or PHx => e would stand for engine or something similar.
PHP uses Zend Engine. There is no reference between them. It is only a matter if we want the language and interpreter name to link somehow with PHP and/or any other language or not. For me, it makes no difference.
I liked the Phi idea. as it could be just a single character, just like P. No other ideology there, or Phi++, to show its power. I was even thinking about Phi#, but I think its already exaggerated, that we are not going to use # character.
I also like the Aer idea and the ideology, that air is lightweight and necessary to live, but also can be powerful as it is one of elements like fire or water.
I took a brief look at this list, but I assume there are plenty of programming language names not included there.
I personally like:
Perhaps a 3-letter word would be cool so we have a file extension of our compiled PH7 program, although, Java uses .java files.
I think the extra ++ or # is cool considering we are incrementing the language.
We cannot use Phi and Zend. I personally vote for Aer & AerScript. I think we can use both of them interchangeably.
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?