C Board  

Go Back   C Board > Community Boards > General Discussions

Reply
 
LinkBack Thread Tools Display Modes
Old 03-29-2008, 04:58 AM   #1
csd@auth
 
Join Date: Oct 2006
Location: Greece
Posts: 71
c# or win32 api

Hello there. Me and my friends are trying to find a good (easy and powerful enough) way to build apps with interface. Till now, I've tryed to learn win32 api using c(i find it too hard).
But these days a friend of mine showed me a program he wrote in c# that amazed me and as he said, was simple to be done.
Is c# a better way to build apps with interface than win32 api?
What language and which purpose would you reccomend me for this purpose?

I'd like to learn not only for fun but also for professional purposes.

P.S. sorry for my bad english
kantze is offline   Reply With Quote
Old 03-29-2008, 05:24 AM   #2
Woof, woof!
 
zacs7's Avatar
 
Join Date: Mar 2007
Location: Australia
Posts: 3,295
For me, I use Gtk+ mainly because it's portable (well more than the Win32 API). You don't need to move languages just to build a user interface
__________________
"I.T. gets the chicky-babes" - M. Kelly
bakefile | vim
zacs7 is offline   Reply With Quote
Old 03-29-2008, 05:50 AM   #3
Internet Superhero
 
Join Date: Sep 2006
Location: Denmark
Posts: 468
Try taking a look at MFC, it's a framework for Win32 which makes everything a bit easier and faster.
__________________
How I need a drink, alcoholic in nature, after the heavy lectures involving quantum mechanics.
Neo1 is offline   Reply With Quote
Old 03-29-2008, 07:36 AM   #4
Super Moderator
 
Bubba's Avatar
 
Join Date: Aug 2001
Posts: 7,814
If you want to maintain the C - like syntax and gain a bit more horsepower with GUI then C# is a definite option. As to whether it's better or not really depends on what you are trying to do. Some things are far easier in C# and some are not. MFC has a significant learning curve and C# does not. That fact alone may have already answered your question.

Let's say that C# is yet another way for you to build GUI apps.
Bubba is offline   Reply With Quote
Old 03-29-2008, 10:11 AM   #5
l'Anziano
 
DavidP's Avatar
 
Join Date: Aug 2001
Posts: 2,629
If you are looking for something with a less-steep learning curve, then C# is definitely a good way to go. C# is a nice language and it definitely helps make GUIs easier in Windows. But yeah you should also look into MFC.

What IDE are you using? Visual Studio Express? C++Builder? If you are using either of those, then there are some drag and drop features that also help in designing a GUI.
__________________
My Website

"Circular logic is good because it is."
DavidP is offline   Reply With Quote
Old 03-29-2008, 02:12 PM   #6
csd@auth
 
Join Date: Oct 2006
Location: Greece
Posts: 71
I can't understand what "...a less-steep learning curve" means! Does it mean that c# does the job easier but it's less powerfull? Something like basic??

@DavidP: I'm using visual studio 2008
kantze is offline   Reply With Quote
Old 03-29-2008, 04:16 PM   #7
l'Anziano
 
DavidP's Avatar
 
Join Date: Aug 2001
Posts: 2,629
http://en.wikipedia.org/wiki/Learning_curve
__________________
My Website

"Circular logic is good because it is."
DavidP is offline   Reply With Quote
Old 03-30-2008, 10:38 AM   #8
Registered User
 
Join Date: Aug 2002
Location: Hermosa Beach, CA
Posts: 446
I have no idea why someone would recommend MFC or Win32 over C#. C# is easily more powerful for building windows-only apps, and especially GUI apps. There really is no comparison. And if you by chance find something that you can't do with .NET Framework classes, you can always use either COM or calls to unmanaged code. And also, the documentation and online examples on msdn are much better for C# than they are for MFC. This point shouldn't be minimized, because it's important to have good examples when learning this stuff.
__________________
The crows maintain that a single crow could destroy the heavens. Doubtless this is so. But it proves nothing against the heavens, for the heavens signify simply: the impossibility of crows.
IfYouSaySo is offline   Reply With Quote
Old 03-30-2008, 01:05 PM   #9
Reverse Engineer
 
maxorator's Avatar
 
Join Date: Aug 2005
Location: Estonia
Posts: 2,260
Quote:
Originally Posted by IfYouSaySo View Post
I have no idea why someone would recommend MFC or Win32 over C#. C# is easily more powerful for building windows-only apps, and especially GUI apps. There really is no comparison. And if you by chance find something that you can't do with .NET Framework classes, you can always use either COM or calls to unmanaged code. And also, the documentation and online examples on msdn are much better for C# than they are for MFC. This point shouldn't be minimized, because it's important to have good examples when learning this stuff.
  • Simplicity depends 100% on people. It cannot be used as an argument.
  • API and API wrappers are WAAAAAY quicker than C#. (Want an MD5 test?)
  • I totally hate the awful lag I get in C# applications.
  • API and wrappers use the quite useful device called the "processor".
  • Whereas C# runs through layers of bloatware.
  • C# is MSs crap, but many wrappers are portable.
  • Most dumbusers use C# so they need more documentation.
  • API also uses the software called the "Operating System" where C# still runs through bloatware
__________________
The duck is irrelevant to my point.
maxorator is offline   Reply With Quote
Old 03-30-2008, 01:21 PM   #10
Mysterious C++ User
 
Elysia's Avatar
 
Join Date: Oct 2007
Posts: 14,783
I want to point out that MFC is C++ and not C and it's only available in Visual Studio Standard Edition+. That means shelling out, like, $300 at least. Unless you are a student, you can get Professional for free.
And all sort of frameworks are far better than pure Win32.

