Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Is Delphi right for me?

Status
Not open for further replies.

scanreg123

Programmer
Mar 10, 2009
4
0
0
US
Hi

I'm trying to figure out if Delphi is the right language/package to develop the stuff I would like to work on.

Here is a bunch of questions that I have. If anyone can answer one, a few, or all, I would be most grateful for sure.

Also, feel free to throw in any thoughts, etc., I need all the guidance I can get.

Okay, here goes:

1. What IDE should be used to develop Delphi-based programs? Are there any nice freeware versions that I can start with? For example, I've seen Turbo Delphi (htp://turboexplorer.com/downloads) but I also found Delphi7 Personal mentioned here on DelphLand (htp://
2. Can you really create first-class powerhouse commercial win programs?

3. For building commercial win programs, I've seen a number of features that I'd like to use in some of my stuff. For instance, can Delphi (using an IDE), do the following:

A) Create a full-power 30-day trial package?
B) Do auto-updates?
C) Create desktop icon during program installation?
D) ....and other stuff (will ask later if things look good so far)

4. How does Delphi relate to .NET stuff?

5. What if I want to build a database app? For instance, an app that stores lots of fields or even multiple large databases? Can my app actually build those databases for my end users, or must the end users create their own databases that my app then connects to? (Would be most cool if my app could build and control all the database stuff for the end users).

6. Why not just go with C++? For example, I found TurboC++ IDE (htp://turboexplorer.com/downloads), so I'm wondering what the difference is between Delphi and C++.

Well.....I've certainly asked lots of questions. and of course I have lots more.....but hopefully I haven't worn out anyone getting this far.

If you can help guide me in this, I would be eternally grateful. I have lots of programs in mind. It's just how I'm going to get there that is so challenging to sort out.

Thanks so much :)
 
Your going to get a variety of opinions, but here's mine, and I'll only answer those where I'm familiar:

1. The free ones are good for evaluation and have limited resources and capabilities. Most do NOT include database components. You'd need a licensed version for DB. (Unless that particular version allows 3rd-party components.)

2. Absolutely (with full versions)

3.a. If you write your own code or install someone else's component.

3.b. (See: 3.a)

3.c Yes

3.d Lots of other stuff

4. ____

5. Yes - depending on your SQL skills.

6. Most debatable: IMO - if you're going to learn C, go with MS, unless you have Delphi code that needs to be ported to C.

Delphi vs C in general:

Delphi, simply put, is a more elegant programming language. It is more 'readable'. Much easier to learn. I could go on-and-on...

BUT, if you are going to choose programming as a career, you must consider your local. Here in the US, Delphi is all but dead, kept alive by us die-hards and hobbyists. Corporate America has the mind-set that programs should be written with an MS product because 'they wrote the OS', as dumb as that sounds. <sad>

However, Delphi appears to be thriving in other parts of the globe.

My 2¢ worth.


Roo
Delphi Rules!
 
Thank you, thank you, thank you :)

Really appreciate all the thoughtfulness

I think I'm gonna try Delphi (I'm in the States too) cuz I want to write my own commercial apps (download, install .exe, etc...), not work on other's, so all it's gotta do is play nice in Win and I'll be a happy camper

Super thanks :))))
 
for Win32 GUI development there is no better alternative.
webservices and related stuff -> .NET.

once you get used to Delphi you'll never want to fire up visual studio again... .


to answer your question 6:
it is a fact you find more (and I mean FREE) components for the delphi environment than for the micro$oft environments (VB, C, ...). you can purchase the professional version of Rad studio which includes Delphi/C++/.NET .

cheers,

/Daddy

-----------------------------------------------------
What You See Is What You Get
Never underestimate tha powah of tha google!
 
Thanks so much, am looking for stuff now, can't wait to get started :) :)
 
I am slightly confused father.
Are you saying that for win32 gui development, .NET is the best, and Delphi is the best alternative to it? or ..

It is kind of funny.
For work here I program using Delphi (in the US as well) but for a free time project I am being forced to work in Visual C# of the Visual Studio. I have not used it before so I am just starting to read up on everything about it I can find out before I jump in coding.

~
“Your request is not unlike your lower intestine: stinky, and loaded with danger.” — Ace Ventura.
 
Opi - That is funny, just the opposite for you.
BTW: My D7 Help files include both Delphi and C syntax for most all functions, constants and examples, which makes a great cross reference.
Daddy - RE: Q6 - second that!
Scanreg - Welcome to the brotherhood of Delphi coders. This is probably one of the most advanced Delphi forums around. Be sure to search previous posts before posting beginner questions, but we're here if you get stuck. Be sure to check out for tutorials that will really help you get going. has a vast amount of free components as daddy mentioned. And then there's google.
[2thumbsup] Happy coding!

