Visual C++ 2005 Express Review
Posted: Wed Nov 30, 2005 5:33 pm
Visual C++ 2005 Express
The interface is very pretty, and I like the organization of stuff, but I find the menus to be less intuitive (not that they ever were very intuitive in VC++). Overall, a better experience with the GUI, though.
I noticed there is no "make me a Windows app" option for unmanaged that I could see. This annoys me, since I would rather not play with managed code (not liking the theory for the kind of apps I write). Maybe I just did not look hard enough. Anyway, once I settled on making a managed Windows program, it spat out a screen that reminded me very much of VB!
Once I found the toolbox of widgets to place, I happily went about placing buttons, text boxes, group boxes, and a number of other fun Windows GUI elements on a form -- it even has that nifty list of properties you can change for each element, many of which seemed much more robust even than the VB equivalent. I like the "clamping" ability especially, which makes resizing windows a breeze. As cool as that is, though, to make it even cooler, when you double-click an element, such as a button, it spits out a class method for when that button is clicked and takes you directly to the code for it.
The CLI syntax threw me off immediately upon seeing the code. It puts a "^" sign where the "*" would normally go in pointers to signify that it is managed and that you do not need to delete it. Overall, this is an easy concept to get used to, but I do not like it, all the same. I feel uneasy not deleting things I create, heh. You can also mix unmanaged code as well, though, but I am not sure that is a good idea.
The other major change that smacked me in the face was the relatively bizarre way it creates the whole program by default -- all VERY object-oriented -- it makes a class derived from another class, then calls the run method, basically. All the functionality goes within that class, and the aforementioned "click and place" portion generated stuff in this class automatically (and even renames everything when you change the name of an element, which is spiffy). I do not recognize ANY of the code involved -- I am used to the non-object-oriented "CreateWindow" way of doing things, but it seemed intuitive nonetheless, and I managed to write the code for a simple XOR-based encryption program in what would have been a combined total of about 10 minutes if not for one major problem…
The "System::String" class that all the text-boxes and such use has no easy method (that I could find) of getting an individual character or setting it. I ended up having to convert the thing to a regular string class and then back again, which was not easy or intuitive, either. This was my biggest complaint but I suppose a couple conversion functions can fix that right up.
I do not know if you can use the same OO-method of Window creation in unmanaged code, but I certainly hope it is possible to use that nifty GUI for making forms that generates code for you! If not, I am fine -- I am used to doing things the old-fashioned way, anyway. In the end, I do not want anything to do with CLI or managed code, unless I am writing little toy programs that do not matter… and I doubt I will benefit from any of this, except the pretty new GUI that reminds me of Office 2003 (it looks exactly the same, in fact).
The interface is very pretty, and I like the organization of stuff, but I find the menus to be less intuitive (not that they ever were very intuitive in VC++). Overall, a better experience with the GUI, though.
I noticed there is no "make me a Windows app" option for unmanaged that I could see. This annoys me, since I would rather not play with managed code (not liking the theory for the kind of apps I write). Maybe I just did not look hard enough. Anyway, once I settled on making a managed Windows program, it spat out a screen that reminded me very much of VB!
Once I found the toolbox of widgets to place, I happily went about placing buttons, text boxes, group boxes, and a number of other fun Windows GUI elements on a form -- it even has that nifty list of properties you can change for each element, many of which seemed much more robust even than the VB equivalent. I like the "clamping" ability especially, which makes resizing windows a breeze. As cool as that is, though, to make it even cooler, when you double-click an element, such as a button, it spits out a class method for when that button is clicked and takes you directly to the code for it.
The CLI syntax threw me off immediately upon seeing the code. It puts a "^" sign where the "*" would normally go in pointers to signify that it is managed and that you do not need to delete it. Overall, this is an easy concept to get used to, but I do not like it, all the same. I feel uneasy not deleting things I create, heh. You can also mix unmanaged code as well, though, but I am not sure that is a good idea.
The other major change that smacked me in the face was the relatively bizarre way it creates the whole program by default -- all VERY object-oriented -- it makes a class derived from another class, then calls the run method, basically. All the functionality goes within that class, and the aforementioned "click and place" portion generated stuff in this class automatically (and even renames everything when you change the name of an element, which is spiffy). I do not recognize ANY of the code involved -- I am used to the non-object-oriented "CreateWindow" way of doing things, but it seemed intuitive nonetheless, and I managed to write the code for a simple XOR-based encryption program in what would have been a combined total of about 10 minutes if not for one major problem…
The "System::String" class that all the text-boxes and such use has no easy method (that I could find) of getting an individual character or setting it. I ended up having to convert the thing to a regular string class and then back again, which was not easy or intuitive, either. This was my biggest complaint but I suppose a couple conversion functions can fix that right up.
I do not know if you can use the same OO-method of Window creation in unmanaged code, but I certainly hope it is possible to use that nifty GUI for making forms that generates code for you! If not, I am fine -- I am used to doing things the old-fashioned way, anyway. In the end, I do not want anything to do with CLI or managed code, unless I am writing little toy programs that do not matter… and I doubt I will benefit from any of this, except the pretty new GUI that reminds me of Office 2003 (it looks exactly the same, in fact).