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/
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/
There has been no specific indication for 64-bit ARM for Android, nor for X86_64 for iOS simulator, either
ReplyDeleteLars Fosdal If Delphi no longer fulfills your needs then perhaps it's time to move on.
ReplyDeleteDavid Heffernan True that, but I like Delphi a lot. I also am starting to like C# and .NET. Java - not so much.
ReplyDeleteDavid Heffernan I guess what I am really is saying is "Where is the updated road map?"
ReplyDeleteLars 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. :)
ReplyDeleteLars 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.
ReplyDeleteIf 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
Lars Fosdal We're off-road now! :-)
ReplyDeleteSeriously, 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.
Joseph Mitzen Kotlin is sweet, but young, and you know you will get into trouble if you fool around.
ReplyDeleteLars Fosdal age is not the problem with Kotlin... but it is still plain old horrible Java VM in the background.
ReplyDeleteI 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.
ReplyDeleteDalija Prasnikar True, there is that as well. I do like the design of Kotlin, though.
ReplyDelete>>This is one of the main advantages of a language that targets a VM
ReplyDeleteLike the P-system, which I bet some others here remember! :-)
Tom Field Good point! I forgot about that! The original Pascal targeted a virtual system to facilitate porting of code:
ReplyDeletehttps://en.wikipedia.org/wiki/Pascal_(programming_language)#The_Pascal-P_system
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.
ReplyDeleteAnyway, 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/
Joseph Mitzen very competent... maybe... depends on whom you are asking... far less than .NET CLR.
ReplyDeleteOne 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.
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.
ReplyDeleteBill 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.
ReplyDeleteFor instance, ++ and -- were originally part of the Swift language but were removed later on because they were not Swifty enough.
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.
ReplyDeleteBill 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#?
ReplyDeleteDavid Heffernan Not what I said, nor implied.
ReplyDeleteBill Meyer So be specific. What is it about, let's use C# as an example, what is your criticism of the design of C#?
ReplyDeleteDavid 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.
ReplyDeleteLars Fosdal I don't find x += 1 hard to read. I think you just get used to it.
ReplyDeleteLars 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.
ReplyDeleteI 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.
ReplyDeleteBill 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.
ReplyDeleteBill Meyer How about x := if y > 0 then y else z;
ReplyDeleteDalija 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.
ReplyDeleteBill Meyer That's not a problem with the language, that's poor programming.
ReplyDeleteDalija 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.
ReplyDeleteDavid Heffernan Agreed, but I made no assertion to the contrary.
ReplyDeleteBill 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.
ReplyDeleteBill Meyer Which new languages do you consider variations of C?
ReplyDeleteIn 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.
David Heffernan " I don't find x += 1 hard to read."
ReplyDeleteAnd it certainly beats Supercalifragilisticexpialidocious = Supercalifragilisticexpialidocious + 1
There has been plentiful criticism of C syntax over the years, and by numerous people with credentials more impressive than mine.
ReplyDeleteAs 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.
"As to the argument of familiarity, I disagree. Languages which are syntactically indistinguishable are not different languages, but different implementations of the same language."
ReplyDeleteWho 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
Bill Meyer Your argument is "plenty of people have criticised it"? OK, which people and what we're the criticisms?
ReplyDeleteRemembering 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.
ReplyDeleteHere ya go Lars Fosdal
https://www.zdnet.com/google-amp/article/review-hp-envy-x2-running-windows-10-on-arm/
zdnet.com - Review: HP Envy x2 running Windows 10 on ARM | ZDNet