On Sunday, 14 December 2014 at 14:09:57 UTC, Joakim wrote:
On Sunday, 14 December 2014 at 11:53:56 UTC, Paulo Pinto wrote:
I have seen this in every project where we replaced legacy C++ systems by new ones implemented in .NET and Java.

First people will complain that the performance isn't comparable, they are bloated, and so on.

The project goes forward, as it was a management decision.

Then it goes live, some hiccups that make existing C++ developers rejoice that they were right after all

Lots of bug reports get generated and application performance gets fine-tuned.

A few months later systems are running, end users barely see any difference and a few C++ developers saying that the new systems aren't that bad after all.

I don't doubt that this has been your experience on enterprise projects with a known and stable userbase, but you can't tell me you were able to support the same amount of users per server using java/.net as C++. Paying for more servers but less for java/.net development may be a worthwhile tradeoff for such stable enterprise rollouts, but any time you have to scale, I doubt java/.net can keep up.

As always, different tools for different uses. Hopefully, D can one day be polished and mainstream enough for the enterprise use case and it will be efficient enough to be deployed at scale too. :)


You mean scale like Twitter and LinkedIn?

On my case, two examples of such project was a software stack for network monitoring, data aggregation and monitoring for mobile networks all the way down to network elements.

The old system was a mix of Perl, C++/CORBA and Motif. The new system is all Java, with small C stack for resource constrained elements.

Another example was replacing C++ applications in medicine image analysis with 90% .NET stack and a mix of C++/Assembly for image filters and driver P/Invoke glue.

The problem is that the average coders don't learn to optimize code and in the end most business will just shell out money for more hardware than software development time.

We had high performance systems running with a stable GC cycles, after doing the required optimization work. That is why tools like VisualVM and Mission Control exist.


--
Paulo




Reply via email to