Monday, August 26, 2013

Reason # 20: We See Sharp So You Don’t Have to C#

20 Reasons to Migrate Magic eDeveloper, uniPaaS and Magic xpa to .NET by Upgrading Rather than Converting

I’ve said it before, at Magic “we see sharp so you don’t have to C#!” Others have said that by upgrading to Magic xpa, you “combine the wisdom of the past with the power of the future!” But let’s face it, these are just marketing slogans. Behind the slogan, however, is a truth born out of decades of effort by Magic and our customers in what can only be acknowledged as very smart technology. With Magic xpa you benefit from the combined wisdom of our community of users, our vision for the future and our long-term staying power and commitment to your support.

I’ve been asked: “What’s the best way to migrate a uniPaaS application to .NET?” By upgrading an older Magic application to Magic xpa, you will actually merge your knowledge, experience and everything you love in our platform with all the advantages of the .NET Framework and more. How can this be true? Because Magic xpa today is fully .NET based and yet it is not bound by the limitations of C# or ASP. Magic xpa should have been named magic.NET++. Then all would have been clearer.

Magic xpa provides full .NET Framework compliance and enables full integration with Microsoft and 3rd party .NET assemblies, controls and more. This brings a more attractive user interface with a modern look and feel. Our community vision has called us to make Magic xpa mobile-ready. That means you can now leverage the same development effort for all mobile operating systems (iOS, Android, BlackBerry, Windows Mobile) and devices (smartphones, tablets). The comprehensive aspect of our Enterprise Mobility Solution means we can also offer real-time back-end integration and mobility management services to our customers. And by upgrading, you help to make your existing applications future-proof because Magic xpa is constantly enhanced with new features and technologies to meet market demands and business requirements. Unlike code conversion companies that have no legitimate long-term strategy, Magic has a commitment to you and continues to provide all the support you need. Our large active developer community includes more than 3000 independent software vendors. We offer 24/7 global eService customer support, telephone support, maintenance, professional services, and unparalleled access to R&D.

For many of you reading this, your uniPaaS or eDeveloper application has served you well, but you’ve decided it’s time to upgrade. An upgrade allows you provide more features and functions leading to a better user experience. With the rise of smartphones, enterprise mobility, and BYOD, you really need to support mobile access for multiple devices and operating systems. An upgrade to Magic xpa will preserve your past investment. Upgrade to the latest version to Magic xpa and you will benefit from our mobile-ready application platform and continuous feature and technology enhancements that let you outperform the future.

But you need to beware of Other .NET Migration offers that leave you out of this community, close you off from this vision and abandon you with no real support.

Other vendors may offer .NET migration but beware, you will not be moving to a pure .NET engine, you will be locking yourself to their engine. It is simply impossible to do everything Magic does (as summarized in our twenty reasons) without proprietary or untested and unproven C# library extensions that go far beyond simple .NET. Ask yourself, what will happen when I need support? How will I migrate beyond this point? Code generators offer terminal migration and no vision for the future or commitment to platform improvements. Who will lookout for your future needs? And how will you handle the need to provide mobile enterprise apps and to add other new features and technologies?

With Magic you get the best of all worlds – full .NET compatibility, a comprehensive and cost-effective mobile-ready solution, and continuously enhanced features and technologies that enable you to best meet the demands of today and tomorrow. And I simply cannot understand the logic of moving backward to C#.

With all due respect to people who collect garbage for a living, I do not want to be a garbage collector. Moving from the Magic xpa application platform to a C# pile of code is like moving from a beautiful mansion to a garbage dump.

The frustration of programming in C# is that you spend so much of your time doing unpleasant things, like garbage collection,  that you are forced to spend less time on your real applications, more overtime evening and weekend hours working on non-productive code, or both. I don’t make this stuff up, folks. Microsoft’s “Conclusion” is very clear: “The .NET garbage collector provides a high-speed allocation service with good use of memory and no long-term fragmentation problems, however it is possible to do things that will give you much less than optimal performance.” In other words, stepping into a C# programming project means you are entering a highly risky world where you can easily spend excessive amounts of effort and end up with extremely poor performance.

C# is Microsoft’s archaic imitation of Java. We all know Java is an overly complex, bloated pile of code as well, but in C# Microsoft managed to release a language that is very poorly suited to today’s business challenges. Let’s be clear, C# is not a cross-platform mobile language. Depending on kluges like Mono, is a highly risky business strategy for creating mobile apps because the future of these approaches is highly uncertain. Mono recently had to get another $12 million to stay afloat and there is no indication that they have a strategy that will stabilize their rocky history.

C# is dependent on APIs in extension libraries. If you are only ever going to program for today’s requirements, this may be fine. But what happens when you need to run your applications somewhere new? Let’s be clear, C# is not a platform and it is not cross-platform. If you depend on API extension libraries, you are inviting yourself into a development dead-end.

Maintaining C# code is extremely difficult, especially when you are trying to work with someone else’s code. For example, a section of code can look exactly the same but behave differently depending on whether it is actually a class or a struct. I get nightmares just thinking about it.

An application platform provides a world of benefits and saves you from a world of hurt. At Magic, we see sharp so you don’t have to C#. 

For additional information on how an upgrade to Magic xpa is superior to Magic to .NET conversion please convert here.

No comments:

Post a Comment