win32...MFC...obsolete?
-
Is the win32 platform going obsolete? Is it being replaced by the dotnet framework or something like that?
I've been programming since 1965, good old FORTRAN, and I've seen this type of comment at least 25 times, maybe more. I do not know what will be the next, but it will boil down to do getting the job done right. Some environments like Lisp, Ada, UML, and others have brought major change to this industry. Some have improved things for us in the front lines to make our jobs easier and to help transition in and out of a project. Taking over an old FORTRAN 'Style' program is not so much fun. It is possible today to design and code in some great languages, like C#, Java, & DotNet, unfortunately there are some people who leave a mess for others to clean up. I do like MFC and Borland-Builder and C# and what ever comes next, but no real leap forward will come if we take the easy-way and not the right-way of expressing our code so both the machine and the man understand what we were try to do. John P. Francis
-
Is the win32 platform going obsolete? Is it being replaced by the dotnet framework or something like that?
No. The .NET platform is built on top of the Win32 platform. All Win32 function calls are accessible from .NET. That's a good thing since .NET does not implement wrappers for all Win32 functions. MFC is on its way out. Although the last time I spoke to Jeff Prosise he told me that quite a bit of development in India is still done with MFC. .NET simplifies the programming model for accessing the Windows operating system's functionality and provides value adds like the Garbage Collector, and a permanently allocated thread pool so that calls to instantiate worker threads are faster than in classic Win32 programming.
-
deostroll wrote:
Is the win32 platform going obsolete?
Yep.
deostroll wrote:
Is it being replaced by the dotnet framework
That's obsolete as well.
deostroll wrote:
or something like that?
Yep - JavaScript.
-
Time to start rethinking your career then, there's not much to left to pick at; php, ruby, html flash. Unless you work for HP/Microsoft you won't see much Win32/MFC/ATL.
Roger Irrelevant "he's completely hatstand"
Career? Haha.. I'm 14 so programming isn't my career :p And I don't see why .NET would take off..? It's a Microsoft product, and the user has to download the framework for .NET applications to run.. --PerspX
"Nowadays, security guys break the Mac every single day. Every single day, they come out with a total exploit, your machine can be taken over totally. I dare anybody to do that once a month on the Windows machine." - Bill Gates
-
deostroll wrote:
Is the win32 platform going obsolete?
For most applications, yes. Microsoft would very much like it to, so yes, it will, though as mentioned, it is still holding on much to MS's dismay.
deostroll wrote:
Is it being replaced by the dotnet framework or something like that?
For many things, for a great majority of business software, absolutely it already has. However, there are other things affecting even dotNet in the near future. Will it be obsoleted too? probably, but maybe not. Will managed languages replace all programming on the planet for all applications, in all environments, in all industries, etc., etc., etc..... No. Nor will everything I do affect dotNet and its environs. That is just life. dotNet, and any successor environment will allways have advantagees in certain environments. Other ways will have the same in thiers. The honest truth is that Microsoft is not trying to please all the people all of the time, nor should anyone expect them to. They are in it for the money (don't fool yourself into thinking they are doing it for your well being). But this is not a bad thing, per se. Improvements in workflow that affect the vast majority of programmers, is what they are there to do. Sometimes they make mistakes, feedback sets them straight. Sometimes they do good, feedback encourages them for more. That is life. I can wave some muscle, and have, to influence a small decision or two. But I don't fool myself into thinking I will ever fully change the MS business model. Do what you can, learn what you can, and move on if you have to. That is life. Some things change, and some things stay the same.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
You know I am just out right tired with technology - it just keeps on changing. You can't avert the change. Change is imminent in the whole business of software. Keep this point in mind. Next I'd like to discuss the idea of platform independence. It just a marketing gimmick. There is nothing truly platform independent. And when I mean platform independent I mean the program that you write for your computer should work for you mobile and your calculator. Now let us take the example of java. The motto "write once run anywhere" is bogus. There are reasons why I claim it is bogus. 1. It is a marketing gimmick. We really need the java runtimes to work our program. Without that our programs are simply interpreted as garbage. 2. Runtime is a kind of host environment. You all know this. But the host environment is specially built for the various operating systems out there. The host environment that operates for windows is not the same as that for linux. 3. The runtime is not free as in "free software" Ok I admit that I am a sort of free software person; I uphold the gnu philosophy. But technologies such as java or dotnet don't! Why I say that? Because the basic idea behind creating a host environment is not free. If it was then the possibility of people There may be standards that say what features that a host environment like java or dotnet should contain, but when you come to the point of implementing it you are on your own. Your ideas get into it. My final point is that if you have thought this through you'd realise that there is nothing new in technology. It may be simpler to work with or stuff like that. It may help you be more productive. But if you want to survive you should rather have an uncompromising skill set. And this does not mean knowledge in one technology or many technologies. Rather you should have some basic understanding of those concepts that those technologies provide, like for e.g. interfaces in java or dotnet. I'll call you a programmer if you can successfully mimic the concept of interfaces and implement it on a borland c++ 3.0 compiler. I know its outdated, and I know it is not "free" either. But that is not my point you see!
-
Is the win32 platform going obsolete? Is it being replaced by the dotnet framework or something like that?
My prof is making us code in MFC. In this day and age. I kid you not. No one is happy, of course.
-
What do you think of this guy's opinion? He is Allen Holub from Holub.com http://www.sdtimes.com/fullcolumn/column-20060901-05.html[^] "XML is perhaps the worst programming language ever conceived. I’m not talking about XML as a data-description language, which was its original design. I’m talking about perverting XML for programming applications. It’s inappropriate to use XML as a scripting language (e.g., ANT), a test-description language (e.g., TestNG), an object-relational mapping language (e.g., Hibernate, JDO), a control-flow language (e.g., JSF), and so forth. These sorts of XML “programs” are unreadable, unmaintainable, an order of magnitude larger than necessary, and audaciously inefficient at runtime."
-------------------------------- "All that is necessary for the forces of evil to win in the world is for enough good men to do nothing" -- Edmund Burke
From _http://www.sdtimes.com/fullcolumn/column-20060901-05.html_
XML is perhaps the worst programming language ever conceived
XML = eXtensible Markup Language. It is a standard for defining and describing data. So technically it is not a programming language. XSLT or XPATH may be programming languages. Operating systems can be xml-based...not a problem. By this what they probably mean is that some settings/data that has to be persisted (like for e.g. your desktop wallpaper, your window settings, etc) will be stored with a .xml file extension.
-
Richie308 wrote:
Do you believe that MS wishes to move toward an operating system that supports ONLY managed applications? An OS where all user-mode code is managed, or else it doesn't run?
Yes. Microsoft has made it quite clear that this is where they would like to be. They also would rather you not buy any software, only lease an office service, or media service, etc. The operating system would only be the lowest level internet appliance with everything run off their servers, or other company's servers. Getting there is harder than simply wanting to be there. Thus we are where we are.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
El Corazon wrote:
Yes. Microsoft has made it quite clear that this is where they would like to be. They also would rather you not buy any software, only lease an office service, or media service, etc. The operating system would only be the lowest level internet appliance with everything run off their servers, or other company's servers.
I wonder what that age would be like?
-
From _http://www.sdtimes.com/fullcolumn/column-20060901-05.html_
XML is perhaps the worst programming language ever conceived
XML = eXtensible Markup Language. It is a standard for defining and describing data. So technically it is not a programming language. XSLT or XPATH may be programming languages. Operating systems can be xml-based...not a problem. By this what they probably mean is that some settings/data that has to be persisted (like for e.g. your desktop wallpaper, your window settings, etc) will be stored with a .xml file extension.
You must have not read past the first sentence of the quote. He is fully aware that XML is not a programming language. His point is that it makes for a terrible programming language because it is in fact NOT one. Go back and re-read the entire quote, and even better, read the article.
-------------------------------- "All that is necessary for the forces of evil to win in the world is for enough good men to do nothing" -- Edmund Burke
-
Paul Conrad wrote:
And go with Visual Lisp++, it's the wave of the future. Just imagine all the curly-cues
My shift key won't take the stress. Lilith
Lilith.C wrote:
shift key won't take the stress
Ehhh, who cares? Keyboards are pretty inexpensive :)
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
What do you think of this guy's opinion? He is Allen Holub from Holub.com http://www.sdtimes.com/fullcolumn/column-20060901-05.html[^] "XML is perhaps the worst programming language ever conceived. I’m not talking about XML as a data-description language, which was its original design. I’m talking about perverting XML for programming applications. It’s inappropriate to use XML as a scripting language (e.g., ANT), a test-description language (e.g., TestNG), an object-relational mapping language (e.g., Hibernate, JDO), a control-flow language (e.g., JSF), and so forth. These sorts of XML “programs” are unreadable, unmaintainable, an order of magnitude larger than necessary, and audaciously inefficient at runtime."
-------------------------------- "All that is necessary for the forces of evil to win in the world is for enough good men to do nothing" -- Edmund Burke
Ok. Didn't like the shot at C++ but he's right. I've seen a little XML in my brief time with web programming and it seems like a nice way to organize some data but for programming something? No way. That would be like going back to assembler and what programmer needs that headache. Object oriented Java based or C++ based are two of the best ways to program. His point about compiler knowledge is an excellent point as well. Sounds to me like Microsoft is making a move to drop support for something while they are getting ready to push a new product onto the market. Sigh, just wish you guys would just stop doing that. A programmers GUI for writing a program? Been there with large scale mainframes and nine times out of ten you have to go back and adjust or completely recode the stuff anyways to get what your business partners want. Using a scripting language to program? Good for presentation, bad for system architecture. And that's my two-cents. :->
-
Is the win32 platform going obsolete? Is it being replaced by the dotnet framework or something like that?
I'll take a stab at answering your question in a (hopefully) objective and useful manner. The .NET framework (like MFC) is layered on top of the Win32 API, which is itself implemented as a collection of dlls that make up the Windows operating system. So it seems unlikely that Win32 will disappear in the near future. If you're selecting a Windows technology to learn - or one in which to implement a new product, you're better off using .NET or MFC instead of the Win32 API. Given a choice, I would definitely select .NET. After programming in MFC for 14 years, I find the functionality provided by the .NET framework to be orders of magnitude richer. Note, you can't (yet) do absolutely everything in .NET - you may still need to occasionally call out to a Win32 API, and that's what P/Invoke[^] is for. Hope this helps. /ravi
This is your brain on Celcius Home | Music | Articles | Freeware | Trips ravib(at)ravib(dot)com
-
Career? Haha.. I'm 14 so programming isn't my career :p And I don't see why .NET would take off..? It's a Microsoft product, and the user has to download the framework for .NET applications to run.. --PerspX
"Nowadays, security guys break the Mac every single day. Every single day, they come out with a total exploit, your machine can be taken over totally. I dare anybody to do that once a month on the Windows machine." - Bill Gates
Perspx wrote:
I'm 14 so programming
Stop aking stupid questions then.
Perspx wrote:
And I don't see why .NET would take off..?
.net has taken off, actually then demend for jobs in .net development out strip other jobs.
Perspx wrote:
and the user has to download the framework for .NET applications to run
Vista is shipped with .net 3.0, most machines connected to the internet will receive .net 1.1, .net 2.0 through autoupdates. And to deploy .net accross a windows domains takes under a minute. So if you don't like .net, go to java some genre just bad tools to develop with.
Roger Irrelevant "he's completely hatstand"
-
It most certainly wasn't a "mad rush". Further, the job includes C++ and even a little PHP. I'm certainly expanding my skillset, but I still consider myself to be a C++ programmer first and foremost. Lastly, I may be working in C#/.Net, but you should never assume for even a fraction of a second that my personal view regarding .Net has changed in even the slightest of measurements.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001We'll see in about 1 year ;)
Roger Irrelevant "he's completely hatstand"
-
I'll take a stab at answering your question in a (hopefully) objective and useful manner. The .NET framework (like MFC) is layered on top of the Win32 API, which is itself implemented as a collection of dlls that make up the Windows operating system. So it seems unlikely that Win32 will disappear in the near future. If you're selecting a Windows technology to learn - or one in which to implement a new product, you're better off using .NET or MFC instead of the Win32 API. Given a choice, I would definitely select .NET. After programming in MFC for 14 years, I find the functionality provided by the .NET framework to be orders of magnitude richer. Note, you can't (yet) do absolutely everything in .NET - you may still need to occasionally call out to a Win32 API, and that's what P/Invoke[^] is for. Hope this helps. /ravi
This is your brain on Celcius Home | Music | Articles | Freeware | Trips ravib(at)ravib(dot)com
Ravi Bhavnani wrote:
If you're selecting a Windows technology to learn - or one in which to implement a new product, you're better off using .NET or MFC instead of the Win32 API. Given a choice, I would definitely select .NET. After programming in MFC for 14 years, I find the functionality provided by the .NET framework to be orders of magnitude richer. Note, you can't (yet) do absolutely everything in .NET - you may still need to occasionally call out to a Win32 API, and that's what P/Invoke[^] is for.
Ravi you said it in a nutshell.
Roger Irrelevant "he's completely hatstand"
-
Ravi Bhavnani wrote:
If you're selecting a Windows technology to learn - or one in which to implement a new product, you're better off using .NET or MFC instead of the Win32 API. Given a choice, I would definitely select .NET. After programming in MFC for 14 years, I find the functionality provided by the .NET framework to be orders of magnitude richer. Note, you can't (yet) do absolutely everything in .NET - you may still need to occasionally call out to a Win32 API, and that's what P/Invoke[^] is for.
Ravi you said it in a nutshell.
Roger Irrelevant "he's completely hatstand"
WPF stinks, it causes more page-faults than Winforms and GDI+ apps. XML is quite often an extremelly bloated approach that is punishing a lot of work out there for blindly adopting it. .NET gives you no advantage over anything or anyone, you join the crowd and bandwagon, and lose out because it is necessary evil others blindly push. You get lazy and learn very little about the principles behind all the stuff we are supposed to understand. .NET is aimed at the masses and will stay that way. I would take DHTML and SVG and OpenGL any day, plenty of proof it works better than MS has come up with. And the language and platform religion you chose after all does not matter that much, heck in fact new C++0x and friends will give you the most concise and rich platform for your logic. The UI technology bit you should (or will have to sooner than later) keep 'open' (people are suffering migrating from each one adopted before...) Whether WTL/MFC/GDI+/WinForm/WPF is just an implementation detail too but at least the most important part of your work will not rot every time MS decides to overwhelm your PC with memory leakage and lock-in. Those who say C++ is obsolete keep forgeting they have no pixel on the screen without it. Or that their beloved framework is not capable of doing anything as sophisticated at compile time. Those who slate COM are unaware any web-page view they do, or even their logon, keep ignoring their machines use more of it than .NET throughtout the day.
-
WPF stinks, it causes more page-faults than Winforms and GDI+ apps. XML is quite often an extremelly bloated approach that is punishing a lot of work out there for blindly adopting it. .NET gives you no advantage over anything or anyone, you join the crowd and bandwagon, and lose out because it is necessary evil others blindly push. You get lazy and learn very little about the principles behind all the stuff we are supposed to understand. .NET is aimed at the masses and will stay that way. I would take DHTML and SVG and OpenGL any day, plenty of proof it works better than MS has come up with. And the language and platform religion you chose after all does not matter that much, heck in fact new C++0x and friends will give you the most concise and rich platform for your logic. The UI technology bit you should (or will have to sooner than later) keep 'open' (people are suffering migrating from each one adopted before...) Whether WTL/MFC/GDI+/WinForm/WPF is just an implementation detail too but at least the most important part of your work will not rot every time MS decides to overwhelm your PC with memory leakage and lock-in. Those who say C++ is obsolete keep forgeting they have no pixel on the screen without it. Or that their beloved framework is not capable of doing anything as sophisticated at compile time. Those who slate COM are unaware any web-page view they do, or even their logon, keep ignoring their machines use more of it than .NET throughtout the day.
User of Users Group wrote:
WPF stinks, it causes more page-faults than Winforms and GDI+ apps.
With the speed of CPUs, multicores cheap RAM - who cares? The user certainly doesn't, they'd prefer rich UI.
User of Users Group wrote:
XML is quite often an extremelly bloated approach that is punishing a lot of work out there for blindly adopting it.
That I can agree with, horses for courses, XML isn't always the right solution.
User of Users Group wrote:
.NET gives you no advantage over anything or anyone, you join the crowd and bandwagon, and lose out because it is necessary evil others blindly push. You get lazy and learn very little about the principles behind all the stuff we are supposed to understand.
Believe me I'd developed C/Win32 apps, C++/Win32 apps, MFC apps, WTL apps, ATL apps, and before .net is MORE productive over these other methods for developing Windows apps. I know and understand all technology this is built on (Win32/COM).
User of Users Group wrote:
.NET is aimed at the masses and will stay that way.
Yes and the availibity for jobs goes hand in hand.
User of Users Group wrote:
would take DHTML and SVG and OpenGL any day, plenty of proof it works better than MS has come up with. And the language and platform religion you chose after all does not matter that much, heck in fact new C++0x and friends will give you the most concise and rich platform for your logic. The UI technology bit you should (or will have to sooner than later) keep 'open' (people are suffering migrating from each one adopted before...)
Horses for courses again, mission critical apps (C++), Web (HTML, asp.net), Rich UI (WPF).
User of Users Group wrote:
Whether WTL/MFC/GDI+/WinForm/WPF is just an implementation detail too but at least the most important part of your work will not rot every time MS decides to overwhelm your PC with memory leakage and lock-in.
Never had problems with performance, my apps are coded correctly, not bothered about lock in Windows is the platform I target for.
User of Users Group wrote:
Those who say C++ is obsolete keep forgeting they have no pixel on the screen without it. Or tha
-
User of Users Group wrote:
WPF stinks, it causes more page-faults than Winforms and GDI+ apps.
With the speed of CPUs, multicores cheap RAM - who cares? The user certainly doesn't, they'd prefer rich UI.
User of Users Group wrote:
XML is quite often an extremelly bloated approach that is punishing a lot of work out there for blindly adopting it.
That I can agree with, horses for courses, XML isn't always the right solution.
User of Users Group wrote:
.NET gives you no advantage over anything or anyone, you join the crowd and bandwagon, and lose out because it is necessary evil others blindly push. You get lazy and learn very little about the principles behind all the stuff we are supposed to understand.
Believe me I'd developed C/Win32 apps, C++/Win32 apps, MFC apps, WTL apps, ATL apps, and before .net is MORE productive over these other methods for developing Windows apps. I know and understand all technology this is built on (Win32/COM).
User of Users Group wrote:
.NET is aimed at the masses and will stay that way.
Yes and the availibity for jobs goes hand in hand.
User of Users Group wrote:
would take DHTML and SVG and OpenGL any day, plenty of proof it works better than MS has come up with. And the language and platform religion you chose after all does not matter that much, heck in fact new C++0x and friends will give you the most concise and rich platform for your logic. The UI technology bit you should (or will have to sooner than later) keep 'open' (people are suffering migrating from each one adopted before...)
Horses for courses again, mission critical apps (C++), Web (HTML, asp.net), Rich UI (WPF).
User of Users Group wrote:
Whether WTL/MFC/GDI+/WinForm/WPF is just an implementation detail too but at least the most important part of your work will not rot every time MS decides to overwhelm your PC with memory leakage and lock-in.
Never had problems with performance, my apps are coded correctly, not bothered about lock in Windows is the platform I target for.
User of Users Group wrote:
Those who say C++ is obsolete keep forgeting they have no pixel on the screen without it. Or tha
> With the speed of CPUs, multicores cheap RAM - who cares? The user certainly doesn't, they'd prefer rich UI. That kind of thinking got us a Cobol 'revolution' and such innovation and care it stays with us for a long time :-p So you are a believer it will last, great! It is not likely CLR will help you achieve the best out of your multicores (no parallel way forward), nor with 'cheap RAM' (it isn't cheap and it never will be, you can get a PC that will run 3 Linux-es or QNXs in parallel and more efficient for the money you would pay for that 2GB memory, not to mention the OS licence). So like an opportunity to whack 3 moderately complex WPF apps on a single machine and see it crumble and halt the OS littered with anti virus, firewall and what not services? Heck even if you managed to cool them all down try some interaction, you thought WinForm is bad, watch out for that monster. Hang on, now, just install Infragistics and run 3 samples, you don't even need WPF to see how the entire garbage scales. Good luck with that market and licences involved, the model changed for many, and many times over. Picking on a straw that it is C (you know well C is a subset of C++), but lets stop for a second on the 'facts straight'. How can you verify GDI+ is assembler? Especially on Vista? Heck even XP? It always looked more like enhanced Java::awt::Graphics :-p they needed to patch that WinForm junk. Your opportunity is not mine and vice versa. Your CLR and your Java is implemeneted in C++, but I agree different problem domains different garbage to be used to get the job done. I will give you that point any day, but it is not a solution, it is means to an end to remain competative by adopting the greater evil in the long run and not bother with the problem you should be noticing is blowing out of all proportions. I still see dual quad core Xeon 3.0 GHz machines become hogged or under-utilised. And that is disgrace to me, no matter how narrow my mind gets :-p
-
You must have not read past the first sentence of the quote. He is fully aware that XML is not a programming language. His point is that it makes for a terrible programming language because it is in fact NOT one. Go back and re-read the entire quote, and even better, read the article.
-------------------------------- "All that is necessary for the forces of evil to win in the world is for enough good men to do nothing" -- Edmund Burke
-
> With the speed of CPUs, multicores cheap RAM - who cares? The user certainly doesn't, they'd prefer rich UI. That kind of thinking got us a Cobol 'revolution' and such innovation and care it stays with us for a long time :-p So you are a believer it will last, great! It is not likely CLR will help you achieve the best out of your multicores (no parallel way forward), nor with 'cheap RAM' (it isn't cheap and it never will be, you can get a PC that will run 3 Linux-es or QNXs in parallel and more efficient for the money you would pay for that 2GB memory, not to mention the OS licence). So like an opportunity to whack 3 moderately complex WPF apps on a single machine and see it crumble and halt the OS littered with anti virus, firewall and what not services? Heck even if you managed to cool them all down try some interaction, you thought WinForm is bad, watch out for that monster. Hang on, now, just install Infragistics and run 3 samples, you don't even need WPF to see how the entire garbage scales. Good luck with that market and licences involved, the model changed for many, and many times over. Picking on a straw that it is C (you know well C is a subset of C++), but lets stop for a second on the 'facts straight'. How can you verify GDI+ is assembler? Especially on Vista? Heck even XP? It always looked more like enhanced Java::awt::Graphics :-p they needed to patch that WinForm junk. Your opportunity is not mine and vice versa. Your CLR and your Java is implemeneted in C++, but I agree different problem domains different garbage to be used to get the job done. I will give you that point any day, but it is not a solution, it is means to an end to remain competative by adopting the greater evil in the long run and not bother with the problem you should be noticing is blowing out of all proportions. I still see dual quad core Xeon 3.0 GHz machines become hogged or under-utilised. And that is disgrace to me, no matter how narrow my mind gets :-p
Oh well we have our differences, ideally I would like to work on a OS where I could develop with C/C++/Assembler all day, but alas I live in a commercial world driven by businesses requiring fast development; looks like it's c# and .net :rose:
Roger Irrelevant "he's completely hatstand"