views:

2971

answers:

27

... can this still be a good career choice?

+4  A: 

Yes. It's an excellent platform and there's a good deal of demand for it out there.

Brian Knoblauch
Demand is still fairly good in Europe and South America (Brazil), but not in the US.
hectorsosajr
Surprisingly I ran into several jobs here in the US looking for Delphi programmers. Almost took one of them too, but I didn't like the part of the city that the company was located in...
Brian Knoblauch
+15  A: 

Awesome, fast, productive development environment? yes! Good career choice? Probably not.

TrevorD
Too many other technologies overshadow it. Just pick up one of the more popular ones in the industry, they're not that different.
Internet Friend
For most development you don't need new but stable technology.
gabr
Good point gabr. I'd still say that Delphi is better as an additional skill, than one to base a career on. It really isn't that far away from high abstraction-level c-style languages anyway. Java + NetBeans is very close to the Deplhi experience.
Internet Friend
+8  A: 

We have all in-house development done in Delphi - from small utilities to servers and services. Great stuff, quick development, lots of hand-holding (in a good sense).

See also: Learning C, C++ or Delphi ?

gabr
+13  A: 

It's still a very viable tool for native Win32 development.

If you're learning programming from scratch, probably not the smartest career choice.

And unless you're lucky enough to get into those corporate places where most of their in-house stuff is Delphi/Oracle, Delphi/SQLServer (etc), then it's not the best long-term option.

Many companies will tell you that, sooner or later they will be cross-training their staff to (and rewriting their apps in) C#. Of course, that means that for the existing Delphi old-timers, and the guys who don't mind less-glamorous maintenance work, there will be plenty of work to come in the short-medium term.

If you have dev skills already and want to maximise your time by using one of the best all-round Win dev environments, it's a good choice. It's reliable and stable, you can access the full power of the underlying platform/OS, it has an excellent library of third party tools and libraries, and you'll find good little pockets of enthusiastic support online. :-)

robsoft
A: 

There are still jobs for COBOL programmers, so there must be for Delphy too, i mean there are a lot of applications out there written in Delphy and they still need to be maintained.

Maybe not as awesome but you will make a living by doing that.

NeuroSys
This answer shows there's a lot of work to be done to get the word out and someone needs to brush up on their Greek.
Peter Turner
Interesting point, but I don't think there are too many Delphy jobs really. Maybe you can try CABUL, Purl or Abjective C, and brush up your Lunix skills.
Wouter van Nifterick
A: 

Selecting a single specific programming language is a poor career choice, independent of the language chosen. Most languages will be less significant in a few years (maybe besides C, that good old highlevel assembler).

Coming from this, I'd say Delphi is no good choice, because programming in Delphi is pretty much different from many other languages. In Delphi, you build a UI and add some content to some callbacks and you are done. This is great for kinda experience programmers who just need a cheap tool going really fast, but I think it is a poor choice as a first language to learn, because it hides a lot of the essential plumbing that is necessary in about every other langauge - and as I said, langauges tend to disappear, and if you don't know the basics of programming, you will have a hard time learning the new languages coming up.

Concluding, I say, Delphi is mostly something between a specialized tool to a toy. Rather learn Ruby/Python or Java/C# (or C/C++, even though those are kinda hard at first)

Tetha
I really don't see how you can say that programming in Delphi is different from programming in C# or C/C++ - it's not particularly hard to look beyond the GUI and see the whole language/structure/ideology. I'm guessing you haven't used Delphi very much (or only superficially).
robsoft
Indeed - C# f.x. is the spitting image of Delphi. A Delphi developer will learn C# faster than a Java or C++ developer.
Lars Fosdal
I don't think Tetha has used Delphi to any significant extent.
ForerMedia
+4  A: 

@Tetha:

You don't know Delphi firsthand, huh? Don't let the simple way to design GUI fool you (although that's great, too - even Microsoft adopted the similar approach in .NET :) ), Delphi is a full-fledget language. Yes, it is strong-typed and is not lazy evaluated (well, mostly), but you can write anything but the device driver with it. As for the modern ingredients, it has templates/generics and anonymous methods so you definitely won't be behind the times if you learn it.

Saying that, learning something else (be it Ruby, Python, C#, F# ...) certainly doesn't hurt. More languages you know, more you're worth.

gabr
+5  A: 

Delphi is a great platform to develop Win32 apps. Anders Hejlsberg, the creator of Delphi, is also the lead architect for C#. That's why these two "feel" very similar.

As for a career choice, that depends on your location, and what you want to do. I was a Delphi programmer, but had to move to Microsoft technologies, because Delphi jobs were hard to find where I live. There has been about 12 Delphi openings in about 8 years in my metro area.

There are still quite a bit of Delphi jobs in Eastern Europe, and South America. Delphi jobs in the United States are in the minority.

hectorsosajr
+34  A: 

Two different questions with two different answers:

  • Is Delphi a viable choice for Development?

Yes, definitely. It is being actively developed, and there are good 3rd party components out there. You can probably get a finished application much quicker in Delphi then a lot of other tools. It is great for general Windows application development and database applications. For games, device drivers or embedded application development YMMV.

As to your second question:

  • Can [Delphi] still be a good career choice?

That really depends on what you are looking for in a career. Geography is a big part of it too, but generally if you are looking for a job where someone tells you what to write, how to write it and which tools to use (especially in the US), then Delphi is probably not the best choice. If you are wanting to start (or work at) a MicroISV and develop shrink wrapped applications and utilities, or custom applications, then Delphi is a great choice.

One thing about doing Delphi development is I have seen there is little to no demand for entry level or junior Delphi developers. If you are going to look for a Delphi job then you need to be Super Star Developer, which can take some time to develop those skills and experience.

As was also suggested, basing a career on one language or tool is not a good career move. No one language / tool is the right answer for every programming task out there. Delphi is a great tool to include in your programmer tool belt.

Jim McKeeth
+6  A: 

Delphi ia a secret tool and a major advantage against your competitors for building all kinds of win32 apps. Win32 is still very hot in the market for small business applications and customers. Delphi empowers you to leverage that market due to the incredible speed of development, making custom Delphi built systems affordable for small businesses. There may not look that there are a lot of job openings for Delphi developers. I guess the reason is, that when you use Delphi, you can make really large apps as a one man band. So if you wan't to be an independent win32 app developer, and "only" be able to reach about 90% of computer users, Delphi is a strong and viable career choice. But please don't tell anyone, let us keep the secret and stay far ahead of the competition.

Tom
A: 

Learning the language is the easy part. It's the framework that is hard to master.

The .NET framework and Delphi’s VCL is equaly hard to learn. But the .NET framework is more versatile, you can use almost any language (including Delphi.NET), and you can use it on more platforms. Pc, Linux and Mac using Mono, on Windows Mobile and Windows CE using Compact Framework, on the browser using Silverlight 2 and on your XBox using XNA)

mliesen
Lazarus provides an LCL clone with which you can compile your applications natively for Linux,osX and Windows Mobile/CE. Using, for example, gtk, qt or carbon/cocoa. That's a lot easier then using mono on those platforms.
Loesje
+2  A: 

Yes - Delphi is very much a viable choice for development. It's our preferred tool. The big thing for us is the ability to develop native applications. This gives us fast apps with very simple deployment.

As for career choice, I would have to say that .Net would probably be the safer bet. In fact for web development, we would almost certainly use ASP .Net over a Delphi solution.

dcraggs
A: 

Delphi is a good language to learn together with e.g. Java, with these 2 you can be super developer and there should be many workplaces for you.

IMO each developer should know more than 1 language. Perhaps you can recommend Delphi for certain projects inhouse, notice also that there is even Linux delphi available, and delphi language can be used in installers/setuppers such as InnoSetup.

I have been using delphi since version 1.0 (1997) and its great!

Tom
+7  A: 

No. Look at job listings and salary averages. Delphi jobs are hard to find and pay less. I had a Delphi job. It did not pay well. Also, they used an older version of the Delphi IDE that crashed a lot. These aren't the jobs you are looking for, move along.

postfuturist
+4  A: 

A proficient programmer doesn't care which language their programming in so long as the language can do whatever he needs it to do.

When I got a job programming Delphi right out of college I obviously had no idea what I was doing for the first two weeks. I had 90% Java classes at UW-Madison. I wasn't looking for a Delphi job, I was just looking for a programming job (which isn't necessarily too easy to come by in Wisconsin).


