[dba-Tech] C++ to vb.net conversion

MartyConnelly martyconnelly at shaw.ca
Wed Mar 2 01:57:33 CST 2005


Yes you but you use those simplistic languages ;). The first language I 
learned in the 70's was APL, which has had different keyboard symbology 
over the years.
I once used a series of APL programs to produce justification for an oil 
company to obtain a billion dollar loan
It had to be written inside a month, the mathematical statistical 
analysis was intense and I also had to produce a couple of hundred pages 
of graphs.
It would have taken months to write in C++ with classes. It is always 
horses for courses. That's what the OOP's guys forget and I think
what Mansfield was trying to say.
However APL moved on into a better OOP's language than C++ at least for 
parallel processing. Try doing parallel
algorithm design in C++.

The J programming language, developed in the early 90's by Ken Iverson 
and Roger Hui, is a synthesis of APL (also by Iverson) and the FP and FL 
functional programming languages created by John Backus (of FORTRAN, 
ALGOL, and BNF fame).

To avoid the problems faced by the special character set of APL, J 
requires only the basic ASCII character set, resorting to the use of dot 
and colon characters to extend the meaning of the basic characters 
available.Being an array programming language, J is very terse and 
powerful, and is often found to be useful for mathematical and 
statistical programming, especially when performing operations on matrices.

Like the original FP/FL languages, J supports function-level programming 
(also known as higher-order functional programming), via its tacit 
programming features (note that function-level programming is not the 
same as functional programming). Unlike most languages that support 
object-oriented programming, J's flexible hierarchichal namespace scheme 
(where every name exists in a particular locale) can be effectively used 
as a framework for both class-based and instance-based object oriented 
programming.

J is an non-von Neumann programming language that nevertheless allows 
the programmer to use von Neumann programming style when desired.
J is an extremely powerful language, and its programs can be very terse 
but even more cryptic. Here is a one-liner implementation of the 
quicksort algorithm:

 qsort =: ]`(($:@:((}.<:{.)#}.)),{.,($:@:((}.>{.)#}.)))@.(*@#)


  example             APL form     J form
Matrix product    x+.«y          x +/.* y

or
Here is an APL function that will determin the
determinant of a matrix.  It was developed for
APL\360 and has ran on all versions since. {It uses
the hard gotos that refer to line numbers, but they
were in style on those days.}


    {del} Z{<-}DET M;N;N
[1]   {->}3{times}{iota}2<N{<-}1{take}{shape}M
[2]   {->}0,Z{<-}({times}/ 1 1 {transpose}M)-{times}/
             1 1 {transpose}{reverse}M
[3]   J{<-}1+Z{<-}0
[4]   Z{<-}Z+M[1;J]{times}({neg}1*J+1){times}
            DET M[1{drop}{iota}N;(J{/=}{iota}N)/{iota}N]
[5]   {->}4{times}{iota}N{>=}J{<-}J+1
    {del}


Here is an old article on J
http://www.snakeisland.com/aplhiper.pdf


John W. Colby wrote:

>Well I read the first article and I'm not impressed.  A lot of vitriol and
>absolutely nothing advanced as an alternative.  
>
>There are just a ton of things that classes make trivial that are a royal
>PITA without them.  I am a "single programmer" and I use classes all the
>time.  I use them because there are many places where I need to instantiate
>more than a single instance of an object, the class holds all the data
>structures and the code, it is just there, I wrote it, I understand it, I
>just use it.  Now granted because this is Access, I am not using the
>inheritance thing (though I wish I could).  There is absolutely NOTHING
>difficult about writing classes.  Trivial to understand, trivial to write,
>trivial to use.
>
>As for cutting and pasting code... OH MY GOD.  I think that pretty much says
>it all for me.  Anyone who is going to cut and paste any non-trivial code
>would NEVER earn a position in my organization.
>
>John W. Colby
>www.ColbyConsulting.com 
>
>Contribute your unused CPU cycles to a good cause:
>http://folding.stanford.edu/
>
>-----Original Message-----
>From: dba-tech-bounces at databaseadvisors.com
>[mailto:dba-tech-bounces at databaseadvisors.com] On Behalf Of MartyConnelly
>Sent: Tuesday, March 01, 2005 7:26 PM
>To: Discussion of Hardware and Software issues
>Subject: Re: [dba-Tech] C++ to vb.net conversion
>
>
> Well I am an unabashed proceduralist and would much prefer to write 
>Fast Fourier Transforms in APL than having
>to do it with an OOP language. I have been on teams using UML to churn 
>out PL1 or Cobol code. I don't mind patterns, however on an OOP team, I
>always feel like I am in a trench and the shelling is getting 
>heavier and everyone else is huddled down
>debating whether to load their rifles with .303 or 7.62 Ammo.
>
> Grady Brooch the father of OOP who worked at Rational Software before 
>it was sold to IBM
>two years ago ,well now he is is dropping work on UML at IBM and working 
>on patterns for something called
>aspect oriented development. This would be something like as an example, 
>the security aspect of system to system connectivity,
>assuming similar underlying patterns..
>
>Some thoughts on Ooops, procedural and generic programming problems
>
>OOP Is Much Better in Theory Than in Practice
>Think object-orient programming (OOP) is the only way to go? You poor, 
>misguided soul. Richard Mansfield contends that OOP is just the latest in a
>history of ideas that sound good in theory but are clumsy in practice.
>
>by Richard Mansfield
>http://www.devx.com/DevX/Article/26776
>
>And all the hate mail in response
>http://forums.devx.com/showthread.php?s=&threadid=136762
>
>Further thoughts from Mansfield http://www.geocities.com/tablizer/oopbad.htm
>
>Richard Grimes on VB.NET  and VB6  columnist at Dr Dobb's Journals What
>Microsoft missed. http://www.ddj.com/documents/s=9211/ddj050201dnn/
>
>Shamil Salakhetdinov wrote:
>
>  
>
>>Marty,
>>
>>I meant mainly UML used for OOP real-life projects design & development 
>>not just UML for database model diagramming - the latter is rather 
>>trivial these days, the first is still state-of-the-art. But the first 
>>was investigated a lot during last ten+ years and there are very useful 
>>results IMO.  I did recently get through "Applying UML and Patterns" by 
>>Craig Larman - it shows that UML is a practical not an academic tool 
>>and that when combined with Software Design Patterns then it becomes 
>>even more powerful and more practical tool...
>>
>>Shamil
>>    
>>
>
>
>  
>

-- 
Marty Connelly
Victoria, B.C.
Canada






More information about the dba-Tech mailing list