Fog Creek Software
Discussion Board




What Programming Language should I go with?

Hi guys,
I need someones expert opinion on this. The company I work for wants to create a major complete software package, tailored specifically for the courier industry.
Now my question is, which programming language and db would most be suited for the creation of this task?. And what wold be the pros and cons of such a language in the context of a courier industry.?.
Does anyone know what FEDEX and DHL uses?.
Your help on this would be much appreciated.
Thanks in advance
Jay

JJ
Monday, April 05, 2004

I once wrote a still-much-used piece of software for several (competing) courier companies.

This let them use one of the early smartphones with touch screens as a terminal that showed each courier's joblist, maps as needed and could even take the signature of the receiver.  It had time accounting and everything.

It was written in J2ME, because that was what the smartphone accepted.

Anyway, that doesn't at all begin to answer your question.  It just proves the bredth of systems that a courier vertical might require.  You need to be a bit more specific about the system, and about the languages you and the team are already familiar with, and the kind of systems you and the team have built before.

i like i
Monday, April 05, 2004

Your company instills me with confidence that they want to right a major piece of software for global companies and then you come on here asking what language to develop in and what FedEx / DHL use....

Is your company up to this task? Surely if you had the developers to write this thing, you wouldn't be on here asking what software to use?

I'm no expert but these are things I would think about....

1. Devices the couriers use...

Find out what pdas / tablet pc / handheld device they use ...

- Your software will need to run on these devices - are they going to replace every single item in the field just for your software? I doubt it.

2. Backend systems

Find out what backend systems they use - Windows? Unix? Siebel / SAP etc....?

------

And of course, most importantly. Is your software going to add any benefit / value compared to their existing systems?

James 'Smiler' Farrer
Monday, April 05, 2004

Excuse the poor spelling of write.

Grr, edit comments facility pls :)

James 'Smiler' Farrer
Monday, April 05, 2004

If your already familiar with .NET, I'd reccomend it. The fast development time it provides, along with being able to use any language your familiar with is great. You can also use Access or Microsoft SQL with it, which are both lovely.

It all depends on the sort of system you need to do though, and what languages your familiar with. Also, what operating systems will it run on? How important is security? No one here can give you any good advise until you address these issues.

Unless someone here works for FedEx...

Wants to be an ISV
Monday, April 05, 2004

ok ok. The courier companies here in this region are not as mamoth as dhl and fedex. Anyway, my boss has given me the task to research this issue. The programmers have not been hired yet. That will occur depending on the language we go with.

JJ
Monday, April 05, 2004

You still haven't been so clear JJ about what kind of 'courier system' you intend to make.  Is this a logistics server?  A 'puter for every delivery agent?  Both linked together?  A system for checking tax duties when shipping abroad?  A system to manage the assets e.g. lorries.  etc...

There are lots and lots of systems that courier companies need.  What type of system are you planning to write?

i like i
Monday, April 05, 2004

JJ, in short, you're nuts. Hiring programmers based on the language is a recipe for failure.

Define your needs in language-agnostic terms and bring in one guy that has *successfully* built something of the *same scale and complexity*. Thoroughly check his work, and his references. Let him handle the rest, including platform choices, and hiring other developers.

Going with a technology on the basis of a major company using it a manifestation of stupidy. The why's of choosing technologies in the corporate world have more often to do with marketing, discounts, or in-house expertise, that with their actual merits.

I worked in a large moving industry multinational  that built a similar software in Progress because IT manager was obsessed with the notion of cross-platform, without having a clue about anything than Windows, and being an incredible uneducated moron.

Egor
Monday, April 05, 2004


GW Basic,  what else.

My Cousin Vinniwashtharam
Monday, April 05, 2004

I second what Egor said.  Listen to that man (or woman).

K
Monday, April 05, 2004

I'd tell your boss you need time to go around all the local courier companies to do research.

Then buy yourself a motor-bike.

Stephen Jones
Monday, April 05, 2004

Egor is dead on.  If you're not a programmer, don't try to tell the programmers what tools to use.  You'll force your programmers into producing a crappy system that isn't going to help you at all.  Your programmers will also hate you with a deep and abiding passion.

Take a look at it another way.  You don't call up General Motors and tell them how to build the delivery truck, because you don't know beans about building trucks.  You know about loading trucks and driving them to places and making a profit on that.  So you tell them how heavy your loads are, what kind of range you need, any special considerations the vehicle needs, and they build you a truck to match. You don't tell them how to set up their factory, who to get parts from, or the composition of the metals used in the engine.  They do that stuff, because that's what they know.

Apply the same principals to the software system. Let the people who actually know how to build software make the decisions on the tools to use, and provide input on the things that you do understand.

Clay Dowling
Monday, April 05, 2004

