LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (http://www.linuxquestions.org/questions/programming-9/)
-   -   Which Language/Program do I/should I choose to learn for what I want to achieve? (http://www.linuxquestions.org/questions/programming-9/which-language-program-do-i-should-i-choose-to-learn-for-what-i-want-to-achieve-826393/)

charly17201 08-15-2010 04:07 PM

Which Language/Program do I/should I choose to learn for what I want to achieve?
 
Let me start by saying I haven't 'programmed' since dBase II/III/III+.

I know I need to choose to learn the right programing language(s) to achieve my desired end results. I haven't delved deeply into any one language because there are so many available and I don't know what would be the most likely good candidate to start with.

The MOST efficient method (right now) for me to accomplish what I need the program for is a lined journal, mechanical pencil and a good eraser.

Here's what I'm looking at: I manage a fleet of trucks and drivers and need a GOOD management tool for planning and utilizing my people and trucks. Nothing I've seen or tried does everything I want. Lotus Notes/Lotus Suite (yeah, I've still got that and Word Perfect Office), M$ Office, the spread sheets and databases. Outlook, Thunderbird/Lightning, Evolution, Calendar Creator, Lotus Organizer all do bits and pieces of what I need..... but non-do the whole hog.

My data right now is 10,000 lines x 35 columns (for 2010) in an excel/OpenOffice spreadsheet. I think it ran to 23k lines in 2009.

So, primarily, I know I need something that can handle a large database/spreadsheet. I can import MOST order data from a .csv file - and I want to maintain that capability. The .csv file is a download from AS400 - yeah we still use that.

I want to have a GUI that can display one full day on a screen (left/right button to change days or a drop down calendar), I'll probably need to learn about activeX since I want to be able to place the mouse over a field and display other associated info (or maybe right click for it) - such as over the Driver name and have it show his truck #/cell phone #/scheduled days off/vacation; over an Order # and have it display an associated email/pdf; and then let me easily associate pdf files to order #s in the database (is this even possible?). Warn me of conflicts - planning loads to trucks and drivers and have it tell me that it is the driver's scheduled day off/truck in shop/etc. Be able to input driver events that will show conflicts with certain types (HazMat)/times (too early/late D.O.T. rules)/days of loads.....

And then, finally - if it is possible a program that I can use or relatively easily convert to use on a Windows system after getting everything up and running on Linux. If I can't swap data between the two OS then I'll dump the Windows part of the plan altogether - I only want one database to maintain.

Recommendations (and some reasoning/thought process) would be greatly appreciated. It's been a long time, but I have to learn all over in order to get what I need.

Thanks in advance for the advice.

Sergei Steshenko 08-15-2010 04:12 PM

Have a look at http://projects.gnome.org/gnumeric/ .

Sergei Steshenko 08-15-2010 04:13 PM

And, by the way, IMO the very first constructive step is to stop thinking in terms of spreadsheets.

charly17201 08-15-2010 04:19 PM

Quote:

Originally Posted by Sergei Steshenko (Post 4067109)
And, by the way, IMO the very first constructive step is to stop thinking in terms of spreadsheets.

I use the 'term' spreadsheet, but I think of it as a database - just a flat one. And yet in your above recommendation, you point me to a spreadsheet..... good one. And thanks for the direction, I'll start looking in to that one.

Sergei Steshenko 08-15-2010 04:22 PM

Quote:

Originally Posted by charly17201 (Post 4067112)
I use the 'term' spreadsheet, but I think of it as a database - just a flat one.

A spreadsheet is a two-d entity and I don't understand why I should think in terms of 2d. I prefer to think in terms of hierarchical data structures with not limited from the get go number of dimensions.

dugan 08-15-2010 04:28 PM

Learn how to design a relational database first. Decide if the data can be represented as a relational database. If so, implement it as a MySQL datababase and build a PHP, Django or Ruby on Rails website for the front end.

Sergei Steshenko 08-15-2010 04:42 PM

An/or learn Perl - it's quite nice for data structures. Your amount of data seems to be small, so even though conceptually dugan is correct, the whole data can be easily placed in RAM and stored in your language of choice file (say, Perl itself, or XML, etc.).

Yes, I mean it - in languages like Perl/Python/Ruby data can be stored as text in these respective languages.

Sergei Steshenko 08-15-2010 04:52 PM

By the way, dugan's post also reflects another well known approach - separation of backend (the way data is stored/processed/manipulated) and frontend (the way data is displayed and entered).

Both the backend and the frontend can be implemented in a number of various ways.

Unfortunately, the spreadsheet approach lacks backend and frontend separation.

princyroger 08-18-2010 07:47 AM

I would suggest you Perl or PHP. PHP is one of scripting language. It is open source Language. PHP code has been embedded into HTML source document and interpreted by the server.PHP was developed in 1995 by Rasmus Lerdorf. PHP interpreters are available in both 32bite and 64 bit operating systems. While Perl stands for Practical Extraction and Report Language.It is a general programming language can be used with any other programming language. Perl is very good for doing certain things. Who would not normally develop a user interface in Perl, it would be much easier to use a language like Visual Basic to do so. This makes it an excellent choice to handle HTML files.

ausrasul 08-18-2010 03:50 PM

put those factors before you decide:
- setting up the development environment
- project maintenance afterwords
- how many users will use it
- does the information must be shared to all users in real time?
- does the gui need frequent change for all users?
- how long time can you invest learning/coding?

Answering those questions makes it easier to decide.
Good luck

Gortex 08-20-2010 10:14 AM

take a look at relational database management languages, informix and genero. They support Dynamic sql statments with in the source and you can designed a windows ui to use genero. informix is text base and is more or less dated.


All times are GMT -5. The time now is 04:00 AM.