Link to home
Start Free TrialLog in
Avatar of pin_plunder
pin_plunder

asked on

C++ or Delphi. Which is the best?

C++ or Delphi that is the question. I've been programming with both and they are just so great I can't decide on which language to focus.
C++ seems so DOS that I don't like it that much. However, I've heard the best things have been done in C, C++: UNIX, LINUX, DOOM, WOLFENSTEIN, etc, etc.
From my personal experience Delphi is far more easy than C++. With it I've made true my most ambiciuos projects.

I'm really lost here, so I need a word from you experts to know which language is the BEST.

Note: Please tell me which is the best for the following programming categories: Internet, Game, Databases, Windows, DOS, programming.

thanks in advance.

elbarto.
Avatar of EricTetz
EricTetz

> I'm really lost here, so I need a word from you experts to know which
> language is the BEST.

That's up to you. Best for what?

Most fun to program in? That's a matter of taste.. I prefer C++.
Most expressive, powerful language? C++.
Creates fastest executables? They are pretty close.
Used by most programmers? C++ by far.
Simplest? Easiest to write error free programs in? Delphi.
Most portable?  C++ - Delphi is Windows only (Linux version coming..)
Most supporting tools, libraries, literature, ect?  C++ by a landslide.

"Best" depends on what's most important to you.

Also, Delphi is not really a language, it's a RAD (Rapid Application Development) environment for Windows programming.  It's based on Object Pascal, which IS a language.  Borland makes a version of Delphi that uses C++ called Borland C++ Builder which is identical to Delphi, but based on C++ instead of Object Pascal.  So a more meaningful comparison would be between C++ and Object Pascal.

Of the two languages, C++ is more powerful and far more widely used.  Pascal is not that popular these days (with the notable exception of Delphi).  The majority of the applications on your computer are likely have been programmed in C or C++.  This included Windows itself. C++ is fast, expressive, flexible, powerful, etc, etc.

If you intend to seriously pursue a career in programming, I would recommend focussing on C++.  It's more comprehensive and challenging than Pascal.  Knowing C++, learning Pascal is a breeze.  Knowing just Pascal, you still face a learning curve to pick up C++. The popularity of C and C++ has led to their syntax being borrowed by many other languages.  Sun's Java is very similar to C++, and Microsoft's C# is even more so. Both are simpler than C++, so learning C++ can make it very easy to pick up these other languages.

Object Pascal doesn't suck, mind you.  It's a good language - it's very readable, and has some features than C++ does not - like local functions.  Borland's optimizing Pascal compiler is world-class and you can create compact programs that perform every bit as well as  C++ programs.  I even think it might be better suited for a RAD tool like Delphi; Borland C++ has kind of clunky feel to it (IMO) because of an excessive use of pointers.  I own both Delphi and Borland C++ Builder, and I use Delphi much more, even though I'm predominately a C++ programming and do 90% of my work in VC++.  Maybe that tells you something, maybe not.

> C++ seems so DOS that I don't like it that much.

C++ isn't "DOS" anymore or less than Pascal is.  C++ can be used for programming any OS, Delphi is Windows only (until the Linux version comes out).

> From my personal experience Delphi is far more easy than C++.

Yeah, that's because of the RAD environment, which is available for C++ as well.

Cheers,
Eric

Avatar of pin_plunder

ASKER

VC, BCB, BC, TC or what?
>Most fun to program in? That's a matter of taste.. I prefer C++.

I prefer Delphi ...

>Most expressive, powerful language? C++.

C++ is not expressive at all , the code sometime is unreadable (depends on the programmer style), how you define "expressive" ?
How you define powerful ???

                             C++    TPascal 7.1
Support Object                 Y         Y
Support inline ASM             Y         Y
Procedural Lang                Y         Y
OO Lang                        Y         Y
Support Pointer                Y         Y
Support direct mem address     Y         Y
support malloc                 Y         Y

So what is the different ?? The different is : you must declare the variable before the BEGIN of each PROCEDURE/FUNCTION/PROGRAM in Pascal whereas C/C++ is free style programming ... and sometime it confuse you ...

The fact C/C++ is very popular and created earlier, that's why many people use it and contribute many libs.

If you want to compare Pascal and C, well it is quite small, but if you want to compare BASIC with C, maybe that will take 100 chapters.

>Creates fastest executables? They are pretty close.
Used by most programmers? C++ by far.

Depend on what you want to create ...
I like how you say "They are pretty close." ... and that is true ... All exe from Pascal and C/C++ later will be converted to machine specific code / assembly code (ASM), so it depend on how each vendor translate the function/procedure to ASM.
Some of Pascal functions are faster and some of C/C++ functions are faster ...

>Simplest? Easiest to write error free programs in? Delphi.
Most portable?  C++ - Delphi is Windows only (Linux version coming..)

Simplest?
C++ is simplest !! Got a lot of shortcut ...
Pascal doesn't have this :
a = x > 10 ? 1 : 0;  
or, to increase a variable : x++ or ++x, it is really shortcut !

VC++ cannot run in Linux ...?? What actually you talk about ? VC++ or C++, pls don't mix.
Yeah, if you talk about pure C++ your comment is right, but how can you do windows programming in pure C++ ?? He asks about VC++ and Delphi, not pure C++. With MFC, you have to define all the thing one by one ... that is not programming .. very frustating on template making ... spent more time just to create a form with a button and "Hello World" text on it ...

>Most supporting tools, libraries, literature, ect?  C++ by a landslide.

Agree ...

rgds,

Alex
> > Most expressive, powerful language? C++.
>
> C++ is not expressive at all , the code sometime is unreadable (depends on the programmer style), how
> you define "expressive" ?

Expressive... you can say the same thing a dozen different ways in C++.  If could write 40 different
versions of strcpy() in C with all the various operators and shortcuts the language provides.  Pascal
is much more rigid, by design - it was created to teach structured programming.

Powerful... C++ gives you an overwhelming number of options.. C++ does everything that Pascal does and
more. Pascal doesn't suck, I'm not saying that... it's just that C++ does more. For instance, Pascal
doesn't have anything resembling templates, which is one of the most powerful features in C++... it
allows STL which is a monumental achievement in generic programming.

> How you define powerful ???
>                             C++    TPascal 7.1
> Support Object                 Y         Y
> Support inline ASM             Y         Y
> Procedural Lang                Y         Y
> OO Lang                        Y         Y
> Support Pointer                Y         Y
> Support direct mem address     Y         Y
> support malloc                 Y         Y

> So what is the different ?? The different is : you must declare the variable before the BEGIN of each
> PROCEDURE/FUNCTION/PROGRAM in Pascal whereas C/C++ is free style programming ... and sometime it confuse
> you ...

Um, if you think the only difference between Pascal and C++ is where you declare variables in a function,
you don't understand C++.  If you find C++ confusing, then how can you consider yourself qualified to
honestly, objectively compare the languages?  The points you chose to compare are downright weird. "Support
Pointer"? "Support direct mem address"? Uh, OK... whatever.

> The fact C/C++ is very popular and created earlier, that's why many people use it and contribute many
> libs.

C++ was created long after Pascal.

> >Simplest? Easiest to write error free programs in? Delphi.

Simplest?
C++ is simplest !! Got a lot of shortcut ...
Pascal doesn't have this :
a = x > 10 ? 1 : 0;  
or, to increase a variable : x++ or ++x, it is really shortcut !

Shortcuts don't make things simpler! The ternary operator is a common source of errors in C programming.
You don't have it in Pascal. There are TONS of little things like this in C that are commons sources of
subtle errors that don't even exist in Pascal.  In that respect Pascal is simpler.  In that respect Pascal
is easier to write error free programs in. That's all I'm saying.

Look at these expressions:

y = x + 1;
y = ++x;
y = x++;
y = x + x++;

Which requires the least amount of knowledge to understand? Well, anybody can understand the first expression.
Understanding the second and third expressions requires you to understand two new operators that are subtlety
different.  The fourth expression is illegal, but you have to understand "sequence points" to know why.  You
can't even write expression 2,3,4 in Pascal - you are spared than complexity - i.e. Pascal is simpler.

Actually, using ++ and :? operators is a silly way to compare Pascal and C++. C++ is a much richer and more
complicated reason for much bigger reasons than that.

You can view this as a good thing or a bad thing - it depends on your needs.  One of the reasons Java is so
popular these days is precisely it is simpler than C++. Java takes some of the error prone features of
C++ away from you - such as memory management and multiple inheritance.  Microsoft recently invented a
whole new language (C#) that does pretty much the same thing - it looks and smells just like C++, but with
the more error prone features stripped away.  Yes, you lose power, but you also lose complexity,
which Sun and Microsoft believe increases productivity.  The same can be said for Delphi, it's not as
complicated as C++, but many people view that as a good thing, not bad.

> > >Most portable?  C++ - Delphi is Windows only (Linux version coming..)

> VC++ cannot run in Linux ...?? What actually you talk about ? VC++ or C++, pls don't mix.

Who said anything about VC++??! What are YOU talking about?  I don't mix them up at all. C++ is practically
built into Linux. Delphi is Windows only.  (I hear this is changing, that a Linux version of Delphi is on the way).
However, C++ is available on virtually EVERY platform - Mac, Sun, Unix, Linux, DOS, Windows, PalmPilot, PlayStation,
etc, etc.  I could list a 100,000 hardware architectures/OSes supported by C++ compilers.
Delphi runs under Windows. Period.  That was my point.

> Yeah, if you talk about pure C++ your comment is right, but how can you do windows programming in pure
> C++ ??

How do you windows programming in pure Pascal?

> He asks about VC++ and Delphi, not pure C++.

No, he asked about C++ and Delphi.  Read his question.

> With MFC, you have to define all the thing one by  one ... that is not programming .. very frustating on
> template making ... spent more time just to create a form with a button and "Hello World" text on it ...

Where did MFC come into this?  I certainly would be the last person to argue in favor of MFC.. I think Delphi's
class library is much, much better.

Cheers,
Eric
so, Eric, supposing I'm interested in Windows programming (not games or anything, just programs), what would you recommend. Delphi or Visual C++, Borland C++ Builder, or what?

thanks for all your help.
To tell u in short :

C++ is better than Pascal.

It's more "powerful", it's faster, and it's more common.
yeah, got that, but what c++ compiler would you recommend? VC, BCB ...

thanks
> I could list a 100,000 hardware architectures/OSes supported by C++ compilers.

Not really, pal ... not that much ... maybe only 3000-5000 ... Unless you say : "My roasted chicken this morning is powered by BC++ 3.1 and tomorrow will be powered by VC++ 6.0 !!", so I can say : "Well I create my son using Pascal compiler, and it runs pretty ok !"

>Shortcuts don't make things simpler!

Wrong, all shortcut is made so make the code easier and more compact ... but not all make it fast and readable ...
Shortcut will be compiled to the same assembler language, so shortcut it is HUMAN DEFINE tokens :

x = a > 5 ? 1 : 0;

will be translated into Assembler language with same algortihm with :

if (a>5) x=1; else x=0;

So with shortcut u make your program run faster ? NAH !!! Your program looks compact but when it is
compiled, it has the SAME speed ...

What is the different with :

x = x + x++;
with
x += x  ;
or with  
x = x+x ;

Writing code x=x + x++ is wasting asm language !

> If you find C++ confusing, then how can you consider yourself qualified to  honestly, objectively compare the languages?  The points you chose to compare are downright weird.

Someone who cannot differentiate between x+=x; and x = x + x++; told me that I dunno C/C++ ...

************************************************************************

Dear ereszh,  honestly, you are a guy who follow other people's common idea  ... you really need to put your  to really test them, and then you will know and be satisfied ... C language is created long time ago that's why people keep using C (they are used to use it until now, and they keep contributing libraries, and thus making people more like C/C++ than before) ... C/C++ has more built-in functions that is not supported in Pascal simply because less people research and contribute their code in Pascal ...

>"It's more "powerful", it's faster, and it's more common.

Not really faster ... depends on what you create ... depends on what function you use :
clrscr() in C/C++ and clrscr in Pascal do the same thing in Assembler language ... so no of them is faster ...
But cout in C++ and writeln in Pascal do different thing ... writeln is faster !!! cout is built for STDOUT and it must KNOW what is current STDOUT in your system, it can be your monitor or your printer or your modem or what what what blah ... whereas writelen without file argument is dedicated to monitor, so the asm language is more specific, using interrupt 10h only... So, which one is faster ??

All builtin function and code on each compiler will be translated into machine specific code, so "FAST OR NOT FAST" DOESN'T DEPEND ON THE LANGUAGE ITSELF, but depends on the vendor who create the compiler for that language. C++ from Watcom and C++ from Borland will do different thing although they base on ANSI C programming.

Do you know Power Basic ?? The robustness is comparable to Pascal and C/C++ since it support inline Assembler and it compiled into specific machine language too, but the original BASIC/BASICA/GW-BASIC is interpreter and super duper damn slow ... Power Basic is very very very much faster than Quick Basic Compiler from Microsoft or Turbo Basic Compiler from Borland, although they use the same BASIC language .... the point is : Different vendor different compiler implementation.

rgds,

Alex
VC is highly recomended for Windows programming even you can create Windows programming using pure C (with MFC).
Borland C++ Builder is an alternative if you hate M$ product ...
Borland C++ 3.1 is my favourite C++ Compiler in DOS.

Most I use : Turbo Pascal 7.1, it is as faster as C++, and I enjoy it is more readable and debugable (like Eric Tetz said), especially if it takes 6 or 12 months to develop since YOU HAVE TO KEEP TRACKING with your main code.  Some people create a project in a long period, but because of  "long period" you need to keep the track of WHAT YOU HAVE DONE last month or 2 months before, I like C/C++ but because of its original style, after developing 2-4 months my prev code was quite hard to track.

And  for game programming, Pascal is alternative (although people say C++ is the best, but in term of speed, they are very similar since in the real game programming, 50% of your code is in Assembler for graphic optimization) ... visit my homepage at http://www.geocities.com/lexzeus/index2.html, I created many games in Pascal ... You can download the EXE files and try them ... One is RPG like Breath of Fire IV (Playstation) and one is like Street Fighter Puzzle (Playstation-CAPCOM).

rgds,

Alex
> > I could list a 100,000 hardware architectures/OSes supported by C++
> > compilers.

> Not really, pal ... not that much ... maybe only 3000-5000 ... Unless
> you say : "My roasted chicken this morning is powered by BC++ 3.1 and
> tomorrow will be powered by VC++ 6.0 !!", so I can say : "Well I create
> my son using Pascal compiler, and it runs pretty ok !"

It was an exaggeration.  If you were a native English speaker I would
expect that to be obvious. However, I sometimes forget that this is an
international forum and that I should write to the lowest common
denominator - to make sure I'm understood by those who don't speak
English as their first language (as is obviously the case with you,
judging by your spelling and grammar).  I'll try to keep things simpler
in the future.

> Shortcuts don't make things simpler!
>
> Wrong, all shortcut is made so make the code easier and more compact
... > but not all make it fast and readable ...
>

I said simpler. I didn't say anything about easier to code or
compactness.  Yes, you can packing a Quick Sort on a single line by using
operators, shortcut boolean evaluation, increment and decrement
operators, and any other trick you can think of will definitely result in
more compact code.... but will it make it simpler?  NO!  I would make it
damn well impossible to read. Will it generate faster code? NO! It's
likely to generate slower code, as all those tricks tend to default the
compiler's attempts at optimization.

> Shortcut will be compiled to the same assembler language, so shortcut
> it is HUMAN DEFINE tokens :

Wrong again. First, many modern compilers do not generate assembly at
all... why should they? They just generate machine code.  And no,
shortcuts do not always result in the same machine code... as a matter of
fact, some shortcuts (like ternary operator), can actually make it harder
for the compiler to do certain types of optimizations, resulting in LESS
efficient machine code.

>
> x = a > 5 ? 1 : 0;
>
> will be translated into Assembler language with same algortihm with :
>
> if (a>5) x=1; else x=0;
>
> So with shortcut u make your program run faster ? NAH !!! Your program
> looks compact but when it is
> compiled, it has the SAME speed ...
>
> What is the different with :

Wrong again. Neither the C or C++ language say anything about code being
translated into assembler language. As long as you have brought it up,
you should know that none of the 4 compilers on my machine generates
assembly from the C++ source, they all generate machine code directly.
Also, all 4 of them generate DIFFERENT machine code for "x = a > 5 ? 1 :
0" and "if (a>5) x=1; else x=0;".

> x = x + x++;
> with
> x += x  ;
> or with
> x = x+x ;
>
> Writing code x=x + x++ is wasting asm language !

Again, you miss the point entirely. Did you even read my remarks? I
showed "x = x + x++" as an example of an C++ expression that has
undefined behavior.  If you can tell us why, I'll give you the gold star.
If you can't, then please stop posting here.  You're just spreading
erroneous information, and to a newbie who doesn't know any better.

> > If you find C++ confusing, then how can you consider yourself
> qualified to  honestly, objectively compare the languages?  The points
> you chose to compare are downright weird.
>
> Someone who cannot differentiate between x+=x; and x = x + x++; told me
> that I dunno C/C++ ...

You've already shown that it is YOU who cannot differentiate. Like I said
in the post AND the one before it, the behavior of "x = x + x++" is
undefined by the language, so you cannot say it's equivalent to "x+=x".

> Dear ereszh,  honestly, you are a guy who follow other people's common
> idea  ... you really need to put your to really test them, and then you
> will know and be satisfied ...

Uh, OK, whatever. I've been programming C++ professionally for years.  I
guess you could consider than a bit of "testing".  I've also used Delphi
professionally.  I feel pretty well qualified to draw comparisons.  If
you want to discuss things on their technical merits, then I'm all ears.
If you want to start flaming with personal attacks, then just shut the
hell up.. we don't want to hear it.

> C language is created long time ago that's why people keep using C
> (they  are used to use it until now, and they keep contributing
> libraries, and thus making people more like C/C++ than before) ...
> C/C++ has more built-in functions that is not supported in Pascal
> simply because less people research and contribute their code in Pascal

There are hundreds of languages (not an exaggeration) that were created
"a long time ago".  Why aren't they still being used?  There's a reason
why C and C++ are so popular. Pascal has been around much longer than
C++, or Java, or Perl.  Why is not more popular than them?  Longevity has
nothing to do with it.

>"It's more "powerful", it's faster, and it's more common.
>
> Not really faster ... depends on what you create ... depends on what
> function you use : clrscr() in C/C++ and clrscr in Pascal do the same
> thing in Assembler language ... so no of them is faster ...

See, there you go opening your mouth again... Neither C or C++ has a
function called clrscr().  Don't believe me? Check the standard.

> But cout in C++ and writeln in Pascal do different thing ...

So why are you comparing them?!

> writeln is faster !!!

So?! You already said they are different things, so at this point your
comment is liking saying "My orange is faster than your paint brush".
It's a nonsensical statement.

> current STDOUT in your system, it can be your monitor or your printer
> or your modem or what what what blah ... whereas writelen without file
> argument is dedicated to monitor, so the asm language is more specific,
> using interrupt 10h only... So, which one is faster ??

What does interrupt 10h do on a Sparc Workstation?  What does it do on a
Palm Pilot? Does a PlayStation even have such a thing as interrupt 10h?
If you don't know the answers to these questions, they why are you
spamming this discussion with arguments that you pull out of your butt?

> All builtin function and code on each compiler will be translated into
> machine specific code, so "FAST OR NOT FAST" DOESN'T DEPEND ON THE
> LANGUAGE ITSELF,

In theory, this is true. In practice, it is not.  C was specifically
designed to be easily translated into efficient machine code. Many other
languages were not (that was definitely not a design goal of Pascal).

Also, because of the popularity of C and C++, a lot of work has gone into
compiler technology for those languages.  Excellent optimizing compilers
exist, whereas the same cannot be said for many other languages.

In that sense, the language does make a difference.

Smelly XMas,
Eric

---------
"It's better to keep your mouth shut and have people think you're an
idiot than to open your mouth and prove it."
- Anonymous
You SAID :

Wrong again. First, many modern compilers do not generate assembly at
all... why should they? They just generate machine code.  And no,
shortcuts do not always result in the same machine code... as a matter of
fact, some shortcuts (like ternary operator), can actually make it harder
for the compiler to do certain types of optimizations, resulting in LESS
efficient machine code.

I SAY :

MACHINE CODE IS ASSEMBLY LANGUAGE !!! IF YOU DON'T KNOW THAT DON'T TALK ... in DOS environment, ASM is Machine Language !! Even if you use Linux in Intel Pentium or 8088/286/386/486i basis processor, it uses the same ASM langage ... PLEASE LEARN WHAT IS ASM LANGUAGE FIRST BEFORE TRYING TO DEBATE ME !

In binary code (*.exe, *.com), assembly code will be turned into number, so for example 05 07 99 means MOV AX, 99, so MOV always 05h and 07 is register for AX. YOU CAN DEBUG EXE FILE FROM DEBUG.EXE (DOS) SINCE THEY ARE PURE ASSEMBLY LANGUAGE, and this is what Hackers do !!!.
Do you know how to remove password protected in many games ? They simply change JNE (Jump if not equal) with JE (Jump if equal), and I have done this more than 30 times !!!

So, if you create a *.cpp or *.c file and you compile it, what you get from it ?? A text (*.txt) file huh ??? OF COURSE NOT !! It is EXE file (if you talk about DOS).

I agree with you if you say "MACHINE LANGUAGE is no equal with ASM" in term of Microcontroller or Motorolla's processor. They are using different kind of ASM language.

>First, many modern compilers do not generate assembly at
all

Yes, the example is JAVA, I agree ... but Java is damn slow if you compare it with *.exe or *.com, why ? because Java is not compiled to machine specific code, it just transfered into Java Bytecode then JVM will interprets those binary ... the result is : it can runs on every platform that support java (Simply because the code is not transfered into machine specific code).

About token as HUMAN DEFINED, I say that is TRUE !!! If you say I'm wrong it means you don't have any basic knowledge about compiler.
Token is defined by programming language creator (C, C++, Pascal, Fortran, Basic, etc), and that is rule.
Example of token :

statement ~- :
   for {var} := {var|number|expression} to var|number|expression} do
   {begin}
      {statement}
   {end;}

