Subject | Re: Linus Comments |
---|---|
Author | Joseph Alba |
Post date | 2000-09-06T14:15:30Z |
>We should step back a bit, however, and realize that most of Interbase isNot True. Design pattern principles can be implemented on C.
>not coded in an OOP language. Therefore, we should first decide if we want
>to transform it into an OOP form.
>
When Linus was talking about Interfaces he was talking on a logical sense
(not implementation). Logical sense means design principles. Implementation
includes what language you actually program in. Logical <is not>
Implementation.
Linux itself is programmed in C. Linus has resisted calls to migrate to C++.
Yet, he has this principle regarding interfaces.
Interfaces in C can be defined easily through prototypes. But agreeing on a
common set of prototypes, (meaning, function headings), each platform (unix,
windows, etc...) will have their own directories, which will contain each
platform's implementation. Developers on these platforms can even proceed on
their own without minding the going's on on other platforms, as long as they
stick to the prototypes' boundaries.
Remember, there are two phases in software development: Analysis (Design)
and Implementation (programming). You can use OOP principles on design, but
implement this design using non-oop language like C.
example:
Prototype Directory
-------------------------
isc.h
- int Interface_1()
- int Interface_2()
BuildUnix Directory
----------------------
isc.c
#include <isc.h>
interface_1()
{
implementation code
}
interface_2()
{
implementation code
}
BuildWindows Directory
----------------------
isc.c
#include <isc.h>
interface_1()
{
implementation code
}
interface_2()
{
implementation code
}
The prototype .h files defines the interface (procedure/function)s that need
to be implemented. If anyone wants to implement Interbase on some platform,
he should implement these prototype functions.
-----
Point is: OOP principles in design (logical) sense does not necessitate OOP
programming language (implementation).
(We don't have to use C++ just to implement the interface priniciple, and
reap the benefits that Linus is talking about.)
Joseph Alba
jalba@...