Over a million developers have joined DZone.

A few points for beginners in development about legacy code, language and frameworks

DZone's Guide to

A few points for beginners in development about legacy code, language and frameworks

· ·
Free Resource

When I started learning programming there were a lot of discussions going on among different programmers. Some were personal views, some were very general discussions about serious frameworks and language. Seniors I had were talking about the future of programming in a certain framework or language. I was a junior, and thus I had to follow what my seniors would say, to have a good future. Perhaps, that is what every junior thinks or believes. 

Topic of discussions

A few of the things that I remember now were about how old languages or frameworks would go away in near future. The languages that I started programming with were, 

  1. C# 
    Of course it is still my all-time favorite programming language!
  2. C/C++
    A great language to learn it all. But I prefer C over C++ due to some common personal understanding problems. 
What I mean is that,  printf("%s", "Hello");  is better than writing  std::cout << "Hello"; . Isn't it ? I never understood what is the intuition of <<.
The frameworks I started learning programming on were, 
  1. ASP.NET
    web development programming framework. Who doesn't it?
  2. Windows Presentation Foundation
    a great user-interface oriented programming framework for .NET framework.
Now, coming to the main points. The seniors usually talked about the frameworks and language that would go away. Language included, 
  1. C/C++
    I had no idea why would it go away, when more developers and companies are investing their time and money in it. C++ is being praised more, due to the templates and classes.
The frameworks to be ready to say good bye were, 
  1. Windows Forms
    I did not what it was, because I never used C# to design the user-interface also. 
I had always used the WPF based framework to develop the applications for having the user-interface for the clients. I did not know what were the downfalls of Windows Forms, or what were the good things about Windows Forms at all. I never used it, never would.
But, why did the seniors always chatted about them being history and what was the entire thing behind it. Let me tell to the juniors coming after me. 
Note: I am still not a senior.

What it was actually...

Actually, they were trying to prove themselves to be able to make decisions of which framework or language is better or which their juniors should use, perhaps because they wanted to take one more step in to the technology. 
It was just a state of paradox, in which all of their conclusions and statements were true, there vision was correct, no one could claim to still use the old ways of programming, yet the statement, " {programming language || programming framework} would be history" was false. 

Personally saying...

Although they were my seniors, but only in age. I have been in programming only for ~5 years. Yet, I know more than them now. From the stuff that I have been using and learning, I have found that no programming framework or language is every history. It can never be history.

When I started learning programming, everyone was talking about C++, C# was still in its 4th or 5th beta stage. There were a lot of things missing, people were unaware of what programming is. ASP.NET was in it 4th version and ASP.NET MVC was still very uncommon platform. Visual Studio was found to be the hardest thing to learn to use, WebMatrix was free and fulfilled entire requirement. 

I never knew what I was doing... But, when I heard something related to programming, my ears started to become active as Alsatian dog. I was obsessed over programming, I still am!

So, here is what I have found from my experience of only 4 and a half years

  1. No programming language or framework ever goes out of use. 
    The programming language or framework are used by major companies. They invest their time and money in a language. That brings us a language or framework. 
  2. The very common factor for a language or framework to exist in today's world is usage
    C++ is being widely used, so it is harder to say it would go away. It cannot. C# has although started to wipe it out, but... As I already said, the usage of a language describes its age. C++ has a very long age. It is not going anywhere at all. Most of the kernels are being re-written in C++ or at least C. So, throwing C++ out would mean that companies or software developers and marketers would have to re-write their entire solutions to match the pace. 
  3. Frameworks are no longer used, because they are not providing best solutions
    Java is a very great language for use for almost every platform, from handhelds to big-screen computers. But, the language is not very elegant as compared to C# or C++ (although some might differ in this). C# is a very beautifully written language and most of the new developers are using it. So, apart from learning you get to have so many questions (sometimes deep questions) to explore and answer each day. Java on the other hand, is being used (but not by most) to develop applications, I have also heard that some developers use C++ to write Android applications. Because Android is using the Linux kernel written in C.
  4. Windows Forms and the requires of developers.
    Developers always want their applications to run over the best solution and environment possible. Windows Forms uses GDI+ (an increment to GDI) where as Windows Presentation Foundation uses DirectX (you know this guy pretty well!). So, you know the different pretty much well. 
  5. Microsoft announced using WPF for Universal app development
    Since the sailor is asking you to use the boats and run for you life! There is no way for you to stick to the old methods. 
But... Including the above 5 points, there are no overall excuses to change the framework unless you need it. I have been developing applications using WPF, I never used Windows Forms and I never will. I am prolific in it. If you were using Windows Forms, use it. You can still develop applications in it. There is no need to follow others. 
Finally, if you are a new guy, try to learn the basics of most of the framework and try using them. You would soon come to know which one suits you. If you are a designer type, you might love Windows Forms and if you are a coder-base then you would enjoy using WPF because there is a lot of coding in WPF, even the user-interface. But, Blend can make me wrong too.
Note: Windows Forms can also be programmed for User-interface in their resource files.
So, that was all folks. Perhaps, you might have found me being personal, you can surely comment or talk about it. :) I would come back with next version of my post. :)


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}