Re: How's dot.net doing nowadays?




"Robert Conley" <robertsconley@xxxxxxxxx> wrote in message
news:657196a0-6605-46b0-86c8-571855294b92@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Jan 23, 12:11 pm, MM <kylix...@xxxxxxxxxxx> wrote:
On Wed, 23 Jan 2008 10:47:51 -0600, "Ralph"

<nt_consultin...@xxxxxxxxx> wrote:

"MM" <kylix...@xxxxxxxxxxx> wrote in message
news:217ep316uuqd5jcq8rc8daspdjsg9652aj@xxxxxxxxxx
On Tue, 22 Jan 2008 14:20:20 -0600, "Ralph"
<nt_consultin...@xxxxxxxxx> wrote:

<snipped>

So... what's the most important feature of OOP? Information hiding?

MM

That's a tough one.

That's why I asked it! (There is actually no one, single answer.)

OO itself isn't just a collection of features, it is the sum total of
all of
them working in concert. A gestalt if you will. And there isn't a
single one
of those features that couldn't be replicated with a non-OOPL.

That's kinda also why I asked it...


Actually there are feature more important than others if you look at
real world systems. The ability to combined subroutines with the data
it works on is the first step, and the ability to define and implement
interfaces is next. Followed by Inheritance to reuse behavior. With
the first two I can implement just about any object oriented pattern,
algorithm, or design. Having the third would cut down on a lot of
typing.

The next level would be property procedures, the ability to check an
object variable not only for type to be to see if it is the SAME
object as what contained in another object variable, the ability to
use generics i.e. templates, constructors and destructor procedures,
constructors with parameters.

In the point of all this is to cut down the amount of coding you have
to implement any one feature. It also makes MAINTAINING existing code
a lot easier. Especially opposed to cut and paste programming. Finally
it makes fully automated testing considerably easier. Enough so you
can make the addition and use of automated tests as part of your
compile cycle instead of your release cycle.

For the maintaince benefits see Refactoring by Martin Fowler


http://www.amazon.com/Refactoring-Improving-Existing-Addison-Wesley-Technology/dp/0201485672/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1201114268&sr=8-1

For automated testing see

http://www.vbunit.com/

you can also do a google search using vb6 unit testing.

Nunit is the best unit testing library out there and using .NET it can
be used to test VB6 software. (By using the ability of .NET to access
COM objects) However I recommend finding a Vb6 only solution.

But if taken to the mat I would have to say it is the 'object' itself.
The
ability to define an Type, write it, test it, and use it in
collaboration
with other Types, without regard to what it might "actually be".

Can every program that has ever existed be (re)written using a
procedural language?

Generally Yes.

There are languages with unique features that can't be easily or at
all replicated in other languages. Lisp is the canonical example of
this. The feature that gives the most trouble is Lisp ability to
create code during runtime and execute it like if it was a procedure
written before compiling. This is not the same as function pointers.
An example of this is doing a search on a list with unknown
parameters. In Vb6 we construct a query in a string and pass it off
the database engine but Lisp can do it within the language itself.


Lisp is hardly a "Procedural Language", but in any case it doesn't make a
difference how the runtime code got there - it is all procedural from that
poin on.

We are not talking about whether another computer language can duplicate the
'features' of another language - the question is whether any program could
be re-written using a procedural language, regardless of what it was
originally written in.

The answer is Yes with no exceptions.

-ralph


.



Relevant Pages

  • Re: The LOOP macro
    ... when a language X does not support a feature the users ... "Ok, Lisp cannot do it but we can always program it ... In Lisp I might start with a closure for a problem while in Java I would ...
    (comp.lang.lisp)
  • Re: Hows dot.net doing nowadays?
    ... Actually there are feature more important than others if you look at ... The ability to combined subroutines with the data ... you can also do a google search using vb6 unit testing. ... the database engine but Lisp can do it within the language itself. ...
    (microsoft.public.vb.general.discussion)
  • Re: The LOOP macro
    ... In the same time the users of language Y think: ... > it gets this feature", then we can also use the same argument for ... we are all Lisp zealots and we think that all other languages ... write '=>' after a test form such that if the test form evaluates ...
    (comp.lang.lisp)
  • Re: Which programming language is better to start
    ... >>> Macros are the feature that allows syntactic abstraction (and makes it ... making it possible to extend the language with new operators ... LISP macros are unsafe whereas camlp4 is not. ... I've heard that it is much easier to introduce bugs with Lisp macros as ...
    (comp.programming)
  • Re: is haskell more productive than scheme?
    ... Lisp in general claims o be able to copy any feature of any language. ... Lisp cannot easily copy guarantees that other languages may offer. ... E.g. Haskell guarantees that all Haskell functions do not have side effects. ...
    (comp.lang.functional)