but it turned out to require very circuitous routes to do simple things.
Unfortunately this about sums up the current state of ‘real world’ programming.
It is helpful to have a concrete goal to work towards rather than merely coding for the sake of learning. Learning ‘on the job’ is helpful in this regard as there is usually a somewhat defined set of requirements and there is added motivation and supervision that comes with being paid to write code.
If you are trying to learn on your own I’d suggest trying to set yourself the task of writing a simple program to do something fairly clearly defined and then work towards that. Simply reading through open source code (or any third party code) is not something I’ve found terribly helpful as a learning exercise. More useful is to set yourself the task of fixing a specific bug or adding a specific feature as this will help direct your investigation.
Learning how to use the debugging tools available to you is also important. Understanding how software is put together can be greatly aided by stepping through code in a good debugger.
C# is pretty good for ‘real world’/GUI development. Personally I think it is the best option overall at the moment for that kind of programming but you will find language choice is a bit of a religious war issue.
C# is pretty good for ‘real world’/GUI development. Personally I think it is the best option overall at the moment for that kind of programming but you will find language choice is a bit of a religious war issue.
I second that recommendation for (non-web) GUI development. Even as someone who had never programmed in C# I found learning the language the simplest option when I needed to create a visual desktop application. (Of course, given that I knew both Java and C++ it wasn’t exactly a steep learning curve.)
Unfortunately this about sums up the current state of ‘real world’ programming.
Well, I don’t think I described it correctly. “Circuitous”, I can actually handle—I thrive on it, in fact. But e.g. setting text in a box to bold, when the package is designed to make that easy, following the book’s exact instructions, and getting plain text … that part bothers me, especially when it’s followed up with all the alternate methods that don’t work, etc. But it was a long time ago so I don’t remember all the details.
If you are trying to learn on your own I’d suggest trying to set yourself the task of writing a simple program to do something fairly clearly defined and then work towards that. Simply reading through open source code (or any third party code) is not something I’ve found terribly helpful as a learning exercise. More useful is to set yourself the task of fixing a specific bug or adding a specific feature as this will help direct your investigation.
The task I was working on was to have a WYSIWIG html editor but all redefinition and addition of tags, and add features html can’t currently do. (Examples: 1. A tag that adds a specified superscript to the tagged text. 2. A tag that generates an arrow that points to some other text.)
I eventually hired someone to write it, but still couldn’t understand from it how the code works, and the Visual C# book only touched on the outlines of this, and I ran into the problems I listed earlier.
I also tried to work through some of their existing program examples, like the blackjack one, but i don’t remember where that went.
Unfortunately this about sums up the current state of ‘real world’ programming.
It is helpful to have a concrete goal to work towards rather than merely coding for the sake of learning. Learning ‘on the job’ is helpful in this regard as there is usually a somewhat defined set of requirements and there is added motivation and supervision that comes with being paid to write code.
If you are trying to learn on your own I’d suggest trying to set yourself the task of writing a simple program to do something fairly clearly defined and then work towards that. Simply reading through open source code (or any third party code) is not something I’ve found terribly helpful as a learning exercise. More useful is to set yourself the task of fixing a specific bug or adding a specific feature as this will help direct your investigation.
Learning how to use the debugging tools available to you is also important. Understanding how software is put together can be greatly aided by stepping through code in a good debugger.
C# is pretty good for ‘real world’/GUI development. Personally I think it is the best option overall at the moment for that kind of programming but you will find language choice is a bit of a religious war issue.
I second that recommendation for (non-web) GUI development. Even as someone who had never programmed in C# I found learning the language the simplest option when I needed to create a visual desktop application. (Of course, given that I knew both Java and C++ it wasn’t exactly a steep learning curve.)
Can you recommend a tutorial on GUI development with C#?
I’m afraid not. I just kind of winged it.
Well, I don’t think I described it correctly. “Circuitous”, I can actually handle—I thrive on it, in fact. But e.g. setting text in a box to bold, when the package is designed to make that easy, following the book’s exact instructions, and getting plain text … that part bothers me, especially when it’s followed up with all the alternate methods that don’t work, etc. But it was a long time ago so I don’t remember all the details.
The task I was working on was to have a WYSIWIG html editor but all redefinition and addition of tags, and add features html can’t currently do. (Examples: 1. A tag that adds a specified superscript to the tagged text. 2. A tag that generates an arrow that points to some other text.)
I eventually hired someone to write it, but still couldn’t understand from it how the code works, and the Visual C# book only touched on the outlines of this, and I ran into the problems I listed earlier.
I also tried to work through some of their existing program examples, like the blackjack one, but i don’t remember where that went.