is to describe for looping in Pascal programming, every body can define they own token so new programming language will be born :

statement ~- : PLEASELOOP {var} FROM {var|number|expression} UNTIL {var|number|expression}
               {statement}
               ENDLOOP

Above is example of token if I want to make a new compiler, so this will be a valid statement :

PLEASELOOP x FROM 10 UNTIL 200
print x
ENDLOOP

>ee, there you go opening your mouth again... Neither C or C++ has a
>unction called clrscr().  Don't believe me? Check the standard.

Your brain is full damaged ...
this is my code when I learn C++ on 1991 :

#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int  z=0,x,y,i,i2,j;
char ch='#';

void printfz(char c) {
textcolor(random(5)+9);
cprintf("%c",c);
}

void main(void)
   {
   clrscr();
   gotoxy(1,1); printf("Put any number (1-10) : ");
   gotoxy(1,2); printf(">");
   do { gotoxy(2,2);
        scanf("%d",&z);
      } while ((z>10) || (z<0));
   clrscr();
   while(!kbhit()) {
   x=40; y=12;
   for (i=1;i<=z;i++) {
      j=i%4;
      switch(j) {
        case 0 : {
                 for(i2=1;i2<=i;i2++) {
                   gotoxy(x,y);
                   printfz(ch);
                   x-=2;             }
                 }
                 break;
        case 1 : {
                 for(i2=1;i2<=i;i2++) {
                   gotoxy(x,y);
                   printfz(ch);
                   y-=1;             }
                 }
                 break;
        case 2 : {
                 for(i2=1;i2<=i;i2++) {
                   gotoxy(x,y);
                   printfz(ch);
                   x+=2;             }
                 }
                 break;
        case 3 : {
                 for(i2=1;i2<=i;i2++) {
                   gotoxy(x,y);
                   printfz(ch);
                   y+=1;             }
                 }+
                 break;
      } /* end of switch */
      delay(5);
      } /* end of for    */
   } /* end of while */
   }

The code contain clrscr() ! I open my mouth again ?? You don't have brain ... or you re just newbie who tried to give explaination ...
You don't beleive ? Please COPY MY CODE AND RUN IT ON Borland C++ 3.1, if you don't see anything, please ask your wife to do surgery on your eye or your butt.

>Wrong again. Neither the C or C++ language say anything about code being translated into assembler language.

Because you never knew it !!! Every C/C++ programmer know it well except YOU !
Assembler what I mean here is machine specific code, so it has different implementation on each machine : in Intel basis MOV AX, BX means BX move to AX, it is reverse in Motorolla processor which means AX move to BX.

Don't say I'm wrong if you don't know the truth ... you're very shame then ...

>So why are you comparing them?!
>So?! You already said they are different things, so at this point your
comment is liking saying "My orange is faster than your paint brush".
>It's a nonsensical statement

A newborn C/C++ programmer like you want to scold me .... how sad ...
Have you really compare them ? Do you know how writeln() in Pascal works ? Seeing your comment, I REALLY KNOW THAT YOU DON'T KNOW HOW writeln() actually do !!! Yes, you know writeln() without file argument is to print something to monitor, but what is inside writeln(), do you really know ?? It is assembly language !!!


YOU SAID :

What does interrupt 10h do on a Sparc Workstation?  What does it do on a
Palm Pilot? Does a PlayStation even have such a thing as interrupt 10h?
If you don't know the answers to these questions, they why are you
spamming this discussion with arguments that you pull out of your butt?

I SAY :
So, you know how to do programming in PlayStation ?? What a big mouth !! You don't know the basic of ASM how can you know C programming in PS ... new born c(++) like you know absolutely nothing !!
I said writeln() in Turbo Pascal 7.1 !! PS got Pascal in it ??
Intrupt 10h is for Intel processor, like I said, what compiler do is to transform human code to machine code, so different OS and different platform will result in different machine code !!! Maybe other machine use different int, so what ? IT STILL TURNED INTO MACHINE SPECIFIC LANG !


YOU SAID :
In theory, this is true. In practice, it is not.  C was specifically
designed to be easily translated into efficient machine code. Many other
languages were not (that was definitely not a design goal of Pascal).

I SAY :
Dear pal, it really depend on the vendor, but all compiler do the same thing :
IT COMPILE HUMAN CODE TO MACHINE SPECIFIC CODE, SO WHEN YOU COMPILE C CODE IN SPARC IT WONT WORK ON INTEL BASIS !!!

>Many other languages were not (that was .....

Do you have proof ? Don't talk if you don't know !
You know how to make compiler is it ? Tell me how then !! So you're smarter than Borland who created Turbo Pascal 7.1, and you say "THAT IS NOT OPTIMIZED" ?? Dear big mouth, please fix my Turbo Pascal 7.1 so it become fully "OPTIMIZED" ... !!!

*************************************************************

"It's better to keep your mouth shut and have people think you're an
idiot than to open your mouth and prove it."

That is working perfectly for you idiot ... knowing nothing but try to debate someone else ...
It is shame of me to reply you with such of emotion, sorry ...

best rgds,

Alex
Oh, man, I'm so embarrassed for you!  Every time you open your mouth, you just dig the
hole a little deeper....  why don't you just stop now, and spare yourself further
embarrassment? Or, no, I take that back - reading your last post was the best laugh
I've had in a long time... please keep the jokes coming!

> I SAY :
>
> MACHINE CODE IS ASSEMBLY LANGUAGE !!! IF YOU DON'T KNOW THAT DON'T TALK ... in
> DOS environment, ASM
> is Machine Language !! Even if you use Linux in Intel Pentium or
> 8088/286/386/486i basis processor,
> it uses the same ASM langage ... PLEASE LEARN WHAT IS ASM LANGUAGE FIRST > BEFORE
> TRYING TO DEBATE ME
> !

No, assembly language is NOT machine language (where do you get this stuff?).  Assembly
language is a programming language for humans. You cannot feed a CPU assembly language.
You must first use an assembler to translate the assembly statements into machine code.
Machine code is binary data that the CPU understands.  Two different things:  Assembly
language = for humans, Machine code = for machines.  You have demonstrated remarkably
low reading comprehension, so I suggest you read the above paragraph over and over
until it sinks in.  
> In binary code (*.exe, *.com), assembly code will be turned into number, so > for
> example 05 07 99 means
> MOV AX, 99, so MOV always 05h and 07 is register for AX. YOU CAN DEBUG EXE > FILE
> FROM DEBUG.EXE (DOS)

Yes DEBUG.EXE can disassemble executable code - translating machine code back in the
assembly language mnemonics. So?  What does that have to do with your ignorant claim
that assembly language and machine code are the same thing?  The fact is that 05 07 99
does NOT mean "MOV AX, 99" on a PlayStation, or an Alpha processor, or a PalmPilot, or
my microwave.  Therein lies the difference between assembly language and machine code.
Again, read and re-read this paragraph until is sinks into that slow moving brain of
yours.

> SINCE THEY ARE PURE ASSEMBLY LANGUAGE, and this is what Hackers do !!!.

An EXE is pure assembly language, huh? And my mom is President Clinton.  Like I said,
stop embarrassing your self.

> Do you know how to remove password protected in many games ? They simply > change
> JNE (Jump if not equal)
> with JE (Jump if equal), and I have done this more than 30 times !!!

No, you cannot go into an executable and change JNE to JE... you can go into an
executable and change a number from 0x75 to 0x74 (for example)... two different things.
I don't expect you to know the difference, but I can suggest some good books for you if
you would like to read up.  I'll see if I can find any books rated suitable for a
fourth grade reading level.

> So, if you create a *.cpp or *.c file and you compile it, what you get from it
> ?? A text (*.txt) file
> huh ??? OF COURSE NOT !! It is EXE file (if you talk about DOS).

Right? So? Is this just schizophrenic spewing or do you have a point?

> > First, many modern compilers do not generate assembly at
all
> Yes, the example is JAVA, I agree ... but Java is damn slow if you compare it
> with *.exe or *.com, why ? because Java is not compiled to machine specific
> code, it just transfered into Java Bytecode then JVM will interprets those
> binary ... the result is : it can runs on every platform that support java
> (Simply because the code is not transfered into machine specific code).

Not what I was talking about at all. I was talking about modern C and Pascal compilers
(and others).  For instance VC++ has an /FA option which instructs the compiler to
generate an assembly listing.  By default, this option is turned off, no assembly
listing is ever generated - the compiler outputs machine code (object files,
executables, etc).

> About token as HUMAN DEFINED, I say that is TRUE !!! If you say I'm wrong it
> means you don't have any basic knowledge about compiler. Token is defined by
> programming language creator (C, C++, Pascal, Fortran, Basic, etc), and that > is
> rule.
> Example of token :
>
> statement ~- :
>   for {var} := {var|number|expression} to var|number|expression} do
>   {begin}
>      {statement}
>   {end;}
>
> [snipped - even more inaccurate information]

What you're describing is a grammar, not a token.  To illustrate: C++ has the following
tokens: identifier, keyword, literal, operator, and punctuator (ISO IEC 14882-1998
2.6).  A formal grammar describing a 'for' statement would include at least one of
these tokens - the keyword 'for'.  That does not make a 'for' statement a token. Again,
it's not surprise that you don't know the difference, your thinking is so fuzzy about
everything else.

> >ee, there you go opening your mouth again... Neither C or C++ has a
> >unction called clrscr().  Don't believe me? Check the standard.
> Your brain is full damaged ...
> this is my code when I learn C++ on 1991 :

Oh, man, you just HAD to go and post code, didn't you? This is the most embarrassing
thing yet!

> #include <dos.h>
> #include <stdio.h>
> #include <conio.h>
> #include <stdlib.h>

dos.h and conio.h - neither are standard C or C++ headers. Look like Borland headers to
me. Demonstrates that you don't know the difference between C++ and it's standard
library, and extension libraries provided by a particular compiler vendor.

> int  z=0,x,y,i,i2,j;
> char ch='#';

Legal, but horrendous variable names.  I'm glad I'll never have to work with you.

> void printfz(char c) {
> textcolor(random(5)+9);
> cprintf("%c",c);
> }

Wow! 0 for 3! textcolor, random and cprintf - none of these are part of standard C or
C++.

> void main(void)

"void main" is totally illegal.  Here's a couple newbie FAQs that might help you
understand why:

