The API
-
I write as one who is little more than a novice. As of this writing, I have litte more that the concepts of namespace, class, methods, operators, operands. Although there is much more learning in my path I have a need to comprehend and ultimately create an API for a project. My thinking is that if I can actually do items necessary to such an interface my practical experience would be more memorable to me. As of this writing, I have read the entire Wikipedia primer... understanding about half of it. Primarily, I would want to see reading appropriate to my level but also some exercises so as to demonstrate what does what. Hoping for someone's guidance for a series of correspondence that would be finite. Presently working with visual studio 2008 Team Suite.
-
I write as one who is little more than a novice. As of this writing, I have litte more that the concepts of namespace, class, methods, operators, operands. Although there is much more learning in my path I have a need to comprehend and ultimately create an API for a project. My thinking is that if I can actually do items necessary to such an interface my practical experience would be more memorable to me. As of this writing, I have read the entire Wikipedia primer... understanding about half of it. Primarily, I would want to see reading appropriate to my level but also some exercises so as to demonstrate what does what. Hoping for someone's guidance for a series of correspondence that would be finite. Presently working with visual studio 2008 Team Suite.
mauricemcse wrote:
Although there is much more learning in my path I have a need to comprehend and ultimately create an API for a project
Considering you said you are a little more than a novice, I wouldn't recommend goind into API design this early. Other members may confirm or refute my opinion though. API design is hard, and takes a lot of time to master (if it can be mastered). First of all, you have to design a whole set of class interactions: how they are related, how they communicate to each other, design patterns which may or may not be applied to some or all of them. Then it's the user's point of view, and that is the hardest of all. You have to put yourself in your user's shoes and think like one: How could you make your API easy to use? How could you make the vital things obvious, while not buzzing him with details? What defaults should you provide? What sensible defaults should you set? How is your API configured, and how easily configurable can you make it? Then comes the API documentation, so on and so forth. In my opinion, you cannot create an API before you master the use of at least several major ones (.NET comes to mind, and then another example of a well-designed API - the Android Java API). Also, you cannot create an API without a deep understanding of OOP and its concepts - classes, interfaces, inheritance, overloading, the whole primer. That's maybe the thing of most paramount importance. After doing your homework learning OOP and playing around with some big APIs, then you can start doing one yourself. Start small - a small math library for instance, with a broad design instead of a deep one (in this way you don't have to think a lot about class links). After that, you can go on and expand your possibilities and your views (incremental doctrine comes to mind). I'm actually looking forward to see more experience members' opinion on this, may spark a nice discussion.
Full-fledged Java/.NET lover, full-fledged PHP hater. Full-fledged Google/Microsoft lover, full-fledged Apple hater. Full-fledged Skype lover, full-fledged YM hater.
-
I write as one who is little more than a novice. As of this writing, I have litte more that the concepts of namespace, class, methods, operators, operands. Although there is much more learning in my path I have a need to comprehend and ultimately create an API for a project. My thinking is that if I can actually do items necessary to such an interface my practical experience would be more memorable to me. As of this writing, I have read the entire Wikipedia primer... understanding about half of it. Primarily, I would want to see reading appropriate to my level but also some exercises so as to demonstrate what does what. Hoping for someone's guidance for a series of correspondence that would be finite. Presently working with visual studio 2008 Team Suite.
I agree with Andrei, do not start with an API, think up a project that interests you, a hobby or something you have asome knowledge of. I had one novice build a dive log as his sport was scuba diving therefore he kn what he wanted. Start from there. Design the data structures your want to work with then build your database (I am LOB centric so I always think database first) then decide on your interface and start designing that. All the while reading up on the aspects of developing you are working with. I think there are a number of articles on the first steps to becoming a developer around - good luck
Never underestimate the power of human stupidity RAH
-
I write as one who is little more than a novice. As of this writing, I have litte more that the concepts of namespace, class, methods, operators, operands. Although there is much more learning in my path I have a need to comprehend and ultimately create an API for a project. My thinking is that if I can actually do items necessary to such an interface my practical experience would be more memorable to me. As of this writing, I have read the entire Wikipedia primer... understanding about half of it. Primarily, I would want to see reading appropriate to my level but also some exercises so as to demonstrate what does what. Hoping for someone's guidance for a series of correspondence that would be finite. Presently working with visual studio 2008 Team Suite.
I also saw you got downvoted. While this shouldn't have been posted in C# (I think it would have been better posted in Design and Architecture), I am willing to cut you some slack because I believe your question was valid, and well-formulated (something we don't see much around here). Downvote countered
Full-fledged Java/.NET lover, full-fledged PHP hater. Full-fledged Google/Microsoft lover, full-fledged Apple hater. Full-fledged Skype lover, full-fledged YM hater.
-
I write as one who is little more than a novice. As of this writing, I have litte more that the concepts of namespace, class, methods, operators, operands. Although there is much more learning in my path I have a need to comprehend and ultimately create an API for a project. My thinking is that if I can actually do items necessary to such an interface my practical experience would be more memorable to me. As of this writing, I have read the entire Wikipedia primer... understanding about half of it. Primarily, I would want to see reading appropriate to my level but also some exercises so as to demonstrate what does what. Hoping for someone's guidance for a series of correspondence that would be finite. Presently working with visual studio 2008 Team Suite.
As the others said an API might be to soon. If you want to learn and understand better, I would try to master the English language better first. Don't get me wrong, you clearly did an effort to make yourself understandable, but the text does more resemble a google translate than really understanding the language. Understanding English better will make you understand the articles/tutorials better and will give you a broather range of resources to search for.
V.
-
I write as one who is little more than a novice. As of this writing, I have litte more that the concepts of namespace, class, methods, operators, operands. Although there is much more learning in my path I have a need to comprehend and ultimately create an API for a project. My thinking is that if I can actually do items necessary to such an interface my practical experience would be more memorable to me. As of this writing, I have read the entire Wikipedia primer... understanding about half of it. Primarily, I would want to see reading appropriate to my level but also some exercises so as to demonstrate what does what. Hoping for someone's guidance for a series of correspondence that would be finite. Presently working with visual studio 2008 Team Suite.
First of all, welcome to the world of programming. I hope that the negative votes won't put you off. Unfortunately, you have a lot of work ahead of you getting to understand the basics of programming in .NET. This is far too big an area for you to skip, and no one is likely to offer to enter into correspondence with you to teach you how to do this. The brutal truth is that we are all busy people, and offering this level of tuition is a full time affair - saying that, there's no reason for you not to ask about specific things and people will try to help you here if they can. I would suggest that you start off by reading something like Jon Skeet's C# in Depth[^] to get a good understanding of C#. Finally - the API itself. Writing an API is hard. It's not simply a matter of slinging some methods together. A good API requires a deep understanding of how people are going to access your code, and how they are going to use it. This really is advanced stuff and I would steer clear of it if possible. If you must produce an API, make sure that you check every input to ensure that it is valid - the golden rule of API design is "trust nothing".
*pre-emptive celebratory nipple tassle jiggle* - Sean Ewington
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier
-
I write as one who is little more than a novice. As of this writing, I have litte more that the concepts of namespace, class, methods, operators, operands. Although there is much more learning in my path I have a need to comprehend and ultimately create an API for a project. My thinking is that if I can actually do items necessary to such an interface my practical experience would be more memorable to me. As of this writing, I have read the entire Wikipedia primer... understanding about half of it. Primarily, I would want to see reading appropriate to my level but also some exercises so as to demonstrate what does what. Hoping for someone's guidance for a series of correspondence that would be finite. Presently working with visual studio 2008 Team Suite.
mauricemcse wrote:
create an API for a project.
My first question would be: why do you believe you need to create an API? Have you actually analysed the problem you are trying to solve and determined that this is the optimum answer, or do you just think it 'sounds right'? As to learning, you don't mention what language(s) you plan to use, but since you posted this in the C# forum I would suggest .NET Book Zero[^] as an excellent primer.
One of these days I'm going to think of a really clever signature.