IT SOLUTIONS
916-726-5675
-Collapse +Expand

Coder

Search Coder Group:

Advanced
-Collapse +Expand Coder Group Home
-Collapse +Expand Message Board
-Collapse +Expand Knowledge Base
-Collapse +Expand Coder Study Test
PRESTWOODCERTIFIED
-Collapse +Expand Coder Store
PRESTWOODSTORE
-Collapse +Expand Members Only
Prestwood Tip Jar
Tip Jar
Finding something useful?

Add to the
Tip Jar!

Prestwood eMagazine

Subscribe now!
Enter your email:


   PrestwoodBoardsKBRole-Based Tech TalkCoding & OOGeneral Coding Concepts   
Go To Random Article
  From the September 2009 Issue of Prestwood eMag
 
Coder General Coding Concepts:
Is Native Code Irrelevant?
By Wes Peterson
8/20/2009, Last updated 9/27/2009
 
Take Away:

With Microsoft heavily evangelizing .NET, and Sun continuing to improve Java, many a developer and customer are torn between targeting native machine code or a just-in-time compiler.

Here we take a quick look at that particular state of the union...



With Java, Sun--now owned by Oracle--declared it's "silver bullet," now practically a mantra, "write once, run anywhere."  This, of course, has always been a kind of holy grail in software development.  The benefits are obvious: A single source code base targeting multiple platforms means reduced development time, less testing time, less rework.

There is, of course, a price to pay, and it's in the area of raw performance.  Everything else being equal (OS and machine resources), compiled, native machine code will always run faster than code that relies upon a runtime interpreter or JIT (just-in-time compiler).  This is inescapable because the interpreter or JIT will consume machine cycles not needed by the native code equivalent.

That said, modern machines are so fast, so powerful, that it may make little difference - in some applications.  Add to that the fact that the development tools for, say, Microsoft's .NET, are incredibly productive, and the choice of a runtime-dependent solution becomes quite compelling.

There remain, however, classes of programs that scream for every ounce of performance that can be had; databases, web browsers, sound editors, video editors, graphics editors, etc.  But even "mere" desktop business applications can benefit from native code because the end user experience can be significantly more "snappy."

Programs like the sound editor, Audacity, Google's Chrome browser, and the core parts of Windows 7 are developed in native code.  Even the wonderful Paint .NET, relies on a pile of native code in the form of DLLs from Nvidia.

If you'd like to explore more details about this debate, here are a couple good links:

Native Code Makes a Comeback

I like the quote from MSDN Magazine June 2009 issue "Introducing Direct2D" where author sums it up:

(...) if you want to develop high-performance and high-quality commercial applications, you'll still look to C++ and native code to deliver that power. (...)

Of course, that's a Microsoft plug and, for native code, C++ is all they have to offer.

At Prestwood, we certainly do C++, but our native code mainstay is Delphi.  Like a good C++ compiler, Delphi produces highly optimized native machine code.  But Delphi's Object Pascal language (now simply called "Delphi") seems a lot more productive than C++.

The following is a good discussion thread  in our message boards as this subject relates to the future of Delphi for Win32:

CodeGear has a new home! - /ASPSuite/eBoard/Thread.asp?MBID=12733

More Info

News:  It's Done: Borland is No More
KB Post Contributed By Prestwood staff member Wes Peterson:
Wes
Email Approved! E CA USA

Wes Peterson is a Senior Programmer Analyst with Prestwood IT Solutions where he develops custom Windows software and custom websites. When Wes is not coding for clients, he participates in this online community. Prior to his 10-year love-affair with Delphi, he worked with several other tools and databases. Currently he specializes in VS.Net using C# and VB.Net. To Wes, the .NET revolution is as exciting as the birth of Delphi.


Comments

0 Comments.
Would you like to comment? Reply? Ask a question? Say thanks?
Add Comment



 KB Article #102027 Counter
863
Since 8/6/2009

Sponsored Ad
Brought to you by Prestwood IT Solutions
We hope you are enjoying our knowledge base! We welcome your participation in our open online community. As the caretakers, we pay our staff to moderate, edit, and contribute free content here in an effort to promote our software development company. Keep us in mind if you or your company needs help. Whether you need a single developer or a team, consider Prestwood. We are an American company that keeps jobs in America (no off shoring and no need for H-1B developers). Our hope is that you will put some or all of your development tasks in our hands. We specialize in hourly help (1 hour minimum), custom websites from $2k to $40k, business database applications from $5k to $60k, and enterprise application development starting from $20k. Talented Developer?
If you are a talented developer and would like to work with us, start by filling out our Register for Work form.
 
491 People Online Now!!  
Online Now: Sign In to see who's online now!  Not a member? Join Prestwood now. It's free!