Let's just say that C# is yet another way to build a GUI. It depends on your purpose and the time you want to spend on it. Sure, it's easier to use. Do you need it to create professional looking, shiny GUIs? No. It can be done, yes, but it isn't a requirement. The new 2008 MFC will allow you to do that once it's released.
Plus, not to mention, there are several solutions out there for MFC/C++/C that already does this.
MFC is slower to learn, but it's much faster than C#. It's just to take a pick. No one is going to force you.
__________________
Using: Microsoft Windows™ 7 Professional (x64), Microsoft Visual Studio™ 2008 Team System
I dedicated my life to helping others. This is only a small sample of what they said:
"Thanks Elysia. You're a programming master! How the hell do you know every thing?"
Quoted... at least once.
Quote:
Originally Posted by cpjust
If C++ is 2 steps forward from C, then I'd say Java is 1 step forward and 2 steps back.
Elysia is offline   Reply With Quote
Old 03-30-2008, 01:33 PM   #11
Registered User
 
NeonBlack's Avatar
 
Join Date: Nov 2007
Posts: 256
API definitely beats C# in every aspect except ease of use. And the .Net framework keeps getting more and more bloated. (It nearly tripled in size from version 2 to version 3)
If you just want something to play around with, then C# is probably fine. And I think in the near future more employers will be looking to hire "C-pound" experts, but anything you use to make windows apps will be eventually built upon the API, knowing a little API will never hurt you.

So at last I say, Why not do both?
__________________
I copied it from the last program in which I passed a parameter, which would have been pre-1989 I guess. - esbo
NeonBlack is offline   Reply With Quote
Old 03-30-2008, 02:58 PM   #12
Reverse Engineer
 
maxorator's Avatar
 
Join Date: Aug 2005
Location: Estonia
Posts: 2,260
Quote:
Originally Posted by Elysia View Post
And all sort of frameworks are far better than pure Win32.
Frameworks are not better than pure Win32, because good != ease_of_use, it depends on many other things too.

You can't simply say something is better, you can only say that something is better at some aspect, because the importance of different aspects depends greatly on people.

And btw, there indeed ARE awful frameworks.
__________________
The duck is irrelevant to my point.
maxorator is offline   Reply With Quote
Old 03-31-2008, 12:45 AM   #13
Registered User
 
Join Date: Aug 2002
Location: Hermosa Beach, CA
Posts: 446
I've written apps both ways (MFC and C#) and I can say I would never willingly choose MFC for a future windows GUI app. C# is just much much easier to use.

BTW...just because something is easy to use, doesn't make it good. Yes, you're right. Absolutely. But if something is easy to use, and it also turns out to be good, then it will be prefered over something that is difficult to use and also good. And that is why I wil always prefer c# (for building windows GUIs or other windows-only apps).

I should say that by trade I code in c/c++ for unix. So it isn't like I'm some m$ loving c#-hugger. I'm just calling it like I see it.
__________________
The crows maintain that a single crow could destroy the heavens. Doubtless this is so. But it proves nothing against the heavens, for the heavens signify simply: the impossibility of crows.
IfYouSaySo is offline   Reply With Quote
Old 03-31-2008, 05:12 AM   #14
Mysterious C++ User
 
Elysia's Avatar
 
Join Date: Oct 2007
Posts: 14,783
Quote:
Originally Posted by maxorator View Post
Frameworks are not better than pure Win32, because good != ease_of_use, it depends on many other things too.

You can't simply say something is better, you can only say that something is better at some aspect, because the importance of different aspects depends greatly on people.

And btw, there indeed ARE awful frameworks.
Maybe I overworded
I suppose I was hinting at that Win32 API is horrible and that most frameworks goes to at least a length to hide that.
__________________
Using: Microsoft Windows™ 7 Professional (x64), Microsoft Visual Studio™ 2008 Team System
I dedicated my life to helping others. This is only a small sample of what they said:
"Thanks Elysia. You're a programming master! How the hell do you know every thing?"
Quoted... at least once.
Quote:
Originally Posted by cpjust
If C++ is 2 steps forward from C, then I'd say Java is 1 step forward and 2 steps back.
Elysia is offline   Reply With Quote
Old 03-31-2008, 06:01 AM   #15
Reverse Engineer
 
maxorator's Avatar
 
Join Date: Aug 2005
Location: Estonia
Posts: 2,260
Quote:
Originally Posted by Elysia View Post
Maybe I overworded
I suppose I was hinting at that Win32 API is horrible and that most frameworks goes to at least a length to hide that.
Horribility depends on what kind of code seems nice to you (for example I don't like the OO look of many wrappers).
Quote:
Originally Posted by IfYouSaySo View Post
BTW...just because something is easy to use, doesn't make it good. Yes, you're right. Absolutely. But if something is easy to use, and it also turns out to be good, then it will be prefered over something that is difficult to use and also good. And that is why I wil always prefer c# (for building windows GUIs or other windows-only apps).
Well, actually it could be seen as:
C# - extremely easy to use - good
Win32 - easy to use - extremely good

__________________
The duck is irrelevant to my point.
maxorator is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Win32 API or Win32 SDK? jverkoey General Discussions 2 07-20-2005 03:26 PM
OpenSSL and Win32 SSL API :: SSL/TLS kuphryn Networking/Device Communication 0 03-10-2004 07:46 PM
FILES in WinAPI Garfield Windows Programming 46 10-02-2003 06:51 PM
OLE Clipboard :: Win32 API vs. MFC kuphryn Windows Programming 3 08-11-2002 05:57 PM
Thread Synchronization :: Win32 API vs. MFC kuphryn Windows Programming 2 08-09-2002 09:09 AM


All times are GMT -6. The time now is 03:19 AM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22