Path: news.net.uni-c.dk!sunsite.dk!newsfeed1.uni2.dk!skynet.be!skynet.be!sn-xit-03!supernews.com!pd2nf1so.cg.shawcable.net!residential.shaw.ca!news1.calgary.shaw.ca.POSTED!not-for-mail Message-ID: <3C4CCE5E.DC2187C2@shaw.ca> From: "James J. Gavan" X-Mailer: Mozilla 4.77 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada,comp.lang.beta,comp.lang.c++,comp.lang.clos,comp.lang.cobol Subject: Re: I need your experience - classification and comparison of languages References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 126 Date: Tue, 22 Jan 2002 02:24:19 GMT NNTP-Posting-Host: 24.71.223.147 X-Complaints-To: abuse@shaw.ca X-Trace: news1.calgary.shaw.ca 1011666259 24.71.223.147 (Mon, 21 Jan 2002 19:24:19 MST) NNTP-Posting-Date: Mon, 21 Jan 2002 19:24:19 MST Organization: Shaw Residential Internet Xref: news.net.uni-c.dk comp.lang.ada:123678 comp.lang.beta:13105 comp.lang.c++:650131 comp.lang.clos:15839 comp.lang.cobol:112980 Yvan Radenac wrote: > I am writing a small report about "Object oriented languages and their > public implementations" for a course in Software Engineering. > I am trying to classify and compare different oo languages. > As i am not programmer, analyst or responsible of projects and the > criterias are subjective, i am interesting in your experiences of > object oriented language(s). > > I think that there's no universal language, so it's not to compare, in > a global way, each language. > The goal is to create some tables to find the best choice for a kind > of software development. > Yvan, You've already been referred to one book. If your university has the following, then it is a good reference covering all OO languages with the EXCEPTION of COBOL, and of course, excluding any language du jour, which has popped up since the book was printed :- 'Object Oriented Program Languages" - Handbook of Programming Languages Volume I.- Peter H. Salus, Series Editor in Chief. (ISBN : 1-57870-009-4 ) - Macmillan Technical Publishing, 1998. To get a background on OO COBOL, (which has been around since '96), see the draft for the next standard due December 2002 :- http://www.incits.org/tc_home/j4.htm The draft (particularly Annex C) gives simple OO coding examples. Two things which I am currently using which as yet are not part of the above COBOL standard, (and are still waiting to be determined) :- - finalizing (destruction of objects - 'garbage' collection) - collections/dictionaries ( Those available from Micro Focus closely follow the structures in Smalltalk. If you are lucky, and your CS Department has a CD copy of Micro Focus Net Express, University Edition - then you could access the on-line help to see the structure of collections/dictionaries.) Both Fujitsu and Hitachi have collections - but I'm not aware of the details. At the current time there are four vendors with OO COBOL compilers - IBM, Fujitsu, Hitachi and Micro Focus, (the latter was temporarily under the name 'Merant'). IBM is a very 'cut-down' version as they are having a re-think. No information is available from Hitachi as it is only marketed in Japan. You can access the Fujitsu and Micro Focus sites for further information. (Fujitsu is currently enhanced to work with Microsoft .Net). > Thanks you to complete the 2 tables below for each language you use. > Sorry that's a very subjective thing. I'd probably give COBOL high marks which other language users might dispute . (Although I have access to COBOL-designed Java classes - currently I work TOTALLY in COBOL including classes for generating GUIs). Jimmy, Calgary AB > > Classification: > -------------- > Language|Paradigm(s)|Generality of use|Abstraction level|Area(s) of > application > --------|-----------|-----------------|-----------------|---------------------- > | | | | > > Comparison: > ---------- > It's based on this scale table (to simplify): > Very bad|bad|Correct|Good|Very good| > --------|---|-------|----|---------| > - - | - | O | + | + + | > > Language|Readibility|Writability|Reliability|Cost > --------|-----------|-----------|-----------|---- > | | | | > > Regards, > Yvan > > P.S.: a resume of the criterias, based on a course of The University > of Ottawa by Szpakowicz: > > Classification: > -------------- > Paradigms: imperative, logic-based, functionnal, object-oriented, ... > Generality of use: general purpose, specialized like database > language, ... > Abstraction level: low-level (assemblers), high-level (a majority of > languages), very high level (Prolog) > Area of application: data processing (business applications), > scientific computing, artificial intelligence, in-house computing > applications (compiler construction, systems programming, ...) > > Comparison: > ---------- > Readability: > - abstraction, support for generality: procedural abstraction, data > absraction. > - absence of ambiguity (and of too much choice). > - Orthogonality: no restrictions on combinations of concepts. For > example, can a procedure parametrer have ANY type? Can EVERYTHING be > evaluated? > - Expressivity of control and data structures. (Exemples of low > expressive power: machine languages). > - Appearance: style of comments, ... > Writability: > - Abstraction and simplicy like readibility. > - Expressivity, like readibility. > - Modularity and tools for modularization, support for integrated > programmer's environments. > Reliability: > - Safety for the programmer (type checking, error and exception > handling, unambiguous naming). > Cost: > - Development time (ease of programming, availability of code). > - Efficiency of implementation: how easy it is to build a language > processor. > - Translation time and quality of object code. > - Portability and standardization.