WinApi and MFC versus Qt in an educational environment.
-
If you teach people Qt, MS APIs will get even less popular, which is a great plus. It's hard to find anybody who is happy to use MS apis after being exposed to anything else, especially Qt. I personally refuse using any WinAPI at my work, and actively purge our codebase off this junk. For a company that is able to hire the best programmers on the globe, MS is doing a really bad job.
Doof, sorry for this offtop. back on track: I would start with Qt4. Qt5 might be a bit more challenging, to students. A lot of people seem to be having troubles even with installing Qt5. Never had any since alpha1 myself, but there you go.
-
Thanks guys,i certainly agree with you that Qt is far easy on the brain in the sense that you don't have to spend a lot of time figuring out the mechanics and the syntax of what you want to accomplish.
The question that is bugging me however is** if it can be easy for a person from a Qt background to adapt to environments like MVC++**.
In fact i was introduced to Qt a few years ago and client demand kept pushing me in that direction,i don't regret it though ,since it allowed me to enjoy the true advantages of Qt. -
[quote author="musimbate" date="1360159067"]The question that is bugging me however is** if it can be easy for a person from a Qt background to adapt to environments like MVC++**.[/quote]
Not likely, but depends. You can stick to more pure C++, omitting some of Qt goodness, just to make it easier for people to transfer to a different technology later.
-
[quote author="sierdzio" date="1360156863"]If you teach people Qt, MS APIs will get even less popular, which is a great plus.[/quote]
Yes, it would be great if the next generation of developers develop cross platform applications so that free solutions can gather popularity. Because when this happens, the industry will start writing good drivers for Linux and it will become a mainstream OS, unlike now, when it can only serve a very specific niche of users. Half of the hardware I own doesn't even have a Linux driver, the rest of it has terrible performing drivers, stripped of features and so on. It is a shame really...
[quote author="musimbate" date="1360159067"]
The question that is bugging me however is** if it can be easy for a person from a Qt background to adapt to environments like MVC++**.[/quote]Depends on how "gifted" that person is, if programming is in his intuition, he will likely be able to get into the MS APIs, but for most people it will be an ugly uphill experience. MS tools don't need that much compiling and setting up and don't come with that many external dependencies that are not provisioned by the OS, but MS really loves giving their own twist on things, this is also found in Qt, but there is a slight difference, the Qt twist on C++ development is logical and neat and relies on portable additions to the core language, while MS like adding their own keywords and operators without really being necessary, just for the sake of crippling portability of the code and lock developers in it. That plus the actual APIs are often terrible, as it was mentioned a few times already.
Also worth mentioning is the fact while MS will work with standard C++, if you plan to reuse any logic you must abstract it really well, because integration with the MS APIs is made so that it requires MS's proprietary "extensions" to the standard, which will make the code non-portable. And while it is entirely doable to abstract some logic and make it work for Qt, MS and even the Android NDK, it is still extra effort.
At any rate, I imagine you would get exactly the opposite answer to your question if you went ahead to ask it in the MSDN. I can testify that I am no fanboy to Qt (and even call it Q T instead of "cute" as many people do) or anything and my opinion is unbiased and as objective as my personal experience allows it to, but you cannot ignore the community bias factor. If I wasn't sure myself I'd ask in both places and carefully juxtapose the kinds of answers I get at both places, their factual argumentation and so on, before I make my mind up.
-
Hey guys,We come to a decision to go for Qt and the ideas here were very helpful.Thanks everybody.The community here simply rocks!
-
Excellent! :)
-
For Windows Qt is complicated to install, MVS is native IDE for Windows. Qt must offer a prebuild version to Windows like for Linux.
I think is not hard if Code::Bloks can. -
The title is misleading Visual C++ (witch the title is talking - maybe it's supposed to be edited) is the C++ compiler offered by Microsoft and this compiler can be used with Qt and Qt Creator IDE and also it's default IDE Visual Studio (editions higher than express) can easily be used with Qt (with add-in), but anyway the discussion is going to the WinApi and MFC versus Qt in an educational environment.
mhcrnl Qt offers at least two pre-built versions for Windows: one to use with MinGW compiler and one to use with VC++10 compiler (Visual Studio 2010) and Qt 4 is available for VC++9 (Visual Studio 2008) too.
-
Thanks Zlatomir,I updated it and hope it describes more what we are discussing.We plan to use Qt 4 and distribute one of its SDKs.
Cheers!
-
You can use this book for a reference/inspiration for the teaching material: http://www.amazon.com/An-Introduction-Design-Patterns-Qt/dp/0131879057
The first edition has a "free":http://www.informit.com/store/introduction-to-design-patterns-in-c-plus-plus-with-9780131879058 online version //and i think that second edition can also be obtained for free but from ICS, i'm not sure and i don't have time to search, maybe later but i'm sure you won't have troubles finding it. -
bq. For a company that is able to hire the best programmers on the globe, MS is doing a really bad job.
According to "joel on software"
good programmers + good software managers = good software
I also want to know why those best programmers of MS would come up
such lousy API or something extremely ugly like COM.