More than I dislike misleading marketing, I dislike not knowing if we will ever get native support for 64-bit Windows on ARM in Delphi.

More than I dislike misleading marketing, I dislike not knowing if we will ever get native support for 64-bit Windows on ARM in Delphi.

https://mspoweruser.com/qualcomm-announces-snapdragon-850-mobile-processor-for-always-connected-windows-10-pcs/
https://mspoweruser.com/qualcomm-announces-snapdragon-850-mobile-processor-for-always-connected-windows-10-pcs/

Comments

  1. There has been no specific indication for 64-bit ARM for Android, nor for X86_64 for iOS simulator, either

    ReplyDelete
  2. Lars Fosdal If Delphi no longer fulfills your needs then perhaps it's time to move on.

    ReplyDelete
  3. David Heffernan True that, but I like Delphi a lot. I also am starting to like C# and .NET. Java - not so much.

    ReplyDelete
  4. David Heffernan I guess what I am really is saying is "Where is the updated road map?"

    ReplyDelete
  5. Lars Fosdal I am guessing it is close - either a roadmap update or Carnivale release. Marco Cantù has gone quiet(er) recently. Must mean he is getting ready for the release. :)

    ReplyDelete
  6. Lars Fosdal This is one of the main advantages of a language that targets a VM - so long as the VM runs on the target, you don't have to worry about recompiling for a particular architecture or OS.

    If you don't like Java, check out Kotlin - it's a very nice language that targets the JVM (and the browser, and even bare metal compilation is in the alpha state!). Kotlin has also been made an official language for Android. It's open source and created by JetBrains, so you still have that "commercial IDE vendor with its own language" experience! :-)

    medium.com - Why you should totally switch to Kotlin – Magnus Vinther – Medium

    ReplyDelete
  7. Lars Fosdal We're off-road now! :-)

    Seriously, I'll never understand why they treat roadmaps and release dates like national secrets. Even Marco doesn't seem to know release dates (e.g. the time he scheduled a release preview and the new Delphi ended up being released 2-3 days prior to his "preview"). My only guess is that things routinely slip and they don't want us to know this. Of course, now that subscriptions are essentially mandatory that shouldn't really matter either.

    ReplyDelete
  8. Joseph Mitzen Kotlin is sweet, but young, and you know you will get into trouble if you fool around.

    ReplyDelete
  9. Lars Fosdal age is not the problem with Kotlin... but it is still plain old horrible Java VM in the background.

    ReplyDelete
  10. I spend a fair amount of time coding for Arm®, much of it for Microsoft Windows®, some for x64. Delphi® desktop applications? I would not hold my breath for very long right now. Let them get the hybrid defines right in the SDK, then we can dream about non universal apps. In the mean time, boot Linux® and run the Delphi® app under an emulation layer... Now, FMX Linux® or Cross VCL running on emulation under Arm®? Ditching the WINE layer sounds interesting! It is worth noting, I have had pretty fair luck running GUI based object Pascal with memos and the like natively on Arm® on my Nexus™ 4, 5, and One Plus phones. Hybrid code has gotta be somewhat goofy in the end. Desktop applications are gonna have lots of issues to overcome on the devices hybrid Arm® will be offered on. There are few magic bullets. Why not pray for a native Delphi® Arm® compiler instead? I have had few issues getting VCL apps to compile and run on other platforms, and I'm not sure having some crazy version of Microsoft Windows® 10.under the hood is a benefit or a hindrance. Lets see what this version of Microsoft Windows® 10 really is (or is not). Have you seen Microsoft Windows® 10 on Arm®? Hmmm.

    ReplyDelete
  11. Dalija Prasnikar True, there is that as well. I do like the design of Kotlin, though.

    ReplyDelete
  12. >>This is one of the main advantages of a language that targets a VM

    Like the P-system, which I bet some others here remember! :-)

    ReplyDelete
  13. Tom Field Good point! I forgot about that! The original Pascal targeted a virtual system to facilitate porting of code:

    https://en.wikipedia.org/wiki/Pascal_(programming_language)#The_Pascal-P_system

    ReplyDelete
  14. Dalija Prasnikar Isn't the JVM considered very competent technically, even by those who are not fans of Java? I remember the uproar when Java beat Delphi in a SciMark benchmark roundup.

    Anyway, Kotlin/Native is in the works using LLVM as a backend and it is actually initially supporting more platforms than Delphi currently has:

    kotlinlang.org - Kotlin/Native - Kotlin Programming Language

    Kotlin may be an open source side project for JetBrains, but it's getting a lot of traction and a lot of development work. It's definitely something to watch.

    I'm also partial to the idea of Haxe, which currently targets or transpiles to iOS, Android, Javascript, the Neko VM, NodeJS, Flash, C++, Python, .NET, PHP, JVM and Lua!

    https://haxe.org/

    ReplyDelete
  15. Joseph Mitzen very competent... maybe... depends on whom you are asking... far less than .NET CLR.

    One of the problems with languages like Kotlin (and Swift) if you like, is that they don't start from clean slate and their design is constrained by existing environments. They tend to fix some deficiencies, but some cannot be fixed (because of compatibility) and they also introduce some flaws of their own.

    ReplyDelete
  16. Dalija Prasnikar Another problem with many new "languages" is that on the surface, they seem to be variations on C. While that may be flattering to C, it is silly to harbor the notion that the syntax of C is a wonderful model for a language.

    ReplyDelete
  17. Bill Meyer Only if you count curly braces as C syntax ;) Of course, !, && and || operators don't help either. But, in general, all similarities stop there.

    For instance, ++ and -- were originally part of the Swift language but were removed later on because they were not Swifty enough.

    ReplyDelete
  18. Dalija Prasnikar Well, one issue with C is that it mapped very simply to the underlying CPU when it was written. The language owes more to Gordon Bell, I think, than to its nominal designers.

    ReplyDelete
  19. Bill Meyer Just because a language has superficial similarities to C doesn't mean it is bad let designed. Do you really think that the usual criticisms applied to C also apply to C#?

    ReplyDelete
  20. David Heffernan Not what I said, nor implied.

    ReplyDelete
  21. Bill Meyer So be specific. What is it about, let's use C# as an example, what is your criticism of the design of C#?

    ReplyDelete
  22. David Heffernan Personally, I am no fan of the various C style operators in C# - the compound assignment operators in particular. It makes for shorter code, but more readable code? Not so sure. Still, that is more a matter of preference. Some like brevity, others like clarity. One does not necessarily imply the other.

    ReplyDelete
  23. Lars Fosdal I don't find x += 1 hard to read. I think you just get used to it.

    ReplyDelete
  24. Lars Fosdal David Heffernan Actually, compound assignment operator makes code clearer. It is immediately obvious what you are doing and chances that you will use wrong variable during assignment.

    ReplyDelete
  25. I do like the compound assignment operator. On the other hand, I have an acquired dislike for the ternary operator, which too often is used very badly. Its great value, and justification, really is in short, simple, local use.

    ReplyDelete
  26. Bill Meyer So don't use it, or use it sparingly. You write the code. The exact same argument can be levelled at the with statement in Delphi. I have no issue with that though because I never use it.

    ReplyDelete
  27. Bill Meyer How about x := if y > 0 then y else z;

    ReplyDelete
  28. Dalija Prasnikar I do not challenge the value of a ternary operator. My issue with it in C is simply that it has always seemed obvious that it is a shorthand, and that the three members ought to be similarly brief. Sadly, I have seen it used where each member was such a large chunk of text as to completely obscure the construct.

    ReplyDelete
  29. Bill Meyer That's not a problem with the language, that's poor programming.

    ReplyDelete
  30. Dalija Prasnikar Verbose. The Python variant would be x := y if y > 0 else z which I don't much care for either, but you soon get used to it.

    ReplyDelete
  31. David Heffernan Agreed, but I made no assertion to the contrary.

    ReplyDelete
  32. Bill Meyer You said that C syntax was a poor model for other languages. I've yet to see you back that up with anything concrete.

    ReplyDelete
  33. Bill Meyer Which new languages do you consider variations of C?

    In general, though, one feature common to successful languages is that they're familiar. The stranger they are to the average programmer, the more it hurts adoption (think Lisp or Haskell). If we look at the top six languages, four are C, C++, C#, and Java, all of which share some C-family syntax elements. If you were making a new language, keeping this in mind would be important.

    ReplyDelete
  34. David Heffernan " I don't find x += 1 hard to read."

    And it certainly beats Supercalifragilisticexpialidocious = Supercalifragilisticexpialidocious + 1

    ReplyDelete
  35. There has been plentiful criticism of C syntax over the years, and by numerous people with credentials more impressive than mine.

    As to the argument of familiarity, I disagree. Languages which are syntactically indistinguishable are not different languages, but different implementations of the same language.


    Granted, syntax and semantics are separate issues, but to have matching or similar syntax would suggest matching or similar semantics, otherwise the familiarity would only engender confusion.

    ReplyDelete
  36. "As to the argument of familiarity, I disagree. Languages which are syntactically indistinguishable are not different languages, but different implementations of the same language."

    Who said "syntactically indistinguishable"? We're talking about heritage.

    As for disagreeing, I'm not sure there is room to disagree. There have been studies over the years by various people on what makes a language successful, and being familiar is a significant contributor.

    As Neil McAllister at InfoWorld put it,

    "Successful languages are familiar
    The languages we have now work well enough. Few developers want to relearn the basics from scratch. For this reason, new languages shouldn't stray too far from what has come before. A novel standard library is usually OK, but the core grammar should feel familiar.

    "That means new languages should probably be at least a little C-like. Doubtless that will disappoint those who hate C's curly braces and cryptic operators. But 35 years of C -- followed by C++, Java, JavaScript, and countless other C-like dialects -- means you'll scarcely find a programmer today who doesn't grok C's idioms.

    "Some modern languages have chosen a different path, such as Python. But Python's unique syntax is one of its major features. It's different intentionally and for good reasons. Not every oddball language can say the same.

    "Furthermore, new languages should support familiar programming styles. It's OK to innovate, but not at the expense of well-known practices. A language that doesn't offer some degree of object orientation won't get far in today's world, for example."

    -

    Ceylon, seeking to supplant Java (and any new language is either seeking to fill a niche or knock off one of the "default" general-purpose languages) gets this and make familiarity one of its features;

    "Ceylon's syntax is ultimately derived from C. So if you're a C, Java, or C# programmer, you'll immediately feel right at home. Indeed, one of the goals of the language is for most code to be immediately readable to people who aren't Ceylon programmers, and who haven't studied the syntax of the language.... If these code examples look boring to you, well, that's kinda the idea - they're boring because you understood them immediately!."

    You can look at the code and see that it's both familiar to you and NOT C....

    ceylon-lang.org - Eclipse Ceylon: Quick introduction

    ReplyDelete
  37. Bill Meyer Your argument is "plenty of people have criticised it"? OK, which people and what we're the criticisms?

    Remembering that your original point is that languages used C like syntax are, you claim, doomed from the start. I haven't seen you back that up at all.

    ReplyDelete

Post a Comment