Subject:
|
Re: Would-be hacker queries. / Re: Request for new list
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Sun, 9 May 1999 20:15:07 GMT
|
Viewed:
|
1718 times
|
| |
| |
Valid questions, all of them. We do tend to remain in the upper ranks of CS on
this list. I'll see if I can take a stab at defining some terms quickly and
clearly. BTW, I wouldn't mind adding my knowledge of CS to a FAQ for newbies.
Mindstorms will tend to attract people with no programming background, and
this would be a great place for them to come as a reference source just to get
acquainted with the whole programming experience. The "help" from LEGO might
be nice for kids, but even they will want something more than "think like a
computer" to debug your program. How can they think like a computer when they
don't know the basics of how a computer thinks?
A class library is a collection of (ostensibly) related
classes/functions/modules that can (ostensibly) be reused in other programs.
Really, just a way of keeping one's code collected.
function-local variables - (I haven't heard this term exactly before, but I'm
pretty sure I know what it is) - A local variable is a variable that has
limited scope. In other words, the variable only exists and can be accessed by
a small segment of the program, usually a function/method. Local variables are
useful for storing temporary information that the rest of the program doesn't
need to see, but that you need for a given chunk of code to work.
recursion - the process of one function calling itself to solve a problem.
This is done by breaking the problem down to its smallest size, then combining
the smaller solutions. Factorials are usually used as a simple example of
recursion. 6! = 6*5*4*3*2*1. One can repeatedly break the factorial down
until you reach 1, then recombine the problem to find the final solution.
global variables - sort of the opposite of local variables. These variables
are visible to pretty much the entire program and can be read/written from
anywhere. The original Mindstorms language has only global variables.
dynamic memory allocation - Deciding at run-time how much memory is needed for
a given thing (thing being an object, an array, etc). Normal variables are
allocated statically. An int might always take up 32 bits of space. Objects
can be dynamic, as the size required is not always known.
dynamic string allocation - Not many languages really support this. Usually,
strings get a certain amount of space, ie, C++ has you create a character array
of a given size, and that's how big the string can be. Java simulates dynamic
string allocation by creating entirely new String objects each time the string
is changed. I think APL is the only language I know of that has true dynamic
string allocation.
object oriented programming (OOP, or just OO) - a programming paradigm, as
opposed to iterative programming, functional programming, or logic based
programming. In OO, everything is an object. Objects have variables and
operations on those variables. One can move objects around, chain them
together, have them talk to one another. Going much beyond this would require
much more space than I'm willing to devote. Java is a mostly OO language. C++
is a hybrid of OO and iterative and is based on C, which is iterative. LISP is
a functional language, as is Scheme, a LISP derivate. Prolog is a logic
language. There's another term for iterative, but it escapes me right now.
In lugnet.robotics, lego-robotics@crynwr.com (Aa-Tchoo!) writes:
> Hi.
>
> Hope I can jump in here and ask where a newby who knows he's in the deep end in computer science
> discussions, - knows he's taking in water, coughing and spluttering but loving every minute of it -
> go to ask elementary questions like:
> What's a class library?
> How do you define function-local variables / recursion / global variables /
> dynamic memory allocation / dymamic string allocation /
> object oriented programming, for Christopher's sake?
> I know this is basic stuff for some and could take up vast yards of bandwidth but I need to find
> guidance somewhere.
>
> Some teenagers might have got the MindStorms RIS to learn robotics, but I got it to learn
> programming while having a blast. OK, I'm a doctor, so I'm used to tackling vast heaps of technical
> definitions and description, but I bet there are others out there who came here for the same reason.
> I bet we could, in one group or the other, steadily build up a FAQ full of relevant definitions for
> would-be hackers. Or pointers to sources of reference, preferably on the net. Any ideas?
>
> Please pardon me if I've overlooked an existing source for this kind of newby knowledge. I scrolled
> through the whole (awesome) homepage looking.
>
> Thanks for the opportunity to be a fly on the wall at the fascinating discussion, this last week.
> Regards,
> Ko-LIIN.
|
|
Message is in Reply To:
| | Would-be hacker queries. / Re: Request for new list
|
| Hi. Hope I can jump in here and ask where a newby who knows he's in the deep end in computer science discussions, - knows he's taking in water, coughing and spluttering but loving every minute of it - go to ask elementary questions like: What's a (...) (26 years ago, 8-May-99, to lugnet.robotics)
|
42 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
Active threads in Robotics
|
|
|
|