Delphi for PHP, Java or Ruby?

We are starting to think about the next stage of our company's information strategy.

Currently, various departments have Delphi VCL applications that focus on the information they manage their projects. Behind the scenes, we made sure that thinking turned on.

We are now at the point where we want to give people the ability to view all the information we have, either for each project or the search aspect.

We think it will be a web interface (at least an intranet), but stuck with what to write!

The parameters look like Java, PHP or Ruby. Any of the above will attract us to learn a new language (no budget for new hires), so we're looking for guidance

+2


source to share


13 replies


Why learn a new language at all? Since you are already Delphi developers, use Delphi. It has a VCL for the Web (formerly IntraWeb) which gives you the ability to create pretty good web applications with almost the same functionality as a Delphi Win32 application. IntraWeb (under any name) works the way you are used to, right in the IDE and lets you write Delphi code the way you always do. This is a viable web solution, especially for stores with a lot of Delphi code; most of the business logic can be used as is if it is not tied to a GUI.

You have not specified which version of Delphi you are using, but there are VCL demos for the web or InterWeb in both Delphi 7 (% DELPHI% \ Demos \ IntraWeb) and Delphi 2007 (C: \ Documents and Settings \ All Users \ Documents \ RAD Studio \ 5.0 \ Demos \ IntraWeb \ Win32 on WinXP). Delphi 2009 puts them elsewhere (C: \ Documents and Settings \ All Users \ Documents \ RAD Studio \ 6.0 \ Demos on WinXP). I would start by demonstrating Feature, no matter where it is in your Delphi version, as it gives a good overview of the features.



Disclaimer: I am in no way affiliated with IntraWeb, VCL for Web, or CodeGear / Embarcadero. Just a Delphi user since 1995.

+3


source


You need to understand the pros and cons of as many languages ​​and frameworks as possible. I know all three (PHP, Java and Ruby) and have written many applications in all of them (plus others), but I strongly prefer Ruby. I'm not sure I would be grateful to Ruby as far as I know if I didn't have experience in other languages.



+5


source


I don't think there is a huge advantage in what you are trying to do. Lots of people here will support every option (hopefully no fiery war).

As none of them are familiar, why don't you try creating the same tiny prototype in all three and see which one you prefer? Your best option is to choose a structure from each and base your efforts on such, for example. CakePHP , Ruby on Rails , GWT , etc.

+2


source


By far, the biggest hurdle you will face is learning how to build web applications, whichever technology you choose - the paradigms are very different from traditional thick client applications, and while this is not insurmountable, I would recommend hiring someone someone with a web app skillset just to get you to work and work.

Coming from a Delphi background, you'll probably feel more comfortable with Java as a language, but I've managed to avoid PHP and not use Ruby, so can't give a fair estimate.

What I would like to say for Java is that once you have mastered the basics of web development, it is incredibly powerful, allowing you to structure your code with different levels and separated concerns.

There's also a huge number of open source APIs these days that allow you to focus on business issues by simply picking and choosing libraries that support your solutions. Also add support for automated testing to this mix and you have a powerful Java combination.

+2


source


While I don't particularly like the language, PHP is probably the easiest way to learn. Ruby wouldn't be far behind, although I have no experience with him.

Java, while I really like it, is extremely complex when it comes to configuring and maintaining a web interface. Too many complexities with XML files, JSPs, Java files, ...

+1


source


Of course, this is all very personal, but PHP does not have a steep learning curve like Java with its associated web technologies.

Once installed, you can be productive almost immediately, even if you barely know any language skills. I think that one of the main reasons for the popularity of PHP.

  • create a new file with a record
  • a type: <?php echo "hello!" ?>

  • save as hello.php

now refer to it as http://www.yourserver.com/hello.php And you will seeHello!

What is it.

The internet is full of examples and documentation, and it is very easy to integrate PHP with databases like MySQL. I often use MySQL as the glue between Delphi applications and websites.

+1


source


Ruby (on Rails) is a fast learner and has great community support. Now that I feel comfortable, I wouldn't write a web application for anything. My only negative experience with rails was when DHH rejected my friend's Facebook request - c'est la vie.;)

+1


source


The hardest part of web development is the new paradigm. The next tricky part is choosing the right structure. I would add two languages ​​to your considerations:

  • Python (with Django)
  • ASP.NET

