| By Anatoly Krivitsky | Article Rating: |
|
| October 23, 2006 05:00 PM EDT | Reads: |
13,931 |
These days the size of almost all the resources available to a programmer (memory volume, CPU speed, etc.) are on the rise except for one: the time required to complete a project, which is shrinking. So it's important to work with tools that are convenient and make you productive. It's also important to keep the cost of software development in check by keeping as much as possible of the investments that were already made.
Windows - and currently XP Home and Professional are the most widespread versions - has a huge number of installed copies that can be measured in the hundreds of millions. Linux, on the other hand, is supported by a dedicated community of developers and often provides high-quality software. At the moment Unix operating systems (like Solaris 9 and 10) are widespread for servers.
That's why questions related to inter-system communication between Windows and Linux/Unix (including but not limited to virtualization) are attracting growing attention from developers and businesses.
A good chunk of software development tools for XP is customizable so you can create a configuration (hot keys, macros, menus, commands, customizable syntax, highlighting, etc.) that suits your specific needs. Many developers invested time in such customization.
Suppose you work for a Windows shop and put a lot of time in customizing such tools and then your shop starts a Linux or Unix project. Well, this article will teach you how to save your investment and apply Windows XP software development tools to debugging Linux or Unix code with the originally developed technology of inter-system communications between Windows and Linux/Unix.
Making Your Own IDE
You're not going to compete with big companies like Microsoft, IBM, or Borland, just make yourself a convenient tool. However, manufacturers will be able to apply the proposed technology to their integrated development environments (IDEs) or other software development tools (say editors with extended syntax checking) as described below.
Let's consider how your typical IDE works, generally speaking. The programmer creates/edits code using an IDE editor then complies it using a build-in or external compiler that's called with a menu selection (like, for example, the Build | Build solution) and gets compilation results right in front of his eyes in the IDE. Now, why not to apply the same idea to a mixed Linux or Unix-Windows XP development environment? This article will show you how to do it.
What If the External Compiler Works Under a Different Operating System
In our case the external compiler works under a different operating system. The system for the compiler can be run in the same computer as XP (if virtualization is used) or on a different computer on the other side of the planet. It really doesn't matter as long as you can transfer the code from your favorite XP software development tools to the external compiler that works under Linux/Unix and get back compilation results.
General Description of Proposed Technology
The idea is simple. We'll use the following components that together will compose a technology for transferring code from the XP software development tools to Linux/Unix, run the Linux/Unix compiler and get back the results of the compilation:
- A browser on the Windows XP side that will be automatically pointed to a Web page described below from the Windows XP software development tool. You will find a description on how to do it.
- A Web server that runs the different operating system (Linux or Unix). The operating system in question will be referred to as the server operating system. In fact, any operating system that can host the appropriate Web server can be used with the proposed technology. The Web server just has to be able to handle a FILE input type in an HTML form and some kind of server-side software (Perl scripting, PHP, servlets, JSP, etc.) that's capable of performing the operations described below. Most Web servers these days (like Apache and Sun One) easily fit this requirement.
- A specially designed Web page that will be automatically filled with code from the Windows XP software development tool that will be put in a FILE input type of the appropriate HTML form. This page will be filled out by a special application that is described in the next bullet. It will be deployed on the server operating system, but will be accessible from XP and serve as a "bridge" between the two.
- An application that is called from the Windows XP software development tool and automatically fills out the appropriate fields on the Web page. The application will use the Web browser of your choice to do that. In the example below the application is written in Visual Basic.NET (in a way that's compatible with VB.Net 2003 and 2005). But, of course, any language that lets you send keys to the browser (consider C#, for example) can be used for the application.
- Server-side software that gets the code from the Web page, writes it into a file on the server operating system, calls the external compiler in the system, and sends the results of the compilation back to the browser. In this article a Perl script will be used for this purpose as an example but, as mentioned, one can use any number of technologies (servlets, JSP, PHP) to do the same.
Putting It All Together: An Example of the Described Technology
Suppose you use Fedora Core 5 running under XP via VMWare Workstation 5 or 5.5 (i.e., virtualization will be used). Please see my LinuxWorld magazine article "Running Fedora Core 5 Under Windows XP - Tips and Tricks" on virtual machine settings and other useful information (http://linux.sys-con.com/read/219966.htm).
Published October 23, 2006 Reads 13,931
Copyright © 2006 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Anatoly Krivitsky
Anatoly Krivitsky has a PhD in computer science and has more than 24 years of working experience in the IT field. He's the author of 20 published papers and books and five patents. For more information, please visit http://www.myjavaserver.com/~akrivitsky/index.html.
![]() |
Linux News Desk 10/23/06 05:27:56 PM EDT | |||
These days the size of almost all the resources available to a programmer (memory volume, CPU speed, etc.) are on the rise except for one: the time required to complete a project, which is shrinking. So it's important to work with tools that are convenient and make you productive. It's also important to keep the cost of software development in check by keeping as much as possible of the investments that were already made. |
||||
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- Confessions of a Ulitzer Addict
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- It's the Java vs. C++ Shootout Revisited!
- Cloud Computing Can Revitalize Your Career as Software Developer
- IBM Could "Reinvent" Java: Mills
- Oracle & Cloud Computing: Exclusive Q&A with SVP Richard Sarwal
- A Brief History of Cloud Computing
- Kindle 2 vs Nook
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- My Thoughts on Ulitzer
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?









































