views:

251

answers:

6

I need to develop an ERP app that is plugable and more modules will be added to it later. I will like to know, if someone has to develop an ERP ground up which language will be preferred. I reviewed these 3 languages but could not reach to conclusion

1) C: Pro- has survived long enough, easier to find developers. Cons- Memory leaks and longer build cycles

2) java: Pro- Already in use in several similar apps, loads of libraries available. Cons- Long code-compile-build-deploy cycle, can be resource heavy at times.

3) Python Pro- quick to develop, easier to maintain code. Cons- Slower than Java and C/C++, no threading... memory requirements on higher side

The app will run in Linux environment so .NET platform is out.

+3  A: 

To write the whole app in one language isn't something I'd suggest. Rather, I'd suggest using a few different languages for different sections, as well as determining if you want this to be a desktop app or a web app. Examples of various parts for different languages:

  1. DB part - MySQL, Oracle, or other database components are probably going to be part of the application and you may want to use something specific to that type of DB to optimize performance in a way.

  2. Server-side part - This could be a few web service calls or a web application or something else, but the idea here is that something else is taking the data from the application and talking to the database. Java or C/C++ could be a couple of options here.

  3. User end - This could be a Javascript part in a web browser or something in a console or windows form for a couple of other ideas.

While 2 and 3 could be written in the same language, I would want to try to separate the code so that each part could be customized as needed.

JB King
A: 

1) At this stage of the game I'd only suggest using C for processor intensive things that need to be heavily optimized.

2) I personally hate Java, so could not offer an unbiased comment :)

3) Python absolutely does support threading. You could do a lot worse than Python.

Also, remember: Premature Optimization is the root of all evil. Don't worry about language performance until you actually experience a bottleneck. Then just fix that bottleneck. Most languages allow you to interface with high-performance modules written in C or C++. So just get the damn thing written and go from there :)

Bryan Ross
A: 

Your question has a bunch of suspect assumptions.

  1. Is it really a pro of C that you can find developers easier? Are there not enough java developers out there, compared to non windows oriented c programmers?. Another potential con of C is that it is pretty low level. Or did you mean c++?

  2. Choosing Java does not necessarily mean a slow build/compile/deploy cycle.

  3. Python can do threading.

You should probably go with the language you or your team have the most experience in. You should also consider what kind of application you are going to write. Is it going to be web based? Database back end? What will the user interface be?

Peter Recore
I meant it is easier to find C developers compared to python... Finding python developers in India is not that easy As for Java, I am yet to come across a decent sized java app that doesnt need overnite build cycle.
Vivek Khurana
A: 

Maybe you want to try IntarS. Fast compiled ObjectiveC ERP-Framework, IntarScript for business logic, several working ERP flavours as starting points, Open Source, Linux, MySQL, Webfrontend.

pirmin
+2  A: 

Try Harbour

bigown
A: 

hi...... I am working as a part of ERP development team. We are doing this in ASP.NET, c# and SQL server 2008 as back end. During the development we feel that it is much easier and faster.

ASP.NET C# MS SQL server 2008

Nithesh