In many cases, the Microsoft stack will certainly take a lot of potential bugs from your plate, as it gives you many solutions within an acceptable package. Of course, you might not like the whole package. Ruby on Rails is the same thing in this regard (providing you with a package, but not the same as Microsoft).

But whatever your choice, just as important (with the exception of PHP, since it's a web language to start with) is the web framework.

And the size of the project should be an important driver in your decision. A small project won't shoot too badly even in poorly written PHP, but a very large project can certainly get very confusing in a dynamic language when one learns it for the first time. It depends on the type of your team.

+1


source


given the options, I would go for ruby ... mainly because it is such an extremely beautiful, powerful, expressive, consistent and radical language ... you can get a very good introduction here ... plus ruby-on-rails and merb (which are bundled in rails 3) are very efficient environements / frameworks for application development ... I personally don't know anything which is suitable for fast development of server driven applications ... also ruby ​​is very good for scripting ...

there are many things I don't like about PHP and Java, but don't go into details ... My main accusation would be that Java is quite verbose and bloated, and the most commonly used frameworks are even more ... and PHP is terrible API design and quite a few semantic inconsistencies, even some syntactic ones, although most of the latter are being addressed lately ... plus it's not very fast ... and also you get a lot of downvotes on stackoverflow when you criticize one of the languages ​​...: D

however, the reason for using Java is the sheer number of tools available (although only a subset of them are relevant to the web) ... when it comes to PHP the best thing to do is deploy ... it's very easy to keep PHP running on the server ... and most servers have PHP anyway ... so if you want to write software that can run on many servers PHP is the best choice ... if you decide to use it, make sure to only use it with a suitable framework / environment like Flow3 , Zend, synfony, codeigniter, or CakePHP ... PHP makes it easy to hack some code (I would even dare to say it was peculiar for that) ... but you'll quickly regret that you relied on it ...

microsoft stack has already been mentioned as a possible alternative ... it's up to you ... it's good, but expensive (licenses make scaling much more expensive) ... and IIS has relatively large downtime compared to other servers ...

personally I suggest you use haXe ... a very nice and expressive language that allows you to compile

  • AVM1 or AVM2 bytecode (virtual machines for flash players 6-8 and 9-10)
  • neko bytecode (neko is a very fast and lightweight virtual machine suitable for writing web servers, daemons, or desktop applications).
  • JavaScript source code
  • ActionScript 3 Source Code
  • PHP source code
  • C ++ source code (using neash you can use the flash player API from C ++, especially the display / graphics API which is very easy to use).
  • Java source code for android (currently prealpha, but demo looks good) ...

you use one language for

  • write servers (be it HTTP or TCP)
  • create rich clients (be it javascript or flash)
  • target smartphones (either flash smartphones or iPhones via C ++ (well, not optimal yet, but progress on that), and in the near future Android ...
  • create desktop applications

in addition to being an open source open source community language haXe ... plus of course haXe has a very consistent OO API design and provides many interesting language features such as high-order functions, parameterized enums, generics, and structural subtyping. .. and if you do decide to use it, don't forget to check out haxelib for useful frameworks / libraries ...;)

Greetz

back2dos

+1


source


I think you should choose between Python or Ruby. Both have similar capabilities with their respective structures. I think this is pretty much a stylistic preference, so you should be spending time on the syntax of both languages.

Since you didn't originally look at Python, watch this video on the Django framework: http://video.google.com/videoplay?docid=-70449010942275062

0


source


From a pragmatic point of view, Java is probably the most power and flexibility, PHP is probably the most ubiquitous, but tends to reward bad coding if you're not careful (I still need to see a PHP application where I said "Wow, this code is pretty ") and Ruby / Rails is easy to learn and very fast to develop, but things are very important to you (not necessarily bad) and when you get away from the Rails way of things it can get messy.

0


source


If you're looking for an easy migration from Delphi, consider Flex. It has the same RAD interface you used in Delphi, which is supported by object-oriented ActionScript, and since your site is internal, you can use Flash on all client computers.

Also, Flex rules. Really)

0


source


Moving from the Delphi World to the Internet World? Use C # as there is a Delphi spirit in C # (it's okay, this Anders Hejlsberg spirit ). While studying C # I found many concepts similar to Delphi.

0


source







All Articles