3 Replies - 2273 Views - Last Post: 15 May 2010 - 09:45 PM Rate Topic: -----

#1 stirredo  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 15-May 10

What to learn first: .net, win32 or MFC?

Posted 15 May 2010 - 09:05 PM

I have just "finished" learning C. By finished, I mean I have learned all the basics in plain vanilla C (command prompt style).

I want to get into windows developement so that i can create something useful.

What should be my next step?

Should i be learning a object oriented language like c++ and then learn .net or MFC?

Or just start learning win32 api?

If i write applications in .net framework, that means every user of that application need to have .net installed on their computer, right? So is win32 api the only way to write applications native to windows?

Is MFC an old way of writing apllications?

Happy to listen to any advice you give me.

Is This A Good Question/Topic? 0
  • +

Replies To: What to learn first: .net, win32 or MFC?

#2 eker676  Icon User is offline

  • Software Engineer
  • member icon

Reputation: 378
  • View blog
  • Posts: 1,833
  • Joined: 18-April 09

Re: What to learn first: .net, win32 or MFC?

Posted 15 May 2010 - 09:34 PM

It all depends.

.Net is by far the simplest way to get an application up and running. The learning curve is very low if you are using a language like C# coming from C or C++. Every user needs to have the .Net framework installed though. Most will if they check windows update at least once a year.

Win32 has got to be the hardest way to write something useful. The overhead involved with something as simple as a windows is huge. It takes tons of time to learn how to make anything even remotely useful. By tons of time I mean months at least.

MFC is between .Net and Win32 API in my opinion. I have never used it but I have looked at code and whatnot.

Lets just say you wanted a to create an application with a textbox and a button.

With .Net, it'd take you 10 seconds.

With Win32 API, maybe a half hour if your good. A few minutes if your a pro. And a week if your a beginner.

With MFC, I can't give an accurate estimate but I'd say it would take longer than using .Net.

Bottom line, if you want to get your application up and running instantly go with .Net (C#, VB.Net)

This post has been edited by eker676: 15 May 2010 - 09:35 PM

Was This Post Helpful? 1
  • +
  • -

#3 stirredo  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 15-May 10

Re: What to learn first: .net, win32 or MFC?

Posted 15 May 2010 - 09:42 PM

View Posteker676, on 15 May 2010 - 08:34 PM, said:

It all depends.

.Net is by far the simplest way to get an application up and running. The learning curve is very low if you are using a language like C# coming from C or C++. Every user needs to have the .Net framework installed though. Most will if they check windows update at least once a year.

Win32 has got to be the hardest way to write something useful. The overhead involved with something as simple as a windows is huge. It takes tons of time to learn how to make anything even remotely useful. By tons of time I mean months at least.

MFC is between .Net and Win32 API in my opinion. I have never used it but I have looked at code and whatnot.

Lets just say you wanted a to create an application with a textbox and a button.

With .Net, it'd take you 10 seconds.

With Win32 API, maybe a half hour if your good. A few minutes if your a pro. And a week if your a beginner.

With MFC, I can't give an accurate estimate but I'd say it would take longer than using .Net.

Bottom line, if you want to get your application up and running instantly go with .Net (C#, VB.Net)


Thanks for the quick reply.

Do all big software companies(like adobe,microsoft) build it on top of win32 api?

I am not saying I am going to build one, but if i ever do in future knowing win32 api is a necessity?

This post has been edited by stirredo: 15 May 2010 - 09:43 PM

Was This Post Helpful? 0
  • +
  • -

#4 Oler1s  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1395
  • View blog
  • Posts: 3,884
  • Joined: 04-June 09

Re: What to learn first: .net, win32 or MFC?

Posted 15 May 2010 - 09:45 PM

Quote

I want to get into windows developement so that i can create something useful.
As a note, it seems what you're really asking is how to make GUIs. Also, you seem to associate GUIs with complexity, although there are plenty of basic examples I can throw at you, that don't involve GUIs, and are very important aspects of certain programs. GUIs don't equate to usefulness.

On the other hand, you might be asking about branching into OS specific libraries, which is a more correct way of looking at things.

Quote

What should be my next step?
Determining what direction appeals to you most.

Quote

Should i be learning a object oriented language like c++ and then learn .net or MFC?
To clarify, C++ doesn't lead into .NET. .NET requires a .NET language, which C++ is not. If you're going to stick to a pure native language, then you should definitely pick up C++. That's because not only will using C++ make your life easier, but several libraries (like MFC, but also GUI toolkits like Qt) are exposed in C++. Since you can use C libraries from C++, using C for application programming puts you at a significant disadvantage. You don't have access to Boost or TBB or some very useful libraries, and you miss out on the higher abstractions of C++.

Quote

Or just start learning win32 api?
Since win32 API is a C API, you can start with that right away.

Quote

If i write applications in .net framework, that means every user of that application need to have .net installed on their computer, right?
That's right.

Quote

So is win32 api the only way to write applications native to windows?
Well, any library specific to the OS will tie you to Windows. Using WPF will do the same. Which by the way is only exposed in .NET.

Quote

Is MFC an old way of writing apllications?
Yes. It's still used by native developers, but those looking for an easy quick way to create GUIs don't use MFC. They use .NET.

I can't make the decision for you. It doesn't cost you to explore the different paths. So you might want to look at C# first, and consider using that for applications development.

EDIT:

Quote

Do all big software companies(like adobe,microsoft) build it on top of win32 api?
You'll also see programs being built on top of .NET. .NET is huge. Make no mistake. All recent Windows operating systems come with it. It's basically a big industry player like Java. And because Microsoft is pushing .NET heavily, exposing new APIs and functionality in .NET, you can see where Windows development is going.

Quote

I am not saying I am going to build one, but if i ever do in future knowing win32 api is a necessity?
I see a bifurcation. Actually, more. But, applications development favors high level abstractions. If you want to stick to building general software applications, moving up (.NET or even higher like Python and Ruby) is favorable. Systems level, and high performance work currently has C++ as a sweet spot. There's exposure in .NET, Java, and Python, etc. And other languages like Erlang.

No programmer tries to predict the future. Crystal ball stuff is let to the psychics. But my advice is this. Moving to lower abstractions means greater levels of expertise. You should start with languages like Python and C# because it reduces development time, and demands less competence from you (let's be honest, you are a beginner).

This post has been edited by Oler1s: 15 May 2010 - 09:52 PM

Was This Post Helpful? 2
  • +
  • -

Page 1 of 1