473,663 Members | 2,705 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 4205
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...ther e 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
6368
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 something I'll need in this case is some experience-based set of rules about how to use python in this context. For example... is defining readonly attributes in classes worth the hassle ? Does duck-typing scale well in complex
383
12074
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 poor man's DBMS, a broken email server and various other /application/ servers to try and crack the Internet and IS markets. In the case where they didn't spend their own money to get companies to
5
1630
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 way, the session variables are lost causing the application to break. The only software on the xp-pro box is iis, .NET framework, office 2003 and 3 com objects: aspmail, aspimage and aspsmartupload. There is no virus detection software. Anybody have...
4
1477
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 an XML file and it must be unicode formatted: class classToSave
9
3031
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 scientific visualization for the next decade (2007-2017). (for a HTML version with images, please see http://xahlee.org/3d/viz.html )
39
3288
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 that they tend to live in the past.
0
5883
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. Basically what im trying to do is the following: - a client connect to a server using sslsocket. - server receive the connection and reply with the first part of the data and keep the connection open. - then client receive the reply and request for...
0
8435
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8857
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8768
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8547
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
7368
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6186
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4348
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2763
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1754
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 can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.