PDA

View Full Version : Opinions on .Net, Java, OOP and the rest



clash
May 17th, 2007, 12:42 PM
Alright lads, i'm just finishing my BSc at the moment and HAPPILY got into some C++ developing for my final year project. Had messed around with C and JNI (Java Native Interface) before that but it was more about utilising the C already there then actually writing C.

Anyways .......

First of all let me say my College/Uni are very Object Orientated Programming based and love everything that Bill comes out with. i.e > C# replaced C++ on my course before i got a chance to take C++.

But i'm not overly sure of the OOP model, sure its great for some things but at the end of the day i find a lot of OOP design and coding inappropriate for certain things. I'm not saying its a bad idea, i'm just saying that software should always have a bit of OOP and a bit of functional design to it. Not just being OOP for the sake of being OOP do u know what i mean ?

Ok as well as that, whats peoples opinions on Java vs .Net, from a completely development point of view, not a MS sucks point of view. And is C++ slowly dying off ? Should it be ?

samjh
May 17th, 2007, 02:49 PM
But i'm not overly sure of the OOP model, sure its great for some things but at the end of the day i find a lot of OOP design and coding inappropriate for certain things. I'm not saying its a bad idea, i'm just saying that software should always have a bit of OOP and a bit of functional design to it. Not just being OOP for the sake of being OOP do u know what i mean ? It's all about using the right tools for the right job, or using the right strategy to achieve the right goal.

OOP is a good thing, probably the best thing in programming since structured programming. But no, it is not always appropriate. OOP and languages that support OOP add some (occasionally a lot of) overhead, than comparative implementations using strictly procedural programming. This is especially apparent in firmware programming: you will hardly ever find firmware programmed using OOP methods.

OOP is good for medium to large scale software. It is great for complex systems, because it allows code to be divided into chunks that human beings can easily relate to. GUIs are a good example of what OOP handles very nicely.


Ok as well as that, whats peoples opinions on Java vs .Net, from a completely development point of view, not a MS sucks point of view. And is C++ slowly dying off ? Should it be ?

C++ is slowly being replaced as the premier desktop software development language on the Windows platform by C# and VB.NET. The transition is not fast, but certainly apparent.

C++ is still very strong on Unix and similar systems though. Same for Macintoshes.

Should it die off? Well, no it shouldn't. But it should not be as universal as it is now. Most application software do not need to be developed with a language as powerful or error-prone as C++. It's overkill for 90% of desktop applications, in my opinion. So it should be replaced in for some areas, but it should still maintain a strong niche for system programming and embedded devices.

As for Java vs .NET, I'll say only that Java will probably maintain a strong niche in Unix/Linux enterprise development and Windows-Unix hybrid infrastructure, and .NET will take a strong niche in Windows platform enterprise development and Windows desktops. Java is still stronger than .NET in the market, but I think they will eventually balance each other in a long-drawn tug of war.

clash
May 17th, 2007, 03:21 PM
Agree completely about OOP, i just find it fairly sickening when people just do OOP for the sake of doing it.

On C++, i know its error prone and what many consider to be overkill, but ...

Developing software in a language because its "easier" but really inefficient from a hardware point of view is also a really bad idea IMO. So what if 80% of people can run the software at a reasonable speed because of their hardware. By developing inefficient software because its "quicker" and does more work for me then i'm just creating more problems in the long run.

I don't really know whats the solution but i do think making languages easier and easier (more inefficient) is a problem.

ljs_1969
May 17th, 2007, 03:53 PM
C/C++ is the basic of many platform. It will never be replaced. C# and Java is good for career. They play more important roles in programming field. If You can master one, that is enough.