Getting over the beginer hump
-
led mike wrote:
So by definition your compiler is obsolete?
Yes, as you say, the version used to produce the current version is now obsolete, but the current version which is being used now to produce the next version will only become obsolete then. Seriously, however, the neat thing about a natural language compiler is that the earlier "syntax" accepted by the now obsolete compiler is not obsolete because it was English then and it is still English now; in other words, natural languages - in spite of their tendency to mutate - are in some ways more stable than artificial languages (which tend to sudden obsolescence).
How is English natural and C# artificial. Both were created by humans.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
How is English natural and C# artificial. Both were created by humans.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
Chris S Kaiser wrote:
How is English natural and C# artificial. Both were created by humans.
The term "natural" in this context simply means "developed without conscious direction from humans" as opposed to "developed specifically by humans for a particular purpose". The former has arisen, naturally, over a long period of time and among a large group of people who weren't consciously trying to develop a language - they just wanted to communicate; no particular person or group of persons designed the thing. The latter was developed, however, by a small number of people, over a relatively short period of time, for a particular and limited purpose. I admit that there's overlap here and that difference is more of degree than kind; but practically speaking, the difference is tremendous. The natural language I am using right now has "withstood the test of time" and has been used to communicate thoughts about everything from numbers to love - not to mention the fact that it is readily understood by hundreds of millions of educated, uneducated, and other people who have very little else in common.
-
Chris S Kaiser wrote:
How is English natural and C# artificial. Both were created by humans.
The term "natural" in this context simply means "developed without conscious direction from humans" as opposed to "developed specifically by humans for a particular purpose". The former has arisen, naturally, over a long period of time and among a large group of people who weren't consciously trying to develop a language - they just wanted to communicate; no particular person or group of persons designed the thing. The latter was developed, however, by a small number of people, over a relatively short period of time, for a particular and limited purpose. I admit that there's overlap here and that difference is more of degree than kind; but practically speaking, the difference is tremendous. The natural language I am using right now has "withstood the test of time" and has been used to communicate thoughts about everything from numbers to love - not to mention the fact that it is readily understood by hundreds of millions of educated, uneducated, and other people who have very little else in common.
The Grand Negus wrote:
The term "natural" in this context simply means "developed without conscious direction from humans" as opposed to "developed specifically by humans for a particular purpose".
Can you prove this? The English language is based on an alphabet which is not natural, but is in fact code. No, I have to disagree here. English is just as artificial. And I'd have to also state that coding languages have also evolved over time to express what they intend, but just in a shorter span. Language in general is artificial. Not natural. I think you're stretching here and the only purpose for the distinction is to apply bias.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
The Grand Negus wrote:
The term "natural" in this context simply means "developed without conscious direction from humans" as opposed to "developed specifically by humans for a particular purpose".
Can you prove this? The English language is based on an alphabet which is not natural, but is in fact code. No, I have to disagree here. English is just as artificial. And I'd have to also state that coding languages have also evolved over time to express what they intend, but just in a shorter span. Language in general is artificial. Not natural. I think you're stretching here and the only purpose for the distinction is to apply bias.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
Chris S Kaiser wrote:
Can you prove this? The English language is based on an alphabet which is not natural, but is in fact code. No, I have to disagree here. English is just as artificial. And I'd have to also state that coding languages have also evolved over time to express what they intend, but just in a shorter span.
My God, you're argumentative! I didn't classify English and natural and C# as artificial; that division is common knowledge. Google a bit and see.
-
The Grand Negus wrote:
For whom? Grab an average person - not a programmer - and ask whether How much was our electric bill last month? is easier or harder to understand than SELECT AMOUNT FROM BILLS WHERE MONTH=12 AND YEAR=2006 AND TYPE="ELECTRIC";
Well, now you're talking about SQL. And you're also talking interface instead of programming.
The Grand Negus wrote:
Can't see an upper-level manager turning to his PAL 3000 and asking, "Any messages, PAL?" or "When is that meeting with Jones, PAL?" or "Remind me next Monday, PAL, to take my files home with me. Okay?"
Well, again, this is interface. Not programming. This is using the software, and I totally support speech recognition for the interface. But not the code.
The Grand Negus wrote:
I don't doubt it. But you think faster in English almost all the rest of the time. Like when you were composing the above sentence to communicate a thought to me!
True. But this is in the context of communicating with a human. I can't in English visualize a complex system of software as easy as I can in UML and C#. That would be the wrong tool for the job. For talking with you it happens to be the right tool for the job.
The Grand Negus wrote:
How about something like: if ((x-1)==(x+1))... English isn't the only language that supports nonsensical but syntactically correct statements.
I didn't say non-sensical. You've reinterpreted my English. Exactly my point. Logically the above statement is still valid. Where as my English statement isn't valid logic.
The Grand Negus wrote:
But see the "Subtle Bugs" forum for lots of examples where traditional environments are mis-interpreting what the programmer intends.
The environment isn't misinterpreting. The programmer is making mistakes.
The Grand Negus wrote:
And if this sort of thing is really so bad in English, then how can we compile English at the rate of 12,000 sentences per second on a bottom-of-the-line computer?
Controlled environment. Limited functionality. Why are nested ifs bad? And most is left up to the programmer to define. Too much work.
The Grand Negus wrote:
And why did we -
Chris S Kaiser wrote:
Can you show a body of a routine?
Sure. Download the sample from our website; there's three hundred lines of the stuff.
Chris S Kaiser wrote:
Maybe later, I don't have a half day to devote to it at the moment.
For a guy who's so busy, you sure spend a lot of time posting these forums!
-
Chris S Kaiser wrote:
Can you prove this? The English language is based on an alphabet which is not natural, but is in fact code. No, I have to disagree here. English is just as artificial. And I'd have to also state that coding languages have also evolved over time to express what they intend, but just in a shorter span.
My God, you're argumentative! I didn't classify English and natural and C# as artificial; that division is common knowledge. Google a bit and see.
Now that's the pot calling the kettle black. You are making statements. You might not have classified it as such, but you are exploiting it for your purposes. When in reality both are indeed artificial.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
Chris S Kaiser wrote:
Can you show a body of a routine?
Sure. Download the sample from our website; there's three hundred lines of the stuff.
Chris S Kaiser wrote:
Maybe later, I don't have a half day to devote to it at the moment.
For a guy who's so busy, you sure spend a lot of time posting these forums!
Yep, and this dissonance you'll have to sort out for yourself. I didn't say I am so busy by the way. I said I don't have a half day to devote to it at the moment. Thanks for putting words into my mouth.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
-
I apologize if this is the wrong place to ask this. I am still new here. I have been learning programming for a bit and have read through some books to get a basic understanding of languages and program coding. I have read "Accelerated C++" by Koenig/Moo, "Programming Visual C# 2005: The Language" by Donis Marshall, "Microsoft Visual C# 2005 Step-by-Step" by John Sharp. I feel that I have a good understanding of the C# language. I am now in the stages where I want to try to put this knowledge to use and reinforce my understanding. I'm having problems starting, though. I don't know how to 'begin' writing a program. I come up with an idea of a program that I would like to create. I start writing, but end up with just a big mess that doesn't work. In frustration I give up on the project. My code is messy and I run into problems that I didn't foresee and don't know how to tackle them. I've restarted a project a couple times as I seem to code myself into a dead end. I don't really know how to design a program and look ahead for potential pitfalls. I am looking for something that would walk a person through completion of a mildly complex program, starting from the design and planning phase and ending with a final release product. I would prefer if it didn't teach the language, as I have an understanding of that as well as reference books if I don't understand. I have looked at a lot of the computer books at my local bookstores but most just seem to be complete beginner books that teach the language, or advance books that assume you know what you are doing. I have tried to search on line for these 'intermediate' type of books, but I have have little luck. I may be using the wrong words to describe what I am looking for, though. Basically, just something to help me move from beginner to intermediate that shows/teaches good programming practices. Any references or suggestions on terms to use when searching would be greatly appreciated. Sorry about the long post.
I would like to offer you the opportunity, as an exercise, to re-code our Plain English development system in C#. You will learn how to design and write an interface, file manager, text editor, hex dumper, wysiwyg page layout facility, and - if you persevere - a native-code generating compiler/linker for Windows. We will provide source code and all necessary assistance free of charge. Simply contact me (help@osmosian.com) and we'll get started.
-
Yep, and this dissonance you'll have to sort out for yourself. I didn't say I am so busy by the way. I said I don't have a half day to devote to it at the moment. Thanks for putting words into my mouth.
What's in a sig? This statement is false. Build a bridge and get over it. ~ Chris Maunder
Mazeltov, you just reached the same point with this guy as everybody else has/does. You pick apart his logic until there is nothing left - then he insults you or belittles you. Osmo, you are a waste of f'in space. begone.
-
Thanks for the reply. It actually isn't one specific program, I've tried many. Recipe/cooking software, personal schedule software, scaled down version of word processing, an Othello clone, etc. Ideas will pop into my head that don't seem that complex and I think that I'll be able to actually complete them, but I tend to get stuck and frustrated, mostly due to my lack of planing and design. I'll check out Code Complete. I have also been looking over the articles here at CP, though some of them are way over my head. Hopefully with time I'll be able to understand and even contribute!
hpjchobbes, Starting with writing a scaled down version of word processing is probably not the best idea as it might look simple but I think for begginning is pretty complex. I understand you know the languages, however, languages are just tools and you also need to learn how to use the tools. The best way is through practice as the same is true for any tools. You can start by reading books about Analysis and Design instead of programming lanuages--I reccommend OO Analysis and Design. For example, and don't take this as a desing advice, but from the top of my head if I was designing a scheduling software I will probably write a very general class called Schedule which will have the very general properties and behaviors of a schedule. Then have more specific classes--DailySchedule, WeeklySchedule, MonthlySchedule etc. Of course, this is just for scheduling part. You still need other classes for what you are scheduling: Are you scheduling dates, tasks etc? The worst way to program is by starting to code without any diagrams or pseudocode etc. Programming is like art: You start with an idea, rough sketch then go into details then decoration. Part of the reason you might be ending with a big mess is because you are not breaking your solution into smaller compartments. Break it down and make sure it compiles and behaves properly before you add further functionality. Anyways, good luck and I hope this helps. You can read a book about design, you might find it hard to understand because it is very complex but should check it out. The book is called "Design Patterns" by the Gang of Four. Farid
-
hpjchobbes wrote:
mostly due to my lack of planing and design.
Before planning and design comes analysis. The nature of the subject of the software should be understood and pictured first. Sometimes diagrams can be used to accomplish this. For example diagrams like Use Cases, Class diagrams and Activity diagrams found in UML can be used to express the subject’s nature diagrammatically. The pictures of the subject will usually provide a starting point for design. After the initial design that represents the subject, most low level design is technical in nature, meaning it is focused on solving computer software related problems. Most of these problems are solved using well known design patterns[^]. Also research the Model-View-Controller[^] pattern as it is widely used in applications that include a user interface.
led mike
A great design patterns book is Head First Design Patterns published by O'Reilly. It is focused on Java but can easily be understood and applied to other languages.
Pete