Roo
Delphi Rules!
 
no, I mean for Win32 native development (rich GUI clients), Delphi rules! in our company we use .NET for webservices/ASP development stuff it was originally made for this purpose, and oh yeah, .NET winforms sucks.

I tried some gui projects in C# but I keep running back to delphi, it's so much easier and more powerfull and you don't have the requirement to install the .NET framework on your customer's computers (which proved to be difficult sometimes).

so I keep .NET on the web side of things, where it belongs...

/Daddy

-----------------------------------------------------
What You See Is What You Get
Never underestimate tha powah of tha google!
 
Scanreg,

It seems to me that one of the things you are particularly concerned about is being able to develop commercial quality applications with Delphi.

Directed specifically to that concern, there are still quite a few libraries that will save you a great deal of time in the development of a commercial quality interface.

Here are a couple of suggestions (not to say that there are other good ones, that might even be better)

1. The libraries from TurboPower software which are now free and can be had from sourceforge. The libraries are getting a bit old but there is still a lot of very good and very useful stuff in there. For instance, there is a full fledge compression library compatible with winzip. Free for the taking.

2. Everyone excuse me if this is inappropriate but, one commercial library that deserves your having a look at is the one made by Devexpress. I am in no way whatsoever associated with them, I think a good product (IMO) is worth mentioning to someone that might find it useful.

As far as databases goes, there is a plethora of databases that are accessible using Delphi (actually, I guess all of them are). Borland/Codegear has several good options. I also like the Advantage Database Server from Sybase because of its dictionary and other nice features. In addition to that, their Advantage Data Architect used to administer databases is written in Delphi _and_ they give you the source code too. Given that Advantage Data Architect (ADA) is a full fledge database administration tool and that you get the source code, it is an excellent example for doing just about anything you can imagine to a database. On top of that, using ADA you can access a database "record at a time" (using the venerable dBaseX functions) or you can access them "set at a time" a la SQL, your choice, either way you win. The single user version is free but the multiuser isn't.

HTH

 
By "Q6 - second that!" I was agreeing with what you said right under "to answer your question 6:"

RE: "Q4 - .NET" I'd left blank as I never touch the stuff, and in my book, you're the .NET expert.

Once again, I have to agree with "tried some gui projects in C# but I keep running back to delphi". I keep having the same experience. Delphi Rules!

 
However, Delphi appears to be thriving in other parts of the globe.

Not in the UK! If you want a job programming better learn something else (Visual C++, VB, ugg).

If you want to write your own progs go with Delphi. No question.

