Free and open languages such as PHP and Ruby are catching up fast with the likes of Microsoft’s .NET and Oracle.
And while the myriad programming languages may resemble the Biblical confusion of tongues, technologists agree that there is a time and place for each of the languages -- whether proprietary or Open Source.
“Open Source is great for many customers,” said Jeff Doyle, Product Manager of HP’s Exstream software brand. “However, sometimes proprietary languages are better suited for particular applications.”
Doyle expects the exclusion of proprietary features to allow Open Source languages to be used freely and with greater flexibility.
However, he noted that the revenue generated by proprietary languages encourages vendors to make frequent improvements to their products, which in turn attract users.
“Proprietary software vendors are very motivated to add features and functions into proprietary languages because proprietary languages generate revenue,” he said.
“Therefore, I do not see a complete replacement of Proprietary languages by Open Source products for a very, very long time.”
According to Kan Kawashima, Exstream’s Japan country manager, Exstream developers tend to be well-versed in a range of platforms and languages, including .NET, Java, Perl and PHP.
Versatile developers are expected to enable Exstream to integrate its products with various systems and be flexible to meet demands and aggressive development schedules.
Meanwhile, Melbourne-based consultancy Shine Technologies has built its business on the Ruby on Rails Web application framework, which is based on the Open Source Ruby programming language.
Operating on a belief of not promoting technology for technology’s sake, Shine aims to evaluate technology based on its ability to deliver a business benefit.
According to the consultancy's principal, Mark Johnson, Ruby on Rails was chosen for its value proposition in certain situations.
“For web-based applications, Ruby on Rails offers much faster speed-to-market, yet flattens the learning curve for both us and our clients,” he said.
“The resulting code is smaller, easier to manage and the release process is extremely efficient.”
Open Source technologies appeal to University of New South Wales academic John Shepherd because of cost advantages and the ease of access to the technical mechanisms behind Open Source platforms.
As a lecturer of database programming at the university’s School of Computer Science and Engineering, Shepherd specialises in the PHP programming platform on top of the PostgreSQL database in his teachings.
While Shepherd admitted that proprietary technologies such as Oracle and .NET are more prevalent in the industry, he expects Open Source systems to be more conducive to teaching programming concepts that will better equip students to adapt to new versions of existing technologies.
“As far as we’re concerned, programming languages are really just a vehicle for teaching the underlying ideas,” Shepherd said.
“We’re not teaching a particular system; we’re teaching the ideas behind the system. We know that systems are going to change in two years, and what’s the point in training someone in the gory details of some system that is going to be replaced by version two in three years time.”
UNSW’s Computer Science and Engineering students are taught the C programming language in their first year, to teach basic procedural programming. Second year students are taught Java in the context of Object-Oriented design.
In later years, students are taught whichever language lecturers deem most appropriate for the topic area that is covered.
“I happened to choose PHP because it’s simple and easy for students to pick up,” Shepherd said.
“It’s a higher level of abstraction than C; if you want to be doing the same thing in C, you’re writing five times as much code. And some of the constructs – hash tables and the huge number of libraries it provides - is convenient.”
Cost considerations aside, Shepherd said that the accessibility to Open Source source code has teaching advantages also.
“With open source, I just like the notion that you have access to the source code for systems that you’re running, and even better, if you find bugs in it, you can fix it yourself and post your fixes to the Web site for that open source system,” he said.
“Oracle is not going to give you the source code, so you go with an Open Source database like PostgreSQL and MySQL.”
According to IT services and solutions provider Dimension Data, however, Open Source options may not always be the most cost-effective in the industry.
Dimension Data’s General Manager for Application Integration, Peter Menadue, described dealings with a large Australian bank, which required a specific application to be written by the IT department for an internal customer in commercial banking.
The IT department researched technologies including ColdFusion, PHP, Java and .NET, and achieved a mix of quotes ranging from $150,000 for Java development, to $60,000 for a .NET development.
But the most effective solution turned out to be Microsoft’s SharePoint, with which the IT department was able to satisfy the bank’s requirements for about $20,000.
“The customer was extremely happy; they got a result really quickly, they really liked it, they didn’t have to get anyone to maintain any code,” Menadue said. “That is a flavour that we’re seeing more and more of.”
“Clearly there’s still a lot of development going on, but I think it’s more targeted. People are looking at more of these platforms to, in some cases, avoid code, or at least, avoid the first block of development if you like, and only do the development where they are really adding high value.”
“It’s just a way of reducing ongoing maintenance costs, and means that you buy into a platform and keep riding that wave,” he said.
Describing the shift towards leveraging existing platforms as a trend towards “non-programming”, Menadue noted that the most useful programming languages are those that are most compatible with the platforms being extended.
SharePoint-based projects thus require expertise in .NET, he said, noting that Dimension Data tends to prefer the C# language within the .NET environment.
“I think the basic premise is this: if you’re writing a specific application, either you write the code yourself, or you leverage some functionality that’s already been written,” he said.
“Five, ten years ago, the default action would have been to develop something.”
“I think people are trying to really define exactly where it makes sense for them to do it, rather than just leverage something where somebody has already made some sort of developmental investment,” he said.
To code or not to code?
By Liz Tay on Jun 6, 2008 12:00PM