Re: too much OOP ?



On Jan 2, 3:03 pm, "Dmitry A. Kazakov" <mail...@xxxxxxxxxxxxxxxxx>
wrote:
On Wed, 2 Jan 2008 03:19:25 -0800 (PST), frebe wrote:
If we don't share your view that the abstraction level is determined
by the "remoteness", the rest of your post is rather meaningless.
Assembler is pretty "remote" from the problem domain payroll
processing, but that doesn't make it very high level.

It would, if you managed to solve the problem in Assembler and if the
solution covers a wide class of problems. My point is that there is no
difference between "MOV" and "UPDATE," when both are just black boxes.

I think we can agree that

update employee e set salary=salary+:diff
where active=true and exists (select * from emp_department ep where
ep.empid=e.empid)

is much more high level than
MOV 1,A

I know that there are no really objective ways of determinate the
"level of abstraction", but most IT professionals would agree that SQL
is an 4GL and most OO programming languages like Java, C++, etc, are
3GL.

By the way, 4GL was a flop,

SQL is one of the few successful 4GL languages. The main reason 4GL
was a flop, was the vendor dependence, which also is a major drawback
of SQL. There was also a number of 3G languages sold as 4GL, in the
80's.

but 5GL was a total fiasco. If you really
believe that a bigger n makes the language better, why do you stick to
outdated 4GL?

3G is considered by most programmers to be higher level than 2GL. The
same applies to 4GL. I don't have any experience from 5GL, so I can't
comment on that.

Most IT professionals would also agree that 4G languages could be
considered as having an "higher level of abstraction" than 3G
languages.

As I said before, the key question is - to which subject should
"abstraction" apply? To the program or to the language of?

I entered this discussion then you claimed SQL to be low-level. So for
me "abstraction" apply to the language. My claim is that SQL could be
considered more high-leven than C++ or Java.

What software developers have understood is that levering up abstraction of
the language is nonsense.

Ok, why don't you continue with 1GL in that case?

It might look attractive in 80's, when systems
were small, short-living and insulated from each other. But it is different
today. So the programming languages design turned to a side direction,
towards supporting abstraction on the system design level, while level "3"
was found high enough to support abstraction but not too high to loose the
control over what's going on when things get complex.

3GL was not considered high enough for data management.

//frebe
.



Relevant Pages

  • Re: To bit or not to bit...
    ... The ANSI X3J programming languages have rules for converting internal ... SQL data types to their native data types as part of the Standards. ... there is no Standard for BIT ... in higher level languages that do not support them (remember COBOL? ...
    (microsoft.public.sqlserver.programming)
  • Re: I think i finally got a definition of an Assembler!
    ... > for userdefined macros, that if not written properly will allow sometimes ... 4th generation languages are specific-purpose VHLLs ... is a complete misunderstanding of what abstraction actually is to start ... "level"...and the mistake all programming languages make is a rigid ...
    (alt.lang.asm)
  • Re: No knowledge of the database?
    ... >>Is your recommendation that all applications should be written in SQL ... C++ is a multiparadigm languages. ... higher level than most imperative programming languages. ... those procedural extensions are way lower level than most ...
    (comp.object)
  • Re: SQL
    ... custom biz app setting. ... Put a program code in a relational table and write compiler in SQL ... SQL is one of an infinite possible relational languages. ... how would making each pixel an ADT or Object improve the picture ...
    (comp.object)
  • Re: UML Question (Object <-> ObjectFinder?)
    ... (We're talking about pure FSAs here, not object state machines where the alphabet can be attributes.) ... It doesn't even use any stereotypes that aren't defined in UML. ... Today ADFDs have been replaced by abstract action languages using the UML action semantics meta model. ... The real point here is the level of abstraction of the models. ...
    (comp.object)