Ok, this info is all interesting. And Egor, i welcome any comments :). I need to make sure i start on the right foot. I have no experience in this hiring programmer business. But call this a probation period for me.
Take it from me, what your telling me is gold to this inexperienced Nut :)

JJ
Monday, April 05, 2004

Are you sure your company would really benefit from seting up a dev shop?
Unless the scope of the app is VERY clear and logical, Id suggest getting a  consultant to help out with the spec. After you get a proper spec done, pass it around and ask for bids from contractors/consultants.
It may seem a more expensive route at first, but unless you already have development and technichal managment staff and stuff, I bet doing it in house would cost more and render worse results.

Eric Debois
Monday, April 05, 2004

"Take a look at it another way.  You don't call up General Motors and tell them how to build the delivery truck..."


Coincidentally, this weekend I attended an entrepreneurship presentation whose keynote speaker runs a business that constructs (tractor-)trailers.  He's had more than one potential customer come and say "I want X" only to hear him reply "X isn't possible/safe (due to height issues, center of gravity, etc.), but we can do Y."  They storm off in anger...then come back in a couple months to ask for Y since they couldn't find anyone else to do it.

You have to trust that the guys in the business will know more about what can and can't be done than you do; your job is to find a guru who can head up your project, and let _him_ tell you what kind of programmers he needs.

Kyralessa
Monday, April 05, 2004

Kyralessa, I know what you mean. I don't want to assume anything, and I want this to be done right.
Because the company has had a previous disaster that I dont think they want repeated. So I'm sure now they are more humble to listen to anyone with a good idea.
Its my task to get that optimum idea for them before  anything commences.

JJ
Monday, April 05, 2004

So JJ, are you looking for that consultant then?

i like i
Monday, April 05, 2004

So you want to hire some programmers, one of which is required to be a guru, for a project, which you don't have a fully planned-out spec for, and you will let the guru programmer tell you what you need?

Wow!... I thought I was clueless.

I dare ask, did you talk to any one of these courier companies what they currently use, what their problems are, what they'd like to have, or if they are even willing to change their systems before you go ahead and do all the hiring and programming and show up at their doors?

You should write a few Dilbert episodes dude.  You might make more money in cartoons!  :)

wow
Monday, April 05, 2004

For your information Bow Wow, I'm a graduate student. And thus I'm given a task that i really have no commercial experience, yet I'm assessed on how I do the research. Whether the company will take up my proposal or not is up to the supervisor. Call it a test or what not.
Save your sarcasm for another day, i came to seek advice, not your crude remarks.
JJ

JJ
Monday, April 05, 2004

JJ, so, are you in the offshoring business?

You don't have a clue what you're doing so you most certainly do deserve some rude remarks. It's clowns like you that generate the grief that's often complained about on this board.

JM
Monday, April 05, 2004

Guyssss, i think the guy is asking out of inexperience. It's not as if any of us got our degrees, backed up with a record of experience.
To take your vengeance (because of past grief) out on a graduate student is not really the smart thing to do. You can start to end this vicious cycle of I.T. mismanagement by informing the younger ones of pitfals and the "what not to dos"
Dont let such comments bother you JJ, many people were once in your shoes, but asking around (like you are currently doing) helps alot in gaining an insight into this mammoth field of systems analysis and design.
Refering back to your textbooks would be a first step, but the more important thing is this. The real world is quite different. And asking around to those in the field, would be a start. If this forum bothers you, there are more people willing to help in many other forums. I'm not trying to scare you from here, just saying that if these posts dont help out much, then are there other good forums for these questions. With much nicer people too :)
Drop me an email if I can help out in anyway. It looks all confusing at first, but trust me, you'll get the hand of it soon enough mate.

D Chan
Monday, April 05, 2004

"generate the grief that's often complained about on this board."
I didn't know this was an IT Counseling Forum. I must also too be in the wrong board.

Thats Heavy
Monday, April 05, 2004

The hostility being directed at JJ is a little unwaranted, in light of the fact that he's indicated that he understands our position and is willing to consider a better way.

The thing that calls out to me is that you should play to your company's strengths here.  It doesn't sound like there is any programming knowledge in your company, but it would be a good idea to find out if this is the case.  You'll create bad political problems if you go outside when you have the skills inside.  If your company doesn't have this knowledge, it probably does have knowlege about hiring people.  Hopefully it has knowledge about hiring skilled leaders.  This is because you're going to need someone to lead this project who is not just a good programmer, but a good leader/manager.

If the will isn't in your company to do that, it's entirely possible to find an outside firm that can.  I can even recommend a company with a good logistics track record, if you'd like to contact me off list.

Clay Dowling
Monday, April 05, 2004

JJ apparently is in charge of something he knows nothing about. This happens all the time in this industry. Eventually talented people will have to sort out the mess, and probably be condemned after they do.

