views:

326

answers:

8

If Delphi is the primary language for my development, what is the ideal complement to Delphi. which should be my next step?

  • C# for .net and web development
  • Java
  • C++ for Know Win32 in depth.
  • Ruby
  • Perl

What is your recommendation?

+5  A: 

Python. It'll take what you've learned in Delphi and allow you to generalize it further.

Ignacio Vazquez-Abrams
And learn things you couldn't (or wouldn't) do in Delphi.
mghie
Care to give a good example?
Stijn Sanders
+5  A: 

My recommendation is C #, but before Getting started with Delphi Prism, the learning curve will be so much easier. Learning a .Net language is going to greatly expand your horizons and types of applications you develop. .Net has a lot of technologies where you can deepen WPF, SilverLigth, WCF.

Delphi Win32 - > Delphi Prism -> C#

RRUZ
.NET is a great new platform with lots of great technology possibilities
Jim McKeeth
I have yet to see a .Net app that could not have been written in C++ or Delphi. They consume ungodly amounts of resources, are so slow you can actually see the UI repainting (on a high-end system built for speed) and they crash at about the same rate as before, only now it's "invalid object reference" instead of "invalid pointer". All I get from .Net-based apps is a performance hit and no redeeming value. Seriously, if user experience is of any value to you, skip .Net. What it gives to the programmer, it takes away from the user.
moodforaday
+3  A: 

In addition to Delphi, Embarcadero also sells the RAD C++ development environment.

It uses the same IDE as Delphi so you won't have mix yourself up by learn a new IDE, just a new language.

And you will be able to mix and match Delphi and C++ as you want in the same projects.

In fact, by purchasing (or upgrading to) Embarcadero RAD Studio, you'll get Delphi, C++Builder and Delphi Prism (the .NET tool) all in one.

So C++ seems like the most natural fit and a very logical choice.

And if you want .NET development, don't use C#. Use Delphi Prism.

lkessler
Hm, how would that complement Delphi? I mean, there isn't much that can be done with C++ that cannot be done with Delphi, especially if it is a C++ compiler that uses a different object format than MS VC.
dummzeuch
lkessler
+1  A: 

I will look not for a language, but will think what application technologies to learn and what to develop next. IOW, I will continue with Delphi. Why I have to change it ?

da-soft
You don't need to change it. But you should know other languages and tools in order to be able to decide which to use. Writing a small Delphi tool to accomplish some task that could have been done by a few lines of Perl or Python or whatever (maybe even an invocation of *sed* or *awk*) just isn't optimal.
mghie
There is always will be some language / tools, which you does not know and with them you can do some task more optimal :)
da-soft
+1 for expanding the Delphi horizon by studying different technologies and techniques.
Jørn E. Angeltveit
+8  A: 

I would recommend HTML, CSS and JavaScript. This sounds like a bit of a strange suggestion when asking for programming languages, but the Web is taking over. Delphi has had the TWebBrowser component since ages, and there are a few alternatives that offer even more features and ways to have HTML rendered onto the forms of your Delphi applications. I have found, when applied in a number of complex situations, it has saved me a lot of work and code.

(To be completely honest, though. I'm suggesting this because I'm trying to blend web-building with Delphi with the xxm project)

Stijn Sanders
Well, the TWebBrowser wasn't there in Delphi 7, if I recall correctly. But you could still import it from a type library, of course.
Andreas Rejbrand
...and then some XML, XSD and XSL. The XML-format can handle arbitrary data structures and is widely used as a general format for exchanging data (e.g. in WebServices). With XSD you can validate the XML data. And with XSL (e.g XSLT) you can show the XML data visually.
Jørn E. Angeltveit
That's odd, if I recall correctly, I've been working with TWebBrowser with Delphi 6 and maybe even Delphi 5, but those may have been the enterprise versions...
Stijn Sanders
+1  A: 

It just depends on what kind of applications you need/wish to target beside Win32 native ones Delphi targets.

  • C#: good if you need to use Windows managed features or need asp.net. IMHO, forget Mono.
  • Java: good if you need to target "managed" non Windows development, especially in some enterprise environments heavily Java based.
  • C++: if you need to go beyond some Delphi capabilities, and/or target non-Windows platforms natively. Plain C should not be ruled out, can be useful for some advanced develpoment, i.e. kernel development or drivers.
  • Ruby, Perl, PHP, Python, etc: each have their pro and cons for scripted applications. Ruby and PHP are IMHO better to target web applications when multiplatform is a need, while Perl is a good language to perform heavy text processing in a lot of differnt situations, and Python being a good general purpose tool.
ldsandon
+1  A: 

It depends what you want to achieve. I've recently been learning Ruby and Rails (framework) do develop a website and it's been a fabulous learning experience. The wide community of OSS gems and plug-ins means I get a lot more done a lot faster than with Delphi. (And I've also found areas where Delphi beats Ruby too).

Whatever language you choose it should be something with a different 'personality'. What I mean by that is that languages like Deplhi, C++, BASIC and C# all come essentially from the same roots with very similar philosophies. Choose a language like Lisp, Ruby or Haskell which will teach you to think about your coding in a different way.

Mike Sutton
+1 for Lisp and Haskell. I don't think either would be an alternative for someone doing Delphi programming for a living, but Haskell has been a real eye opener for me. It's great to have an answer with this angle, learning languages as an intellectual exercise, to broaden the mind.
mghie
A: 

I went from using Delphi pretty much exclusively to using Ruby on Rails, and love it. RoR is to web development what Delphi was to Windows development. It provides a language (Ruby), a framework (Rails) and a whole bunch of code generators to do the heavy lifting for you.

I started a blog some time ago called Delphi to Rails which kind of went through my own experiences making the switch. As much as I enjoyed Delphi, I enjoy Ruby way, way more. It's a strange language at first, but once you've figured out the basics it's super cool, and really fun to program in.

Tim Sullivan