Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Studies of relative costs for development in different languages

Tags:

java

c#

delphi

Has anyone seen a recent (and fairly balanced) study into the relative costs for software development using differing languages ? I would particular like to see the relative costs of Java Vs. C# Vs. Delphi.

like image 253
mmmm Avatar asked May 30 '10 19:05

mmmm


People also ask

Which languages are used in development?

Although there are a variety of programming languages for software development, aspiring developers will be well-served by mastering four essential languages: Java, Python, C++, and Scala.

Which language is pass by reference?

What Is Pass by Reference? Pass by reference is something that C++ developers use to allow a function to modify a variable without having to create a copy of it. To pass a variable by reference, we have to declare function parameters as references and not normal variables.

What is comparative programming languages?

Comparative Programming Languages identifies and explains the essential concepts underlying the design and use of programming languages and provides a good balance of theory and practice.


2 Answers

No. But I'm not fanatic of any, and work as consultant and use to recommend one of them for every requirement I have. So here are some facts to make easier the choose of what to use to address system development requirements that you can have.

In Common:

All of them are the best in their fields:

  • Java is the best Java development option.
  • C# is the best .NET development option.
  • Delphi is the best Native development option.

All of them have:

  • Worldwide third party vendors that provide quality components and libraries.
  • Worldwide well-known applications created with them (for example the Delphi ones may be are more known: Yahoo Go for TV!, Macromedia Captivate, TotalCommander, MediaMonkey, FinalBuilder, InstallAware, WinLicense, MySQL Administrator, etc).

All of them are:

  • Highly reliable technologies with RAD capabilities.
  • Supported by the best development aid tools (UML, etc).
  • Releasing major upgrades in its technologies (Java 7, .NET 4.0 and Delphi multiplatform).

Differences:

3 Things in which C# is better:

  • Quantity of developers available (comparing with Java) that can code in it (*).
  • Has Microsoft behind.
  • Cheaper development costs in terms of wages (usually).

3 Things in which Java is better:

  • Quantity of developers available (comparing with Delphi) that can code in it (*).
  • Portability.
  • Has Sun behind.

3 Things in which Delphi is better:

  • Speed (better performance for time critical systems).
  • Small footprint (the Delphi compiler generates really small binaries).
  • Has no explicit dependencies (easier distribution).

(*) there is a very reliable fact that there are more other-languages-developers that can code in C# than other-languages-developers that can code in Java, that means its easier to find C# programmers. Maybe that explains why in many websites (like this one) and forums that allow multi-language questions, refactorings, etc, there are USUALLY more C# questions and answers (84k vs 50k). Also, since Java jobs are best paid in many parts of the world, common sense points out that Java developers remain longer in their jobs than C# ones, that makes more difficult to find Java developers available than C# ones. And of course there are some other factors that can be discussed, but I'm pretty sure it's usually easier to find a C# programmer than a Java one.

like image 189
someone Avatar answered Sep 27 '22 23:09

someone


I don't know about formal studies, but I've heard plenty of anecdotal accounts of companies taking an existing app in Delphi and rewriting it in C# for one reason or another. They all end about the same way.

It took twice as long to rewrite the program in C# as it did to originally write it in Delphi, even with all the business logic and domain knowledge already worked out and present in the form of the existing Delphi codebase. During this time, they were not releasing updates because all their resources were busy with the rewrite, allowing their competition to gain market share. And when it was done, it was a 1.0-level product. Glitchy, slow, and hard to use, often with severe backwards-compatibility issues.

The reason why are open to interpretation, but I think one of the major factors that makes Delphi so much more productive than C# (or Java) is the language's look and feel.

It's common knowledge that a lot more work, time and effort goes into maintaining and debugging modern programs than initially wriitng them, but That principle isn't often followed to its logical conclusion. If what requires the most work is maintaining the program, then picking a language on the basis of it being easy or quick to write code in is premature optimization. You get a better return on your investment if you use a language that is easy to read and maintain. And when it comes to code readability, Pascal (Delphi) beats the C family hands-down.

It's not a formal study, but it's worth thinking about.

like image 34
Mason Wheeler Avatar answered Sep 27 '22 22:09

Mason Wheeler