• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

What programming language would be good for this?

Trevelyan

Diamond Member
Hey everyone, If any of you have recommendations for this, I would greatly appreciate it.

Currently, I'm studying computer engineering, and I'm going to start my Senior year this fall. I have about 1 year left at this company I do work for, and I've been asked to develop a software program for tracking newsletter production in the office.

The program will basically track newsletter printing and mailing, and the associated charges for these services. So, it will need to tie into a database that can store the records, and it will need to generate reports. Different people in the office will handle certain parts of the newsletter creation, so multiple people will need to access the database. (So the program will have different views, depending on what the person is doing, ie printing, or mailing.)

My question is, what software would be the best for doing this? We currently have a simple version created in Access. Should I continue using that for this development, or start from scratch with something more powerful?

This will be a learning experience for me, so I really want to learn the most useful language I can while I'm doing this. Can you recommend what I should invest my research into, and perhaps some books or websites?

Thank you for any help you offer! 🙂
 
You should be able to do all of that in access but if you want to use it as a learning task and build a more robust system then moving the database part to mysql and using either java/python/c#... for the rest might make sense. If your company is paying for the software tools then c# might be a good idea because its realy easy to make a nice gui with visual studio and if you learn c# you can move to java fairly easy if your next job is not Microsoft friendly.

What if any programming experience do you have?
 
I've taken two Java programming courses, a C++ course, and a Data Structures course. I'd say I'm most comfortable with Java, and I've heard that C# is not hard to learn if you're familiar with OOP. Is that true?

And if I did go with MySQL + C#, what software would I have to buy and implement on the server? Is it expensive?

EDIT: Oh, and I took a Database course, so I'm familiar with the basics of SQL queries and how to make a database. But I never deployed an SQL server myself, so that part is a little confusing to me...

THANK YOU for your response, btw.
 
I agree with jkresh. That sounds like a great opportunity to pick up some C# -- I've never programmed in C#, but it sounds like a perfect application for it. You definitely need to ditch Access if you want this new software package to be at all robust -- different levels of security would probably be much easier to modify later with a different package as well, since I don't believe Access supports that easily (I avoid it like the plague).

Other alternatives to consider would be maybe a web-based language such as ASP or PHP (depending on the environment). It would reduce the need for a client-side tool which connects to the database, since the database and front-end would presumably be running on the same server.
 
If the company is going to fund the cost of you learning/developing then get a copy of VC# Express.

Grab a couple of training manuals to get you aquainted with the language and tool.

For the Database, You can use Access for now and switch over to MySQL at a later date without needing to redo any of the code.

This is a big advantage of using ODBC connections.




Have a generic front end that the user logs into.

Then present screens/forms for the user based on their access priviledges.
 
Why Perl of course, because you can do anything with Perl 🙂

(no not really)

My question is what are you going to use as a front end? Is it going to be standalone or a web-based app?
 
C# is scarily similar to java. Although I have never programmed in C# myself (but have had 3+ years of java experience), when I was at work, I was looking at someone's source code and actually thought it was java at first before they told me it was C#. It'd shouldn't be very hard to pick up.
 
If you're going to go ahead and design a new program I'll second the C# and MySQL suggestions. Might want to look in the DevExpress Reports too.
 
If you want to go out on a limb and you're comfortable w/ linux, try ruby on rails 🙂
But it looks like your company is a windows show, so C# would probably be a better path.
 
A lot of companies are using thin client with web browser as the user interface these days. So it would definitely be a marketable skill if you can build a web application using let's say J2EE stuff. J2EE is pretty much Java, but with much more enterprise grade API and stuff. But make sure your company is fine with this because you will need a webserver/application server (you can always go free open source like apache/tomcat, but some companies may not want to pay for people to administer those stuff). This is really enterprise level stuff, some smaller companies may not have the investment on server/networking/administration to pull this off.
 
Originally posted by: mundane
Visual C# Express is free, even for commercial use. MySQL is free as well.

Excellent, thank you!

Originally posted by: Daverino
My question is what are you going to use as a front end? Is it going to be standalone or a web-based app?

Well, I thought I would just install the application on the computers it is needed on, which are all currently connected to a Windows Server 2003 machine, which would hold the database.


It looks like the consensus is C# + MySQL, which is what my Intro to Software Engineering teacher also recommended. I don't think a web-based app would be the best option here, but I don't really know too much about them... I've done minor PHP + MySQL programming on my server, but that's it.


Thank you very much for all the help! I really appreciate it. Any other advice you guys can offer? Any books to recommend? The single aspect I worry the most about is the database connectivity, as I think that is my weakest link... I want to make sure I put in a lot of safeguards so I don't screw something up, but I'm not sure where to begin there.
 
Originally posted by: Daverino
Why Perl of course, because you can do anything with Perl 🙂

(no not really)

My question is what are you going to use as a front end? Is it going to be standalone or a web-based app?

I second the call for Perl.... and yes you can do anything with it Perl.
 
if you have to do bug fixes will you have to do re-installs on everyone's machines?

i think you might be well-served if you looked into either perl or php and just use a web browser for a client. this way you can make quick fixes and deploy without having to bother your users.
 
Originally posted by: Trevelyan
Originally posted by: mundane
Visual C# Express is free, even for commercial use. MySQL is free as well.

Excellent, thank you!

Originally posted by: Daverino
My question is what are you going to use as a front end? Is it going to be standalone or a web-based app?

Well, I thought I would just install the application on the computers it is needed on, which are all currently connected to a Windows Server 2003 machine, which would hold the database.


It looks like the consensus is C# + MySQL, which is what my Intro to Software Engineering teacher also recommended. I don't think a web-based app would be the best option here, but I don't really know too much about them... I've done minor PHP + MySQL programming on my server, but that's it.


Thank you very much for all the help! I really appreciate it. Any other advice you guys can offer? Any books to recommend? The single aspect I worry the most about is the database connectivity, as I think that is my weakest link... I want to make sure I put in a lot of safeguards so I don't screw something up, but I'm not sure where to begin there.


dont forget that C# 2005 comes with a free version of SQL server 2005.
 
Originally posted by: alexeikgb
Originally posted by: Daverino
Why Perl of course, because you can do anything with Perl 🙂

(no not really)

My question is what are you going to use as a front end? Is it going to be standalone or a web-based app?

I second the call for Perl.... and yes you can do anything with it Perl.

Better than that, there's more than one way to do it 😉

:heart: Perl

 
Daverino, the problem with Perl is that there are more then 10 ways to do it and 9 out of the 10 can be messy. If you know what you are doing Perl can be wonderful and for certain tasks it is a great option but its not the best option in every case, and its possible to write some truly awful code in Perl.
 
Since your network is running off a Windows Server, you should look into Visual Web Developer and SQL Server. I think both are free (under Visual Studio Express) and the main benefit of writing a web app is that you won't have to install/upgrade software on all computer every time the software is updated.
 
Back
Top