http://www.faqs.org/faqs/C-faq/faq/
http://home.att.net/~jackklein/ctips01.html#int_main

>   {
>   clrscr();
>   gotoxy(1,1); printf("Put any number (1-10) : ");
>   gotoxy(1,2); printf(">");
>   do { gotoxy(2,2);
>        scanf("%d",&z);
>      } while ((z>10) || (z<0));

Neither clrscr() or gotoxy() are standard C or C++.

>   clrscr();
>   while(!kbhit()) {

Ditto for kbhit().

> [snip - more code for doing some stupid character mode spiral character crap]
>
>
> The code contain clrscr() ! I open my mouth again ?? You don't have brain ... > or
you re just newbie who tried to give explaination ... You don't beleive ?
> Please COPY MY CODE AND RUN IT ON Borland C++ 3.1, if you don't see anything,
> please ask your wife to do surgery on your eye or your butt.

Again, sadly, it comes down to reading comprehension.  I'll repeat what I said,
"Neither C or C++ has a function called clrscr().  Don't believe me? Check the
standard."  Try reading this sentence until it makes sense. If that never happens try
to find someone smarter to explain it to you.

> > Wrong again. Neither the C or C++ language say anything about code being
> translated into assembler language.
>
> Because you never knew it !!! Every C/C++ programmer know it well except YOU !
> Assembler what I mean here is machine specific code, so it has different
> implementation on each machine
> : in Intel basis MOV AX, BX means BX move to AX, it is reverse in Motorolla
> processor which means AX move to BX.

Dear, dear, this is getting really sad.  Again, re-read my sentence. Then show me the
clause in the C or C++ language specification than says that source code must be
translated into assembler -  I will pay $100,000 for any verifiable quote from the
standard.

> Don't say I'm wrong if you don't know the truth ... you're very shame then ...

"you're very shame then..." can you even speak English properly?

> >So why are you comparing them?!
> >So?! You already said they are different things, so at this point your
> comment is liking saying "My orange is faster than your paint brush".
> >It's a nonsensical statement
> A newborn C/C++ programmer like you want to scold me .... how sad ...
> Have you really compare them ? Do you know how writeln() in Pascal works ?
> Seeing your comment, I REALLY KNOW THAT YOU DON'T KNOW HOW writeln() actually do
> !!! Yes, you know writeln() without file argument is to print something to
> monitor, but what is inside writeln(), do you really know ?? It is assembly
> language !!!

Compare what? writeLn() vs cout? Cout is a large, complicated object... writeLn() is a
simple procedure. You could pick a particular method of istream to compare against
writeLn(), but which method would you pick and why?  You're much better of picking
something <stdio.h> to  about.

> YOU SAID :
>
> > What does interrupt 10h do on a Sparc Workstation?  What does it do on a
> > Palm Pilot? Does a PlayStation even have such a thing as interrupt 10h?
> > If you don't know the answers to these questions, they why are you
> > spamming this discussion with arguments that you pull out of your butt?
>
> I SAY :
> So, you know how to do programming in PlayStation ?? What a big mouth !!

I spent the last year programming for PlayStation.  Go buy Looney Tunes Racing by
Infogrames and check the credits.

> You don't know the basic of ASM how can you know C programming in PS ...

Very good question.  Makes you wonder who's got their head up their ass doesn't it?

> new born c(++) like you know absolutely nothing !!

Um, OK, whatever.

> I said writeln() in Turbo Pascal 7.1 !! PS got Pascal in it??

Why not? You could target a Pascal compiler to generate R3000 MIPS machine code.

> Intrupt 10h is for Intel processor, like I said,

You never said that. Just making stuff up again, huh? You said that writeLn in Pascal
is implemented as inturrupt 10h.. which is true only on one platform, and possible only
one compiler.

> > Many other languages were not (that was .....
>
> Do you have proof ? Don't talk if you don't know !

Proof of what? Do you even know what I said?  Can you repeat it in your own words?

> You know how to make compiler is it?

Yes, I have written a compiler.

> Tell me how then !!

In an EE post? Not possible. I would recommend you pick up "The Dragon Book":

   Principles of Compiler Design
   A.V. Aho, J.D. Ullman
   ISBN 0-201-00022-9 (3. ed., pub. 1979)

This is still pretty much the standard introductory compiler design book, as old as it
is.  If you need more help, check out the newsgroup comp.compilers.

> So you're smarter than Borland who created Turbo Pascal 7.1, and you say "THAT IS NOT
OPTIMIZED" ??

Where did I say that? Please don't make stuff up, it just makes you look more and more
like a raving lunatic.
**?

Have a nice day,
Eric

LexZEUS / Alex:

You sound like a smart guy (if u know assembly :)
So first, I don't follow anybody.
I just HATE Pascal.
Second,
Yes C is faster. Of course in some specific cases Pascal might be faster, but that depends on the programmer.
But after all, in avrerage C++ is faster.
But that's not only speed. C++ also has a better source code. It's simply better.

I agree assmbler is machine-code, but it isn't percise.
Assembler's "codes" are machine-code, but keywords like DB or PROC or ASSUME is not machine-code.

I know writeln is faster than stdout, but that's the beauty of C++, because u can easily write directly to screen.
As I recall:
unsigned char (* far)Scr=MK_FP(0xB800,1);
*scr='1';
scr++; //Same as INC. Faster the ADD
scr++;
*scr='2';
//prints "12" on screen

and so on...
It can be done with a loop of course, and believe me - it's faster the writeln!!!

Oh, and PowerBasic - there's no one keyword i don't know.
And it's not necessarily faster than Qbasic.
As u said - it depends.

   Erez.
> I agree assmbler is machine-code, but it isn't percise.

Assembly code (text):

   push ax
   pop ax

Machine code (binary data):

   01010000
   01011000

See the difference? One is a human readable text. The other is machine readable binary
data.  No CPU understands assembler - you cannot feed it an assembler listing. You must
first use a program called an assembler to translate the assembler listing into machine
code.

> Assembler's "codes" are machine-code

No, assembler statements are translated into machine-code by an assembler.

It sounds like your logic is: "well, assembler is translated into machine code, so
assembler and machine code can be considered the same thing." By that logic, you could
say that the following C++ code is machine language:

for (int i = 0; i < 10; ++i)
  cout << i;

Because, after all, it get's translated into machine code by the compiler, right?

Cheers,
Eric
ping :-)
hey, too much talk here. Did you forget I made a question long ago??
So ...
please tell me which is best. VC, BCB or what?

thanks.
This is getting tiresome.  You just keep rehashing the misinformation over and
over again.  This time I'll just pick the highlights rather than try to point out
every error (it would take too long).

> ASM IS MACHINE CODE AND MACHINE CODE IS ASM

What more can I say? I've already explained in terms a dog could understand, so
we'll just call it quits on this topic.  If you would like to get it explained to
you by hundreds of other assembly language programmers, I suggest you go to
alt.lang.asm or comp.lang.asm.x86 and post the question, "Is assembly code and
machine code the same thing?".  If you don't believe me, perhaps you will believe
them.

> So when I said Assembly language it REFERS to Intel Basis.

LOL! So untrue! Post the comment on alt.lang.asm and watch the laughter roll.

> ASM is terminology that is exist on intel basis processor.

Wrong!

> Of course don't say about assembly in Motorolla processor (I never heard
> someone call them "ASSEMBLY LANGUAGE" !!)

Ahh.. I see, because YOU haven't heard of it, it must not be true.

> ASSEMBLY  BOOK, and see what Processor you must have in order to enable you to
> learn !!! AT LEAST, IT IS8088 !!!

Wrong, wrong and again, wrong.  You can program assembly for anything that has a
CPU.  On some platforms, you don't even have a compiler for a high-level language
like C - you MUST program in assembler (like GameBoy programming).  Saying that
assembly means Intel, or that you must learn on an 808x processor is complete and
total bullshit.  I learned on a R3000 MIPS CPU.

> > No, assembler statements are translated into machine-code by an assembler.
> Glad you say that you at least say that I'm right !!

I'm not saying you're right. You claim assembler and machine code are the same
thing.  This is false.  An assembler statement (PUSH AX) get's translated into a
machine code for a particular CPU by an assembler program.  It get's TRANSLATED
into machine code. Why would assembler statements need to be translated into
machine code if they already are machine code?!  How can I say this more
explicitly or clearly?

> > Compare what? writeLn() vs cout? Cout is a large, complicated object...
> > writeLn() is a simple procedure. You could pick a particular method of
> > istream to compare against writeLn(), but which method would you pick and
> > why? You're much better of picking something <stdio.h> to  about.
> THAT'S WHY !!! I SAID FAST OR NOT DEPEND ON THE FUNCTION YOU USE !!!

But 'cout' is not a function, it's an object - an instance of the ostream class.
You cannot compare a procedure to a class, it's comparing apples and oranges.
You could pick a particular method of the istream class, but... I already said
all this and more, and you obviously did not get it, so what else is there to
discuss?

> void main(void) {

"void main(void)" is not even valid C. But I already said that, too.  If I type
everything in CAPITAL LETTERS will that make it easier for you to read?

> Hei Tetz, I wish you're like this man !! REALLY SMART AND UNDERSTANDING !! NOT
> LIKE YOU NEWBORN PROGRAMMER!!!

Oh, I see, all I have to do is agree with you and I you will consider my "smart
and understanding".  Well, just saying something that isn't total BS and I'll
agree.

> > I spent the last year programming for PlayStation.  Go buy Looney Tunes
> > Racing by Infogrames and check the credits.
>
> Ha ha ha ... as background singer ??? Or you use your costume to replace
> tasmanian devil in tiny toon

Uh, you're getting weird again. Like I said, check the credits.  Look under the
"programmers" section.

> He is not mentioning ANSI C at all !!! so why you want to program in ANSI C
> whereas even don't have gotoxy in it??? FROM EARLY DISCUSSION, I NEVER TALK
> ABOUT ANSI C, I WAS TALKING TO COMPARE BC++ 3.1 and TURBO PASCAL 7.1,

He didn't mention assembly, BC++ 3.1 or Turbo Pascal either, that hasn't stopped
you from talking about those, has it?  And you never said BC++ in your previous
post... you said C++.  Don't attack me because you are unable to communicate
clearly.

> MAYBE YOU EAT YOUR BREAD MIXED WITH YOUR SHOES ??? OK, DON'T  MESS EVERYTHING,
> PAL !! C I REFER HERE IS BC 3.1 AND PASCAL IS TP 7.1, ASSEMBLY I SAID IS USING
> DEBUG.EXE  AND DELPHI I REFER IS BORLAND DELPHI 5 AND VC++ IS MICROSOFT VISUAL
> C++ 6.0, IS THAT CLEAR ?? DON'T SAID THE DELPHI FROM Playstation or Visual C
> from your underwear, I will never discuss it !!!

Eat bread mixed with shoes? Visual C from your underwear? Um, whatever gets
you off (freak).

> PLEASE EAT YOUR BREAD WITH SAUSAGE, NOT WITH UNDERWEAR IN IT!!!

LOL!!!! Dude, you rule! I mean it!

> > What you're describing is a grammar, not a token.  To illustrate: C++ has
> > the following tokens: identifier, keyword, literal, operator, and punctuator
> > (ISO IEC 14882-1998 2.6).  A formal grammar describing a 'for' statement
> > would include at least one of these tokens - the keyword 'for'.  That does
> > not make a 'for' statement a token. Again, it's not surprise that you don't
> > know the difference, your thinking is so fuzzy about everything else.
>
> HEY TETZ, THAT IS WHY I SAID "FOR STATEMENT" IS TOKEN!!!

Um, OK, this proves it - you're either not even reading these points. I have a
long paragraph describing why a 'for' statement is NOT a token, which you
immediately follow with "that is why I said 'for statement' is token". Simply
bizarre.

> THE INTERPRETATION OF EACH TOKEN DEPENDS ON HOW VENDOR DETERMINE THEM!!

Wrong again. The language standard specifies in some detail what each token in
the language is.  This is not up to the vendor.

> {statement} ~- ...
>
> it means statement is token !!!

In the parlance of language grammar definitions, 'statement' would be referred to
as a "nonterminal symbol"; it represents a particular GROUPING of tokens.  By
it's very definition, it is NOT a token.  Of course, once again, I already said
this, so we are just spinning our wheels, aren't we?

> Wow! 0 for 3! textcolor, random and cprintf - none of these are part of
> standard C or C++.
>
> I'm not talking about ANSI C moroon!

Then you should have said so (by the way, what's a moroon?).

> I TALK ABOUT BC++ 3.1 And PIN PLUNDER ALSO NEVER MENTIONED ABOUT ANSI C !!

He said C++. He didn't say "should I learn Delphi or BC++ 3.1"?

> > It can be done with a loop of course, and believe me - it's faster the
> > writeln!!!
>
> Oh man I agree ... I also can do that in PASCAL, no need writeln :
>
> uses crt;
> Var   buff : array [0..3999] of byte absolute $B800:$0000;
> BEGIN
> buff[0] := 65;
> buff[1] := 15;
> readkey;
> END.
>
> Will print "A" on the top left corner with bright white color ..
>
> Ok ? Now it is faster than textcolor() and writeln() in Pascal .... So fast or
> not depends on how you program it ... Am I correct ?? I beleive this time poor
> Tetz will argue again that this will not works on Motorolla or in his
> Playstation ... how sad ...

You can't do this with a Windows compiler either - this is a DOS-only trick.  It
will work under Windows, but only if you make the console window full screen.
Windows runs DOS programs in a "virtual" DOS machine.  When in windowed mode,
this includes virtual VGA hardware, at which point your "fast" VGA memory
accessing technique is actually going to be slower than if you simply used
Windows console API routines.  This changes when you go full screen -  Windows
steps out of the way and lets you access the hardware directly, so you get the
speed you expect.

When full screen in Windows, or running under DOS, this is going to be the
fastest method possible, naturally.  You're writing directly to video RAM. Any
other method you could use, whether it's vendor supplied library routines, DOS
routines, BIOS routines, whatever... in the end, they will have to write the same
two bytes to the same locations in video ram, and they cannot do this any faster
than you can.

Cheerios,
Eric

Hmmm ... it is your speciality to seek the hole of my comment so you can debate me simply because I don't know english, yes ... you can take advantage from that ...

ERIC IS A BIG LIAR !!! AND THE ONE WHO IS THE "BULLSHITER" :

"The assembly language is composed of mnemonics which are a small group of letters that REPRESENT a command in machine language. For example, MOV is a mnemonic that basically MOVes a value somewhere. In the Intel assembly format, WHICH IS the STANDARD for IBM PCs, the mnemonic comes first, then the destination, then the source. "
http://www.ice-digga.com/programming/vul-0.html

So ASM is refer to intel basis, other Assembly languages may be exist in other processor but the name may not Assembly Language ... Please go to search engine and search for ASSEMBLY LANGUAGE, they always refers to x86, 808x, or intel basis  processor !!
Oh sad, I don't want to argue with idiot like you ...

>LOL! So untrue! Post the comment on alt.lang.asm and watch the laughter roll.

Yes, even your dog will laugh at you until it dies !!! Talking without proof !!

>Wrong, wrong and again, wrong.  You can program assembly for anything that has a CPU.  On some platforms, you don't even have a compiler for a high-level language like C - you MUST program in assembler (like GameBoy programming).  Saying that assembly means Intel, or that you must learn on an 808x processor is complete and total bullshit.  I learned on a R3000 MIPS CPU.

Who tell your that the machine code in R3000 MIPS CPU is called Assembly Language ?? Give me the title of your book that said that !! OR AT LEAST GIVE ME URL THAT MENTION YOUR COMMENT !!! IF R3000 MIPS ADOPT INTEL BASIS PROCESSOR (USE AX, BX, ... DX, SAME FLAG REGISTRY), SO IT IS NOT WRONG IF IT CALLED ASSEMBLY LANGUAGE !!! EVEN CYRIX AND AMD PROCESSOR ALSO ADOPT INTEL BASIS PROCESSOR. I'M NOT FAMILIAR WITH r3000 or what CPU !!

>Wrong again. The language standard specifies in some detail what each token in the language is.  This is not up to the vendor.

YES STUPID !!! THAT IS DEPEND ON VENDOR !!! YOU DON'T BELEIVE ME ?? COMPARE THE SQL STRUCTURE LANGUAGE in ANSI-SQL, ORACLE's SQL, MySQL, AND Microsoft SQL SERVER !!! ALTHOUGH THEY ARE ADOPTING THE SAME ANSI-SQL, BUT EACH VENDOR ADD THEIR OWN FEATURE ON PARTICULAR SQL STATEMENTS !!! DON'T TALK IF YOU DON'T KNOW !!! THIS IS THE PROOF !!!! YOU DON'T KNOW BUT KEEP DEBATING ME !!! YOU'RE REALLY THE ONE WHO ARE BIG BULLSHITER !!!!!
EVEN HTML IMPLEMENTATION IS DIFFERENT BETWEEN EVERY BROWSER (BY VENDORS), HOW CAN DIFFERENT VENDOR IMPLEMENT THE SAME LOGIC FOR ONE PROGRAMMING LANGUAGE WITHOUT ITS OWN ADDITIONAL FEATURE ? THE FEATURE CAN BE IN THE LIBS OR ADVANCING THE ORIGINAL SYNTAX.

HAVE YOU LEARNED PROLOG or VP-EXPERT ? DO YOU KNOW WHAT IS RULE AND WHAT IS TOKEN ???

{statement} is token since it represent rule or another token and then it can be reuse inside another definition !! If you still don't know what it means, please ask your dog to explain it ... Maybe it can explain to you in proper english.

>Oh, I see, all I have to do is agree with you and I you will consider my "smart and understanding".  Well, just saying something that isn't total BS and I'll agree.

You're the one who bullshit, now what can u said ?? Huh ??
A BIG LIAR, A BIG BULLSHITER !!

>Uh, you're getting weird again. Like I said, check the credits.  Look under the "programmers" section.

Everyone who has expertese in programming can do that !! CAN YOU MAKE GAME LIKE STARCRAFT (WHICH IS MADE BY LARGE TEAM->Blizzard AND NEED 1 YEAR TO FINISH ?). I HAVE MADE SIMILAR STRATEGY GAME WITH ONE MAN POWER (ME ONLY) IN SIXTH MONTH !!! NOW, CAN YOU BE PROUD OF YOURSELF ???
THIS I GOT THE PROOF !! I EVEN PUBLISH THE SOURCE CODE IN MY HOMEPAGE !!

MAKING GAME IS A HOBBY !! AND DON'T BE PROUD OF YOURSELF IF YOU CAN MAKE ONE OF THEM !! MANY PEOPLE CAN DO THAT TOO, NEWBIE !! WHICH PART YOU CODE IN THAT GAME ?? ALL ?? I GUESS NO !! MAYBE IT JUST THE SOUND OR THE GRAPHIC ... BUT HONESTLY, PROGRAMMING IS AS EASY AS ONE TWO THREE IF YOU GOT A LOT OF EXERCISE !! MAKING GAME DOESN'T NEED VERY SMART BRAIN, BUT A LOT OF EXERCISE !!! BUT SEING YOUR COMMENT, NOW I BELEIVE THAT YOU'RE IDIOT ... AND BOASTFUL BIG BULLSHITER ...

>> I TALK ABOUT BC++ 3.1 And PIN PLUNDER ALSO NEVER MENTIONED ABOUT ANSI C !!

>He said C++. He didn't say "should I learn Delphi or BC++ 3.1"?

See pin plunder comment :
"VC, BCB, BC, TC or what? "

How can I refer ANSI-C if he asks about VC, BC and TC ??
I CONSIDER HE AUTOMATICALLY KNOW THAT clrscr() I MENTIONED IS IN BC++ SINCE HE ALREADY MENTIONED THAT COMPILER ! YOU'RE THE ONE WHO ALWAYS COMPARE MY COMMENT WITH ANSI C !! ON THE VERY START, MY CODE AND MY EXAMPLE AND MY COMPARATION ALWAYS REFER TO WHAT PIN PLUNDER MENTIONED !!! WHO IS THE STUPID WHO TALK ABOUT ANSI C ?? IS HE VERY PROUD OF HIMSELF THAT HE KNOWS ANSI-C SO HE WANT TO TALK ABOUT IT TO DEBATE ME ? YOU SAY standard C doesn't have clrscr(), who say it has ? BUT BC++ 3.1 HAS !! AND THAT IS WHAT I REFER TO, MORON !

>You can't do this with a Windows compiler either - this is a DOS-only trick.  It will work under Windows, but only if you make the console window full screen. Windows runs DOS programs in a "virtual" DOS machine.  When in windowed mode, this includes virtual VGA hardware, at which point your "fast" VGA memory accessing technique is actually going to be slower than if you simply used Windows console API routines.  This changes when you go full screen -  Windows steps out of the way and lets you access the hardware directly, so you get the speed you expect.

Now, I beleive that you eat your bread with shoe inside !!!
Who refer Turbo Pascal 7.1 with Windows Programming ??? Oh STUPID YOU !! PLEASE DO NOT MIX PEOPLE COMMENT WITH YOUR FRUSTATING IDEA !!! SO WHY DON'T YOU DEBATE erezsh AND SAY THAT HIS CODE ONLY WORKS ON DOS ?? WHY YOU ONLY DEBATE ME ?

Who want to access B800:0000 or A000:0000 in windows programming ?? DONT MAKE ANY COMMON COMMENT IN HOPE THAT PEOPLE THINK YOU ARE SMART BUT ACTUALLY YOU'RE PATHETIC IDEIOT WHO KNOW SMALL BUT VERY BOASTFUL !
I TALKS ABOUT TP7.1, IF YOU WANT TO DO DirectX, Win-GDI OR OPEN-GL programming, THEN DO IT IN WINDOWS PROGRAMMING NOT USING TP7.1 !!! I MENTION THE PASCAL CODE TO PROOF MY AND EREZSH'S STATEMENT :

"Yes C is faster. Of course in some specific cases Pascal might be faster, but that DEPENDS on the programmer."

So, if I want to replace writeln() in TP 7.1 with direct access memory on B800:0000 to make it faster, now you debate me ?? So how I should replace it with ? MUST I USE DirectX, GDI, Open-GL, huh ? YOU'RE THE BIGGEST BULLSHITER I EVER KNOWN ... YOU THINK THAT YOU EVER TAKE PART IN PS GAME PROGRAMMING THEN THINGKING YOURSELF VERY BIG ! YES, CORRECT !! BIG BULLSHITER !!

CONSOLE PROGRAMMING IS STILL NEEDED UNTIL THIS DAYS, SO IT IS STILL OK WHENEVER I WANT TO DO direct access b800:0000 or using int 10h or using writeln to print text in monitor in DOS !!! NOONE EVER DEBATE ME IF I SHOULD DO THIS EXCEPT YOU !!

>When full screen in Windows, or running under DOS, this is going to be the fastest method possible, naturally.  You're writing directly to video RAM. Any other method you could use, whether it's vendor supplied library routines, DOS routines, BIOS routines, whatever... in the end, they will have to write the same two bytes to the same locations in video ram, and they cannot do this any faster than you can.

Don't try to tutor me newbie !! I know that already !!! Someone raises common knowledge so people may think he is smart !

Happy new year !


Ps : Please, this time you must mix your bread with sausage, not socks or shoe anymore ... please ... do that at least for you mom and your dad ...
> Hmmm ... it is your speciality to seek the hole of my comment so you can
> debate me simply because I don't know english, yes ... you can take advantage
> from that ...

First off let me say, that I never would have made fun of your grammar had I known
that English really was a second language for you.  I would never even have stooped to
personal attacks had you not started it in the first place. The fact is, you are
stating things that are simply not true, and it has nothing to do with your grammar or
spelling.

> ERIC IS A BIG LIAR !!! AND THE ONE WHO IS THE "BULLSHITER" :

There goes the personal attacks again.  My point all along has been this: argue the
technical facts.  Screaming that I'm a "big liar" does not make you right.  If you can
point out errors in anything I've said, and back it up, then great.  The fact is, you
can't.  How can we prove this?  Read on....

> "The assembly language is composed of mnemonics which are a small group of letters
> that REPRESENT a command in machine language. For example, MOV is a mnemonic that
> basically MOVes a value somewhere. In the Intel assembly format, WHICH IS the
> STANDARD for IBM PCs, the mnemonic comes first, then the destination, then the
> source."
>
> So ASM is refer to intel basis, other Assembly languages may be exist in other
> processor but the name may not Assembly Language

Again, you've simply misread something.  I used to think you were just an idiot, now I
understand it's that you're not proficient in English.  The fact that it says "the
Intel assembly format" should suggest to you that other "assembly formats" exist,
otherwise why would you need to qualify it with the word "Intel", which is used as
an adjective here.

>... Please go to search engine
> and search for ASSEMBLY LANGUAGE, they always refers to x86, 808x, or intel basis
> processor!!

Assembly language programming has been around since the 1950's, LONG before the 8086
architecture was invented. The fact that a search turns up many, many 8086 assembly
language books is proof of how popular that architecture is, not that assembly
language is an Intel specific term.

Not that I need to prove it to myself, I already know, but to prove it to you, I did a
quick search:

Here's a book for assembly language on RISC processors.
http://www.amazon.com/exec/obidos/ASIN/0201398281/qid=977938771/sr=1-16/105-0174872-2162303

Here's a book for assembly language on Motorolla 68000 family of processors
http://www.amazon.com/exec/obidos/ASIN/0138056803/qid=977938771/sr=1-24/105-0174872-2162303

Here's a book on assembly language programming on Motorolla Mc68332 processor
http://www.wargaming.net/Programming/42/Motorola_Mc68332_Microcontroller_Product_Design.htm

Here's a book for assembly language on 6502 processors:
http://www.amazon.com/exec/obidos/ASIN/0079310591/qid=977939066/sr=1-38/105-0174872-2162303

Here's a book on assembly language programming on Vic-20 and Commodore 64.  I tried to
avoid books that didn't explicitly mention a processor, because of the difficulty you
having believing anything I say, but rest assured, the Commodore 64 did NOT use an
Intel processor.  As a matter of fact, neither did Atari, Nintendo or Sega - all of
which were programmed in assembly language, and none of which has an Intel CPU.
http://www.amazon.com/exec/obidos/ASIN/0070578648/qid=977939259/sr=1-104/105-0174872-2162303

You could have done this search yourself, but you seem to content to just scream at me
in ALL CAPS rather than do any research.

> > Wrong, wrong and again, wrong.  You can program assembly for anything that has
> > a CPU.  On some platforms, you don't even have a compiler for a high-level
> > language like C - you MUST program in assembler (like GameBoy programming).
> > Saying that assembly means Intel, or that you must learn on an 808x processor
> > is complete and total bullshit.  I learned on a R3000 MIPS CPU.
>
> Who tell your that the machine code in R3000 MIPS CPU is called Assembly
> Language ?? Give me the title of your book that said that !! OR AT LEAST GIVE
> ME URL THAT MENTION YOUR COMMENT !!!

"Write a program in MIPS R2000/R3000 Assembly Language..."
http://www.cs.pitt.edu/~melhem/courses/447/assign2

"...for running MIPS R2000/R3000 assembly language programs..."
http://www.cs.wisc.edu/~larus/spim.html

"All polygon-rendering routines are therefore handwritten in R3000 assembly language
to provide the highest polygon throughput possible."
http://headline.gamespot.com/news/97_08/19_frogger/index.html

This last one is an interview with one of the programmers on the PlayStation version
of Frogger.

I have a book sitting next to me on programming the R3000 in assembly.. but I couldn't
find a link for it.  It's a Sony book, it comes with PlayStation dev kits, so it's not
available to the general public.  If you search around a bit you should be able to find
a book in MIPS programming that covers the R3000, but I've already gone to too much
effort on behalf of convincing you of the obvious.

> IF R3000 MIPS ADOPT INTEL BASIS PROCESSOR (USE AX, BX,... DX, SAME FLAG REGISTRY), >
SO IT IS NOT WRONG IF IT CALLED ASSEMBLY LANGUAGE !!! EVEN CYRIX AND AMD PROCESSOR
> ALSO ADOPT INTEL BASIS

Assembly language was around long before the company Intel even existed.  But the
references above should be enough to convince you of that. If not, just go to Intel's
site and see when they were founded. The go read any "introduction to computers"
book which should have at least a brief history of computing in it.

> PROCESSOR. I'M NOT FAMILIAR WITH r3000 or what CPU !!

This is the crux of the problem I have with you, and the reason I keep responding.  If
don't know something, I'll say so.  If I suspect I know something, I'll give a
qualified response.  I'll let you know of my level of certainty, and never pretend to
know something I don't.  Why on Earth would I do anything different?

You on the other hand, have admitted time and time again that you "don't know
something", but then you go on to say that you're POSITIVE you are right anyway! Why?
What's the point?  Why is being right SO important to you that you'll say something
is fact, when you're not really sure?  I can't even relate to that kind of thinking.

For example, you scream at me in all caps for a whole paragraph, telling me that
programming an R3000 CPU CANNOT BE CALLED ASSEMBLY LANGUAGE BECAUSE IT'S NOT AN
'INTEL BASIS' CPU... then at the very end you say "I'M NOT FAMILIAR WITH R3000 CPU!!".
If you're not familiar, then why are you so goddamn sure you're right?  It just don't
make sense.  Especially in the days of the Internet, when it so easy to check your
facts.

> Oh sad, I don't want to argue with idiot like you ...

Then don't.

> > LOL! So untrue! Post the comment on alt.lang.asm and watch the laughter roll.
>
> Yes, even your dog will laugh at you until it dies !!! Talking without proof !!

I've already shown that it is YOU that is talking without proof.  I have offered you a
way to prove your claim... post it on a group with numerous assembly language
programmers and get their response.  What's your response? "even your dog will laugh"?
OK. Whatever.

> > Oh, I see, all I have to do is agree with you and I you will consider my "smart
> > and understanding".  Well, just saying something that isn't total BS and I'll
> > agree.
>
> You're the one who bullshit, now what can u said ?? Huh ??
> A BIG LIAR, A BIG BULLSHITER !!

Like I said.  Back it up.  All your screaming and frothing at the mouth doesn't make
it so. Back it up with facts.

> Like I said, check the credits.  Look under the "programmers" section.
>
> [snipped - a lot of screaming and yelling]
>
> SEING YOUR COMMENT, NOW I BELEIVE THAT YOU'RE IDIOT ...
> AND BOASTFUL BIG BULLSHITER ...

I'm not boasting at all. I wouldn't have even mentioned it had you not called me a
liar.

I said that you can program assembly language on any platform... I mentioned several
platforms including the PlayStation. I did not even mention that I have programmed on
PSX, I just mentioned it as an example of a platform with a non-Intel CPU.

You responded, "So, you know how to do programming in PlayStation ?? What a big
mouth!! You don't know the basic of ASM how can you know C programming in PS ... "

So I said that I have in fact worked on the PlayStation and I can prove it. I'm not
boasting, just defending myself against your slanderous attacks.

> > You can't do this with a Windows compiler either - this is a DOS-only trick.  It
> > will work under Windows, but only if you make the console window full screen.
> > Windows runs DOS programs in a "virtual" DOS machine.  When in windowed mode, this
> > includes virtual VGA hardware, at which point your "fast" VGA memory accessing
> > technique is actually going to be slower than if you simply used Windows console
> > API routines.  This changes when you go full screen -  Windows steps out of the
> > way and lets you access the hardware directly, so you get the speed you expect.
>
> Now, I beleive that you eat your bread with shoe inside !!!

Um, just a quick comment on the whole "eat your bread with shoe inside" thing. What in
the hell is that all about?! LOL!  I'm guessing it must be some kind of home town
colloquialism, but to an American is just sounds weird!  What is this supposed to
mean?

> Who refer Turbo Pascal 7.1 with Windows Programming ???

I never said you did. I'm not disputing you, I'm merely mentioned that this won't work
under Windows. This board is for the exchange of ideas. If you have a problem with
that, go somewhere else.

> Oh STUPID YOU !! PLEASE DO NOT MIX PEOPLE COMMENT WITH YOUR FRUSTATING IDEA !!!
> SO WHY DON'T YOU DEBATE  erezsh AND SAY THAT HIS CODE ONLY WORKS ON DOS ?? WHY
> YOU ONLY DEBATE ME ?

I'm not debating anyone on the text writing thing.  I'm only pointing out that what
might be the fastest technique (writing directly to VGA RAM) when your DOS program
is run under DOS, won't necessarily be the fastest when your DOS program is run
under Windows.  And where else will it be run? Do you really expect people to reboot
into DOS to run your program?  No. 99% of the people who run your program will run
it under Windows, in which case the direct memory access technique will not be the
fastest way to do it.

> DONT MAKE ANY COMMON COMMENT IN HOPE THAT PEOPLE THINK YOU ARE SMART BUT
> ACTUALLY YOU'RE PATHETIC IDEIOT WHO KNOW SMALL BUT VERY BOASTFUL!

It honestly sounds to me like you're talking about yourself.  Why else would someone
try to pass off false statements as fact? You are obviously not interested in sharing
information, or being accurate.  You're interested in always being right, which is why
you're getting so upset - because you know you are wrong.  Since you're can't defend
yourself with fact or logic, the only thing left for you to do is shout insults.

> So, if I want to replace writeln() in TP 7.1 with direct access memory on
> B800:0000 to make it faster, now you debate me??

I'm not debating you.  It will be faster, under DOS.  I just mentioned that in a
common situation for a DOS text-mode application, which is running in a window under
Windows, the direct memory access will NOT be faster.  I was adding information, not
disputing what was already said.

> So how I should replace it with ? MUST I USE DirectX, GDI, Open-GL, huh?

With Windows console mode API routines.  These are in the header <wincon.h>.  But only
if you know you're app is most likely to be run in a window.  If you're really IS
going to be always run full screen, or if it really is going to be run under DOS and
not Windows, then direct memory access is the fastest by far.

Of course, I already said that.

> YOU'RE THE BIGGEST BULLSHITER I EVER KNOWN

What have I said that is bullshit? Again, back it up with facts.

> YOU THINK THAT YOU EVER TAKE
> PART IN PS GAME PROGRAMMING THEN THINGKING YOURSELF VERY BIG ! YES, CORRECT!!
> BIG BULLSHITER !!

I never said I though I was a bigshot because I've programmed PlayStation - I've done
a lot of other stuff of which I'm much prouder.  Like I said, I only mentioned it to
defend myself.

> CONSOLE PROGRAMMING IS STILL NEEDED UNTIL THIS DAYS, SO IT IS STILL OK WHENEVER
> I WANT TO DO direct access b800:0000 or using int 10h or using writeln to print
> text in monitor in DOS!!! NOONE EVER DEBATE ME IF I SHOULD DO THIS EXCEPT YOU!!

Again, where did I say you couldn't do it?  Now you're making up stuff to be upset
about.

> When full screen in Windows, or running under DOS, this is going to be the
> fastest method possible, naturally.  You're writing directly to video RAM. Any
> other method you could use, whether it's vendor supplied library routines, DOS
> routines, BIOS routines, whatever... in the end, they will have to write the
> same two bytes to the same locations in video ram, and they cannot do this any
> faster than you can.
>
> Don't try to tutor me newbie !! I know that already !!! Someone raises common
> knowledge so people may think he is smart !

You asked! You said, "Ok? Now it is faster than textcolor() and writeln() in
Pascal .... So fast or not depends on how you program it ... Am I correct??"

If it's common knowledge then why did you ask?

> Happy new year !

You too! ;)

> Ps : Please, this time you must mix your bread with sausage, not socks or shoe
> anymore ... please ... do that at least for you mom and your dad ...

Is this an insult in your country or something? Here it just sounds silly.  It's as if
I said to you, "Please don't banana hammer my sled, not ducks or light bulbs anymore...
please... do that at least for the large flag on my back."

Make any sense? Nope.

Cheers,
Eric

I think that C++ is better than DELPHI.

Joseph,
Lim
explain yourself.
pin_plunder - I think the last answer you got actually answers the question. The important word is "I".

Programming language wars have been around since the invention of high-level languages. Before that really, as we used to argue about the best macro expanders to use with assemblers.

There really is no "best" programming language. If you are productive, and don't feel like killing yourself after using it, it is an effective language for you.

It's like the term "efficiency" as applied to languages. Some produce code that runs with less resources, some produce small code size, some produce code that is faster. Some are more efficient for the programmer in terms of time, or keystrokes, or mental effort!

It's your choice.
ASKER CERTIFIED SOLUTION
Avatar of jwenting
jwenting
Flag of Netherlands image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
your advice was great, thanks!

paul.
> Lots of things are done in C(++) simply because it has been
> around longer.

Pascal (which Delphi is based on) has been around a lot longer than
C++.

> You say *nix and linux were written in C(++), they were not.
> They were done in machine code, after which an assembler was
> written in machine code. At that stage a C compiler can be
> written in assembler. Using that, you can then build the rest
> of the tools you want.

Huh? Linux wasn't written in machine code (that would be absolutely
insane).  Yes, the first C compiler was written in assembler, but
that was in the 60's.  Modern C and C++ compilers are written in
C or C++.

> Delphi is as powerful as C++

Almost as powerful. ObjectPascal lacks a lot of features of C++,
such as multiple inheritence, templates, operator overloading, etc.
Delphi has some syntactial niceties that C++ lacks. such as
'properties', but these can all be emulated in C++. The reverse is
not true.

> and easier to use for most things.

I would disagree.  I'm proficient in both languages, and I vastly
prefer C++.  The big pull of Delphi is not the language, but the
environment.  That same environment is now available for C++
(Borland C++ Builder), so the appeal of Delphi not as strong as
it used to be.

> From your post, I gather you are most interested in making
> games? If so, C++ might be the better option simply because
> there is a lot more documentation about writing games in C++.

And because C++ is a more powerful language.  Most game programmers
are proficient in many languages and have no trouble learning new
ones.  If Pascal was a better language for games, believe me, they
would use it.

> The MS DirectX SDK was (of course) made for Visual C++ and
> Visual BASIC. but there are headerfiles for Borland C++ as
> well, and people have ported those to Delphi.

The SDK is based on COM.  C++ is like COM's native language.  At
least with Microsoft's compiler, C++ vtables are binary compatible
with COM objects.

DirectX should be pretty easy to use from Delphi, though.. Borland
has excellent COM support.

> With the linux port of Delphi becoming available later this
> month, you will be able to work crossplatform (more ports are
> planned, though no platforms have been officially mentioned. My
> guess would be Solaris or MacOS-X as the next target).

I can hardly wait. ;)

