Categories
webinar

How Delphi and C# Are More Alike Than You May Know

With the upcoming release of Delphi support for Android there is a lot of interest from developers who are not currently using Delphi, most notably C# developers. Delphi provides a great solution for sharing as much of your source code, skills and development efforts as you want across the 4 major platforms, while still building high performance, native applications.

Delphi and C# are more alike than most people realize. I am doing a webinar to that end: “A Common Ancestry: How Delphi and C# Are More Alike Than You May Know.” It is the first in a 3 part webinar series called You Can Bring it With You: Leverage Your .NET Expertise in an iOS & Android World. The other two webinars are “From One Framework to Another: Leverage Your .NET Investments for iOS and Android Development,” and “Mano a Mano: A Survey of Mobile Development Options for .NET Developers,” by Marco Cantu and John Thomas, respectively.

The webinars start Tuesday, August 27th, with two a day for 3 days in a row. I’m looking forward to seeing everyone online. If you have a specific question you can leave it here and I may be able to incorporate it in the webinar, if not then I will be sure to cover it during the live Q&A.

Categories
News

Sneak Peek: Delphi FirePhoto app on Android

Demo of using the FirePhoto app to take a picture with both the front and back facing cameras on the new Google Nexus 7. Also applying a built in GPU effect to the picture.

Learn more about Delphi for Android

Categories
News

Sneak Peek: Android SDK, NDK and Device Support in Delphi

A juicy sneak peek of the Android support in the SDK Manager and Project manager being developed in the beta. This video shows the updates to the SDK Manager to support the Android SDK & NDK. These can be installed and configured automatically, or you can install them on your own and configure them here. Then it shows how easy it is to add Android as a target. The project manager will automatically detect any Android Emulators or devices with USB debugging enabled and provide them as an option.

Learn more about Delphi for Android

Categories
webinar

Data Visualization with Ray Konopka

I am really looking forward to Ray Konopka‘s webinar on data visualization with Delphi and RAD Studio. Hopefully you will get a chance to join in too!

Join Embarcadero and Delphi expert Ray Konopka to learn about data visualization in a new RAD in Action technical webinar: Data Visualization in Multi-Device Apps with RAD Studio. Conveying the meaning of data quickly and concisely is a focal point of today’s applications. This is especially true for mobile devices where real-estate and user attention are in short supply. Delphi/C++ and the FM Application Platform, along with native code performance, provide the tools necessary to create vibrant, information rich displays.

Seeing is Believing: Data Visualization in Multi-device Apps

Wednesday, August 14, 2013

  • 6AM San Francisco / 9AM New York / 2PM London / 3PM Milan
  • 11AM San Francisco / 2PM New York / 5PM London
  • 5PM San Francisco / 15-Aug 9AM Tokyo / 15-Aug 10AM Sydney
Categories
Commentary

Sum(Programming Languages) > 0

A Zero-sum game is a situation where for one contestant to win or gain, the other contestants must lose or have a loss. Thus for contestant A to have a +5 then contestant B must have a -5, resulting in a sum of 0.

Programming languages, and the battle for supremacy, is not such a contest. Many developers know more than one programming language, and they use different languages for different situations. Different languages influence each other; Delphi heavily influenced C#, and then C# influenced Delphi. Even when one language doesn’t change another, knowing one influences how we use the others.

Liking one language does not mean all other languages are garbage. Celebrating the benefits or advantages does not discount strengths of other languages. Not all languages are equal. They all have strengths and weaknesses, advantages and disadvantages, and that is what makes it great to have so many languages to choose from.

I used to prescribe to the idea of “we are the best because everyone else sucks,” but not anymore. What makes us the best is the progress we make and the projects we complete. Celebrating the success of others doesn’t diminish our success, nor does it keep us from competing or innovating.

Anders Hejlsberg is frequently quoted as saying “we all stand on the shoulders of giants” when talking about the influences of different programming languages on each other. If we don’t strive as developers to be bigger and better, then we are no longer giants with shoulders to stand on. We do a disservice to not compete and grow and do the best we can. It is when we innovate and build on others that we make the world a better place.

