Help me pick a programming language!
July 31, 2005 3:42 AM   Subscribe

I'm planning on creating a web-based program allowing employees of the auditorium where I work to sign up for shifts online. What programming language and database system should I use?

I have some experience with HTML, CSS and Javascript already, and my awesome boss is allowing me to use part of my work week each week to learn whatever I need to accomplish this. Also, if you can recommend good books to get me started in the right direction (or programs that may already accomplish what we're looking for) that'd be awesome. Thanks!
posted by joshuaconner to Computers & Internet (14 answers total)
 
it really doesnt matter what language/tool you end up using, as long as it is something that you can get comfortable with.

For windows, you can look at ASP.NET Web Matrix, which you can use Access or MSDE for the database. (Access is probably not a great choice, since it costs $$ and has lots of other problems, but MSDE works just fine. IIRC, MSDE gets installed with WebMatrix)

You can also do PHP with MySQL. Like webmatrix above, PHP and MySQL wont cost anything.

There are probably a huge number more, but the above are the ones that I have experience with. Again, it doesnt really matter which language/database you choose for a project of this size: they will all handle what you are trying to do. More important would be the resources you have available: if you already have a friend who does web development already, you may want to use the same thing that he/she does. If your company already has a dbms deployed, you might want to use what you already have.
posted by stupidcomputernickname at 5:06 AM on July 31, 2005


Ditto stupidcomputernickname -- any combo would do this -- you might want to just pick what you'd like based on what you'd like to learn.

(I know nothing about the Microsoft-based choices, but can comment on several of the open source ones.)

PHP/MySQL might well get you to a working application fastest -- PHP's web-centric, and has MySQL support directly hard-wired into the language. But it's also a god-awful mess of a language (but opinions vary and emotions run high on these issues.)

Python's a good language for learning. You could start with How to Think Like a Computer Scientist (available free) and continue with O'Reilly's Learning Python (not free) and Dive Into Python (free again.) There'll be more overhead to learn to interface with a database and to write a web application than with PHP, though.

Much as I love Perl, I don't generally recommend it as a first language.

Last time I was looking for a job, there was a lot more call for PHP than Python or Perl.

In short, if your priority is getting this done quickly and getting the most usefully buzzword-compliant resume, I'd recommend PHP. If you want to embark on learning to program, I'd recommend Python.
posted by Zed_Lopez at 6:22 AM on July 31, 2005


I definitely agree about either going with php/mysql or python. There seem to be alot of jobs out there for PHP programmers.

I just wanted to mention that if you start to get abit overwhelmed, to maybe look for an opensource project that you can adapt to your needs. There are tons of opensource scripts that do just about anything you can think of.

is one site I know of with lots of such scripts. It has alot of commercial scripts at the top of lists but you can definitely find something there.

This route will save you alot of time, but if this is mostly an educational venture then you may want to build it from scratch.

Oh another programming language you may consider is ruby on rails. It is pretty easy to get into and would be great for this kind of project. The only problem is it probably isn't installed on your web server as it is relatively new in its popularity. Also there are not as many jobs out there for ruby programmers.
posted by meta87 at 6:58 AM on July 31, 2005


Hmmmm.. It didn't post my link. The site i was trying to mention was www.hotscripts.com.
posted by meta87 at 6:59 AM on July 31, 2005


I have some experience with HTML, CSS and Javascript already,

You could run completely without a compiled database, if you're already familiar with these languages. Using any sort of server-side script language (like PHP, ASP, Python, etc) you can interpret and manage an XML database.

If this is really the entire scope of your application, it might be the best way to go, considering the weight of any given XML database (read: nill).
posted by thanotopsis at 7:08 AM on July 31, 2005


Check out phpSched before you reinvent the wheel. It's pretty well done, and may meet your needs.

Of course, the demo seems to not be working...
posted by ulotrichous at 7:16 AM on July 31, 2005


As a programmer, I whole heartedly support coding for coding's sake, but I thought I'd point out this site.

I'll also second (third, fourth?) PHP + MySQL. Check out xampp. It'll save you any server software install grief.
posted by Loser at 7:18 AM on July 31, 2005


I don't think its worth your time. There is software available, and this would be easy enough for anyone with experience to write that learning, and then writing a likely sub-par program (since you're still learning) isn't the best idea.

If the existing software doesn't fit your needs, you could find plenty of people to do it very, very cheaply.

That said, this is something ASP.NET would be perfect for, although I've only used it with Visual Studio, not WebMatrix.
posted by devilsbrigade at 10:19 AM on July 31, 2005


Nobody uses ColdFusion these days?

I was able to generate a decent database-driven questionnaire in CF in less than 3 days with no previous experience. It seemed like a very slick environment for HTML/Javascript authors to move to.

To be fair, I have used Perl for CGI-scripting in the past, and I know some SQL care of MS-Access, but I really liked the rapid development I got with CF.
posted by Crosius at 10:25 AM on July 31, 2005


Pick up Python or Ruby, both of which you can learn fairly quickly, and then learn one of the rapid application-development frameworks for those languages. The buzz is all around Ruby and Rails these days, but I'm currently very intrigued by Python's Django framework.
posted by ubernostrum at 12:10 PM on July 31, 2005


Watch the video of them essentially building your application in 15 minutes using Ruby on Rails. You can download the video from Ruby on Rails. (direct link 15MB). You can learn about the language here.

PHP is ghastly. Python has defied several attempts to learn it. I'm having a huge amount of fun with Ruby - my first project was the ubiquitous MySQL backed ToDo list - took about 45 minutes, and 30 of that was learning the syntax.

You be the judge.
posted by RichLyon at 2:09 PM on July 31, 2005


All are good suggestions. I really like ASP.Net (using c#, not VB). It has a good, rich, object model. It'll integrate with just about anything, but I'd recommend MSDE or Sql Server as backend if you go that route.

Ruby, Python, PHP, they're all great. As always, things depend on your goals. Do you want to be a nitty gritty cs programmer? If so, php's probably the most hands on. If you're looking to slap down some code in a hurry, stick with c#, ruby or python. For a backend, please, please, please, please, please don't use MySql it's notorious for being unreliable. If you want mission critical, check out PosgreSql, which is gaining a large amount of traction as a solid, free alternative.
posted by creeront at 2:29 PM on July 31, 2005


Spring+Hibernate.
posted by cytherea at 7:30 PM on July 31, 2005


MySQL would be fine for this. Its unreliable with very large datasets and many, many concurrent transactions. This is what MySQL is for.
posted by devilsbrigade at 11:57 AM on August 2, 2005


« Older Paging Alan Greenspan...   |   What's the best Charity to give to? Newer »
This thread is closed to new comments.