> If you want real crossplatform work, Java might be a better
> choice, though (even though there are problems even there).

That's what I'm using at work for cross-platfrom stuff, but I'll
probably move to Delphi as soon as it comes out for Linux.  Java
performs HORRIBLY under Linux.

> I would use the following in each of the categories you mention
> (all for Windows platform only, of course):
>
> - internet: Java, Delphi, C (not C++)
> - games: C++, Delphi (in no particular order)
> - database: Delphi
> - other Windows: depends on what it is. Device drivers are
> mostly done in Assembler or C, Delphi can
> be used for almost anything else.

In real world usage, C++ dominates in all of the above categories.

> You can create ActiveX controls using Delphi, but no VCL using
> VC++... I'd say go for both Borland C++ and Delphi. You might
> be able to get a copy of the old Borland C++ 5.02 cheap, and
> for DOS you can download an old version free of charge at
http://community.borland.com/museum

You the command line version of 5.5 for free.  The lack of an IDE
might be a bit daunting for a newbie though.

Cheers,
Eric

This has to be the greatest flamefest I have ever seen. Well worth the 1 point admission fee.

Eric - Maybe you ought not engage in a battle of wits with an unarmed opponent. If it's any consolation, I think you conducted yourself with considerable restraint under difficult circumstances.

Thanks all for keeping me laughing for a good half an hour!
Cool, I'm glad somebody got a kick out of this.  Looking back, I can see I
got a bit pissed off, but it was worth it... LexZEUS's said some of the
funniest shit I have EVER heard!  Here's my personal LexZEUS Top Ten:

