views:

168

answers:

7

I need to have something coded for back-end functions of one of my websites. The only knowledge I have is of front-end programming, mostly PHP and MySQL. I know nothing about other languages.

I basically need to have a program continuously running on my Linux server that accesses the MySQL table and checks the validity of certain files hosted on remote servers, such as MP3 files. It would run through these files continuously, multithreaded to do a few at a time, and should be done efficiently, so as not to weigh down my server too much (I have one dedicated server). Of course, the MySQL table would then be updated properly. Surely this shouldn't be so hard on the server if coded properly.

What language would be the most suitable for this task? I actually currently have it done in PHP, and it's really stressful on the server, since PHP isn't made for back-end applications.

Any tips/suggestions about this? Also, would be nice to have a ballpark figure of how much something like this would cost?

A: 

I would write a full application in Java (because I like Java) or a cron script in Python.

Keep in mind that the language is less important then the quality of programmer you find.

Josh K
+2  A: 

As you are running on linux, and require a fairly low barrier to entry language, I would personally recommend Python, which is available for all distros, is relatively powerful and is a fairly beginner friendly language

johnc
+2  A: 

All programming languages that run outside the web server are fine for this.

  • Java

  • C

  • Python

  • Perl

  • Ruby

  • Fortran

  • COBOL

  • Tcl

  • Haskell

They're all good. Pick one. Learn it. Write your backend process.

S.Lott
x86 Assembler, C++, D, Common Lisp, Scheme, Factor, Befunge, Whitespace...
Yann Ramin
I don't think anyone should upvote something that says "COBOL" and "Fortran" are /good/ (for anything new, that is).
chpwn
@theatrus: Whitespace or befunge might become a maintenance nightmare. The others are excellent recommendations.
S.Lott
@chpwn: While I despise COBOL, I have customers who have told me that it is the **only** scalable language. Seriously.
S.Lott
@chpwn: you apparently haven't kept up-to-date with the development of Cobol as a language... While I no longer use Cobol in my work, even without these developments, it is still a viable language for new development. Whether a language is suitable for new development has less to do with the language and more with other factors. Such as: your requirements, your current development environment, the skillset of your developers, (past) investments in training, (past) investments in general utilities and libraries you have created.
Marjan Venema
A: 

You could try compiling your existing PHP to see if that improves your performance.

http://stackoverflow.com/questions/1408417/can-you-compile-php-code

Why rewrite if you don't have to? Beside the pleasure of learning a new language :)

amccausl
A: 

http://github.com/facebook/hiphop-php

Facebook.com made this and then released it as open source. It is a PHP compiler that significantly improves performance.

Austin Kelley Way
A: 

You can write it in PHP and schedule a cron job to call the script.

Salamander2007
A: 

I would recommend using gamin for performance. You have bindings for PHP at http://code.google.com/p/php-gamin/ .

That way, your code will be executed just when a file is added to a directory, so you can just make the checks and update the mysql server.

KikoV