Nov 06, 2006 11:23
I'm working on a project in ECE 6102 (Dependable Distributed Systems ... how's that for a fancy-sounding class title) that involves extending the features of a Pocket PC 2003-based device that implements a file monitoring system. It works somewhat like antivirus programs of yore, maintaining a hash table of each file in order to detech changes to files and report them to the end user. However, there's one major hurdle for me: I've never coded a Win32 app in C++, let alone the C# that this program uses.
Basically, this program is introducing me to a huge area of programming. While it's nice to go into it with a bit of coding skill in my toolkit, it's also frustrating to jump into a pool that's simultaneously too deep and too shallow. It's too shallow because I already know a decent amount about how things work, and when I expect something to be possible, I also make the naive assumption that it should be straightforward to implement. After all, if I know something is possible in PHP then I can usually figure it out quickly. However, this pool is also too deep because very simple tasks (such as creating a new GUI) become very difficult when introduced to this new language.
For those of you who took CS1322 back in the day, C# is a lot like Java. The differences I've run across so far are subtle enough that I can get around them pretty easily. However, it's been a while since I coded Java, and this is compounded with the fact that we're trying to implement some of the more complex features of the language. Since these features are similar to those I've already used in other languages, it's really difficult to estimate the time required to achieve a goal since difficult tasks seem simple.
I have been trying to get a code sample (a C++ DLL for Windows CE) running on the device, but I keep hitting brick walls. I've been living in the tutorial paradigm, where I expect to have my hand held at every step because I've not yet learned to walk. Learning to walk equates to moving into the problem-solving paradigm, where I only need to be told about concepts in order to figure out a solution on my own. The tutorial paradigm is fine as long as the tutorials are sufficiently detailed, but we're venturing into an area that is rarely traversed by "tutorial" coders, and since my problem-solving skills are so weak in this language, I'm pretty lost.
The final problem involves getting help from others. Posting questions online reveals no answers probably because I'm simultaneously presenting difficult questions to the experts while leaving out glaring obvious components because I'm still crawling.
I should have started with Hello World.