Channels ▼
RSS

Design

Why Is Native Code Development Still Thriving?


Michael is Vice President Products, Embarcadero Technologies.


The internet has made global marketing and distribution of products easier than ever and it has nurtured a market for new offerings like Flex and Silverlight that deliver cross-platform rich Internet applications. But against the colorful backdrop of a dynamic industry—a spotlight on managed and dynamic code and colorful new toys is cropping up every day for developers—let's not forget the importance of tools that produce fast, lean applications that can be easily distributed and installed with as few dependencies as possible.

Native code remains the core foundation for desktop, client/server, and workstation application development. ISVs and Micro ISVs rely on native code to deliver high-performance packaged software, and the ubiquity of multicore architectures enables programmers with abilities in native languages like C++ and Delphi to drive application development in high-growth industries like healthcare, financial markets, and services and telecommunications. And even when we peel back every dynamic language, managed virtual machine, RIA runtime, or Web 2.0 framework, we ultimately find a native code foundation built with native C++ or Delphi compilers. Native code is the wizard behind the curtain. It will always be in fashion.

A Fork In The Road

The world of application development has bifurcated—a recent development wave has been geared toward the browser while the need for application development tied to hardware is growing just as aggressively.

There are many business scenarios where competitive advantage could not be achieved without native code:

  • Programs that can run without any installation or prerequisites.
  • Projects with a large code base that is in maintenance mode.
  • Applications that require direct hardware interaction.
  • Systems with proprietary encryption or compression algorithms.
  • Industries where low latency and high performance yield competitive advantage

Many feel that Microsoft .NET's performance lags behind native code because of impediments like runtime loads and required assemblies, reliance on JIT compilation for high-speed code execution, and garbage collection. The result is decreased performance and predictability and increased resource consumption, which are not acceptable traits in high performance, data-intensive industries.

Application Innovation

Binckbank, the largest online stockbroker in the Benelux region (Belgium, the Netherlands, and Luxembourg), has enjoyed great financial success by relying on native code development. The firm has developed a middleware system based on a native code infrastructure that processes 40,000 updates per second coming from 200,000 customers. High performance, security and scalability are paramount in this kind of real-time trading environment along with an application development path that allows them to take advantage of new multicore chip architectures from vendors like Intel and AMD.

The processing speed Binckbank has been able to achieve gives them a comfortable head start against the tripling of trade data volumes predicted for the next decade. Currently one third of U.S. equity trades are done using algorithmic trading. This figure is expected to soar to more than 50 percent by 2010. The flip side is an expected decline of 90 percent for human traders. This means an increased reliance on machines to drive the world financial markets and a demand for developers who can program to these kinds of applications.

In the old days, we had data and a rich GUI desktop interface. Today, we find a major change in where and how we experience rich features. Enterprise application developers feel pressure to bring the richness in content of Web 2.0 applications down to the desktop without bringing latency performance issues along for the ride. As data volumes continue to increase across all industries, it is virtually impossible to be a generalist. Developers need to understand the systems they are programming for and the tools and languages that will allow them to extract the best performance. Significant business opportunities can open and close in less than the time needed just to define a new application in the traditional way. The developers with a solid understanding of native programming and the languages associated with it will be the ones creating innovation and driving policy on a global level.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video