But if you want to write .net then you will need a new version (> 7) as 7 is too limited in that dept. (I may be wrong about this as I don't attempt to write .net myself!!)
This will cost you a sackload of money.

Next point is if you do attempt to be an independent applications developer, remember that the market for stand alone apps is non existent these days.
The web is king.

Unless of course you have an idea for, as you say a 'killer app' that everyone will want. In which case Good luck.



Steve: N.M.N.F.
If something is popular, it must be wrong: Mark Twain
 
scanreg123,

If you are new to Delphi or Object Pascal, then the most difficult thing is getting past basics. There is a great deal of writing about Delphi, much of it is at least 10 years old. It looks like Delphi was the hot product when they introduced the GUI and component libraries way back in the last millenia. The program is pretty good, but has some long standing bugs and flaws such as quirks in the code editor that reports errors that are not really there. Many of the features are poorly documented assuming a high level of programming capability with very limited tutorial information to advance to that level. Delphi looks to have been a cash cow for Borland for a number of years, but was not of as much interest to them as other parts of their business were. Eventually, they packaged it up and sold it off. What the new owners do with it remains to be seen.

As someone who taught myself Delphi more or less from scratch, I found the learning curve high to begin with, I have had to extract much of the basic information from a variety of books, many out of print, and try to assemble them into a curriculum to put the concepts together. It takes a lot of time. There are a lot of website resources, but you are going to have to do a lot of searching.

Having said all that, I must also say, that I have stuck with it and the like the language. Pascal is disciplined, which helps keep me out of coding trouble and easy to read. There is a fairly lively group of devotees who are often willing to assist you over the learning humps. There are also frequent inquiries from students looking for someone to do their homework for them, so somewhere in the world it is being taught and may have a future. The best thing however, would be if CodeGear takes Delphi to a next level and regains the cutting edge.
 
Thanks for the clarification Daddy. That is more in line with what I thought.

With regards to Delphi having a steep learning curve, I would just say use the basic tutorials on delphi.about.com
They remove any steepness to the learning curve that I can think of. Even though I had programmed in Delphi 6 in college (I am using Delphi 2006 now) I still went over the basic tutorial when I had free time here and learned a think or two that I did not yet know.

Also using 2006 I can say that I really have not seen any errors that were not there. There is the ever annoying error of "Access Violation" but it is nothing that a few ShowMessage's can't help you fix (provided you don't program for days on end without compiling and testing lots of new features). Even when I had one I could not figure out, the community here quickly helped me learn the difference between a method I was using where the code worked, and a newer method using other code that still worked. The previous method I was using was just advised against and I didn't pick that up on my research.

However, Delphi does still insist on giving me a warning that I dislike ... (I assign a value to variable in both parts of an if , else and Delphi tells me it might not be assigned). Other than that, I Love It!

~
“Your request is not unlike your lower intestine: stinky, and loaded with danger.” — Ace Ventura.
 
I also use BD2006. Another area I have struggled with in the IDE is the "Uses" statement. I have had numerous problems where errors are listed that the IDE cannot find files in the uses clause such as Classes or Sysutils and yet the paths are included in the options library paths. The IDE hold s a history of paths and two separate groups input groups, browsing and library. The documentation regarding the differences and how it handles these paths is a sentence or two in the help file, insufficient for a novice to get the paradigm for using them effectively. Not only that, but it is necessary to list every single directory desired instead of including subdirectories to a path as an option.

There are many instances where user frienddly improvements are possible. Once you master these subtleties, the advantages begin to shine, but the cost is higher than it needs to be for a novice. IF Delphi is loosing support, these are elementary problems that have not been addressed over many versions that should not still be there.

One of the most helpful tuturials I have seen is Nick Hodges 30 camtasias on his blog. They are excellent for beginners. Now add another 100 or so addressing databases, and other more advanced features such as .net and they would be providing the level of support to starters in the next generation of programmers, necessary to keep the program relevant.

It also appears that the links between the programmers and new users may be a bit insular. There is certainly does not appear to be much direct contact between users and the programmers involved in daily use.

Don't get me wrong, I like the program and have a great deal of time invested in it. I am also working in an area that will require Delphi as the language tin order to achieve my goals. I just don't want to see my effort go to waste with the program disappearing into the history of 20th century software.
 
I have VS 2008 Pro on the same workstation with Turbo Delphi Professional (Pascal only flavor of RAD Studio 2006).

Delphi pros...

1. Pre-existing, reusable code that doesn't cost thousands. Delphi has an incredible out-of-the-box drag-and-drop component suite as well as over ten years worth of code, components, tutorials, and communities all over the web.

2. No client framework required for deliverables.

3. If it runs on your Windows PC it most likely will run on any Windows PC and on any Windows version (Win32/Win64). (This just depends on the Application I guess, but my projects have proved to be extermely compatible and with no effort on my part.)

4. Indy Project components (free). If you want to write a Windows application that uses tcp/ip then Delphi and Indy are the way to go. Not easy at first, but by far the best set of tools I've used yet.

5. Delphi code is easier to read.

6. Despite the source code being easier to read you still have access to the Windows API direclty from Delphi.

7. You can patch almost any built-in Delphi component if needed. With VS that is not possible.

8. With the FPC and Lazarus projects it is possible to port your Delphi projects once and compile for nearly any OS platform. I have no first hand experience with this but I've read a lot about it.

Delphi Cons...

1a. The one thing I find very lacking in Delphi, at least with the version I use, is built-in examples and explanatory documentation. MSDN help bundled with VS is awesome.

1b. Having to go to the net each time to research a built-in component made Delphi harder to learn in a shorter period of time compared to VS. VS Help is plugged directly into MSDN on MS web site, so you have available to you the most up to date help and it's accessible straight from the IDE.

That's been my experience so far. I prefer Delphi now that I have a better understanding of it.


-a6m1n0

 
Corporate America has the mind-set that programs should be written with an MS product because 'they wrote the OS', as dumb as that sounds. <sad>

While most of the advantages have been brought out that I have found to be true (no need to reiterate that), I'll state a disadvantage that hasn't:

I don't know if this is necessarily a basis for the argument that "they wrote the OS", but there are certain advantages in that that are disadvantages in Delphi.

If someone hasn't already translated a portion of the API either as part of the VCL or as a third-party effort, it becomes a huge challenge (the Windows Update API header is 558K, for example) which requires a large amount of project time in and of itself. For the MS products you can generally just take the headers out of the SDK and access any portion of the API you want, but for Delphi you would have to translate it, given knowledge of C++.

Not to mention, there are numerous examples of things in the C++/VB world that have no equivalent in Delphi, so again it becomes at least somewhat useful to know either or both of those.

Delphi is a great thing, as long as you don't get beyond the basics that have already been translated for you (and really most business apps don't). But if you want more, it becomes a huge hill to climb.

Measurement is not management.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top