www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Ever stop to think why certain languages are so popular?

reply Berin Loritsch <bloritsch d-haven.org> writes:
Much of this is my own oppinion based on observation so take it with a
grain of salt.  My development career followed a fairly typical path:
I started with basic (Commodore 64), then I graduated to assembly for
performance.  Later I learned VB scripting because I had an Access DB
to maintain, and graduated to C++ because of the power and speed.  I'll
be honest, learning C++ was like a renessance to me--there was a lot of
power and the use of references really made several tasks safer than
pointers.  From C++ I graduated to Java.  Depending on your point of
view that might be a step back, but it was what I did.

Basic worked.  It had enough to it so that I could do text based
interfaces (one of them included a card game), but because it was
interpreted on a 1 MHz machine the overhead was too much to do anything
truly interactive.  I played with a couple of other languages like logo
and something else I've forgotten the name of, but I just wasn't
satisfied until I unleashed the power of assembly.  That was a great
victory because that was how system calls were really done on the C-64.
You set some values in memory or in registers and then call jsr 0xfeb2
or something like that to get something done.

Then computers became more powerful, I graduated highschool and college
and had to maintain databases of inventory and later an issue tracking
system.  I learned VB scripting because it was the quickest way to get
what I needed to get done with the least amount of training (I was
entirely self taught).  It did the job, but again, there were
limitations I had to overcome.  So in comes C++.  I was able to take
a text parsing program that someone else wrote in VB script that would
parse a large file in about 8 hours and changed it into a C++ utility
that would do the same work in about 5 seconds.  Then I wanted to
use C++ to interact with a database--but I wanted to do it in a platform
neutral manner so I used direct ODBC calls.  It was doable, but painful
at times.  Anyway, since this isn't meant to be a history of my life,
you get the picture.

The bottom line is that each step of the way there was a reason to move
on to the next language.  There were limitations to overcome.  There
were things that one language had a hard time doing that the next one
would make easier.

Now, Java is the big language on campus.  Why is that?  Well, one thing
it offers is cross platform ability.  I have been able to write on
Windows and use the application on Linux very easily.  Sure there were
some things I had to tweak here and there, but can you imagine trying
to port a Visual C++ application using MFC and GDI calls to Linux to
do the same thing?  I wouldn't have to worry about it with Java.  It
does its job quite well.  I might have to modify the startup script, but
it works.

This ability is very powerful.  Now I am learning how Java does the
nitty gritty security system, and I have to say that the concepts are
great, though sometimes I wish it weren't so cumbersome to do what I
want.

The bottom line is that a language that becomes successful must be done
because it allows something to be done that no other language could do
before hand, and then sell the living daylights out of that aspect.
I find it interesting that Windows has never tried to lead in the
language space until C#.  The current crop of popular languages like
C/C++/Java have all been developed on Unix--though Java did not ignore
Windows.  It sought to make it irrelevant through a rich API that didn't
change because today you were developing on MaxOS and tomorrow you are
developing on Windows.

That is both the blessing and the curse of the Java API.  You can go
from one platform to another and not have to relearn APIs.  You can
do quite a lot out of the box.  That level of maturity comes with time,
but D would do well to learn from that experience.
Sep 17 2004
parent reply Sean Kelly <sean f4.ca> writes:
In article <cifhaa$2q8k$1 digitaldaemon.com>, Berin Loritsch says...
That is both the blessing and the curse of the Java API.  You can go
from one platform to another and not have to relearn APIs.  You can
do quite a lot out of the box.  That level of maturity comes with time,
but D would do well to learn from that experience.

So out of curiosity, what drew you to D? Sean
Sep 17 2004
parent Berin Loritsch <bloritsch d-haven.org> writes:
Sean Kelly wrote:
 In article <cifhaa$2q8k$1 digitaldaemon.com>, Berin Loritsch says...
 
That is both the blessing and the curse of the Java API.  You can go

from one platform to another and not have to relearn APIs.  You can

do quite a lot out of the box.  That level of maturity comes with time,
but D would do well to learn from that experience.

So out of curiosity, what drew you to D?

It's something new, and since it is in relatively early stages, there is the possibility of trying to influence it to something that would be ideal for me to use. There are a few features that sound good, and when they are fleshed out, it would make certain development activities much easier.
Sep 20 2004