10. Oh STUPID YOU !! PLEASE DO NOT MIX PEOPLE COMMENT WITH YOUR FRUSTATING
IDEA !!!

9. Your brain is full damaged ...

8. Yes, even your dog will laugh at you until it dies !!!

7. DON'T SAID THE DELPHI FROM Playstation or Visual C from your underwear, I
will never discuss it !!!

6. MAYBE YOU EAT YOUR BREAD MIXED WITH YOUR SHOES ???

5. Now, I beleive that you eat your bread with shoe inside !!!

4. PLEASE EAT YOUR BREAD WITH SAUSAGE, NOT WITH UNDERWEAR IN IT!!!

3. If you don't see anything, please ask your wife to do surgery on your eye
or your butt.

2. Please, this time you must mix your bread with sausage, not socks or shoe
anymore ... please ...  do that at least for you mom and your dad ...

1. "My roasted chicken this morning is powered by BC++ 3.1 and tomorrow will
be powered by VC++ 6.0 !!", so I can say : "Well I create my son using Pascal
compiler, and it runs pretty ok !"

;)

Cheers, Eric
Cool, I'm glad somebody got a kick out of this.  Looking back, I can see I
got a bit pissed off, but it was worth it... LexZEUS's said some of the
funniest shit I have EVER heard!  Here's my personal LexZEUS Top Ten:

10. Oh STUPID YOU !! PLEASE DO NOT MIX PEOPLE COMMENT WITH YOUR FRUSTATING
IDEA !!!

9. Your brain is full damaged ...

8. Yes, even your dog will laugh at you until it dies !!!

7. DON'T SAID THE DELPHI FROM Playstation or Visual C from your underwear, I
will never discuss it !!!

6. MAYBE YOU EAT YOUR BREAD MIXED WITH YOUR SHOES ???

5. Now, I beleive that you eat your bread with shoe inside !!!

4. PLEASE EAT YOUR BREAD WITH SAUSAGE, NOT WITH UNDERWEAR IN IT!!!

3. If you don't see anything, please ask your wife to do surgery on your eye
or your butt.

2. Please, this time you must mix your bread with sausage, not socks or shoe
anymore ... please ...  do that at least for you mom and your dad ...

1. "My roasted chicken this morning is powered by BC++ 3.1 and tomorrow will
be powered by VC++ 6.0 !!", so I can say : "Well I create my son using Pascal
compiler, and it runs pretty ok !"

;)

Cheers, Eric
Z80 rulez! (ahem!)
No, 6502 rulez!

Crap, I'm really late here, but I am forced...

To answer the question:

I think that Object Pascal and C++ are equally powerful.  The differences lie not in power or speed.  

The reason I like Pascal better:

1.  I personally think C++ source is hard on the eyes.
2.  Pascal is less error-prone, because errors are easier to see

The prices you pay for using Pascal:

1.  on average, 10-20% more physical typing
2.  less "portability"

Other "prices" that are actually blessings in disguise:

1.  No preprocessor in Pascal
2.  No multiple inheritance in Object Pascal
3.  No templates in Pascal


When I do the math, I find that even though it takes a bit more typing in Pascal, you are going to spend less time developing program X in Pascal than the time it takes to develop the same program in C++*.

*C++ has the advantage for development time for small programs, because of less typing and the fact that there isn't much that can go wrong.  As a program's size grows, I think Pascal takes the advantage.

Anyone who says C++ "outperforms" Object Pascal in speed (or vice versa) doesn't know what they are talking about.  COMPILERS outperform other COMPILERS;  one *language* cannot outperform another *language*.

And those who think that C++ is more powerful than Object Pascal can also be proven wrong.  When evaluating this, you need to look at the big picture--the end result; not the steps you take to get there.  For example, a user doesn't care whether or not you used templates to make the program he or she is using.

And yes, this is my *opinion*.  Pascal and C++ are both tools meant to perform the same end result, and they both do it equally well.  There is no need for you decide between the two, just use the one that feels better.
Avatar of GUEEN
Cool, I'm glad somebody got a kick out of this.  Looking back, I can see I
got a bit pissed off, but it was worth it...

I can't resist and I know I will get in trouble for this via EE

Answer: EricTetz is a Pompous ass. . .

(So I will simply pull my friend Ray in here to share the scar!)
Scrappy sit still and don't bark!
Remember they might consider you as a 'teenybopper doggie' -
>doesn't know what they are talking about. COMPILERS outperform other COMPILERS;  one *language* cannot outperform another *language*.

Agree... That's what I said ... the language doesn't matter ... since a stupid programmer can make a C compiler which do simple for(int i=0;i<5;i++) {/* do nothing */} but consumes 10000 years warp speed to complete the iterations ... or in another case ... with very fast C compiler ever known in this universe, a stupid programmer may also waste 10000000 iteration just because he want to calculate x=5+7; So, guess ... which one should be improved ? either the compiler or the people who use the compiler, but not the language itself since language is just a collection of "rules" ... if want to define "more" rule in the language ... fine, just add them, and publish them as new sub-language, maybe with different name ....

maybe someone wouldn't agree with me ... fine ...

no offence ...
Ahhh, yes, the ages 113-119.  The wild and crazy teenybopper years.  I can't wait!
>either the compiler or the people who use the compiler,
>but not the language itself since language is just a
>collection of "rules"

Exactly.  The way to enlightenment is to transcend earthly programming language.

If you bind yourself to a programming language, your spirit is not free go to the otherworld to learn "algorithmic skillz".
This is funny as hell. I have to agree with scappy though. While C++ is considered by some to be more powerful since you can code damn near anything without an exception, I prefer Delphi BECAUSE it raises exceptions. With time, you learn to use the constraints of Delphi to your advantage, and end up writing cleaner code the first time around. I'll do 20% more typing on the front end of the project to avoid reading C code and retyping 30% of the code later to correct problems, especially when a client is breathing down my throat.

The current Delphi and C++ compilers create .EXE's that are almost identical in speed, with less than 2% variance in the latest studys.
All our programmers are belong to us.

Thanks for the entertainment, well worth the admission

bill
"I think that Object Pascal and C++ are equally powerful.  The differences lie not in power or speed."

Well, what do you mean by "power"?  C++ provides more tools, more ways to solve the same problem, more expressiveness, than Pascal.  That's what I mean by more powerful.

Personally, I really like Object Pascal, especially the version of that Hejlsberg developed for Delphi.  Properties, in particular, I think are brilliant. However, there is no question that C++ is more powerful, by most people's definition.

"The reason I like Pascal better:
1.  I personally think C++ source is hard on the eyes."

And I feel just the opposite.  I like Pascal, but I prefer the sparser syntax of C and C++.  I find Pascal source listings overly verbose.

"2. Pascal is less error-prone"

This may be true, for you, but is there empirical evidence to back this up?   Naturally, because Pascal is your language of choice, you understand it better, and are less likely to make errors.  Also, Pascal is less complicated and more restrictive than C++, which means there are fewer ways to screw up.  However, I think that mostly applies to beginners.  I know I don't code more errors in C++ that in Object Pascal, but then C++ is my preferred language.

" because errors are easier to see"

Naturally you're going to be better at visually "parsing" and recognizing errors in your preferred language.

"When I do the math, I find that even though it takes a bit more typing in Pascal, you are going to spend
less time developing program X in Pascal than the time it takes to develop the same program in C++*."

And I find that I take less time developing program X in C++ than I would in Pascal.  Is that any kind of a reasonable argument for either language's productivity in general?

"*C++ has the advantage for development time for small programs, because of less typing and the fact
that there isn't much that can go wrong."

Oh, there is plenty that can go wrong with a small program.

double* main() {         // doh!
  int i = ++1 * --i;     // doh!
  "Hello, World"[5] = 4; // doh!
  return (double*)&i;    // doh!
}

This program invokes undefined behavior all over the place.  What's more, it will compile in most C++ compilers, including Borland's very latest and greatest.  Yet no C++ programmer would do any of these things, whether the program was large or small.

Why do C and C++ have parts of the language that are intentionally left undefined?  To provide the compiler the as much room as possible for aggressive optimizations.

"As a program's size grows, I think Pascal takes the advantage."

Again, I disagree.  C++ is specifically designed for "programming in the large", and has features to support it, such as strong type-checking and namespaces.

"Anyone who says C++ "outperforms" Object Pascal in speed (or vice versa) doesn't know what they are
talking about.  COMPILERS outperform other COMPILERS;  one *language* cannot outperform another *language*."

