• Advertisement

Archived

This topic is now archived and is closed to further replies.

How many people here know how to program in Delphi??

This topic is 5495 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Delphi is in a really funny situation I really want to learn more about it because It is not as hard to learn as C or C++ It has the Visual part of Visual Basic. And it is properbly more powerful than Basic and faster as well. Although It may be not too poweful compared to C or C++ when programming system levels. And there seems to be less short cut code than C or C++ And the finally thing is not many people uses it. I see the trend that many people start off learning VB first then jump to C or C++. Since Delphi ( or Pascal ) is very simliar to C then should the jump to C be easier?? Or am i too navie to think like that?? And am i right in thinking Delphi is Pascal with OO.....like Delphi is Pascal++???

Share this post


Link to post
Share on other sites
Advertisement
Delphi is a product. It uses a language which is object pascal. It is not just a language. Rather it is a combination of a language, development environment and something called the Visual Component Library (VCL). The development environment and VCL makes it relatively easy to create graphical user interfaces (GUI) for applications. The same is true for Visual Basic and C++ Builder. Object Pascal tends to teach fewer bad habits than Basic. It is a more verbose language than C++. Keeping you from engaging in bad habits means more rules you have to follow which makes it harder to get started. Being verbose it is easier to read, but takes longer to type in. C++ doesn''t let you engage in the bad habits either. If you code in Basic long enough to hang yourself with the bad habits and learn to avoid them then the switch to C++ shouldn''t be that bad. If you switch before that it can be very frustrating and irritating as you are not allowed to do things you are use to doing and forced to do things you are not use to. Switching from Pascal to C++ you lose a few things that made life easier, pick up a few things you couldn''t do before, but for the most part is just substituting words with symbols and other slight changes.

Share this post


Link to post
Share on other sites
you will find that if you look at colleges between the late 1970''s and the late 1990''s, they taught Pascal as the first programming language ... because it was originally designed to be a good learning language ...

Back in the 70''s / 80''s it was not used for very many real world programs, because compiler technology was not advanced enough to make the generic / cross-platform oriented Pascal language compiler into efficient / optimized machine code on particular platforms.

