On Tue, 7 Jan 2014 08:06:45 +0100 Martin Schreiber <[email protected]> wrote:
> > Pattern recognition... > > I don't care about it when I *use* a compiler... > Maybe there is a misunderstanding, I mean pattern recognition by > reading the code by a human. :-) Yes, there has been. > I don't know if you read the MSElang Wiki, it is here: > https://gitorious.org/mseide-msegui/pages/Mselang Yes I did read it. > The design goals of MSElang: > 1. Simple, 2. Readable. > MSElang programs should be read like a letter. These two points are priorities for me too. This is why: 1. (Simple) I want automatic type conversion, but in a clean context. 2. (Readable like a letter). This is another point. I took inspiration from spoken language, which has little punctuation. Characters like $%&?^| should be avoided if possible, contrary to C. For a human, layout is important, so I make it coincide to the compiler. > 3. Easy to learn ... suitable for pupils Not bad. But very difficult. I have used several languages, and every time I switched, I crashed on pitfalls. Oh, stupid things, but every language has them. There are two types of "pupils": those who don't know programming, and those who know. For the formers, any reasonable language can do, but perhaps little formalism is better (perhaps). For those alreay in programming, may be your idea (a "strict" and polished pascal) could be better at first, but after the first steps productivity would slow down. Don't take it wrong, but after reading your wiki, I had the impression that you make a strong point of formalism (nothing wrong with this), but I don't see the...: > 4. Powerful ... pointers and pointer arithmetic. > Object orientated high level programming. There are two different concepts of "poweful". One, old style: while ((ch=getchar()) != EOF) putchar(ch); ...and assembler is even more powerful, for this. The other style of power is something like: send stream1 every customer.name without pointers, cycles, arithmetics, tests. Of course, nothing forbid to implement pointers in a powerful language: a programmer can decide to use them or not. > I don't want to make the language a "fascinating intellectual puzzle" > there is enough challenge in finding of best algorithms and > architecture of the programs one has to develop... And this is why I want a powerful but simple language! I don't want to always remember that I can't "writeln(myboolean)" because I must explicitly convert it to a str8. And consider that there are not only writelns; consider GTK: it wants utf8, but for some reason (speed? text files? external LCD?) the main program uses ascii, or mcs4 or whatever. Ok, your way to go still works, but I think this can no more be called "power". > > > > The problem in "with" is if one uses a local variable which is > > > later also added to the "with'ed" class or record. This is a very very strong point. In fact, when I first saw php, I was stunned by those variables always referenced with "$", but later I understood. So, we are condamned to be verbose? No, with my colon trick. But even sticking to WITH, the way something else does, there is no problem: with form1 do .caption = caption .left = left ... Why the freepascal team did not change the semantic of WITH? For compatibility? Will you change it? > > 80% solved. For str8. Then there are utf8, utf16, mcs-4... so you > > will have su8(), su16(), smcs4()? > > > If there are no implicit conversions function overloading works for > function result types also. I assume the "print()" function uses > utf-8? This is not clear to me: "overloading works for function resul types also". If you can overload something else than arguments, let me know how do you do it - I am interested (of course, in making it automatic :-) ). Apart from this, I think it is no good to "assume print() uses utf8", because often a program sets captions in GTK, or fields in SQL, or uses external libraries written by someone else. In fact, you say MSELang will support several types of strings, why? To interface with the world, or to burden the language with unnecessary things? I assume all those types are for interfacing with the world, so who know if "external function xx" uses utf8 or EBCDIC. We are criticing each other, but I think this can be useful. I have a question: does MSEIDE support automatic completion? I didn't tried the last version (because of dependency issues); in 2.8.6 a quick try was unsuccessful: if it is there, I don't see it. Regards, linuxfan ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ mseide-msegui-talk mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

