What category of app are you looking to write, narrowing down the class “app with a GUI” a little?
How are you normally expected to compile open-source programs?
Can you name a specific example of one you’ve tried to compile and run, and you’ve been confused at the result?
One general hint is that a good way to learn how to code up significant programs from scratch is to, first, get a significant program that works and modify or extend it in some way.
Also, be aware that there are several competing design philosophies when it comes to writing GUI programs, with very different outcomes in terms of maintainability and adherence to sound design principles. The “Visual” approach exemplified by the Microsoft line of tools leaves much to be desired in my experience, leading to spaghetti code too easily.
I prefer approaches in which graphical components are created programmatically, and where design principles such as MVC then serve to further structure the resulting code and drive the design toward high levels of abstraction. The various Smalltalk environments are a good illustration of that philosophy.
The “Visual” approach exemplified by the Microsoft line of tools leaves much to be desired in my experience, leading to spaghetti code too easily.
Spaghetti code is a primarily a function of the programmer, not the tools. This isn’t to say the tools don’t matter; they do; but the various competing tools each have their pros and cons, and it’s a bit glib to suggest the Microsoft stack is obviously behind here. ASP.NET MVC, which you can use for web development in C#, is quite orthogonality-friendly.
What category of app are you looking to write, narrowing down the class “app with a GUI” a little?
I don’t think this should matter for your answer, since it’s just a barrier toward a broad class of programming I’m trying to overcome.
Can you name a specific example of one you’ve tried to compile and run, and you’ve been confused at the result?
All of them ;-) but I’ll give you a specific example when I get back to my home computer.
One general hint is that a good way to learn how to code up significant programs from scratch is to, first, get a significant program that works and modify or extend it in some way.
Well, that’s kind of hard when they don’t run even when you compile them. But on top of that, I haven’t found any multi-source-code-file in which it’s easy to jump to just the part of the code that implements a particular feature, usually because of poor documentation.
What category of app are you looking to write, narrowing down the class “app with a GUI” a little?
Can you name a specific example of one you’ve tried to compile and run, and you’ve been confused at the result?
One general hint is that a good way to learn how to code up significant programs from scratch is to, first, get a significant program that works and modify or extend it in some way.
Also, be aware that there are several competing design philosophies when it comes to writing GUI programs, with very different outcomes in terms of maintainability and adherence to sound design principles. The “Visual” approach exemplified by the Microsoft line of tools leaves much to be desired in my experience, leading to spaghetti code too easily.
I prefer approaches in which graphical components are created programmatically, and where design principles such as MVC then serve to further structure the resulting code and drive the design toward high levels of abstraction. The various Smalltalk environments are a good illustration of that philosophy.
Spaghetti code is a primarily a function of the programmer, not the tools. This isn’t to say the tools don’t matter; they do; but the various competing tools each have their pros and cons, and it’s a bit glib to suggest the Microsoft stack is obviously behind here. ASP.NET MVC, which you can use for web development in C#, is quite orthogonality-friendly.
I don’t think this should matter for your answer, since it’s just a barrier toward a broad class of programming I’m trying to overcome.
All of them ;-) but I’ll give you a specific example when I get back to my home computer.
Well, that’s kind of hard when they don’t run even when you compile them. But on top of that, I haven’t found any multi-source-code-file in which it’s easy to jump to just the part of the code that implements a particular feature, usually because of poor documentation.