Question: what dialect to use

More
6 days 21 hours ago #1 by wriedmann
Question: what dialect to use was created by wriedmann
Hello,

what is the best dialect to use for new development?

I have to admit that I have worked a lot with the Core dialect, but since the X# runtime is available, my productivity has increased (before I had rewritten some important VO functions in X# core).

The first idea would be the Core dialect, but since I need the Transform() function together with pictures a lot (and this is something I need also in the future), the Core dialect cannot be used because the Transform() function is not written in the Core dialect because of the support for usuals and dates.

So the option is between the Vulcan and the VO dialect. I would therefore select the VO dialect because in the Vulcan dialect some VO features are not available like the single apostroph as string delimiter.

Are there other things I should considerate?

Wolfgang

Please Log in or Create an account to join the conversation.

More
6 days 17 hours ago #2 by Chris
Replied by Chris on topic Question: what dialect to use
Hi Wolfgang,

In X#, the runtime does not have the limitations of Vulcan's runtime (like forcing you to use x86 target only), so I don't see any reason avoiding the VO dialect, if you like it. I also prefer it for the same reason that you mentioned.

So my suggestion is to use the dialect you feel comfortable with, there's no major reason to only use Core. But just in case it's only Transform() and a few other functions that prevent you from going Core and you otherwise prefer it, then you can simply copy/paste the code of those functions and adjust them so that hey do not use usuals etc.

Chris

XSharp Development Team
chris(at)xsharp.eu

Please Log in or Create an account to join the conversation.

More
6 days 17 hours ago - 6 days 16 hours ago #3 by wriedmann
Replied by wriedmann on topic Question: what dialect to use
Hi Chris,

thank you very much for your answer! And it is interesting to hear that you prefer the VO dialect also.
I like also the "date" datatype because most of the time the time part of the DateTime datatype is not used, so I would like to avoid that overhead.

But just in case it's only Transform() and a few other functions that prevent you from going Core and you otherwise prefer it, then you can simply copy/paste the code of those functions and adjust them so that hey do not use usuals etc

No, for me this is not an option. I have no intention to have duplicate code in my applications. I prefer to use the functions in the runtime: they work (and if not, I will file a ticket <g>), and if I pass code away, others have no problems with it because I use the standard functions.
I like it to have the sources of these functions for other reasons: first, I understand better how you as development team "think" your language (I was very surprised how many other functions of the runtime were used in some runtime functions), second, I understand how it works and can make my own code better, and third, if something does not work, I can use it to debug and discover the errors (that most of the time are in my own code).

It was a similar proceeding I have used in the past with the VO class libraries.

Wolfgang
Last edit: 6 days 16 hours ago by wriedmann. Reason: many typos...

Please Log in or Create an account to join the conversation.

More
6 days 13 hours ago #4 by robert
Replied by robert on topic Question: what dialect to use
Wolfgang,
Some differences between VO and Vulcan:
- VO single quoted strings, Vulcan not. In VO you must prefix the single quote with a 'c' to indicate a string literal
- VO allows 4 letter abbreviation of keywords, Vulcan only allows full keywords (except FUNC and PROC)
- VO uses 1 based indexer for PSZ, Vulcan uses 0 based indexer for PSZ
- VO allows && as well as // as comment characters (Vulcan only //)
- VO allows MEMVARs (when they become available)
- Neither VO nor Vulcan allow named arguments (to avoid problems where people have used assignments inside method calls). Only Core allows that

Robert

XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.

Please Log in or Create an account to join the conversation.

More
6 days 11 hours ago #5 by Karl-Heinz
Replied by Karl-Heinz on topic Question: what dialect to use
Hi Robert,


- VO single quoted strings, Vulcan not. In VO you must prefix the single quote with a 'c' to indicate a string literal


but currently the <vo> dialect works the other way.

? valtype ( c'0' ) // vo: "N" core: "N"
? valtype ( '0' ) // vo: "C" core: "N"

that explains why this code compiles in <core> only.


FOREACH cChar AS char IN cAccount

IF cChar == '0'
...

ENDIF

NEXT


while this one compiles in both dialects.


FOREACH cChar AS char IN cAccount

IF cChar == c'0'
...

ENDIF

NEXT


regards
Karl-Heinz

Please Log in or Create an account to join the conversation.

More
6 days 10 hours ago #6 by wriedmann
Replied by wriedmann on topic Question: what dialect to use
Hi Robert,

thank you very much for your explanations!

Wolfgang

Please Log in or Create an account to join the conversation.

More
6 days 8 hours ago #7 by robert
Replied by robert on topic Question: what dialect to use
Karl Heinz,

Karl-Heinz wrote:


- VO single quoted strings, Vulcan not. In VO you must prefix the single quote with a 'c' to indicate a string literal


I meant: prefix the single quote with a 'c' to make it a CHAR literal. Otherwise it is a string.

Robert

XSharp Development Team
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.

Please Log in or Create an account to join the conversation.