Link to home
Start Free TrialLog in
Avatar of Dabhar
Dabhar

asked on

Delphi or C++

Wow, what a great resource! I need to decide which program to learn first, either C++, Delphi or even Java. This will be my first foray into the programming field, so I'm a bit scared! My primary interest is in developing cross-platform applications, like with Windows and Linux, but more stand alone applications verses web-based. I would appreciate any suggestions as to which way I should go. Someone else suggested I take a look at Delphi---which is why I'm here! Thanks in advance!

Tim
dabhar@mail.com
Avatar of Batalf
Batalf
Flag of United States of America image

I have worket a lot with Pascal/Delphi and also a little bit with C++, and
my personal Experience is that Delphi is a much easier language to learn than C++.

On the other hand, C++ is a standardized language, and maybe a language which is more used than Delphi.

I would anyway gone for Delphi

Regards
Batalf
Avatar of dvd99
dvd99

Ok hare you go!!
Learn Java!! for what you want it has cross platform (the same app will run on windows,mac,linux ect.) it can do wonderful standalone apps (yes not just applets!) ,but then again about delphi it can make great standalone programs,great web,server based apps but is not very cross platfrom.
C++ is a option but again that same app will not run on all systems.
So in a nutshell go for java it has everything you want and more and also i very easy to learn annd even better is OOP and based on C++
So there's your answer!!!
I started off programming in Pascal and then moved over to C/C++, later I dabbled in Visual Basic and Then Delphi. I decided to stay with Delphi because it had the most features, yet always allowed me to get back to the real nitty-gritty of the environment I was working in. With the promised release of Kylix (Delphi for Linux), I am glad to see that my choice is being supported on other platforms by Inprise. Soon I will be able to do what you are looking for Dabhar: develop on  multiple platforms without sacrificing the years I spent learning my development tool of choice.

The flip side of using Delphi is that Inprise has a family of look-alike tools which can be used for an easy switch-over at a later date. Borland C++ Builder and JavaBuilder are (as far as I know) the same development interface with their own language specific features. Inprise also provides an easy upgrade path to Client/Server and N-Tier development.

Good luck in your search!
You might want to get a demo CD from Borland. I think you can order it from

www.borland.com

or

www.inprise.com

I guess, on this CD you should find demos of C++ Builder, Delphi and Java Builder. So you have all there and can test it.

My choice is Delphi. I simply love it...   :-)

Regards, Madshi.
Avatar of Dabhar

ASKER

While eloquently spoken and insightfully written dvd99, the others comments seemed somewhat more persuasive for me to further investigate Delphi's merits. But thanks for the excellent info nevertheless. I'd still like to hear some other opinions.

A little more detail might help: I am very much a visual learner--the easier the better--but I don't want to shy away from what might be the most versatile tool, ie., C++ or Java. And I'm lazy, meaning I want to learn the language that will be the best language overall, perhaps even saving me from learning any OTHER languages in the future (for a while anyway!). I hope that helps to clarify my position.

Again, thank you all for this wonderful service.

Tim :)
hi, Dabhar

"which language to use ?" is question of all times and it is CAN NOT be answered in only one way, meaning that you have to deside by yourself, evauluating all your requirements (what tasks you are going to write ? is development time critical ? do you write alone or in team ? etc etc),
and just few my comments:

1) C is more widely used language than Pascal/Delphi and most SDK/DDK interfaces use C, also most OSes use C as system programming language
2) for ME and many others C's syntax appears more complicated than Pascal's (by the way, I like Assembler even more than Pascal ;-)
3) Pascal easier to learn and read, it is very logic and light-syntaxed vs C
4) talking about Windows apps. - Borland's developer tools are FASTEST for now (using their visual approach), if you don't care about extra 300-400Kb to your EXE, but the same simple app. in MS VC++ could be of 5 times lower size...
5) if you want to use C syntax, but write your app. fast - use Borland C++ builder then
6) MS Visual C++ considered as standard tool for developing system applications for windows (drivers, VxD, SYS, DLL), but I personally hate it after Borland ;-))
7) if you deeply understand programming, it doesn't matter which language to you use, and it becoms a matter of syntax and available tools. If you understand this you can EASILY switch to another language. I've being using Assembler, Pascal, C, Fortran, shell script, embedded Microchip Asm... it is all the same ! ;-))