BS. Languages *can* outperform other languages. For an extreme example, take Java, or any other garbage collected language.  Regardless of how slick your Java compiler is, the language has built-in inefficiencies.  Even if you take away the virtual machine aspect, and consider a native code compiler; Java creates *all* objects on the heap, Java automatically cost you a background thread for garbage collection, even for "Hello, World". These are things that no amount of optimization can get rid of, and they are part of the language design.

C, and by ancestry, C++ were *specifically* designed to be easy translated into efficient machine code.

"And those who think that C++ is more powerful than Object Pascal can also be proven wrong."

I would love to here it.  Please define "powerful", and present proof that Object Pascal is more powerful.

"When evaluating this, you need to look at the big picture--the end result; not the steps you take to get there.  For example, a user doesn't care whether or not you used templates to make the program he or she is using."

So think about, do all your points add up?
(a) the end-user does not know or care what language a program is developed in
(c) Pascal just as powerful as C++
(d) Pascal compilers, on average, generate just as fast machine code
(e) Pascal is easier to read, write, and has better support for writing large software systems

So why isn't Pascal the dominate programming language today, instead of C and C++?  The answer is simple: because some or all of these premises are not true.

"And yes, this is my *opinion*.  Pascal and C++ are both tools meant to perform the same end result,
and they both do it equally well.  There is no need for you decide between the two, just use the one
that feels better. "

I depends on who is making the choice and why.  If it's someone who is looking to start a career in software development, suggesting that there is not difference between choosing Pascal or C++ is doing him a disservice.  Pascal, outside of one proprietary product (Delphi) does not have *nearly* the usage as C++.  When it comes time to find a job, most employers will be looking for C, C++, or even Java; not Pascal.

Cheers,
Eric
"'2. Pascal is less error-prone'

This may be true, for you, but is there empirical evidence to back this up?"

I don't need empirical evidence to back up an opinion.


"For an extreme example, take Java, or any other garbage
collected language."

You are trying to disprove my generalization with a counterexample.
 

"And I find that I take less time developing program X in C++ than I would in Pascal.  Is that any kind
of a reasonable argument for either language's productivity in general?"

Perhaps you failed to read the emphasized "opinion" disclaimer.


"Oh, there is plenty that can go wrong with a small program."

That is true, but that relates to this discussion, how?


"I would love to here it.  Please define 'powerful', and present proof that Object Pascal is more powerful."

Please do not twist my words.  A <= B does not imply B > A.


"If it's someone who is looking to start a career in
software development, suggesting that there is not difference between choosing Pascal or C++ is doing
him a disservice."

No, I'd be doing him a great service.  The underlying message would be "programming is programming".  A programmer would best spend his time learning programming methods and problem solving, rather than spending his entire career learning all the nuances of a language and defending it with a fundamentalist attitude.

I know you are a bit sensitive to the idea that I might dare to attack C++, but accept it, I happen to like Pascal better.


"When it comes time to find a job, most employers will be looking for C, C++, or even Java"

Then this just shows how dumb most employers really are...focusing on language rather than programming skills.

I once saw an ad for a job that required "10 years of experience in Delphi.  Must be 5.0".  This is representative of what many employers know.

You are right that you are more likely to get a job with C++ skills under your belt.   I am not going to argue with that.  But I assumed that "getting a job" is not the impetus behind every programmer's decision.


Also, before you try to dissect everything I said here and turn it into an "empirical" argument, make sure you reread the disclaimer.
>>> "'2. Pascal is less error-prone'
>> This may be true, for you, but is there empirical evidence to back this up?"
> I don't need empirical evidence to back up an opinion.

Whether or not green is a nice color is a matter of opinion. Whether or not C++
is "hard on the eyes" is a matter of opinion. Whether or not Pascal is less
error-prone than language C++ is a matter of fact; unlike a matter an opinion
it can be proven or dis-proven.

It may be a matter of fact that *you* produce more error-free code with Pascal,
but that isn't what you said.

>> "For an extreme example, take Java, or any other garbage collected
>> language."
> You are trying to disprove my generalization with a counterexample.

So?

You said, "COMPILERS outperform other COMPILERS; one *language* cannot
outperform another *language*."  My response is simply to point out that all
other things being equal (as in, reasonable compiler available), some languages
are inherently less efficient, before you even get to the compiler.  Some
languages trade runtime efficiency for programmer productivity.  This is not
news.

>> "Oh, there is plenty that can go wrong with a small program."
> That is true, but that relates to this discussion, how?

Why are you asking me, you brought it up!?

>> "I would love to here it.  Please define 'powerful', and present proof that
>> Object Pascal is more powerful."

> Please do not twist my words.  A <= B does not imply B > A.

How did I twist your words?!  Just for the record, here are your words again,
verbatim, "And those who think that C++ is more powerful than Object Pascal
can also be proven wrong."

Well, I'm am one who thinks "that C++ is more powerful than Object Pascal".
You say I can be "proven wrong".  So how did I twist your words by asking for
the proof?

BTW: what does "A <= B does not imply B > A" mean in this context? I can't
figure out why you would have said that.

>> "If it's someone who is looking to start a career in software development,
>> suggesting that there is not difference between choosing Pascal or C++ is
>> doing him a disservice."

> No, I'd be doing him a great service.  The underlying message would be
> "programming is programming".  A programmer would best spend his time
> learning programming methods and problem solving, rather than spending his
> entire career learning all the nuances of a language and defending it with a
> fundamentalist attitude.

Programming *is* programming, but for someone looking to start a career, not
all languages are equal.

For a first language, Pascal might even be a better choice than C and or C++,
after all, that's why Pascal was invented: to teach beginners programming.

http://www.lysator.liu.se/c/bwk-on-pascal.html

However, to teach general computer science, irrespective of language, I think
Java is a much better choice.  It is simpler an cleaner that C, C++ or Pascal,
and it is object oriented.  Plus, it provides it is it's own platform,
providing graphics, sounds, networking, multithreading, and other features
that C, C++ and Pascal programmers must get from the operating system.  That
allows Java students to study a broader range of problems without being tied to
a particular platform (other than the Java platform itself).
Learning programming with Java also has another nice benefit: it's actually a
marketable skill!
 
> I know you are a bit sensitive to the idea that I might dare to attack C++,
> but accept it, I happen to like Pascal better.

I'm not sensitive to any such thing.  Please feel free to attack C++.  Of
course, I don't really consider "I like Pascal better" to be an attack.

I don't mean to attack Pascal, either. Like I said, I like the language. I like
Delphi's version of it anyway.  It's just not all the things you say it is.  To
see what a real attack looks like, read this:

http://www.lysator.liu.se/c/bwk-on-pascal.html

If that is not enough for you, read the papers listed in his acknowledgment
list.

>> "When it comes time to find a job, most employers will be looking for C,
>> C++, or even Java"
>
> Then this just shows how dumb most employers really are...focusing on
> language rather than programming skills.

Hmmm... so most employers are dumb.  OK.  I'm just glad I don't work for any of
the employers you work for.

>> I once saw an ad for a job that required "10 years of experience in Delphi.
>> Must be 5.0".  This is representative of what many employers know.

One stupid ad is "representative of what many employers know"?  That one is so
silly it doesn't ever require a rebuttal.

>> You are right that you are more likely to get a job with C++ skills under
>> your belt.   I am not going to argue with that.

You contradict yourself.  On the one hand, you admit that a C++ programmer is
more likely to get employed. On the other hand, you claim that if someone wants
a career in programming, that there is no difference in his choosing C++ and
Pascal.

>> But I assumed that "getting a job" is not the impetus behind every programmer's
>> decision.

Agreed, for some people it's just a hobby. However, I would not recommend
Pascal even to hobbyist, with one major exception: Delphi.

>> Also, before you try to dissect everything I said here and turn it into an
>> "empirical" argument, make sure you reread the disclaimer.

I'm not trying to dissect everything you say.  I'm simply agreeing or
disagreeing with the points you make.  It's called debate.

And waving all counter-arguments because you're merely stating your opinion
does cover things that are *not* matters of opinion.  Reducto absurdum: if you
stated that the Earth is the fourth planet from the sun, would your
"disclaimer" cover that?

Cheers,
Eric

>what does "A <= B does not imply B > A" mean in this context?

It means that when I said "C++ is not more powerful than Pascal", you interpreted this to mean "Pascal is more powerful then C++".

>And waving all counter-arguments because you're merely stating your opinion does cover things that are *not* matters of opinion.  

I used a "disclaimer" to mean that:

"This is what I think.  Feel free to agree or disagree, but I don't feel that it would be productive for me to spend energy trying to defend it.  Don't feel pressure to accept what I said as fact, but use the information gleaned from this programmer's experience to shape your own."

You say that I like Pascal because I am more accustomed to it.  There is nothing false about that statement.  But there is nothing wrong with what the statement is trying to express either, as the same applies to you:  you like C++ because you have had better experiences with it than you have had with Pascal.

I am biased, and so are you.  There is nothing wrong with that.
And yes, there are many things in Pascal that I dislike (that are handled better in C++).  But the bottom-line to me is readability.  For example, the way constructors and destructors are defined in C++, to me, is very dissonant.  But I have nothing against C++ as a whole, and have no  major reservations about using it.
scrapdog:
>And yes, there are many things in Pascal that I dislike (that are handled better in C++).  But the bottom-line to me is readability.  For example, the way constructors and destructors are defined in C++, to me, is very dissonant.  But I have nothing against C++ as a whole, and have no  major reservations about using it.

Eric:
>Shortcuts don't make things simpler! The ternary operator is a common source of errors in C programming. You don't have it in Pascal. There are TONS of little things like this in C that are commons sources of subtle errors that don't even exist in Pascal.  

Me:
>all shortcut is made so make the code easier and more compact ... but not all make it fast and readable ...

Shortcut is usefull when you use it in the right place and in the right time... Guess what, if you have to give the code to your boss for documentation, yet your code is full of complicated shortcut just b'coz you feel "better" to do so ... maybe yes for you, not for your boss ...

int a=func(1);
int b=func(2);
int c=func(3);
int x;
for (int i=a+b+c;i<(a>b?c<a?a+b:a-b:a*2>c?c:a+b+c);i+=(a+b+(c<(a+b)?c*2:c*3)))
    {
    cout << i;
    }

who gonna to explain these ? I may explain it, since I'm the one who write this codes. But it may not make the program run faster, and the worst case, it slow down the loop just because of theat weird shortcut ... can make it simpler and run faster if I want ...
If I give this to my boss ... either he fire me at once or yell ... it should make his brain to do extra 5x works just to split them one by one ...

no offence ... as you said ... it is plain debate ...
>So why isn't Pascal the dominate programming language today, instead of C and C++?  The answer is simple: because some or all of these premises are not true.

Not really correct too ... it is easier to find source librariese on C/C++ language than Pascal/Delphi ... moreover, C is built quite long time ago ... people *maybe* forced to use it ... but once people have habbit to use C, then he feel lazy to expands his knowledge to other prog lang by keeping his belief that C is the most powerful.
Well, talking about result, everything which can be done in C/C++ also can be done in Pascal/Delphi .. why not ? the matter is : it is convenience to reuse people's libraries (which can be found more in C language). So think about this, if a company want to play safe, he will do C instead of Pascal just b'cos he knows that not many people contribute Pascal libs.

As for me, if I work on myself, it would be no different whether I have to choose C/C++ or Pascal/Delphi, but when it comes when I have to work as a team, I choose Pascal/Delphi since every C/C++ programmers has their own expression when writting codes ... there's much more ways in C/C++ to write code to achieve the same result even though they use the same algorithm! I hate that ...

Eric, I have few friends just like you (C worshipper ?? no offence :) ), they like to use shortcut rather than plain english code, leave people to do more "brain exercise" just to know what they mean with the code ...
said, "those who think that C++ is more powerful than Object Pascal can
also be proven wrong."  Well, I'm one of "those who think that C++ is more
powerful than Object Pascal", and you said I could be "proven wrong".  All
I did was ask for the proof.
** scratch that last, partial post; it's included below **

>> what does "A <= B does not imply B > A" mean in this context?

> It means that when I said "C++ is not more powerful than Pascal", you
> interpreted this to mean "Pascal is more powerful then C++".

You said, "those who think that C++ is more powerful than Object Pascal can
also be proven wrong."  Well, I'm one of "those who think that C++ is more
powerful than Object Pascal", and you said I could be "proven wrong".  All
I did was ask for the proof.

>> And waving all counter-arguments because you're merely stating your opinion
>> does cover things that are *not* matters of opinion.  

> I used a "disclaimer" to mean that:
>
> "This is what I think.  Feel free to agree or disagree, but I don't feel that
> it would be productive for me to spend energy trying to defend it.  Don't
> feel pressure to accept what I said as fact, but use the information gleaned
> from this programmer's experience to shape your own."

Opinion is fine, but when you start saying that people who hold different
opinions "don't know what they are talking about" or that they can be "proven
wrong", be prepared to back it up.

> You say that I like Pascal because I am more accustomed to it.  There is
> nothing false about that statement.

Except that I didn't say it.  I said the reason *you* produce fewer errors in
Pascal and find it easier to spot errors in Pascal, is because Pascal is your
"primary language" (so to speak), and not because it is inherently less
less-error prone.

To restate: you said that Pascal is less error prone.  I'm saying that may very
well be true for you, but it doesn't follow that it is true of the language in
general (for experienced programmers, of course; not newbies).

> But there is nothing wrong with what the statement is trying to express
> either, as the same applies to you:  you like C++ because you have had better
> experiences with it than you have had with Pascal.

I like C++ because it's more powerful, more expressive, is an international
standard, has fantastic support tools, and a host of other reasons.  I don't
think too much either way about vanilla Pascal. Mostly, it's a toy language not
worthy of comparison with C++.  However, I love Delphi, and the version of
Object-Pascal Borland ships with Delphi is pretty nice.  It has great stuff
like properties and local functions that I miss when coding in C++.  However,
C++ has *much* more that I miss when coding in Object-Pascal.

> I am biased, and so are you.  There is nothing wrong with that.

Um, not I do *not* think I'm biased.  Bias implies prejudice; a predisposition
that clouds judgement.  I certainly don't feel that way about C++ or Pascal.
C++ ain't pretty.  I've heard it said that "C++ is like creating an octopus by
nailing extra legs onto a dog". However, for programers with deadlines that
need to get shit done, C++ is one of the most powerful tools they can have in
their toolkit.

I have used Delphi extensively, and know Object Pascal very well.  If I thought
it was a more powerful and productive language, I would use it.  C++ is far
more complicated than Object Pascal, it has more quirks and gotchas, and it
takes longer to learn.  Given that, if Pascal was it's equal, why would
*anyone* learn C++?  Programmers are not masochist; the best programmers are
lazy.  Nobody wants to work harder than they have to to bring home their
paycheck.

Cheers,
Eric

LexZEUS, I don't really want to get into it with *you* again (no offence ;) ),
but I have no choice but to answer this first statement you made...

> C is built quite long time ago ... people *maybe* forced to use it ... but
> once people have habbit to use C, then he feel lazy to expands his knowledge
> to other prog lang by keeping his belief that C is the most powerful.

People were forced to use C? LMAO!!! That is just absurd.  Is it impossible for
you to accept the possibility that C is popular because it's a decent language?

> Well, talking about result, everything which can be done in C/C++ also can be
> done in Pascal/Delphi .. why not?

Anything that can be done in C/C++/Pascal/Delphi can also be done in assembler,
or in a hex editor for that matter.  I think the focus of this discussion is
more means rather than the end.

> the matter is : it is convenience to reuse people's libraries (which can be
> found more in C language). So think about this, if a company want to play
> safe, he will do C instead of Pascal just b'cos he knows that not many people
> contribute Pascal libs.

There is some truth to this, primarily because virtually every major operating
system is written in C and/or C++.  However, if it were *not* the case that C
became the predominate systems programming language, I very much doubt that
Pascal would have been the alternative.

> As for me, if I work on myself, it would be no different whether I have to
> choose C/C++ or Pascal/Delphi, but when it comes when I have to work as a
> team, I choose Pascal/Delphi since every C/C++ programmers has their own
> expression when writting codes ... there's much more ways in C/C++ to write
> code to achieve the same result even though they use the same algorithm! I
> hate that

