Miscellaneous > The Lounge
Howdy!
insomnia:
quote:Originally posted by Laukev7:
Fair enough, but what's wrong with the object approach? I want to learn a programming language myself, and I'd like to know why you think the procedural approach is better than the object approach.
--- End quote ---
Take Perl and Python...
If you writh the same program with both,
you'll see that your python code is bigger, less flexible and less pretty.
( I do find it an easy way for getting started...)
[ May 22, 2004: Message edited by: insomnia ]
jtpenrod:
quote:
Well basically if OO were just a minor syntactic extension to a procedural language (i.e. a simple addition of classes/objects as enriched data structures) then I wouldn't really have a problem with it. But taking the idea of objects and then orienting the whole programming approach around it doesn't really make sense.
--- End quote ---
That is pretty much how Python works. Ruby is the fully OO language where everything is an object. You can use it to program procedurally, or use OO, or make a hybrid-type program, just as you would if using C++. Furthermore, Python is probably one of the best ways to start. It's easy to learn, it's interpreted so that you get to see all the mistakes at once (like BASIC), and isn't just something you learn with before moving onto something better.
quote:
Python's class mechanism adds classes to the language with a minimum of new syntax and semantics. It is a mixture of the class mechanisms found in C++ and Modula-3. As is true for modules, classes in Python do not put an absolute barrier between definition and user, but rather rely on the politeness of the user not to ``break into the definition.'' The most important features of classes are retained with full power, however: the class inheritance mechanism allows multiple base classes, a derived class can override any methods of its base class or classes, a method can call the method of a base class with the same name. Objects can contain an arbitrary amount of private data.
In C++ terminology, all class members (including the data members) are public, and all member functions are virtual. There are no special constructors or destructors. As in Modula-3, there are no shorthands for referencing the object's members from its methods: the method function is declared with an explicit first argument representing the object, which is provided implicitly by the call. As in Smalltalk, classes themselves are objects, albeit in the wider sense of the word: in Python, all data types are objects. This provides semantics for importing and renaming. But, just like in C++ or Modula-3, built-in types cannot be used as base classes for extension by the user. Also, like in C++ but unlike in Modula-3, most built-in operators with special syntax (arithmetic operators, subscripting etc.) can be redefined for class instances.
--- End quote ---
____________________________________
Live Free or Die: Linux
If Software can be free, why can't dolphins?
[ May 23, 2004: Message edited by: jtpenrod ]
jtpenrod:
"OSX is better."
How is it "better"? Yesterday, I finally got the opportunity to give OS X a go. I couldn't see any difference between that and any one of the Linux distros I've been running for the past three years. I'd say that they're the same, so far as quality, appearance, and ease of use goes.
____________________________________
Live Free or Die: Linux
If Software can be free, why can't dolphins?
solarismka:
I don't know about everyone else. But I started off with basic html, then java and then into Visual Basic/Visual C++, tben perl.
But thats just me.
Navigation
[0] Message Index
[*] Previous page
Go to full version