of course the BEST approach is to try ALL of them and choose after that ;-) - every person has own choice criteries...

but think twice before do something - time is money ;-))
Delphi is easier than C++ and try to tell me something C++ is capable of that Delphi isn't!

Delphi, as I'm sure you know, is based on Pascal.  Pascal was actually developed as a "Teaching Language" to make it easier for people to learn programming skills.  Therefore, Delphi is a good language to learn, but maybe VB is even easier?  (As well as crap.)

Hope you make the right choice!

John.
In C++, you are given more low-level choices. Delphi does *a lot* of things for you that are standard, the things over which C++ gives you more control in case you want non-standard thingies.

This complete freedom can be overwhelming if you have just started, so I would, too, advise Delphi to start with.

On the other side, C++ is a lot more flexible and my personal opinion is that C++ "feels nicer" to type. After doing some C++, I have gotten really (no, i mean *REALLY*) tired of the "Begin End" statements. Generally, Pascal is a lot more typework.
I just wanted to underline that (IMHO) Delphi IS NOT a language, Delphi IS Pascal language and we have to be exact in terms... So, the description would be 'Delphi is a integrated development environment for Windows, using extended Pascal syntax, with extensions for database and visual components support'...

to nrico:

have ever used Ctrl-J combination in Delphi editor ??? try it ;-))

Well IMHO, No-one actually gives a toss!  That's not really a relevant issue to this question.

John.
>> In C++, you are given more low-level choices. Delphi does *a lot* of things for you that are standard, the things over which C++ gives you more control in case you want non-standard thingies.

You have all those low-level choices in Delphi, too. Nobody forces you to use the VCL!!

C++ has some advantages, though:
(1) Windows (and Linux, too) is written in C (or C++). So all Microsoft documentation and all Microsoft headers are in C++. If you want to use Delphi, sometimes you have to understand C++, because you have to convert some small C++ fragments to Delphi. But in the end, if the conversion is done, you'll see how much better the Delphi version of the code looks like.
(2) In C(++) you can build Windows drivers. With Delphi you can't (yet), because Delphi doesn't support shared segments. But perhaps that will change in future releases, who knows?

Regards, Madshi.
Fair point Madshi.  I stand corrected.

John.
Avatar of simonet
>Delphi is easier than C++ and try to
>tell me something C++ is capable of
>that Delphi isn't!

1) Building device drivers
2) Unnary operators (like "i++" instead of "i = i + 1")
3) Processor-specific optimizations without having to use assembly
etc...

I still like Delphi better, 'though, for it's faster development time, steep learning curve, easiness of usage, etc. And, for certain types of development, Delphi is much easier to use than C++. For example, anyone can build a XML server application accessing any database in less than 15 minutes without writing a single line of code. Is that possible with C++? The same goes for simple, standalone DB applications.

Alex
to simonet:

2) it just a matter of syntax
   j++ in C is equal to Inc(j) in Pascal


ASKER CERTIFIED SOLUTION
Avatar of Motaz
Motaz

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
This is stupid.  There's some kid that keeps pulling people up about stupid stuff!!!  

A comment that i++ in C is the same as i:=i+1 in Pascal was slated by some little kid saying that it was in fact inc(i).  WHAT DO YOU THINK INC(I) ACTUALLY DOES YOU MORON?????  Press Ctrl & click on the word Inc in your code....

Stop making pathetic posts.  If you've got nothing better to do, leave us alone!

Anyway, just to suit your pathetic comments, I must correct you.

Delphi is NOT "a integrated development environment for Windows, using extended Pascal syntax, with extensions for database and visual components support."  Delphi is "An ancient town of central Greece near Mount Parnassus. Dating to at least the seventh century B.C., it was the seat of a famous oracle of Apollo."

GET IT RIGHT OR KEEP YOUR MOUTH SHUT, CHILD!!
ALISHER_N - Just a note....the other experts might prefer it if you close or delete your old questions.  I'm sure there's points owed that you haven't given.  Sort it out.
Come on Jaymol, you seem to be the one with a problem here.
Dabhar:
Delphi is a great developers platform, also for easy deployable web-applications. I know VB and VC++ too... ...just don't

