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

John W. Colby jwcolby at colbyconsulting.com
Wed Mar 2 08:41:25 CST 2005


>its horses for courses

That is not forgotten by me.  I don't use C or C++ specifically because it's
purpose is not general purpose programming.  I used 'C' for two years to
program a zworld micro-controller to build a vending machine, but for that
application is was exactly what was needed.  OTOH I used Turbo Pascal back
in the 80s when it was one of the few languages available on what was then
referred to as Micros (PCs) which had strong typing yet a simple / powerful
syntax.  It was totally procedural but it offered functions, top down
declarations requiring declaring variables before use, strong typing when
passing variables etc.  

When it moved to objects I moved with it and loved the concept.  It had
inheritance etc.  I used it to write test stand programs for Puritan Bennett
for testing hot-wire anemometer flow sensors going into ventilators.  For
that purpose it worked quite well, but in the end it wasn't widely accepted
as a language, plus I moved on to Access 2.0 which was archaic from that
perspective.

C was written for "programming to the metal" and simply should almost NEVER
be used for higher level applications, but of course is pretty much the only
thing taught widely in college so is used for everything whether it fits or
not.

Every language was designed for something specific and generally does that
something well, and everything else not so well.  But when all your taught
is a hammer...

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: Wednesday, March 02, 2005 2:58 AM
To: Discussion of Hardware and Software issues
Subject: Re: [dba-Tech] C++ to vb.net conversion


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



_______________________________________________
dba-Tech mailing list
dba-Tech at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/dba-tech
Website: http://www.databaseadvisors.com






More information about the dba-Tech mailing list