Answered by:
Windows forms advantage in C#

Question
-
Answers
-
Hi,
C++
C#
C++ is powerful and lets you interact with the entire
controllable set of parameters like hardware ,drivers,
and other system components through API s or low
level calls, header files, native(32 bit,64
bit...,x86,) compiled programs which are the most suitable
adaptation for the OS and hardware etc.C# is based on a framework that does
errorhandling ,garbage collection , Try{} Catch {}
etc.The framework handles portability issues like OS,
hardware etc.Allows transparent
developmentAllows fast development dependent on the framework
Linux program development differs from Windows
and has separate header filesHere framework is only concerned when adopting a desired OS.
If the framework is available for Linux then programs may work on
Linux. So far MONO and Moonlight are some frameworks
which are still trying to match components from Dotnet
framework from MicrosoftIt allows you to know each factor of the environment that makes
a program running for a systemIt may not expose each factor for manipulation.
As you may make exact manipulations possible your
desired output is in your control and you may be able to overcome
restrictions and provide further variations using available skillsHere manipulations would be limited to the abilities of the
namespaces available which expose classes and functions to
manipulate. Writing wrappers is possible but basic limitations
cannot be overridenMore effort would be needed to apply all finer
refinements suitable for various machines and platformsEffort would not be needed to apply all finer
refinements suitable for various machines and platforms, but would
compromise the freedom to manipulate further.Maintenance may allow a lot of manipulations for each platform
Allows quick pace of development and results in quicker output
and UI and lower maintenanceMore hours could be spent on concentration on fine tuning with
platform/hardware/software requirements and re-usability of such
models which may always be repeatable.Hence leaving a chance to
lose time for discussing business requirementsMore hours could be spent on concentration on business
requirements and re-usability of such models which may always
be repeatable.As C++ is a universal programming language, portable
applications could be written for LINUX as well as WINDOWSAs C# is a DOTNET language and to program portable applications
may be difficult for LINUX as well as WINDOWSPS : opinions may differ and with time newer technologies have come up like XAML (ZAMAL) which is unlike windows forms. things may keep evolving , also as windows8 has come with extremely asynchronous programming retaining features of XAML
there may also be people who may never want to use XAML but would go for it as it may be an imposition and not a choice.
Regards.
Please remember to mark the replies as answers if they help and unmark them if they provide no help , or you may vote-up a helpful post
- Edited by murtazagandhi Thursday, March 14, 2013 7:31 AM edit
- Proposed as answer by Jason Dot Wang Friday, March 15, 2013 8:58 AM
- Marked as answer by Jason Dot Wang Friday, March 22, 2013 8:38 AM
-
In short (and helpful as I hope).
1) Microsoft made C# IDE more helpful in windows programming than C++ IDE (Note this is not to say anything about the language).
2) If you are new to programming, I recommend C# because it much easier and you will be more productive. C++ is only more efficient in some advanced area which you are not likely going to program with as new programmer; by the time, you may be experienced enough to learn C++.
- Proposed as answer by Jason Dot Wang Friday, March 15, 2013 8:58 AM
- Marked as answer by Jason Dot Wang Friday, March 22, 2013 8:39 AM
-
I mean this part:
1) Microsoft made C# IDE more helpful in windows programming than C++ IDE (Note this is not to say anything about the language).
Umm, Ok.
First, Intellisense gives brief description of the used method, property,... etc in addition to its parameters in C#. In C++; however, no description is provided by the intellisense; just the type of the parameters. Secondly, It is very simple in C# to imports images, sounds in the resources by going in the project properties; in C++, this is much more complicated. Third, the properties of the project are organized in way that easy to find and access; in C++, you feel there are too much, and you may feel lost (of course unless you learn C++ IDE). Fourth: Default customization, C# IDE by default elegantly organized toolbar, properties window, and files window; in C++, the properties window for example is not visible by default which is indispensable in Windows programming. Fifth Connecting events to methods is more complicated in C++; C++ requires more parameters to be entered at the level of the code; in C# the intellisense add the necessary keyword (new EventHandler) and just let you enter the only parameter which is the name of the method. Here are just some of the benefits of using C# for "windows programming" and I think there are others; however, I found only one good point in C++ not found in C# is that when deleting a control, C++ automatically deletes the previously auto generated code for this control; while in C# you have to delete the code manually (at least in Visual C#.NET Express 2008) I don't know if microsoft fixed this in later editions.
Hope this "helpful" :)
- Marked as answer by Mohican1989 Friday, March 15, 2013 10:51 PM
All replies
-
Hello,
You are comparing apples and oranges, C++ is a programming language whereas WinForms is a UI technology and in fact, you can use C++/CLI to write WinForms applications.
Regards,
Eyal Shilony -
Thanks for the answer
Sorry i'm new to C# programming, but i'm making a project and i have to explain why i use this programming language to Windows Forms programming.
- Edited by Mohican1989 Thursday, March 14, 2013 6:55 AM
-
Hi,
C++
C#
C++ is powerful and lets you interact with the entire
controllable set of parameters like hardware ,drivers,
and other system components through API s or low
level calls, header files, native(32 bit,64
bit...,x86,) compiled programs which are the most suitable
adaptation for the OS and hardware etc.C# is based on a framework that does
errorhandling ,garbage collection , Try{} Catch {}
etc.The framework handles portability issues like OS,
hardware etc.Allows transparent
developmentAllows fast development dependent on the framework
Linux program development differs from Windows
and has separate header filesHere framework is only concerned when adopting a desired OS.
If the framework is available for Linux then programs may work on
Linux. So far MONO and Moonlight are some frameworks
which are still trying to match components from Dotnet
framework from MicrosoftIt allows you to know each factor of the environment that makes
a program running for a systemIt may not expose each factor for manipulation.
As you may make exact manipulations possible your
desired output is in your control and you may be able to overcome
restrictions and provide further variations using available skillsHere manipulations would be limited to the abilities of the
namespaces available which expose classes and functions to
manipulate. Writing wrappers is possible but basic limitations
cannot be overridenMore effort would be needed to apply all finer
refinements suitable for various machines and platformsEffort would not be needed to apply all finer
refinements suitable for various machines and platforms, but would
compromise the freedom to manipulate further.Maintenance may allow a lot of manipulations for each platform
Allows quick pace of development and results in quicker output
and UI and lower maintenanceMore hours could be spent on concentration on fine tuning with
platform/hardware/software requirements and re-usability of such
models which may always be repeatable.Hence leaving a chance to
lose time for discussing business requirementsMore hours could be spent on concentration on business
requirements and re-usability of such models which may always
be repeatable.As C++ is a universal programming language, portable
applications could be written for LINUX as well as WINDOWSAs C# is a DOTNET language and to program portable applications
may be difficult for LINUX as well as WINDOWSPS : opinions may differ and with time newer technologies have come up like XAML (ZAMAL) which is unlike windows forms. things may keep evolving , also as windows8 has come with extremely asynchronous programming retaining features of XAML
there may also be people who may never want to use XAML but would go for it as it may be an imposition and not a choice.
Regards.
Please remember to mark the replies as answers if they help and unmark them if they provide no help , or you may vote-up a helpful post
- Edited by murtazagandhi Thursday, March 14, 2013 7:31 AM edit
- Proposed as answer by Jason Dot Wang Friday, March 15, 2013 8:58 AM
- Marked as answer by Jason Dot Wang Friday, March 22, 2013 8:38 AM
-
In short (and helpful as I hope).
1) Microsoft made C# IDE more helpful in windows programming than C++ IDE (Note this is not to say anything about the language).
2) If you are new to programming, I recommend C# because it much easier and you will be more productive. C++ is only more efficient in some advanced area which you are not likely going to program with as new programmer; by the time, you may be experienced enough to learn C++.
- Proposed as answer by Jason Dot Wang Friday, March 15, 2013 8:58 AM
- Marked as answer by Jason Dot Wang Friday, March 22, 2013 8:39 AM
-
-
Thanks for the answers :)
Can you please be more concrete about the word "helpful" ?.
I mean by "helpful" that I hope my post helps you go on with correct path.
By the way, don't forget to mark all the answers that satisfy your question "Mark as answer" beside to vote as helpful for useful posts.
Best wishes...
-
-
I mean this part:
1) Microsoft made C# IDE more helpful in windows programming than C++ IDE (Note this is not to say anything about the language).
Umm, Ok.
First, Intellisense gives brief description of the used method, property,... etc in addition to its parameters in C#. In C++; however, no description is provided by the intellisense; just the type of the parameters. Secondly, It is very simple in C# to imports images, sounds in the resources by going in the project properties; in C++, this is much more complicated. Third, the properties of the project are organized in way that easy to find and access; in C++, you feel there are too much, and you may feel lost (of course unless you learn C++ IDE). Fourth: Default customization, C# IDE by default elegantly organized toolbar, properties window, and files window; in C++, the properties window for example is not visible by default which is indispensable in Windows programming. Fifth Connecting events to methods is more complicated in C++; C++ requires more parameters to be entered at the level of the code; in C# the intellisense add the necessary keyword (new EventHandler) and just let you enter the only parameter which is the name of the method. Here are just some of the benefits of using C# for "windows programming" and I think there are others; however, I found only one good point in C++ not found in C# is that when deleting a control, C++ automatically deletes the previously auto generated code for this control; while in C# you have to delete the code manually (at least in Visual C#.NET Express 2008) I don't know if microsoft fixed this in later editions.
Hope this "helpful" :)
- Marked as answer by Mohican1989 Friday, March 15, 2013 10:51 PM
-
-