473,508 Members | 2,263 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Lost in the software jungle: WPF vs. C# vs. C++ vs. Java ...

310 Contributor
I have experience with C++, Java, PHP and many many more "older" software languages. More recently I got introduced to C# and programmed some small applications with Visual Studio 2005 Express version.

In the last days I started to look around to see what language/platform would be good for a new project I may be embarking on, which will be a rather sophisticated chemical process simulator. And now I am completely confused after stumbling upon new technologies such as WPF and XAML.

I am confused because I had the impression that C# (used with or without .NET) was the new guy on the block, and now it seems from my reading that there are a lot of other new things out there. So much so, that I don't know what I should spend my time learning.

Could someone explain a bit about this software jungle? When should the WPF/XAML technologies be used? When would one use C#, or C++, or Java instead? I of course realize that Java as opposed to C++ is platform independent (and that .NET is also intended to be so). But what I would like to know is more about computational efficiency (important for simulation engines) and ease of programming complex GUI's (like allowing for drag and drop model building, etc.).

Also, I was pleased to discover the free to use Visual Studio development tools for C# and C++. I haven't looked yet, but are these also free for WPF?

Thanks for any help!
Jun 5 '09 #1
3 4197
JosAH
11,448 Recognized Expert MVP
@coolsti
Microsoft store Java from Sun MicroSystems; Java uses a lot of confusing technologies as well (especially those web-boys make a mess out of everything) and Microsoft did a similar thing: making a mess out of things and WPF/XAML is part of that mess. It's a bunch of XML, read by some C# and then everything starts diddling with browsers, http and what have you.

It is save to ignore it all and concentrate on just the C# language; when you need part of that mess you know where to find it. C# (just as Java) is fast enough for most applications (except for the most demanding environments).

kind regards,

Jos
Jun 9 '09 #2
Frinavale
9,735 Recognized Expert Moderator Expert
By the sounds of it, your application probably doesn't need to use WPF.

C# is one of the many .NET languages that you can use. It gives you access to the grand .NET Framework which provides you with many controls, classes, and namespaces which makes your life easier as a developer.

WPF (stands for Windows Presentation Foundation) is a newer technology made available to you as a .NET developer (it's available if you're using the 3.5 Framework or greater).

WPF is pretty cool. I've only been able to dabble into it briefly but they've changed the way you create your controls. It's not as simple as dragging something like a DataGridView onto the page but it is a lot more flexible. There's a lot more to it than just controls...there are whole concepts that you have to understand before you can really appreciate what WPF is. If you have time to learn a new technology I'd recommend looking into it.

Since it seems like you're looking for a quick way to implement your solution though; so, I would recommend implementing the regular old Win Forms desktop application project instead of a WPF project. You'll be more comfortable there because you'll be able to drag and drop controls onto the form and use them as you have in the past.

Just keep in mind that using the .NET Framework (any .NET language: VB.NET, C#...) restricts you to the Windows Operating system. If your application requirements state that your app has to run on multiple platforms then you should consider using Java (simply because it has an awesome API with a vast number of classes, controls and namespaces to support your needs). I don't think I'd recommend C/C++ unless your application has to manage low level operations (like firmware, device controllers etc).

-Frinny
Jun 23 '09 #3
Tassos Souris
152 New Member
I do not recommend that you should stick to one programming language (this also applies to methodologies as well).

You should make your choice according to the project, the underlying platform, the requirements, the time limit etc etc.

For some projects you will use C or C++, for others Java and if you are strict on the deadline you could pick on Python.

So for example, considering that C is the best language for simulation engines which i say it in random, if you have short time to implement the project then you should probably go to alternatives that reduce production time. So you should go either for Java or Python. If you are still interested in speed you should choose Python.
Jun 24 '09 #4

Sign in to post your reply or Sign up for a free account.

Similar topics

36
6323
by: Andrea Griffini | last post by:
I did it. I proposed python as the main language for our next CAD/CAM software because I think that it has all the potential needed for it. I'm not sure yet if the decision will get through, but...
383
11788
by: John Bailo | last post by:
The war of the OSes was won a long time ago. Unix has always been, and will continue to be, the Server OS in the form of Linux. Microsoft struggled mightily to win that battle -- creating a...
5
1623
by: rich00 | last post by:
i am developing an asp.net web based application using javascript as the server side scripting language. The application makes constant use of an access database and session variables. in a random...
4
1470
by: Ole | last post by:
Hi there, I think I'm lost in the XML attribute jungle in my attempt to serialize/deserializing data that must be persistant, and any help is highly appriciated. I need to save this class in...
9
3010
by: Xah Lee | last post by:
REQUIREMENTS FOR A VISUALIZATION SOFTWARE SYSTEM FOR 2010 Xah Lee, 2007-03-16 In this essay, i give a list of requirements that i think is necessary for a software system for creating...
39
3260
by: jacob navia | last post by:
Mnemonic means trying to remember. Mnemonic means making annotations that remind you. Speaking about mnemonic I saw this message. Tor Rustad wrote: One of the problems with old people is...
0
5863
by: kuguy | last post by:
Hi all, I'm new to the forums, so I hope this isn't in the wrong place... I have that "Software caused connection abort: socket write error" exception error that i've never meet before. ...
0
7231
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7336
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
5640
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5059
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4720
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3211
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3196
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
773
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
432
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.