Again, there is truth to this.  What's worse is that C++ essentially gives you
the ability to create domain specific languages. So a new hire onto a C++
project must not only know C++ well, but must learn the new language created
for the particular software system.  However, if a language must have flaws,
excess expressiveness is one I'm willing to live with. ;)

> Eric, I have few friends just like you (C worshipper ?? no offence :) ), they
> like to use shortcut rather than plain english code, leave people to do more
> "brain exercise" just to know what they mean with the code ...

First, I'm not a C worshipper.  I'll use the best tool for the job, period.  If
I can save 2 hours and 50 lines of code by writing something in Perl, I will.

Second, writing C and writing crappy, obfuscated C are two totally different
things.  The fact that it is *possible* to write indecipherable statements in C
does not mean that good programmers do.

Cheers,
Eric

It is sometimes hard to express something in such a RISC language as English, but here goes:

I don't care.

I'm glad you like C++, I do too.  You win, and your prize is the right to continue using it.
Aw, don't sulk, Scrappy. We've all had our @r$e kicked at some point in time <*snicker*>.
>>So why isn't Pascal the dominate programming language today, instead of C and C++?

Micro$oft.

If M$ would have laid claim to Pascal instead of Basic(VB), I'm guessing the M$ marketing machine would have rammed their 'Delphi' down the throats of evry college in the country.

How many developers are currently using a certain tool is not a good measurement of where that tool is going. There are still alot of VFP and Cobol folks out there, more than C# I'd wager. Which is the tool of choice if your were to pick one?

C or C++ are fine established languages, and either are a good choice. Remember though, as developers continue to realize the shortcomings of VB, and as Cobol and VFP die, more and more small shops are moving torward Borland.

What does this mean? C and C++ are huge, and without a doubt C# will be huge with M$ throwing free licenses at every college in the world to see it taught. VB and Java (in my opinion *DISCLAIMER*) have peaked due to inherent short comings, Cobol and VFP are quickly heading torward death. As the OOP languages or OOP programming environments evolve, we will start to see less and less of perl, assembler, etc.

This really leaves the C family and Delphi as the tools of choice. C is safe as it is M$. Borland is more the gamble, and much of Borlands future is probably tied to Linux, especially as Linux/open source developers don't use M$ as a rule.

Without the $ and power of M$ Delphi continues to grow and get better. D1 was a far cry from C. By D3 they were in the same league, though at extreme opposite ends. By D5 the gap had closed. Why?

That is the question I guess I have to pose. If Pascal/Delphi lag so far behind C, then why haven't the M$ C and VB products taken it the way of foxpro? Why does it continue to grow in use? Also, if it continues to grow in use, why would not more jobs be listed with employers looking for it as a skill? Since it is not commonly taught in American colleges, and is not currently as widely accepted as C, why won't those employers pay better than those looking for more common C develpers? Why won't more cost cutting companies move torward less expensive tools like Delphi, InterBase, and Linux?
>>So why isn't Pascal the dominate programming language today, instead of C and
>>C++?

> Micro$oft.

*sigh*  Ok, let's hear it...

> If M$ would have laid claim to Pascal instead of Basic(VB), I'm guessing the
> M$ marketing machine would have rammed their 'Delphi' down the throats of
> evry college in the country.

Huh?

Microsoft does not control the evolution of programming languages, and they do
not tell programmers what language they are going to use. The make money they
same way as anyone else, they make products according to what the market wants,
so they can sell lots of copies and make lots of money.  What has the market
wanted most? VB, in one form or another (50% of the non-mainframe market).
Second? C++.

> How many developers are currently using a certain tool is not a good
> measurement of where that tool is going. There are still alot of VFP and
> Cobol folks out there, more than C# I'd wager.

C# was been around, for what, a year?  Dev Studio 7, the first version to
support C#, hasn't even been officially released (has it?). COBOL was invented
in 1960!

Regardless, no one is developing new software systems in COBOL, it is a dead
language.  It's only remaining life is in legacy systems.

> C or C++ are fine established languages, and either are a good choice.
> Remember though, as developers continue to realize the shortcomings of VB,
> and as Cobol and VFP die, more and more small shops are moving torward
> Borland.

Why the COBAL and VFP references?  COBOL is dead, and VFP is not a general
purpose programming language. Neither are a blip on the statistical radar.

> What does this mean? C and C++ are huge, and without a doubt C# will be huge
> with M$ throwing free licenses at every college in the world to see it
> taught.

If C# is huge, it will be for one reason: it increases programmer productivity.
There Microsoft will not force *force* anyone to use it. Users will choose it
if it help them do their job.  The .NET platform will still fully support VB
and C++ products, C# will just be a small part of a much bigger picture.

That said, I predict that C# will be huge, because it is a fantastic language.
It's closer in spirit to C++ than Java was, but has all of Java's virtues (as
a language, not a platform), and learns from Java's mistakes.  It was developed
by the brilliant Anders Hejlsberg, the same guy who invented Delphi's Object
Pascal for Borland, so it has the nice stuff from that language, too (like
properties, yeah!).  C# is a *very* nice little language, and if I was still a
Windows developer, I would definitely be using it.  I cannot imagine a better
language for RAD development.

> VB and Java (in my opinion *DISCLAIMER*) have peaked due to inherent short
> comings, Cobol and VFP are quickly heading torward death. As the OOP
> languages or OOP programming environments evolve, we will start to see less
> and less of perl, assembler, etc.

Hmmm... I would hardly equate Perl and assembler, Perl is on the opposite
extreme of the language spectrum; very high level, interpreted, garbage
collected, with everything but the kitchen sink built in.

> This really leaves the C family and Delphi as the tools of choice. C is safe
> as it is M$.

C is not Microsoft!  C is an international standard (ISO/IEC 9899:1990). C can
be used to program anything with a CPU.  Microsoft is just one of countless
companies/organizations/individuals to have written a C compiler.

And a technology is not safe just because it's Microsoft. Microsoft has plenty
of failed products.

> Borland is more the gamble, and much of Borlands future is probably tied to
> Linux, especially as Linux/open source developers don't use M$ as a rule.

I agree that Borland is a gamble, especially after losing Hejlsberg to
Microsoft, and with Microsoft going after the RAD market with a winner like C#.
Borland's Linux ability is a big plus... but what if .NET goes there, too?

> Without the $ and power of M$ Delphi continues to grow and get better. D1 was
> a far cry from C. By D3 they were in the same league, though at extreme
> opposite ends. By D5 the gap had closed.

You can't compare C and Delphi.  C is a standard, platform independent
programming language used to program anything from desktop applications to
mainframes, microwaves, cell phones, satellites, pacemakers, etc.  Delphi is a
proprietary product for a proprietary language for a proprietary operating
system (with the recent exception of Kylix).

> Why? That is the question I guess I have to pose. If Pascal/Delphi lag so far
> behind C, then why haven't the M$ C and VB products taken it the way of
> foxpro?

You're talking about a specific niche.  The worlds programmers to not all write
database code for Windows.

> Why does it continue to grow in use?

Because it's cool!

> Also, if it continues to grow in use, why would not more jobs be listed with
> employers looking for it as a skill?

Doubling or even tripling a small number still leaves you with a small number.

Cheers,
Eric

>>they make products according to what the market wants,

Who wanted Windows ME?

>>C# was been around, for what, a year?  Dev Studio 7, the first version to
support C#, hasn't even been officially released (has it?). COBOL was invented
in 1960!

That was my point. Number of developers using a language does not translate to how good a language is or its' value.

>>You can't compare C and Delphi.  C is a standard, platform independent
programming language used to program anything from desktop applications to
mainframes, microwaves, cell phones, satellites, pacemakers, etc.  Delphi is a
proprietary product for a proprietary language for a proprietary operating
system (with the recent exception of Kylix).

Word has it that the next step is Solaris for Delphi. The gap closes further......

>>You're talking about a specific niche.  The worlds programmers to not all write
database code for Windows.

I wish that were true, but with XWindows, Windows CE, etc, more and more code is in either windows or a windows clone type of environment. Or if you like, to be run or viewed in IE, which again operates by the rules of M$.


We can agree to disagree, but I really am a firm believer that C took off because that is what Windows was written in. OOP is for the most part a windows thing, and as OOP and RAD have taken over the development world, M$ has used its' clout to push C++ and VB. As said, I have nothing against C at all, (Though VB is crap IMHO). Interesting how the Java market has shrunk as M$ got pushed out of it. C# is the natural evolution, M$ lost Java, so now they will market a product to wipe it out.

Borland needs to clean up its act, a bit, IMHO.  If it lowers its prices, more people will realize what a great product Delphi is.  I am ecstatic about Delphi, and Borland as a company, and I would love to do what I can to raise awareness and get more people and companies to use it.

This means trying to dispel the popular rumor that Pascal is a suck-ass language.

What EricTetz says about C++ is mostly true.  C++ is more "standard" than Pascal, it is more accepted, and it is possible to express most problems in slightly more ways than in Pascal.  But in my own, and many others' opinions, Pascal has its own advantages, and it shouldn't die.

Surely, if we use Pascal, there is a reason for it.  It is not (necessarily) out of ignorance, duress, or even stupidity, it has to do with the fact that people have different personalities.  While there is a greater affinity towards C++ for many programmers, I don't think that a Pascal programmer's sales pitch should be squelched automatically;  it should be left up to the programmer to decide which, according to each language's respective pitch, offers better benefits (verbosity vs. terseness, etc.)

Disregarding all else, I know it is agreed that if you can reach end X in C++, you can reach end X in Pascal, and *most* general purpose languages as well.  The difference is in how you get there.  Different highways might have different intersections, different towns to go through, one may take longer, one may be rockier, one may be more scenic, but they both go to the same place.

EricTetz, forgive me if what I said earlier seems a bit immature.  I have been in this debate *many* times, and the same things have been said _over_ and _over_, and I must say that your gargantuan posts were a bit daunting.  I don't mind seeing people encouraging others to use C++ (I like it myself but don't use it as much), but I find efforts that go into discouraging people from using Pascal to be mostly pointless.  (BASIC, maybe, but that's another story; I hope you agree).

Maybe the two cents I put into this thread beckoned for a debate, but I suppose I see it as my duty to make sure Delphi doesn't die, as I have gotten a lot out of it.  Sure, Borland could discontinue using Pascal as a language and move to producing C++ Builder only, but why?  It works very well as it is, and as has been stipulated, Delphi is a great product.  If Delphi drops Object Pascal, it would probably only make the academic purist users happy.

I also agree somewhat with YodaMage;  Microsoft could never compete with Borland's Turbo Pascal in the 80's, so it never bothered to make a Pascal compiler.  Microsoft isn't *fully* responsible for C's success, but the C language got more from Microsoft (which is a huge influence) than Pascal did.  VB is a cobbled product, and the huge user base for VB is definitely not due to VB's power and purity;  it is due to Microsoft's muscles.
YodaMage:  at my college that taught Delphi for several semesters.  They then switched to VB and dropped Delphi forever.  Of course, the professors heard from me about this, big time, me and my uninformed idealism. =)
>> they make products according to what the market wants,

> Who wanted Windows ME?

Basically, customers who are unwilling to give up their Win3.1 and DOS apps;
customers who are unwilling to move to NT.  If Microsoft had it's way, there
never would have been a Windows 98, but their NT (New Technology) didn't catch
on with consumers like they hoped.

>> C# was been around, for what, a year?  Dev Studio 7, the first version to
>> support C#, hasn't even been officially released (has it?). COBOL was
>> invented in 1960!
>
> That was my point. Number of developers using a language does not translate
> to how good a language is or its' value.

A good point, however comparing C# with COBOL doesn't make it.  COBOL is not
used to write new software; it is a relic, an antique.  Which is the more
popular language, a language that 10 programmers choose for new developed,
or a language that 10000 programmers are forced to use in support of a legacy
system?

>> We can agree to disagree, but I really am a firm believer that C took off
>> because that is what Windows was written in.

You have your history screwed up. C had been popular for over a decade when
Windows was written.  Why do you think Windows (along with every other
operating system) was written in C in the first place?

>> OOP is for the most part a windows thing, and as OOP and RAD have taken over
>> the development world, M$ has used its' clout to push C++ and VB.

Um, no. OOP started with SIMULA-67 around 1970.  Windows 1.0 was written in C
(*not* an OOL) a decade and a half later.  Programmers don't use OOP because
Microsoft forced it on them, or because Microsoft is a great OOP role model
(that's a laugh), they use it because they like it.

And BTW, VB is not an object-oriented programming language (though the next
version of the language is reported to be).

>> As said, I have nothing against C at all, (Though VB is crap IMHO).

What does C have to do with VB, other than they are both programming languages?

>> Interesting how the Java market has shrunk as M$ got pushed out of it.  C#
>> is the natural evolution, M$ lost Java, so now they will market a product to
>> wipe it out.

Well, Microsoft never *had* Java; Java is a product owned by another company.

I agree that C# is part of the natural evolution of computer languages.  C#,
Java, and the growing popularity of scripting languages is a direct result of
the increase in computing power.  The machines are fast enough that we can
begin to afford such luxuries as byte-code interpretation and garbage
collection.

I disagree with the suggestion that C#' purpose is to wipe Java out.  C#'s
exists to satisfy a market demand.  Microsoft needed a RAD-capable language
that was friendlier on programmers than C++, but not as repellant to C++
programmers as VB.  Who knows, Microsoft might have worked out a deal with Sun
to use Java for that purpose. After all,  Microsoft had developed the fastest
Java VM in the world, and the fastest Java compiler in the world.  However, to
make Java cooperate better in a Windows (specifically with COM), they added
delegates - another brilliant innovation Anders Hejlsberg, the Delphi
architect.  Microsoft tried to convince Sun that Java needed delegates (it
does).  Sun was stubborn. They sued Microsoft.  Microsoft asked Hejlsberg to
develop a new language for them, and the rest is history.  For more info, see:

    http://msdn.microsoft.com/visualj/technical/articles/delegates/truth.asp 


Cheers,
Eric

> Borland needs to clean up its act, a bit, IMHO.  If it lowers its prices, more people
> will realize what a great product Delphi is.  I am ecstatic about Delphi, and Borland as
> a company, and I would love to do what I can to raise awareness and get more people and
> companies to use it.

I've been a Borland fan for a long time (except for when the killed Brief, the bastards!).
I love Delphi, too, and have evangelized it myself.

> Surely, if we use Pascal, there is a reason for it.  It is not (necessarily) out of
> ignorance, duress, or even stupidity, it has to do with the fact that people have
> different personalities.

Agreed.

> EricTetz, forgive me if what I said earlier seems a bit immature.  I have been in this
> debate *many* times, and the same things have been said _over_ and _over_, and I must
> say that your gargantuan posts were a bit daunting.  I don't mind seeing people
> encouraging others to use C++ (I like it myself but don't use it as much), but I find
> efforts that go into discouraging people from using Pascal to be mostly pointless.
> (BASIC, maybe, but that's another story; I hope you agree).

Well, forgive me if I tend to get a bit heated (but if you read for enough to respond to
this thread, you already knew that... ;) )

> Maybe the two cents I put into this thread beckoned for a debate, but I suppose I see it
> as my duty to make sure Delphi doesn't die, as I have gotten a lot out of it.  Sure,
> Borland could discontinue using Pascal as a language and move to producing C++ Builder
> only, but why?  It works very well as it is, and as has been stipulated, Delphi is a
> great product.

Personally, I think C++ Builder kinda sucks; too many pointers.  Delphi is much cleaner.
I think this mostly comes from using C++ to manipulate objects that were written in
Pascal, and that it wouldn't necessarily have sucked so bad if the class library had been
re-written from scratch for C++.  But I agree, Delphi is a great product.

> If Delphi drops Object Pascal, it would probably only make the academic purist users
> happy.

Academic purist don't like C++, either.  And don't forget, it was an academic who invented
Pascal. ;)

> I also agree somewhat with YodaMage;  Microsoft could never compete with Borland's Turbo
> Pascal in the 80's, so it never bothered to make a Pascal compiler.

If there was money to be made with a Pascal compiler, Microsoft probably would have
written one.  Whatever anyone may say about Microsoft, they're not one to miss a trick.

> Microsoft isn't *fully* responsible for C's success, but the C language got more from
> Microsoft (which is a huge influence) than Pascal did.

C was developed to write Unix, back before Microsoft was even a glimmer in Bill Gate's
eye.  The fact that it turned out to be a fantastic systems programming language, and that
it was very popular, has nothing to do with Microsoft.  C is still the native language of
Unix. Sorry, but Microsoft just doesn't get to take credit for C. ;)

> VB is a cobbled product, and the huge user base for VB is definitely not due to VB's
> power and purity;  it is due to Microsoft's muscles.

VB is popular entirely on it's own merits. When VB came out there was nothing on the
market like it, it was amazing.  Before VB there was one way to program Windows; with C.
VB brought Windows programming to the masses.  VB is *still* an amazing product, it just
happens to be based on a pretty shitty language.

Cheers,
Eric
>...and that it was very popular, has nothing to do with Microsoft.  

Yep, I am aware that C was very popular long before Microsoft.  I hope it wasn't construed that I meant Microsoft invented, or even popularized C.  My point was, that Microsoft is doing its part to perpetualize C, where it does not do the same to Pascal.  (Not to say that is ethically wrong in any way, it is just true).  This may not make a *lot* of difference, but I am sure it makes a difference nonetheless, as there are many people who, at least unconsciously, worship M$.

>VB is *still* an amazing product

Yes, I gotta give it some respect for setting in motion the idea today known as RAD.  Then Delphi came out, which dwarfs VB (even besides the language, I think Delphi is superior).  IMHO =).  If Borland was as strong at marketing as Microsoft, I am sure Delphi would have dominated by now, but they're not, and it hasn't.  Delphi will probably always be a cult classic. =)

