Clarion 12 – Upcoming Release in 2024 posted in Clarion Sharp Blog

I hope so, time is ticking…

Clarion apps and the IDE run on Windows for ARM. Is it fantastic and amazing? No, but it works well enough - and is far more efficient than Windows x86 on VMWare on x86.

On a M3 Mac in VMWare, Windows ARM performs well enough that I haven’t opened my Windows laptop in months.

Agree about 20 years ago re: x64. I mentioned it in the newsgroups when XP x64 came out and was mocked by many - including Z.

That’s what I love about this community. Those that complain about there being no news on progress, and plans, are also quick to complain when those forward-looking statements are not adhered to exactly :slight_smile:

1 Like

following bruces comments regarding unicode we changed all strings to 255. Does anyone know anything about this new string architecture mean the compiled will marshal a string for passing to CPP as a cstring? probably not. If at some point and hopefully not a decade away a change of compiler occurs CPP code can be loaded in the mini IDE and compiled without having to load a major IDE… It makes one wonder if one should have made all string Csting? and all interfaces COM.

Can you please point me to that comment? I am struggling to understand the logic of all strings being 255. Thanks

Bruce wrote about unicode some time ago…ive searched and cant find it. Bruce outlined that the coding practise of string slicing would come back to bite one on unicode and i thought he suggested base string sizes of 255 as smallest was what he was considering in their projects. best left for him to answer if he wishes or has time. who does these days as one tried to train one dragon (CGPT-4) … one imagines that SV will try to train a LLM that is specially trained on Clarion and the template language and others like CPP. But CGPT 4 does not seem to be programming specific but more general purpose rambler.

I expect you are referring to my Webinar on understanding Unicode.
In that I talk about the disconnect between string-length and string-size, and how it’s not possible to determine the “number of characters that can be stored in a string”.

Personally, yes, I default my strings to 255 - that’s just an arbitrary “large number”. It’s probably not enough in some cases, and more than enough in others.

The concept of a “string” in C++ is complicated, so you would need to be a lot more specific as to what data type you mean by “string”. Obviously “strings” are just memory, so converting to c++ format (whichever one that is) is trivial. It all depends on what that specific C++ method is looking for.

That said, you are conflating a string encoding with a string. It’s important, at a fundamental level, to understand that there’s really no such thing as “A String”. It is literally just a “string of bytes” and so you need to understand the concept of encoding, and understand what encoding you are looking for, in order to understand “passing strings”.

It will be interesting to see what built-in facilities will be available for character detection and how that affects things like string slicing syntax.

Or maybe, like with javascript, that would need to be accomplished via a 3rd party addon akin to the Graphemer library or Intl.Segmenter. (such as StringTheory 12)

1 Like

sure i ment would there be a default but of course thats a silly idea as in CPP its not a string as one knows it at the end user level…

unsigned char utf[1];

would have though for this language to move forward its GUI be abstracted away and replaced with something like QT? and a wrapper that still provides the wonderful control ID number. was the whole {} prop thing a big mistake…still the control ID number thing is great for runtime control creation and the event system allows runtime wiring of controls to runtime code…

Here is a demo showing the discrepancies in character lengths that we might have to deal with.

An explanation of the 35 bytes used by the first emoji (gen’d by ChatGPT):

How This Emoji Is Structured

Visually, you see a “Woman: Medium-Light Skin Tone” kissing a “Man: Medium-Light Skin Tone” with a heart. Under the hood, though, this “emoji” is a ZWNJ (“zero-width joiner”) sequence of:

  1. WOMAN
    U+1F469
  2. Medium-Light Skin Tone
    U+1F3FC
  3. Zero-Width Joiner
    U+200D
  4. HEAVY BLACK HEART
    U+2764
  5. Variation Selector-16
    U+FE0F (forces the heart to appear as an emoji)
  6. Zero-Width Joiner
    U+200D
  7. KISS MARK
    U+1F48B
  8. Zero-Width Joiner
    U+200D
  9. MAN
    U+1F468
  10. Medium-Light Skin Tone
    U+1F3FC

So the string is:

U+1F469 U+1F3FC U+200D U+2764 U+FE0F U+200D U+1F48B U+200D U+1F468 U+1F3FC

Why It Takes 35 Bytes in UTF-8

