Which programming language fits this scenario best?

Hello Experts!

I am designing a project that requires the ability to  receive and send messages via TCP/IP.  I need the application to be able to scale  up for enterprise level activity.  I need the system to be robust and reliable.

So which programming language fits this scenario best, and why.  No points awarded for just naming a programming language, the why is important, and I will split the point for contribution with the highest amount going to the most applicable answer.  That sounds fair!

Thank you in advance,

Fox
LVL 9
the_b1ackfoxCIOAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Kent DyerIT Security Analyst SeniorCommented:
If one is here for the points, then you are here for the wrong reason.  Personally, I am here to help my fellow man.  If I was here for the points, that would be self-serving.  If you read profiles of leaders here, you will hear the same sentiments echoed.

That aside, back to your question.

First, why?  Why do you want to do this?  Are we dealing with a Windows Environment or UNIX?  Assuming it is Windows, why not use Windows Messenger or better yet Office Communicator.  The point being, why re-invent the wheel as it were?  If you are looking for a task to do for your boss for your year-end employee evaluation - I could think of a much better project than this..

I know I am not answering your question.  I am not concerned whether I am awarded points or not - but I think this places a little perspective for you.

HTH,

Kent
0
the_b1ackfoxCIOAuthor Commented:
Kent,

Thank you for your input, but the perspective on points is moot as well as the environment,  using existing solutions , wheel reinvention and my presumed added perspective.  

I am here to leverage the experiences of others to hopefully increase the odds of success of my project.  It is great that you are here for your fellow man, but we all have our reasons for coming to this exchange (and why are you excluding women?  (joke)).  It isn't wrong that their reasons or mine do not match yours.  I think it's a little out of line for you to make a judgement call on someone else's reason for being here at EE.  If EE decides to remove the point system that's great, but until that time I am offering points when I can to attract the greatest number of people to join into this conversation.  If you don't care about points, that's great, but you shouldn't give me a hard time for using a system that someone else designed around points.  

Now off of the tangent and to the reason we are all here.  This is a question of best language for the job at hand.  I do not want to build this in .net to find platform latencies later on in the process, esp. if I could have avoided the pitfall by selecting Java in the first place.  Platform doesn't matter, because the solution will be put on whichever suits the programming language best.

RE: reinventing the wheel:  This is for an entrepreneurial endeavor.  (I'd like to keep my efforts on the down low)  There are some parts that will require doing some basic things that have been done before.  But the end project does not exist in this world.  And even if it did exist, it doesn't mean that someone cannot find success by making an existing product better.  Four dual MBA candidates (one of which was me), have reviewed the potential market and success of this project.  Now I am vetting my options for the build.  
So knowing which language works best for this is quite pertinent.  

Google wasn't the first search engine, and there were plenty of social website when we first heard about Facebook.  If the attitude of it is already out there was prevalent we would always be stuck with someone else's vision of status quo and creativity would be stymied...


Fox
0
Dave BaldwinFixer of ProblemsCommented:
My suggestion is that you hire someone who knows enterprise level programming and let them choose the language.  Experience and expertise will be more important than the specific language.  And there may be reasons to use more than one language.

Many languages can fit your only stated requirement.  But on an 'enterprise' level, network design and functioning may be more important than the programming language.  For example, a fairly slow computer can be used as a web server because it just delivers text and files.  The desktop computer receiving the files and images often needs to be much faster because it has to process the text and render the images to the screen which requires much more CPU power than just sending a file over the TCP/IP network.
0
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

the_b1ackfoxCIOAuthor Commented:
Hello Dave,

The general idea is to hire out.  I have written several network apps in two different languages, but since there is a lot more that this will be based on, I want someone with more experience than myself.  Plus they are going to have to learn new protocols for the project...   But I don't want a contractor pitching the language because it is the only one they know.  Hence I am soliciting opinions so I know more about what I am buying into.  

And the network design will vary from implementation to implementation

Fox
0
Dave BaldwinFixer of ProblemsCommented:
You also don't want someone pitching a language they don't know.  I still say Experience and expertise will be more important than the specific language.  So you need to examine the methods you want to use and the systems you want to use them on and find common ground.  C and C++ are found on almost all systems and even on Windows, they do not have to use the .NET libraries.  JAVA is found on most systems also.

Part of the reason you're getting the responses like these are that most of the people that ask questions like these have never actually completed a project and they're trying to skip over the parts where you actually find out how things work.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
the_b1ackfoxCIOAuthor Commented:
Dave:  You also don't want someone pitching a language they don't know.
Fox: Agreed.  Since the birth of this thread I have read a ton of papers comparing performance of java, c++, c# ,Scala et al.

There is a lot of bias based on language preference and even the benchmarked results.  Taking all that into consideration I think I am going to opt for a c++ implementation  for this project.  I am awarding you the lion share of the points as stated with a minor deviation.  I am going to award a few points to Kent.  He didn't contribute to the discussion but I think getting some points will irk him on some level, since it doesn't cater to his belief system.  Suffer Kent!  lol

Fox
0
the_b1ackfoxCIOAuthor Commented:
Laugh at life or go insane, the choice is yours...

Fox
0
Dave BaldwinFixer of ProblemsCommented:
thanks for the points...
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming

From novice to tech pro — start learning today.