Someone in this thread said "it is the right language to use if you can get the job done without wanting to kill yourself."

Let's just say that criteria really works for me when judging VB (the language, at least), and COBOL. =)  
>And don't forget, it was an academic who invented
Pascal. ;)

OK, wrong choice of words.  You know what I mean. =)
I haven't had a chance to finish reading this but OMFG it is funny.  One person argues facts and the other reads it wrong and argues something that wasn't even said but still gets their facts wrong.  haha

Anyhow, This could be a little late :p but IMHO C/C++ is a better language than delphi.

I used to code alot in delphi/pascal when I was learning to program and at that time it was great, but I quickly learned that in order to do anything powerful and to ensure speed I had to port my code to C/C++.  

But once again this was quite entertaining.

"Assembler is the same as Machine Code"
LOL!  I find assembler hard to follow let alone trying to read machine code :p
>> ...and that it was very popular, has nothing to do with Microsoft.  
> Yep, I am aware that C was very popular long before Microsoft.  I hope it
> wasn't construed that I meant Microsoft invented, or even popularized C.  My
> point was, that Microsoft is doing its part to perpetualize C, where it does
> not do the same to Pascal.

I can accept that. My point is only that people didn't choose C over Pascal
because Microsoft chose C.  They chose C for the *same reasons* that Microsoft
chose C.  There's a difference.

> This may not make a *lot* of difference, but I am sure it makes a difference
> nonetheless, as there are many people who, at least unconsciously, worship
> M$.

Hmmm... I thought everyone viewed Microsoft as the Evil Empire. ;)

>> VB is *still* an amazing product

> Yes, I gotta give it some respect for setting in motion the idea today known
> as RAD.  Then Delphi came out, which dwarfs VB (even besides the language, I
> think Delphi is superior).  IMHO =).

Of course, they had the advantage of seeing what someone else had done.  For
me, some of Delphi's big wins over VB are (a) a much better language, (b) a
better class library to encapsulate the API (thanks in part to the better
language), and (c) a very nice native compiler that allows you to create
small and fast executables and DLLs.

> If Borland was as strong at marketing as Microsoft, I am sure Delphi would
> have dominated by now, but they're not, and it hasn't.  Delphi will probably
> always be a cult classic. =)

Well, part of that is that it's a huge risk for any corporation to bet the bank
on a new technology.  Will Delphi scale well with our project?  Will
we run across a show-stopper bug 4 months into our project?  VB is a proven
technology. Also, VB *does* have features that Delphi doesn't, such as a fully
customizable/scriptable IDE, source control integration, stuff like that.  I'm
not really an expert on VB, so I couldn't enumerate everything, but I was very
impressed with the VB's capabilities and polish, as a tool, last time I used it (regardless
of what I think of the language).

> Someone in this thread said "it is the right language to use if you can get
> the job done without wanting to kill yourself." Let's just say that criteria
> really works for me when judging VB (the language, at least), and COBOL.

Well, that's another reason I like C++.  I've heard it said,
"C++ is to programming what sex is to reproduction, there may be better ways
to do it, but they are not nearly as much fun."  ;)

Cheers,
Eric

PS: As of your post, this page is 192KB of HTML!!!
>>VB is a proven technology
Trust me all VB has proved is that it shouldn't be used for anything more than coding a phone book. BELIEVE ME on this one, coding in an OB/ED (object based/event driven) language is not fun.  Especially when there aren't enough events to compensate for the lack of OO features.

You end up spending 80% of your code writing fixes to MS bugs and the cost of 3rd party addons such as a decent grid control (I write applications not games) and comm controls is phenomenal, and writing it yourself is nearly even a cost effective alternative!!!
>I quickly learned that in order to do anything powerful
>and to ensure speed I had to port my code to
>C/C++.  

Hehe...did you have this epiphany in the '70s?

>> VB is a proven technology
> Trust me all VB has proved is that it shouldn't be used for anything more thancoding a
> phone book.

Well, if you consider that 50% of the worlds non-mainframe programmers are VB programmers,
there must be an awful lot of phone books out there...

> You end up spending 80% of your code writing fixes to MS bugs and the cost of 3rd party
> addons such as a decent grid control (I write applications not games) and comm controls
> is phenomenal, and writing it yourself is nearly even a cost effective alternative!!!

You might not be saying that if you had ever written Windows code in C.  Just by *opening*
VB, you have a working Windows app. You just say "Run" and Viola!, you have a window on
the screen.  That little do-nothing app is 20 or 30 lines of fairly gnarly C.  Code that
could take you weeks (or more) to understand well enough to write yourself from scratch.
Once you start getting into COM, you are talking about nightmarish complexity.  VB and Delphi make
all that complexity simply go away.  Trust me, you can't really appreciate what an achievement
this is until you've been down in the trenches coding this stuff by hand.

Cheers,
Eric

Eric have you ever tried to code a complex application in VB?

If no then you don't know how annoying it is, I like having to code those extra lines because then I KNOW what is happening.  I spent nine months writing an application in VB that should have taken 1 or 2 at the most if I had written it in another language.  Of course I probably wouldn't have chose C for this either.  For this application I probably would have said *beep* it, why code this in VB or C when you want it on the web later on anyhow, and did the whole thing in PHP or Perl using XML to contain my datastructures once they are out of the database and DHTML as the front end since it is so much easier when you can code in OO and separate your GUI from your code easily along with the ability to use the more appopriate language for each and still have them communicate with one another with alot of ease.
>Eric have you ever tried to code a complex application in VB?

I have (but not by choice).  It eventually got done, and worked well.

But it had sucked out 50% of my will-to-live. =)
>>Well, if you consider that 50% of the worlds non-mainframe programmers are VB programmers, there must be an awful lot of phone books out there...

Where do you get this number?  Because from what I have seen that is way way way too high!
I know scrappy, I know all too well...*sigh* those were a loooooooong 9 months.
VB's lack of polymorphism (and the fact that I couldn't even build a linked list) cost me a lot of time on that project. =(
>> Well, if you consider that 50% of the worlds non-mainframe programmers are VB
>> programmers, there must be an awful lot of phone books out there...

> Where do you get this number?  Because from what I have seen that is way way way too
> high!

Well, that figure includes Visual Basic in all it's forms (VBA, VBScript, etc).  I tried
to find my original source, and couldn't (maybe you can). However, I did find this page
which quotes the same source:

http://www.ccs.neu.edu/home/iholland/lecture8.html

The data is from 1997, from Gartner/Dataquest, a *very* reputable source.  The data
includes projections through the year 2002.  It would be nice to see really up to date
statistics, but Gartner/Dataquest will charges companies several thousand dollars to see
that. ;)

Cheers,
Eric
>> Well, if you consider that 50% of the worlds non-mainframe programmers are VB
>> programmers, there must be an awful lot of phone books out there...

> Where do you get this number?  Because from what I have seen that is way way way too
> high!

Well, that figure includes Visual Basic in all it's forms (VBA, VBScript, etc).  I tried
to find my original source, and couldn't (maybe you can). However, I did find this page
which quotes the same source:

http://www.ccs.neu.edu/home/iholland/lecture8.html

The data is from 1997, from Gartner/Dataquest, a *very* reputable source.  The data
includes projections through the year 2002.  It would be nice to see really up to date
statistics, but Gartner/Dataquest will charges companies several thousand dollars to see
that. ;)

Cheers,
Eric
> Eric have you ever tried to code a complex application in VB?

God no! I'd rather peel off my skin with a pair of pliers.

> If no then you don't know how annoying it is, I like having to code those extra lines
> because then I KNOW what is happening.

Well, forgive the nitpit, but that last part of the line raises a red flag for me...  it
sounds just like my father-in-law when he's telling me why he distrusts C++, and loves his
old, familiar C, "I don't like having stuff done behind my back, I like to KNOW what's
happening."  My reply to this is that a C++ programmer *does* know what's happening, he's
just not a C++ programmer yet! There is nothing being done "behind his back", the behavior
of the language is well specified.  Of course, you have to know the language.

If you know the language well, there should be no mystery about what a line of code does,
right? Or did I misinterpreted your point?

> I spent nine months writing an application in VB that should have taken 1 or 2 at the
> most if I had written it in another language. Of course I probably wouldn't have chose
> C for this either.  For this application I probably would have said *beep* it, why code
> this in VB or C when you want it on the web later on anyhow, and did the whole thing in
> PHP or Perl using XML to contain my datastructures once they are out of the database and
> DHTML as the front end since it is so much easier when you can code in OO and separate
> your GUI from your code easily along with the ability to use the more appopriate
> language for each and still have them communicate with one another with alot of ease.

So why blame VB, when you admit that it was the wrong tool for the job?  No point in
saying hammers suck because they are lousy at drilling holes. ;)

Not that I'm defending VB.  I just don't think it could possibly such *that* bad.  I've
used it (before Delphi came out) to whip out front ends for C++ guts.  It works pretty
well for that!

Cheers,
Eric
>Anyhow, This could be a little late :p but IMHO C/C++ is a better language than delphi.

Another flamer here ... again and again ... this guy never realize that "LANGUAGE" doesn't matter ...

>I quickly learned that in order to do anything powerful and to ensure speed I had to port my code to
C/C++.  

As I said, someone can make a simple C++ compiler which do 10 loops and take 1000 years to complete ... wanna bet ? That is because the vendor who make that compiler is *nut* ...

As I said "PROGRAMMING LANGUAGE" is just a collection of rules that's all ! Not more ! Compare the speed of Turbo C and Borland C, using the same source code (ansi-C), they will give you different speed even though a bit only (pls forget about minor code-style differences) ... the speed difference will be bigger when the code become longer ... Or, you can compare Borland Delphi 3 and Borland Delphi 4. Maybe Scrapdog knows this issue, but when I use DirectX-DGC in Delphi3, it is damn slow (3x or 4x) slower compare to Delphi 4... Although Borland is the same VENDOR who create Delphi, but the fact is ... version 4 is faster ! Do borland replace Delphi 4 with C/C++ language ? Nah ! But, why it is faster ? Because they optimize the compiler, not the language.. Prog language is just a language, man ...

>Trust me all VB has proved is that it shouldn't be used for anything more than coding a phone book. BELIEVE ME on this one, coding in....

Beleive me, everybody has already *know* that .... the compiler produce slow program ... Someone can use POWER BASIC for BASIC Language compiler, the speed is good ... equivalent with result from Turbo Pascal and Turbo C ...

>"Assembler is the same as Machine Code"
>LOL!  I find assembler hard to follow let alone trying to read machine code :p

LOL too :)

Talking about PC-Dos environment, ASSEMBLY is very close related to Machine Code, since ASSEMBLY is more a human's language representation of every byte used for machine to execute task ... Although there's sub variant ASM lang (like TURBO ASSEMBLER, or ASM defined in C/C++/Pascal inline which you can declare/include variable name as you like), but if talking about creating machine code from DEBUG.COM (DOS), bet it ... u will use ASSEMBLY ... that is direct translation from ASM -> MACHINE LANG ... Or you can detranslate MACHINE LANG -> ASM ... vice versa ... unless you can remember that $h05 is JMP or $h09 is JNE (not really &h05 is JMP, it is just example) ... but you can do so if you really remember that ...
> Eric have you ever tried to code a complex application in VB?

God no! I'd rather peel off my skin with a pair of pliers.

> If no then you don't know how annoying it is, I like having to code those extra lines
> because then I KNOW what is happening.

Well, forgive the nitpit, but that last part of the line raises a red flag for me...  it
sounds just like my father-in-law when he's telling me why he distrusts C++, and loves his
old, familiar C, "I don't like having stuff done behind my back, I like to KNOW what's
happening."  My reply to this is that a C++ programmer *does* know what's happening, he's
just not a C++ programmer yet! There is nothing being done "behind his back", the behavior
of the language is well specified.  Of course, you have to know the language.

If you know the language well, there should be no mystery about what a line of code does,
right? Or did I misinterpreted your point?

> I spent nine months writing an application in VB that should have taken 1 or 2 at the
> most if I had written it in another language. Of course I probably wouldn't have chose
> C for this either.  For this application I probably would have said *beep* it, why code
> this in VB or C when you want it on the web later on anyhow, and did the whole thing in
> PHP or Perl using XML to contain my datastructures once they are out of the database and
> DHTML as the front end since it is so much easier when you can code in OO and separate
> your GUI from your code easily along with the ability to use the more appopriate
> language for each and still have them communicate with one another with alot of ease.

So why blame VB, when you admit that it was the wrong tool for the job?  No point in
saying hammers suck because they are lousy at drilling holes. ;)

Not that I'm defending VB.  I just don't think it could possibly such *that* bad.  I've
used it (before Delphi came out) to whip out front ends for C++ guts.  It works pretty
well for that!

Cheers,
Eric
> VB's lack of polymorphism (and the fact that I couldn't even build a linked list) cost
> me a lot of time on that project. =(

Must have been a really old version of Visual Basic. You have been able to create
linked-lists (stacks, queues, trees, graphs, whatever...) since VB4.
Finally, a sensible discussion!

EricTetz, please visit https://www.experts-exchange.com/jsp/qManageQuestion.jsp?ta=lounge&qid=20173303

This post is getting rather long and cumbersome. If anyone wishes to continue the discussion, can we start another thread in the lounge for it?

Regards
Eric,
Well when coding VB you read documentation and it says doing this will work like this...you code...you run...its all messed up...you debug for hours to find the culprit line...you read it wondering how it can not be working...you come here to EE...pose the question and people come back with a link showing that it "is a known bug and ..." either this is how to work around it (causing poor logic in your code and a decrease in speed) or the fix will be out soon which is a real pain in @$$ because you now need to find your own way through this boulder that shouldn't have existed if Microsoft could create decent compilers that work like their documentation!!!

Scrappy,
I too agree that VBs lack of pulymorphism and all the other goodies of OO that it doesn't support are quite bothersome.  One language that is very good at this and similar in VB only with its IDE is Power Builder, very object oriented and you can inherit from anything be it a form or a nvo (non visual object).  That is a language that should be used instead of Visual Basic, but since it is a better language it DOES have a steeper learning curve.
Hello just never mind this comment :)

I've been in programming since 1990, but still a newbie at this time, i don't know how to choose the right programming language.


It is year 2008 :)

Hello i just want to add this comment :)

I've been in programming since 1990, But I'm still newbie at this time in programming, i don't know how to choose the right programming language.

in desktop application programming:
i agree that ( c or c++ )  is the right choice, But the problem is which to use?
c++Builder 2007 ?
Visual c++ version9 (msvs2008) ?

What about in Web developments language we prefer to use?
is it PHP5 and mysql database with AJAX ?
or the new ASP.NET and MsSql with AJAX ?
or just JAVA for crossplatform?

Hello experts! :) are you there? :)