Each of these code points is encoded in UTF-8 using either 3 or 4 bytes:

  1. U+1F469F0 9F 91 A9 (4 bytes)
  2. U+1F3FCF0 9F 8F BC (4 bytes)
  3. U+200DE2 80 8D (3 bytes)
  4. U+2764E2 9D A4 (3 bytes)
  5. U+FE0FEF B8 8F (3 bytes)
  6. U+200DE2 80 8D (3 bytes)
  7. U+1F48BF0 9F 92 8B (4 bytes)
  8. U+200DE2 80 8D (3 bytes)
  9. U+1F468F0 9F 91 A8 (4 bytes)
  10. U+1F3FCF0 9F 8F BC (4 bytes)

Counting them up:

  • 4 + 4 = 8
  • 8 + 3 = 11
  • 11 + 3 = 14
  • 14 + 3 = 17
  • 17 + 3 = 20
  • 20 + 4 = 24
  • 24 + 3 = 27
  • 27 + 4 = 31
  • 31 + 4 = 35 bytes total

Hence, 👩🏼‍❤️‍💋‍👨🏼 occupies 35 bytes in UTF-8.

1 Like

How can you say that when they are still using the same x86 instructions?

I cant even get Qemu to run arm based linux on a 5Ghz x86 cpu at an acceptable speed!

Thats why I question what you say!

And what version of the clarion IDE runs on windows for Arm?

Looks like we missed a 2024 release - Let’s hope for an early 2025 release!

2 Likes

Both C10 and C11 run on Windows for ARM. I have not tried C11.1 as I do not use it.

C10 and C11 run on Windows for ARM not because of anything SV did, but because there is an x86 emulation layer in Windows for ARM: How emulation works on Arm | Microsoft Learn

My experience with VMWare for a decade or two on x86 laptops is that it eats them alive. Despite that, Ive used it for a long time because I had no choice due to travel. I never do dev on the host because reproducing a clean dev environment (and keeping it clean) is a pain and I do not want dev to be interfered with by other stuff installed on the host.

Note that I did not say I was using an ARM OS on x86. Years of experience with VMWare on x86 leaves me unsurprised that you had that result with Qemu / ARM / x86.

My experience over the last year with VMWare + Windows ARM running on a M3 Mac is a much different situation than VMWare running x86 Windows on an x86 Windows host laptop. I remain surprised to find how well it works and that it performs as well as it does.

2nd of Dec 24. So fairly new then.

Snapdragon X series optimised, which now explains why this has taken place.

https://www.reuters.com/legal/us-jury-deadlocked-arm-trial-against-qualcomm-still-deliberating-2024-12-20/
Is if qualcomm arent big enough already. All the green roadside cabinets over here are qualcomm fibre cabinets for net access.

Ita very difficult using google and bing to find information now a days.

I know android is reading draft emails from a GMX email app because a keyword I placed in the email started appearing in my TV youtube suggestions. Cant see that being legal, but stranger things have happened.

Well I did wonder if MS had just taken .net functions and coded them to work with Windows on Arm negating a need for even the prism emulator, but MS are confirming its emulated.

In theory qemu should make Arm instruction sets run just as fast as a baremetal cpu, because theres more instructions to choose from on a x86x64 chip, but it still doesnt work like that so maybe qemu is a bad port on x86x64.

Also makes me think qualcomm will be trying to reduce vmware use now they own it and make it virtually impossible to upgrade vmware player. And alot of people are ditching vmware now because the prices have gone up.

That article might be from Dec 2 2024. but the emulator has been around for at least a year. Ive been using it since Dec 2023.

I apologize for returning to the subject of the message.

rzaunere:

The release will be available before year-end, with updated documentation.

Have you received any additional information about the release of Clarion 12 ?

“and if you believe that, I have a bridge to sell you”

Sad, but true. Will just have to wait and see!

1 Like

OK ! We wait. It’s nice to do business with people who are responsible for their words. :wink:

1 Like

I just look at Clarion as being some five eyes like state authority experiment.

Florida doesnt even let you see who owns it, see accounts or anything.

I wished Id never got involved with it and learnt a different trade but its too late to switch now.

Sometimes you have to pull a number out of a hat and give your best estimate based on what you know now, and sometimes you have to stay silent.

1 Like