views:

96

answers:

4

I'm planning a programming project, but am an unexperienced programmer. Aside from a couple of intro courses in C and Java long ago, I know little about programming, except that I know what I want the end point of the project to look like

Without getting too specific, what I want to do is this:

  1. Create a website where users can register and log in;
  2. Create and edit items in 'their' database.
  3. I want to process a daily-uploaded ASCII file and compare the data the user is trying to upload to the data in the database.
  4. Then I would like the system to send an email out to the user with the results of the comparison of the database items vs. the ASCII file that was uploaded.

What I need
1. I will need a database that contains records for each use, and each of their particular items
2. I will also need to write an application that will act as an interface with the user and this database.
3. I'll need an application on my computer that processes the daily-updated ASCII file, and compares it with the user database.

If anyone can give me some hints as to what programming language to start with I'd be immensely grateful.

I know this is a huge topic, but I'm just looking for some general guidance to get me started.

A: 

Pick up a few "Beginning..." or "Learn X in 24 hours" books and start reading. I'm sure a lot of people will have recommendations on what programming language, database platform, etc. to use. Java, C# and PHP are pretty popular programming languages for web sites. SQL Server Express and MySQL are a couple of database backends that are free. I think you're going to need to spend a few weeks (months?) at least doing some reading if you want to have a good chance at succeeding. Enrolling in a couple of courses at your local college wouldn't hurt either.

TLiebe
Thanks for the advice. You're correct, this is a 'months' project, and I don't want to put it off any longer since it's been 'years' that I've been thinking about it!
Reg H
Good luck. I'm sure you'll run into issues but StackOverflow is a great place to ask your questions and get some good advice.
TLiebe
+1  A: 

First thing first, you definitly need to clarify your needs (not to us, but to you).

Enumerate the whole list of feature of your site. Then you can start by making a prototype. No need for uber-tool for prototyping, a few sheets of paper and a pencil will do the trick.

Only then you should start worrying about the "programming" part.

If you want a language to develop, I say it depened of what you want to do. Perl,PHP and the likes are good for some because they are relativly easy to learn and let the programmer do things 'his way' (lots of way to do the same thing), but this comes with a major drawback. Those code are usually really hard to understand by anyone, including the programmer, and are error prone. Language like ASP.Net suite may be a little more complex to understand at first, but allow for more complex site to be put up and are much easier to manage.

David Brunelle
Great advice, David. Thanks.
Reg H
A: 

Try looking at PHP to start with. It's often chosen by beginners for a good reason: it has one of the most expansive documentations, it has a simple, flexible coding style, and it is written specifically to do just the type of things you're looking at doing (namely, web based programs that interact with stored files and/or databases).

There are hundreds of tutorials around the internet on PHP, basic websites with logins using PHP, and basic file and database manipulation using PHP. Just try Googling for some of these and you'll be away in no time! =]

Whether or not you choose PHP, you need to remember that you will need to find a web hosting package that supports the language you choose, and gives you enough access to the underlying file system so that you can implement the functions you've mentioned. PHP hosting tends to be a lot cheaper than comparison languages, which is often why it's a good place to start looking.

Nathan Kleyn
Thanks, Nathan. PHP is where I'll start!
Reg H
PHP Cheaper than ASP.NET MVC / SQL Server? Say huh?
George Stocker
@George Stocker: Easily. LAMP avoids the so called "Microsoft Tax", and that cost has to eventually be passed to consumers in some shape or form.
Nathan Kleyn
PHP is cheaper AT FIRST. It's like when buying a used car for 'nothing'. Doesn't cost much but the repairs might turn the situation around.
David Brunelle
@David Brunelle: Now that I will have to +1...
Nathan Kleyn
A: 

Don't write this kind of thing from scratch in any programming language. Look for a web framework that you can use. There are plenty of Java web frameworks out there, but if you are not a professional programmer you may find that is more effort than you can afford.

Consider using a Python framework like Django. It will be fairly easy to get your site set up, because this matches the core functionality of Django. And any modifications that you need to do will be in Python which is less effort than Java, however you still have the object-oriented capabilities that you are familiar with from Java.

Don't even think of doing this in C. You would just end up reinventing the wheel that has already been well-done in Python.

Michael Dillon