I'm glad we program Delphi, I think it definitely separates us. We don't have to worry about .Net hotness unless we want to. We don't necessarily need an MSDN subscription, although we do. Delphi has more interesting add-ons than any application except maybe Firefox.
And I'm talking about Delphi 7! That's still our viable alternative to converting everything to a language we know nothing about. I'd imagine its easier to get one guy out of college to learn Delphi than it is to get the other 5 guys programming in our office to learn C#.
That being said, you would be foolish to go work for a place, learn Delphi and not experiment in any other language yourself (Since you can revert to Assembly in Delphi whenever you want, you've got your bases covered). Once you get going, you'll notice that Delphi skills are very transferable to other languages. However, if you're going to use Object Pascal, don't treat it like it's C or VB.

Peter Turner
A: 

Much is already said. But in my experience, some people calling themselves Delphi developers. Although they have little more experience than drag a few components to a form. And yes, you could write an application that way, but fortunately Delphi is so much more.

In the past there were big problems with Delphi. (Need i mention version 8 and 2005). But since the recent merge/takeover, it looks like Delphi is in the hands of the developers again. 2009 sounds great (i love to use the generics in my code). And this is just the beginning of a new era.

Next week i'm attending a developer conference and there are a lot of Delphi sessions about the new features of 2009.

Gamecat
+3  A: 

The company I work for has a product that's a 2 million line code base, written in Delphi. This product was started in '95, and it has been developed by less than a skeleton crew (average number of developers working on it over its lifetime is between 5 and 10). Despite all this, the product works well, has kept up with requirements, and has been easy to migrate to newer delphi releases. With hindsight, Delphi was the best possible choice that could have been made in '95 to build the product in.

I would say that for win32 native development, delphi is a better choice than microsoft's toolchain. You'll write less code to do more, and have an easier time porting it to newer versions of the platform.

Delphi is always underestimated in the market. You often hear how its dying, irrelevant, a bad career move, and yet according to the tiobe index it's more popular than actionscript and ruby. Delphi is like BSD, a quiet workhorse that often is a better choice than the high flyers, but often maligned.

Joeri Sebrechts
+1  A: 

Twice in my career I have made the mistake of betting against Microsoft. Once with OS/2 over windows and one choosing Delphi over VB. In both cases I chose the better technology over MS's marketing skills. Now these decisions didn't kill me, they have been a benefit in some cases.

There are fewer Delphi jobs and contracts out there, obviously, but there are also fewer folks proficient in it so, often times I find I can mark up my fees since there are fewer developers working in Delphi.

These days I spend more time doing PHP and .NET, but frankly I miss Delphi. It is a better language to code in. It is the best tool to build windows business applications in, IMHO.

Sean Reiser
+1  A: 

I think Tetha points are based on logic but not on personal experience. I have found that relying on a single language for programming is neither a good idea nor is it realistically possible. You are bound to run across the need to do things in SQL and javascript even if Delphi is your language of choice. I taught myself to program with Delphi and when I went to work in my first programming job, I had to use VB. It was a very easy transition. I found VB to be a very productive environment. The process of writing programs in VB was very similar to Delphi. A good deal of the work is writing the event handlers to respond to user input.

To say that Delphi hides the "essential plumbing" misses the mark by a bunch. Python has lists and dictionaries and I imagine that java and C# do also but you can't see how they work. If you want to see what makes a stringlist work in Delphi, just step into it. You can debug into many language constructs clear down to the assembly level if you need to.

Delphi does not seem like a specialized tool to me. I do database programming in it but I see games, graphics editors, media players, and lots of different kinds of programs written in it. I think it's a great way to explore the possibilities of a Windows computer. Which brings me to why I use it now in my own business rather than VB. Maybe I do see it as a toy as in a toy is fun to play with not like a toy that doesn't do anything useful. I can dream big and be bold with Delphi. That makes it valuable to me.

+1  A: 

I've used Delphi for a lot of years, after joining a company where it was the language of choice. I've done well by it, but I'm at a place now where I'm the only Delphi guy, and the rest of the system that my Delphi app is part of is done in Java and some server-side stuff (done in Java, C# and ASP.NET). Yeah - we've got an eclectic mix of thing being pieced together.

You can do some really amazing things in Delphi, and there are still a lot of vendors and developers making add-on components. It's great for Win32 applications, and you can find information you need through a minimal amount of web searching.

If you are creating a Win32 product from the ground up, you might do well to use Delphi. But that's when you're totally in control. If you're looking to have a skill set based on Delphi to go searching for a job, then you might find that to be a tougher situation.

I don't know that I'd be able to find another job doing Delphi, unless it's to help maintain legacy code. I'd recommend you get some broader experience - try Delphi out (there are free trial versions you can use), but look also at C# and Java. The concepts are the same across most languages now - certainly the implementations of things like "patterns", etc. will be different. You can get free toolsets for learning C# and Java, too, plus lots of online tutorials. So you need not restrict yourself to one language only.

GuyWithDogs
A: 

Tim Bray has a post about the coming hard times and the usefullness of "legacy" skills. There are a lot of Delphi apps out there that need maintaining and are not going to be rewritten.

Bob McCabe
A: 

We are mixed Delphi/Win32 and .NET (C#) shop. We have apps that ship as all Delphi, all .Net, and a miz of both. Delphi is a good tool to know and we plan on using it for the next few years. It's been our most productive tool for Win32 programming.

That being said, any code that we write to run a browser is going to be written for ASP.Net using Visual Studio. For our needs, that is a much better fit than any web tool for Delphi. In our area, we are probably the only Delphi shop of size. If I was just starting out, I would be learning C# and/or Java before I learned Delphi. Delphi's a great tool, but .NET is where the jobs are where I live.

Chris Miller
+5  A: 

It really depends on your field of interest. Your choice will come down to picking the right tools for the job. I offer the following advise...

In our field we develop native, fast, frame-accurate TV automation software that must interface with a wide range of 3rd party platforms, many of which employ weird and wonderful APIs and hardware. It must work 24/7 with zero down-time.

We have used Delphi since version 1 and many time looked to evaluate other platforms without much success. Delphi provides us with an extremely fast development cycle and we often receive feedback from clients to that effect.

Often, we have used Delphi to provide interfacing solutions where system vendors (who have settled on a more rigid platform such as MS C++) are unable to extend their API generically. Delphi is that agnostic platform that can be made to work with just about anything, Microsoft or otherwise.

In looking for developers we always look for Delphi experience as we consider that Delphi developers can tackle enterprise development alongside low-level hardware coding challenges. E.g. “Can you write SQL code that keeps up with frame-accurate video disk control…?”

Delphi demands that the developer think about the detail of their projects and take responsibility for the performance of their apps. Whilst some may consider this to be a "legacy" skill, others consider it to be essential. As already mentioned in this thread, Delphi is a tool surrounded by a community that is extremely passionate about coding.

If you are entering a field that demands high-level enterprise development then perhaps Delphi is not the platform for you. If you’re looking at a career where you are the one writing the base classes, working with foreign technologies and transport protocols, then Delphi is a sound choice.

In Microsoft's PDC2008 presentation on C# 4.0 the 'developer' becomes even more removed from the task of actual coding (consider the new dynamic), leaving MS (and others) to provide the intelligence and placing the 'developer' in an assembly role. This is fine if your career path only demands that you do the assembly. However, as with all computer programming, at some point the real code has to be written and there will always be a strong demand for programmers who can write this code for others to depend upon. This is far from begin “legacy”.

Gerard
A: 

My opinion is that Delphi was a good choice - right up to the moment Borland shipped version 8 for .NET. That's the moment when Delphi lost all it's agility and usefulness. Up to version 7 (which I personally used for many many years) it was a great IDE, simple, responsive, fast-booting - just a great IDE for Win32 native applications.

Matthias Hryniszak
A: 

Ive been using Delphi since day 1. Swim against MS at your peril. Delphi coders who didnt jump to C# circa 2002-3 have probably missed a trick. I'm one of em !! ;o)

A: 

"...You often hear how its dying, irrelevant, a bad career move..."

Take a look at www.isdelphidead.com ;-)

avra
A: 

Delphi is a good language that is much faster than C++ to devalop in But with Android devices as the new thing

Computers have become old school for devalopment That means All MS products and sales are dieing real fast!!!!!!!!!!! And Delphi must suffer too.

lexdean