Programming ? /LAM(P|J){1}/

I have a couple programming projects to do. I’ve been a Windows App / .NET developer for 10+ years, and data-drive web-app developer for about 4 using “classic ASP” (VBScript) for server-side coding.

These projects in mind are going to need a stronger server-side platform than classic ASP. I am intending to build it on Linux+Apache+MySQL, but am not sure what server-side language I want to use… Perl, PHP, Python, or Java (they will not be ASP.NET). So I’m looking for any info / feedback from anybody who has worked with one or more of those language in the server-side web-app environment.

Some of the things I want in the server-side language…

  • Machine-compile-able Code - I may want to distribute my applications for end-customer internal hosting, and would prefer to not distribute clear source code.
  • OOP - It will be very heavily OOP-based; and ideally an OOP platform that can do some Reflection (dynamically detect what assemblies / “modules” are available)
  • Proper (as in not “hack”) ways to handle controlling HTTP Headers
  • Support for database interaction; ideally through both native objects and direct SQL statements
  • Multi-class Inheritance - Not essential, but does any modern language since C do this yet?
  • A language that will be around for awhile - Like it seems to me PHP was the next replacement to classic ASP & ASP.NET, but that Perl and Python are gaining more and more use everyday over PHP.

If anybody has any knowledge, or insight, or recommendations/discouragements as to these server-side languages it would be greatly appreciated.

I work for a Software Company that Deals with warehouse management applications I know our server side code is written in a combination of C, Java and Perl. I however deal with the Application in a semi technical role so i cant really tell you the advantages and disadvantages of these coding languages. The Application uses a meta language which then calls either C or Java or SQL.

I still use DOS batch files. Yep. I’m old. I’ve dabbled in VB but the next thing I want to learn is Powershell. I’ve edited SQL, Java, and Perl but I really don’t know what I’m doing. Simply copy someone else code using trial and error.

:slight_smile: its not just me then

Since you are so familiar with the .NET development, one way to go I suppose is mono. It’s basically an open source implementation of .NET. Some popular Linux programs are written in Mono, such as Banshee.

But purists tend to dislike Mono just for what it represents.

Even Perl is compilable (perlcc), so most of the languages fits your first bill.
If you use C++ instead of C, then it will be OOP.
Python, Perl, and C++ all have great HTTP dev modules.
as well as Database modules.
As for multiclass inheritance, I think script oriented languages might be lacking in this area a bit. I know C and C++ certainly handles this.
I thought PHP has been around longer than ASP and ASP.NET? I’ve seen PHP with cgi backed by Perl way before I’ve even heard about ASP & ASP.NET.
Wouldn’t the future be HTML5?

I have a degree in Computer Science and have been working as a software engineer for a major company the past 5.5 years. Most of that time, I used C#, but now I’m working with Soft PLC Ladder Logic. Big change, but I’m pretty used to it now.

I’ve been developing in PHP Professionally for a little more than 6 years. As someone with next-to-no formal CS education, I’ve always thought it was great. I’ve heard “real” programmers say that it’s lousy as a language and has a lot of weaknesses. That said, there is not a single Server-side language that has as much exposure and use as PHP (and yes, I think this even includes Perl). PHP’s big advantage comes from it’s near universal implementation.

While I think you can find a lot of other languages these days, I remember when the question from your host wasn’t really “Windows or Linux?”, it was “FrontPage or PHP”. I don’t know that it’s the case anymore. These days any host will offer you a million options. At any rate, PHP has become a pretty mature language. I like it (probably because I’ve spent so much time in it). PHP can be compiled, though I’ve never done it myself.

I haven’t spent much time with it, but Python has really become the Bee’s knees in the last few years. Ruby seemed to be a flash in the pan (I don’t hear anyone talking about it anymore)

As a final note, let me say that using a Server Side language really needs to be properly married with it’s web server. They are separate elements, but knowing (for instance) what Apache is doing and why helps me tremendously as I’m in PHP.

850 Chr$(4)

CS (assuming you are referring to C Sharp / C#), is still (primarily) a .NET language, and thus Microsoft, and thus not open-source / community-developed which is a pretty important thing for me on these projects. PHP definitely does appear to be a quite powerful and pretty full featured language from what I am seeing of things.

I’ll be building and maintaining my own server (and hopefully, someday server-farm) for these projects (they’re that level). So I can install really anything; but naturally the Linux+Apache+MySQL (all open-source platforms), will almost certainly be the foundation for them all.

Excellent :slight_smile:

I know what the “C language” (collectively) are, but didn’t really realize C++ was that much different. Thanks for the heads up on that detail!

It very well may have been. I thought (“Classic”) ASP was back from the early 90s, but really have no idea. But PHP is definitely far more “mature”

Yes, all of these will be making heavy use of HTML5/CSS3 standards but that only has to do with client-side stuff.

Thanks for all the excellent feedback & info everybody. Interestingly though, not many people seem to have much to say about Java. Which was really my secondary contender (Java or PHP). So I think you’ve all helped me make the decision. Time to get to work!

…oh wait… I need to go kill some dragons and collect some cabbage first.

CS = Computer Science, as in a degree.

I’m also a developer. I develop for a number of platforms, and if I wanted to do what you’ve described so far, I’d use PHP. In its current form, it’s fast to execute, quick to develop in, is mature and well supported, and it’s got great MySQL integration.

You keep repeating Linux+Apache+MySQL and leaving off the ubiquitous fourth entry: PHP. There’s a reason the acronym ‘LAMP’ is everywhere, it’s the combination that glues the modern web together. :slight_smile:

BTW, I’m not sure I get what you mean when you say Perl and Python is replacing PHP. Perl was eclipsed by PHP years ago, and Python (while great) doesn’t have quite the same acceptance yet. This translates to fewer eyeballs on it and less opportunities for optimization.