Embarcadero offers a lot of great tools for many different languages, including Delphi, C++Builder and HTML5 Builder (PHP & JavaScript). Pick the one you like best, or learn something new. You can even grab RAD Studio and get all those tools for one price (and a special promotion!) Then lets celebrate your victories together!

Categories
Graphics

Directions to iPhone, Windows & OS X

I was thinking about the Delphi Mobile Roadmap and got the idea of making some Highway signs to illustrate that theme. Mostly for fun.

Delphi XE4 - iPhone, Windows & Mac OS X

Feel free to share this image with others who may be looking for direction to reach iPhone, iPad, Windows and OS X from a single tool.

Categories
Architecture

Why Some Mobile Apps are So Slow

If you haven’t read the lengthy article on Why Mobile Web Apps are So Slow I recommend you check it out. It appears well researched, citing lots of tests, sources, benchmarks and authorities. In summary JavaScript is garbage collected, and garbage collection introduces overhead making it up to 5x slower than native code. This isn’t such a big deal on x86 desktops, but with the slower architecture of ARM it is killing the performance of mobile apps.

Take a look at it, even if you just skim it you will no doubt learn something about this heated debate. Oh, and everywhere it talks about LLVM and ARC remember that is the same architecture that Delphi uses [PDF]  for iOS development (and Android soon too).

Also keep in mind that JavaScript isn’t the only garbage collected language on mobile devices. Languages that run on the Java Virtual Machine and .NET Framework are also garbage collected, as are most all scripting languages. This includes the Dalvik Virtual Machine that non-NDK Android apps run on. Granted Dalvik is optimized differently than that Java Virtual Machine, but it is still garbage collected, so it will still pause program execution at some point.

Quote from the article by Herb Sutter:

Managed languages made deliberate design tradeoffs to optimize for programmer productivity even when that was fundamentally in tension with, and at the expense of, performance efficiency

Which was endorsed by Miguel de Icaza of Mono & Xamarin:

This is a pretty accurate statement on the difference of the mainstream VMs for managed languages (.NET, Java and Javascript). Designers of managed languages have chosen the path of safety over performance for their designs.

Points to remember:

  • Garbage collection is up to 5x slower than native code
  • This is a much bigger deal on ARM architecture than x86
  • Automatic Reference Counting (ARC) is not Garbage collection
  • Delphi uses LLVM architecture and supports ARC like Objective-C

Clarification: A big part of the slowdown is that JavaScript is also a dynamic language, so all garbage collected languages are not 5x slower than native code. There are pros and cons to GC and ARC. There is a comment on the article that points out the 5x comparison was between GC and manual memory management, not ARC. There is overhead with ARC, but it doesn’t pause your apps execution.

Read the article and draw your own conclusions, but I’d love to hear what you think.

Categories
Audio podCast

Also on the Tablet Show

As an interesting turn of events I was interviewed on The Tablet Show a couple weeks ago. The Tablet Show is all about developing for tablet devices, and is by the same people who make .NET Rocks. The show is live today as episode 94. This show was recorded when I was still a Delphi MVP, before I was an Embarcadero Employee, but after I had accepted the position.

In this episode I am interviewed about Tablet Development Using Delphi and FireMonkey. It was a lot of fun and hopefully informative. Thanks to Carl and Richard for the interview.

Categories
Audio podCast

53 – Subject 33 & Android Game Development

Taking with Jason McMillen & Paul Nicholls of Pascal Game Development talking about Subject 33 and Android game development. Subject 33 is being developed with RemObjects Software’s Oxygene for Java and they are specifically targeting the new Ouya platform as well as Android in general.

Categories
Audio podCast

52 – Marco Cantu & Delphi XE4 for iOS

The big news for Today, April 22nd, 2013 is the release of RAD Studio XE4 which includes the new Delphi for iOS. I thought it would be fitting to talk with Marco Cantu, long time Delphi author and supporter who recently took over as the Delphi product manager.