JM
Monday, April 05, 2004

JM, you've gone through alot of trauma in your life i can see. You kind of remind of a work colleague who has an answer for everything, thinks everyone above and below him is stupid and incompetent. And your the superhero thats come to rescue the company from oblivion. Dude, stop being so anal. The guy is asking for advice, big deal. Why make a mountain out of a molehill. Your viewpoint doesnt neccessarily reflect everyones. So say something constructive instead of being judge, jury and executioner all the time.

J.gstein
Monday, April 05, 2004

> The hostility being directed at JJ is a little unwaranted, in
> light of the fact that he's indicated that he understands
> our position and is willing to consider a better way.

Hostility? What hostility?

He either needs to tell more about the project and what research he already did to get more value out of the responses he gets, or if he can't tell more, he should refrain from asking questions that will make him look like an idiot with a graduate degree (in art?).

Based on what he asked, and how he responded to answers, his situation appears to be a page out of my Dilbert calendar. It is funny enough that he is in charge of a project he doesn't understand, it is funnier that his boss put him up to the task.

If they are truely after this courier software business, this team of theirs needs to be highly skillful and professional to really get any business since the customers are not operating in vacuum. They (hopefully) already have a system in place. If not, then he should be talking to the customer(s), not us to see what they need/want. 

Maybe they are trying to come up with a shrinkwrap courier business related software app with no particular target customers. Even then, isn't it more intelligent to talk to *potential* customers? Of course he can't ask them what language and db to pick since that is extremely stupid and hopefully he realizes that.

Does he even know what the program will do? Hidden in my sarcasm, there was a reference to the unwritten spec.
Apart from complaining about my sarcasm, he never said that they do indeed have a spec. Does he know what the app is going to do specifically before jumping to picking a language and db? His choice of language and db will depend heavily on what the program is supposed to be able to accomplish, but he doesn't seem to know that either.

If what I am saying is offending him, well that's just the bitter taste of reality. A grad student should be able to ask more intelligent, in-depth questions.

By the way, Mr. JJ, the answer is that there is no right answer. Unfortunately, in real life, there is more than just one right answer. *You* gotta do the research to find out the possibilities, and *you* gotta pick the best one doing trade-off analysis based on what you want to accomplish and what your tools will let you accomplish. And do *not* expect someone else to do it for you for free on here or elsewhere. If you pay me (enough), I'll do a complete research and analysis, and come up with a solution for you, and maybe even write the app (minus the sarcasm).

"i like i" already caught on and he/she is asking if they need consulting.  :)

If you end up picking a specific language/db combo, and have problems accomplishing a specific task with that combo, then come back and post that particular problem. Only then, will you avoid my sarcasm, but before you ask, let me answer: No, I cannot guarantee you that others will not make sarcastic remarks.

p.s.  This poster has had enough exposure to stupidity today, and JJ has been the last drop.

wow
Monday, April 05, 2004

I hear that ADA is the way of the future.

Jimmy Jo-Jo
Monday, April 05, 2004

Mr Gstein, on medical lists, you don't see these posts: "I'm in charge of casualty today. Anyone got any hints how to handle internal bleeding in the thoracic cavity? Preferably before 10 am."

JM
Monday, April 05, 2004

Once again, the "making a mountain out of a molehill" syndrome is continuing here. The analogy doesnt apply, this doesnt even look like a medical emergency. Just someone asking for advice. I'm sure there are other forums for your wise remarks.

J.gstein
Monday, April 05, 2004

Actually, the analogy is pretty apt.  He's in charge of a large project and he hasn't the first clue where to begin.

JJ probably already knows this, but he's in way over his head.  I don't mean to be hostile ... hey, I feel for you man, I've been there myself.  But yeah.  Brace yourself for a collosal plane wreck ... but on the way down, maybe you can learn something from experience ...

Alyosha`
Monday, April 05, 2004

Forth. You just goatta use Forth.

fool for python
Monday, April 05, 2004

I read somewhere that FedEx used Forth for there handheld devices.

Johnny Moondog
Tuesday, April 06, 2004

What is really sad is that these endeavors which seem to have no direction or chance of success end up failing miserably and take down with it all the money that went into trying to succeed. That money could have been used to do much better things such as feeding the hungry, clothing and housing the needy, etc...

Oh well... Life shall go on in one form or another.

wow
Tuesday, April 06, 2004

I need to build a 50-story office building.  What materials should I use?  What are the pros and cons of each kind of cement and steel?  Do you know what was used to build the WTC and Empire State?

NoName
Tuesday, April 06, 2004

Is it going to have to withstand planes slamming into it? In that case, don't copy WTC.  :)

wow
Tuesday, April 06, 2004

*  Recent Topics

*  Fog Creek Home