The Linux distillery
Bringing the world of Linux to you, David cuts through the tech and shows you how it works and how to use it, in terms that apply to any distro. RSS
IT NEWS      iTWire Technology Feature - Virtualisation
Technology news and Jobs arrow The Linux distillery arrow Be the next big thing in open source
Be the next big thing in open source PDF E-mail
User Rating: / 17
PoorBest 
by David M Williams   
Monday, 10 March 2008
The language
Another very early design consideration is the choice of programming language to use. This can’t be underestimated. It will be hard to change later on.

The platform or platforms you wish to support will influence this. If you know you are definitely only interested in targeting the Linux operating system then you can safely go a C++/GTK route or something similar without fear. Or, if you curiously determined that Windows was the only operating system you cared about then you might opt for Visual Basic.NET or Borland Delphi.

However, for maximum impact, cross platform tools and languages really are the best option. Happily, even with the above you’re not absolutely locked in. Most cross platforms apps have a C/C++ base, albeit with slabs of conditional compilations and separate build scripts or Makefiles – but it can be done.

Similarly, you can get GTK libraries for Windows. Or you might opt for OpenGL as your graphics platform – but not DirectX, because this will lock you in to one environment.

Although .NET is a very Microsoft specific technology, the good work of the Mono project means a good bulk of .NET code can be made to run under Linux – just not anything which targets the v3 or v3.5 frameworks yet. And Borland’s Kylix development environment can help bring Delphi code across too.

Alternatively, Java is always available and for the most part its “write once, run everywhere” mantra can be made to work. Python is also a popular stable.

Whichever language you choose be sure to determine that it can compile under Linux and Windows and, if you choose, MacOS. This means making sure there is a run-time environment available in the case of interpreted or pseudo-compiled languages like Java and Python, or making sure there are libraries available in the case of graphical toolkits like GTK.

One problem you may face is resistance to installing foreign additional components. Python ships with every Linux distro, but is not ordinarily used by Windows without some program requiring it, for instance. You may find stuffy sysadmins resistant to loading Python or Java. Or perhaps you might find Linux purists taking offence to littering their ideologically-pure Linux box with interpreters for Microsoft’s .NET.

Nevertheless, if your project really does do something useful these concerns are almost moot. The ever-popular Multi Router Traffic Grapher (MRTG) does not suffer even though it requires Perl. This is because of our previous point one – the concept fills a need and in this case people will install the pre-requisites.

Another example is the most downloaded project on SourceForge, Azureus, a Java BitTorrent Client. The design choice to use Java means the same code runs on all major platforms. Its utility means nobody minds installing a Java run-time to use it.

What more to consider? Please read on!

CONTINUED







 
< Next story in category   Previous story in the category >
iTWire Technology feature

Virtualisation

dollsmaximise your infrastructure, maximise your business

Read more...



Search the web
Search iTWire

 
You don't need to login to post a comment





Lost Password?
No account yet? Register
Subscribe to our free daily newsletter.
KM Australia 2008
July 21 (8:00 am) - July 22 (11:59 pm), 2008
Web Linkwww.kmaustralia.com Moving forward with an enterprise approach to knowledge, information...

Usability Fundamentals Training Course [Melbourne]
July 21 (9:00 am) - July 22 (11:59 pm), 2008
The success of your website is inextricably linked to how well-versed those involved in the devel...

Business Innovation Forum
July 22 (8:30 am) - July 23 (2:00 pm), 2008
Business Innovation Forum: a morning of innovative thinking that will help you gain business resu...

Toshiba MobileXchange 2008
July 22 (9:00 am) - July 23 (11:59 pm), 2008
Event: Toshiba MobileXchange 2008 What: The Tenth Annual MobileXchange is the largest mobile c...

ISTQB Foundation Certification Course
July 22 (9:00 am) - July 23 (11:59 pm), 2008
This accredited and instructor-led course focuses on developing the student’s knowledge, understa...

Market Research in the Digital Age
July 22, 2008 (9:30 am - 12:00 pm)
Sydney, July 22, 2008 http://www.aimia.com.au/i-cms?page=4539 Four experts share insights on ...

VoIP World 2007
July 23 (8:00 am) - July 25 (11:59 pm), 2008
Australasia’s leading and most established VoIP and IP communications event . . . now into its 4t...

Business Innovation Forum
July 24 (8:00 am) - July 25 (1:30 pm), 2008
Business Innovation Forum: a morning of innovative thinking that will help you gain business resu...

Broadband 2008
July 24 (8:45 am) - July 25 (11:59 pm), 2008
Broadband Australia 2008 The original forum for debating the future of Australia’s broadband i...

The Rapidly Emerging Mobile Media Market
July 24, 2008 (All Day)
Mobile media is the way of the future, and by 2015, it is expected that it will be the major reve...
New event listings
SolidWorks Innovation Day (Melbourne and Adelaide)
October 17, 2008 (All Day)
Hosted by Intercad, SolidWorks’ Innovation Days will give designers, engineers and manufacturers ...

SolidWorks Innovation Day (Sydney)
October 16, 2008 (All Day)
Hosted by Intercad, SolidWorks’ Innovation Days will give designers, engineers and manufacturers ...

SolidWorks Innovation Day (Brisbane and Perth)
October 15, 2008 (All Day)
Hosted by Intercad, SolidWorks’ Innovation Days will give designers, engineers and manufacturers ...

LIXI Industry Forum 2008
September 10, 2008 (All Day)
Wednesday, 10 September 2008 The Westin Sydney The second annual major industry event for the...

Mobile Feast!
August 22, 2008 (All Day)
Join us as we discuss all things mobile! The history of technology tells us that the true inno...

The Business of Digital Content - Melbourne
August 5, 2008 (All Day)
The Business of Digital Content Melbourne – August 5, 2008 Extract maximum value from your...

View Full Calendar
Subscribe to our free daily e-newsletter
Contact , Register , Advertise with iTWire , Links , About iTWire , Feedback , Post your jobs , Events , iTWire site map , Start Blogging , MyBlogLog page
Industry Releases , Submit your release now