Noah Silva on Mon, 8 Jul 2002 23:32:04 -0400


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Pascal?


On Mon, 2002-07-08 at 14:27, Jason wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On Thursday 04 July 2002 11H:40, Noah Silva wrote:
> > On Thu, 2002-07-04 at 11:09, Leonard Rosenthol wrote:
> > > At 11:12 PM -0400 7/3/02, Noah Silva wrote:
> > > >Very little for C++ (it's just broken! use Objective C!),
> > >
> > > 	Don't get me started on Objective C - it's just WAY TOO WEIRD
> > > and needs to be updated to the 1990's (let alone 2000)...
> >
> > As I understand it, apple is working on this now, as they are sing it
> > for the development of OS X stuff.  C++ was designed to be a temporary
> > solution, and imo, it shows.
> 
> Where did you get this notion?

Several publications said things to this effect, even referring to
whitepapers for the original spec.  If you like and give me a little
time, I can look them up.  

> Also, in a previous post you mentioned that 
> "C++ is broken", why do you say that? 

Well... let me rephrase ;) C++ seems very poorly integrated into C,
probably because it was added as an afterthought.  ObjectPascal wasn't
originally thought of for pascal either (at least in the ISO spec), but
in reality it integrates much better.

> You've mentioned how you think that 
> others have misconceptions about Pascal with no supporting evidence. Where is 
> your support for these statements about C++?

Fair enough.  But most of my complaints about C are opinions.  Many of
the complaints I hear about pascal are [false and/or outdated] facts.  
 
> - From Bjarne Stroustup (the recognized founder of C++) in "The C++ Programming 
> Language":
> The C++ programming language is designed to:
>   -  be a better C
>   -  support data abstraction
>   -  support object-oriented programming
> 
> I've heard the first one many times ("a better C"). I've been using C++ since 
> 1990. I've NEVER heard anyone mention anything about C++ being designed as a 
> temporary solution. I could be wrong, but I've checked the books sitting on 
> my bookshelf.

ok I will try to dig this up then.  One difference between OP and C++ is
that OP doesn't reinvent basic pascal, it is just a superset.  C++ adds
replacement ways to do standard C functions.  
 
> I would suspect that the ObjectPascal still has Pascal as its basis for the 
> same reasons that C++ stems from C, to allow Pascal programmers to add to 
> their knowledge base without having to start over from scratch.

To be sure, but also because the way to so things that aren't OOP
related is the same.  OP really adds syntax elements to the compiler.  

for example, in C you would probably use "printf", yet in C++ you would
likely use "cout".  In pascal, you would probably use "writeln" either
way.  Then I always had warnings from or programming teacher urging us
not to mix C and C++ in the same program.

> You also seemed to be looking for an answer to why there is a perception that 
> C is more portable. I believe that this stems from the belief that just about 
> every system comes with a C (and typically C++ nowadays) compiler. This 
> includes embedded systems. That is probably not the case with Pascal. 
> Granted, most people don't need to run software on embedded systems. But, gcc 
> especially runs on some really obscure platforms.

No I agree here.  One big weakness of Pascal in my mind (or.. well not
of Pascal, but of using pascal on this very day) is lack of good
compilers on all platforms.  A good example is that I would like to use 
pascal compiled programs on my sparc/linux machines, but there is not
yet a sparc/linux target for any good modern pascal compiler (there is
for GPC, but then I said _good_ _modern_ compiler).
 
> Don't get me wrong, Pascal is one of the first languages I learned. And, I 
> liked it. C++ and Java are just more widespread nowadays. Keep promoting 
> Object Pascal / Kylix / etc., though. Some of what you likely encounter is 
> the feeling that Pascal is "not new". Choice is a good thing. And, along 
> those lines, Pearl/Python/Ruby have their place as well.

This is true in the end.  No matter how wonderful pascal could be, C
will certainly always have some place.  

Actually I don't think pascal is the ideal language in every way, but
you have to trade support and standardization for idealism.  Module 3
seems somewhat better designed, but it is still evolving to this day to
the point that I don't know if my m3 program will work with the next
compiler for sure.  (and the same goes for oberon, etc.)  Pascal can
complete cross-platform libraries for windows, DOS, OS/2, windows, etc.,
along with specific libraries for different OS APIs and other packages
and programs.  Modula.. doesn't.  In the end, this is what will keep C++
in power for a long time - just like if a better auction site came out
tomorrow, ebay wouldn't lose much sleep.  

> 
> Java is descended from C/C++. This is well documented, the only immediately 
> available source at the moment is Bruce Eckel's "Thinking in Java", which 
> goes into much detail on the differences between C++ and Java (the rest being 
> extremely similar if not in fact the same). Also, Sun claims that Java was 

Well it steals a lot from a few languages actually, especially as they
steal a lot from each other.  There are certainly elements that came
from C++, but a lot of the syntax is identical (or nearly so) to
ObjectPascal.  

> designed to run on newer and cheaper chipsets with minimal changes. Again, 
> the embedded world comes to mind, although this is probably not where Java is 
> gaining the most acceptance.

Surprisingly, with all the cell phones and PDAs supporting it now, I
don't know.  I would think in the embedded market would be where you
wouldn't have the spare horsepower for non-native code.

> AFAIK, the 1st OOP language is Simula-67, from which most of the newer OOP 
> languages "steal a LOT".

and you can write OOP programs without help from the compiler.  An
"object" (or uhm.. "instance" depending on who you are talking to) is
really just a "struct" (in C terms) of pointers in most implementations,
where some point to function addresses and others point to variable
locations (slightly simplified, but...).  One of my professors spoke of
writing OOP programs manually using this type of method before OOP
languages were common.

> And what is my personal preference? Well, it depends on the project, who I'm 
> working with, what other tools are already being used, etc.

Well likewise, I am not going to contort something that would be trivial
in C (because of existing bindings, etc.) into pascal just because I
like pascal better.  I am also not going to try to write gnome apps in
smalltalk or oberon at this point, no matter how much I may like them.  
 
> I don't have a lot of interest in Pascal at the moment, so I didn't follow 
> these messages initially. Not intending a language Holy War, just trying to 
> keep the playing field something close to what I consider to be level.

Of course!  I don't like holy wars either.  Aside from that, insults
don't win many converts.  I don't know about C++, but it makes sense
that C caught on because at the time, and for what it was being used
for, it was probably one of the best available languages at the time.  
 
> Cheers,
> Jason Nocks



______________________________________________________________________
Philadelphia Linux Users Group       -      http://www.phillylinux.org
Announcements-http://lists.phillylinux.org/mail/listinfo/plug-announce
General Discussion  -  http://lists.phillylinux.org/mail/listinfo/plug