Floris.
I've got a problem, yes.  Alisher_N's stupid comments - and the fact that there's LOADS of answered questions waiting to have their points awarded!  As many of the experts on here will agree - if I'm wrong, I'll back down and thank whoever for correcting me!  What I don't appreciate is people who try to make out they're "involved" when they haven't actually got anything to say.  Also, what's the point in having a points awarding scheme if people don't do it!  There ARE people who deserve points that aren't getting them.  I've had that done to me.  Have you had it done to you?

I just can't see the point in anything that Alisher_N has said.

John.
I can't see the point of this discussion being here; talking about stupid comments.

Come on John, did you missed so many points? And is it all Alisher_N's fault? Good night Jaymol.

Please do forget my comments and don't respond to it, if you insist, start another thread that's dedicated to all the complaints you have.

Floris.

I do wish that people would not place comments before reading the preceding ones.
And I wish you an icecream.
Ha.  You make me laugh.  You actually really do make me laugh.
Reviewing thread.

darinw
Customer Service @ Experts Exchange
Avatar of Dabhar

ASKER

Very thoughtful answer Motaz. Thank you. And to others...sorry about my delay awarding answers. This is my first time using a forum like this and am still figuring it all out! Thanks!

Dab
hey, Jaymol

I am not a child, that's why I am not going to answer your RUDE and STUPID words, everybody can see the truth here...

you are just NOT a professional

As I've told you, Delphi is more powerfull than Java and any other language, if you visit www.deja.com you will found rating about Delphi among other languages, in this rating you willl find that Delphi win the first compiler, C++Builder is the second language, did you know what is C++Builder!! it is a language build by Delphi, even Delphi build by Delphi, for example Delphi 5 build with Delphi 4. There is no comparison between Delphi and Java, because delphi produce COMPILED code (exe files) but Java produce INTERPRETED code (byte code) so that Delphi applications is much fast that Java's.
If we talk about cross-platform portability, I'll tell you that there is another Delphi version under Linux called Cylix, but it didn't finshed yet, you can go to http://community.borland.com to see the progress of that great work, Cylix will be the first Rapid Visual Development tool under Linux and it will be the most powerfull language in Linux platform without any competetion.
About web development, you can build with Delphi:
1. Stand-alone binary CGI
2. Win-CGI
3. ISAPI Dlls
4. NSAPI Dlls

and you can build more server-side applications using modern technologies such as CORBA, and MIDAS. As you might know if you deploy web server application such as CGI written in Delphi in Windows NT server every one can access that applications such MAC, Linux, UNIX, and of course Windows clients, so that you do would not worry about portability any more. Moreover I think that Windows and Linux platforms is quite enough to develop applications for.

Good luck

Motaz
Avatar of Dabhar

ASKER

Thank you for your time to help me Motaz. I do appreciate it. Your thoughts are very convincing. The Java folks are trying to convine me to start with Java, say it can do everything that Delphi can do....and even went to far to say that Delphi is "archaic" now.....what do you think? I just want to make a choice that will fit my learning style (visual) and time investment to learn it, before I hit 50! (I'm 41 now).

Thanks again!
Dab
tporr@mail.com
Beleive me Java is very hard to learn compared with Delphi, moreover if Java can do every thing that Delphi do, it cann't do it at the same efficiency and simplicity. Delphi is more reliable, robust, fast, and easy.

Motaz

Delphi code is Pascal
Java code is C++
Pascal code is:
1. Very simple to learn
2. More readable than C++
3. Very fast in compilation because of using Units instead of Headers

But there is some things in C++ that isn't found in Pascal:

1. Templates
2. Operator overloading
3. Multiple inhiretance

But unfortunately all these three features are removed from Java code !!
Moreover You can use Untyped Type in Delphi, Varians, or pointers instead of Templates although is not more effiecent like Templates but it is quite enough.

Instead of multiple inhiretance you can use Interface

Java does not support Pointers. Pointers is very important to advanced programmers.

There is only one reason that makes you use Java: If you care about other platforms such as MAC, UNIX,,,
but did you know that Windows platform is used by more than 90% of users around the world, the next important platform will be Linux, so that if you port your applications to only these two platforms I think it is quit enough.

Motaz
Avatar of Dabhar

ASKER

Thanks again Motaz! I have sent you email as well.

Regards,
Tim