Borland created Turbo Pascal and Turbo C as inexpensive offering for the personal computer ... and with them (either one) you could make great DOS programs, even games - but the C language had much more library support (it''s library model became the de facto standard for all cross-language libraries now). Which is one of the 2 reasons C was considered more REAL than Pascal. The other reason was that Pascal has cetain requirements / rules which are not suitable for developing Hardware drivers, or system level code in (for example creating a Java Virtual Machine in Pascal would never be as efficient as a hand-tuned version in C - because C imposes no real rules on the program, Pascal does.

Borland now makes Delphi, C++ Builder, and J Builder ... each of which is an amazing program for development ... Delphi gets all of the RAD features first, and is definately the most "visual" programming tool on the market. J Builder is a leading Java tool (competing closely with Sun''s own SDK, and IBM''s offerings). C++ Builder has kind of fallen down in comparison, due only to it''s different library format than Microsoft''s completely dominant Visual C++. Since C++ Builder cannot directly incorperate static .libs made by Microsoft''s tools, the can only use libraries which do one of the following: provide source code, release Borland libraries, or ship in .dll form ...

Anyway, back to the subject .. there are many small games made in Delphi still, in fact it was (until the newest version of VB) considered my most to be MUCH better suited for games than VB ... in fact it was considered more of a REAL language by nearly everyone. But it just doesn''t have the enormous support / community that VB does ... because of VB''s market dominance in the buisness market ... there are many more skilled VB developers than Delphi developers ...

So you could be on of the few .. just make sure you are not banking your carrer on being a Delphi guru ... you will find employment opportunities for Delphi are primarily for the Senior level contractor who can come in and make Dephi programs interact with new web services and such ... VB eats Delphi''s market on one side, and Java is destroying it on the other ...

Learn one of these for business: Delphi, Java, Visual Basic, C#
Learn one of these for functionality: python, PERL, php, ruby
Learn one of these for long term development: C, C++, Java

I use C++ and PERL at work, and C++ with python and ruby at home. But I find it would be helpfull to know Delphi or C#, and also to know some Java.

Share this post


Link to post
Share on other sites
It''s almost certainly easier to move to C or C++ from Delphi than VB. You''ve got fixed-length arrays, pointers, etc., plus objects with well-defined interfaces, so it''s fairly equal on the feature front with C++.

You also have very useful facilities like an excellent string type, dynamic arrays, lightning-fast compiles, and a superb IDE, particularly for developing form-based programs.

You''ll learn better coding habits from Delphi than diving into C++, but you''ll be in a better position to progress than starting with VB.

Xai has made some good points.

Share this post


Link to post
Share on other sites
The reason i am always looking at delphi is becuase for is VCL. If i am thinking correctly VCL in Delphi is like creating GUI in VB?? if that is the case I want delphi so i could create something with a GUI more easily. And i always consider VB to be not a good start because i think VB has a lot of different to Pascal/C/C++.

Xai, when you say the lastest version of VB do you mean VB.net?? Well to my knowledge VB.net is totally different to the old VB6...

And something strike me, does C++ Builder has VCL like delphi as well??

And just wondering if there is something that is like Delphi but allow you to code in C?? ( am i asking to much?? )

If delphi is that good then i think i will give it a try.

Share this post


Link to post
Share on other sites
C++ Builder offers functionality similar to Delphi, but as Object Pascal (IMO) is a nice nice language (I used to work with delphi professionally for some years) I wouldn''t consider
using C++ Builder.

Delphi is great when it comes to fast and easy GUI development under Windows and Linux.

So I''d say - go for Delphi first and try C/C++ later.

Share this post


Link to post
Share on other sites
C++ Builder doesn''t really use C++, its more of a hybrid between pascal and C++, or at least it was in older versions. It used the same VCL of delphi, still written in pascal as of version 3 of C++ Builder.

----------
crAzy

Share this post


Link to post
Share on other sites
I use Delphi at college. I dislike writing any amount of code in it, due to it being so verbose compared to some other language I know.

Still, it''s quite a nice language to use, I suppose.

Share this post


Link to post
Share on other sites
Random Trivia:
Delphi was name Delphi due to it being designed for use with databases. A popular database, called Oracle, inspired the designers to call it Delphi, due to the Ancient Greek tradition of going to Delphi to speak to the Oracle.

Share this post


Link to post
Share on other sites
Hi

quote:
Original post by Iwod
It may be not too poweful compared to C or C++ when programming system levels.
And there seems to be less short cut code than C or C++

And the finally thing is not many people uses it.



I think you should give Delphi a try and see if those statements are true

Don''t worry about performance, there''s really not much difference (if any).

And plenty of people use it, not as many as C/C++ of course, but there are a lot of sites out there to help you learn.

I''ve used C and C++ for about 15 years and Delphi for about half that time and personally prefer Delphi. My advice would be to give it a try and if you don''t like it, you''ll have lost nothing but a little time

______________________________

DGDev - The Delphi Games Development Community

Share this post


Link to post
Share on other sites
I''ve programmed in C/C++, Java, C# and Delphi. Turbo Pascal and ater Delphi was the first language I learned for real, and did any serious programming with.

In my opinion there isn''t a whole lot of difference between programming in one language and another. If you''ve learned one of the above, you can very quickly learn to program in any of them. The main differences comes from a couple of language features in newer languages such as Java and C#, and the libraries available for each language.

I''ve recently returned to Delphi programming from a long absence, mainly in the Java world. And even though I still like the language, I must admid that its faded a bit by comparison. I don''t mind the verbose-ness much, I always considers readability over speed anyway. But there''s some things I miss, such as for example the package notion and the ability to make a method protected at package level. Also, the garbage collection. Sigh. It can sometimes be a hassle to remember the difference between a record and a class, a dynamic array and a static array ect. with regards to memory management.

Delphi''s strongest card is without doubt the VCL. It is really nice to work with. And there''s thousands of thousands of custom components out there for a lot of stuff. MFC is a nightmare compared to VCL and Java''s SWING, although nice, is not quite as easy to deal with. The only thing I''ve found to rival it are WinForms, which is part of Microsoft''s .NET. WinForms seems very similar to VCL, like a good cross between SWING and VCL.

If you are going to do game programming with OpenGL then I would probably give Delphi a try. It''s very easy to set up OpenGL in delphi, and easy to integrate it with VCL for doing level editors and such.

If, on the other hand, you''ll be using DirectX, I think I would try downloading C# and the C# DirectX 9 SDK. C# and Managed Direct3D seems like a really attractive combination. And most likely you needn''t worry about the performance. When starting on game programming it will take a long time before you can code something big enough to really press the computer.

Share this post


Link to post
Share on other sites
I know quite a bit of Java. But as i said Delphi always interest me simply because of its VCL. Now i have heard a lot about .NET but heaven''t really use it.

Now what nicba said really take me a lot of interest. C# with direct X. And winform...... Any body else has any suggestion on it or should i start another new thread on C#??

Since C# is very much like Java then it would be very easy for me to jump to it....

Share this post


Link to post
Share on other sites
quote:
The only thing I''ve found to rival it are WinForms, which is part of Microsoft''s .NET. WinForms seems very similar to VCL, like a good cross between SWING and VCL.


Which, btw., is based on both libraries being designed by the fsame Person. The lead designer of .NET / C# was - the guy responsible for Delphi at Borland.

quote:
Since C# is very much like Java then it would be very easy for me to jump to it....


Well, only if you also know C++ :-) Otherwise you may never realize that you can overload operators in C# :-)


Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)

Share this post


Link to post
Share on other sites
most of the above post are true (or at least as true as any opinion based statement), helpful, informative, and not meant to be a flame ... which is literally amazing for a discussion about language preference ...

I do want to answer for whoever asked ... C++ Builder does have the exact same VCL library as Delphi (although I think the current version of Borland Builder is identical to the PREVIOUS version of Delphi, because they do not release at the same time and Delphi is the first target for all VCL additions).

There is a product called Kylix for developing linux applications ... what it really is is the linux version of BOTH Delphi and C++ Builder (I have only tried a demo once, and it seems to be a really great product, but still has some catching up to do before I''d consider it for my primary development needs - I do plan to port to linux with it).

To the person who said C++ Builder didn''t use C++ ... they we''re completely wrong ... C++ Builder is more standards compliant than Microsoft Visual C++ (in fact it is one of the most compliant mass market C++ compilers - expecially now that is uses the STL Port for it''s STL implementation.

One finaly note about C++ ... there is ONLY ONE thing that C++ has which you cannot get (or live without) from any other current, well supported language ... (kudos if you know what it is) ....

... TEMPLATES ... and they are absolutely one of the most powerfull programming strategies to ever be invented. In fact, the only reason I didn''t shift to Java or even Python for my last small programming project was this - I could write 50% of it as templates ... and reuse it for all my other work ... I know have a template library of over 40 classes, and I cannot imagine giving it up ... ever.

Share this post


Link to post
Share on other sites
no .. neither C# or Java support templates, or generic programming at all ... nor do either support multiple inheiritance (but they emulate it with interfaces).

Share this post


Link to post
Share on other sites
C# is under review for templates. don''t have the link handy though.

Share this post


Link to post
Share on other sites

  • Advertisement