By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,775 Members | 1,325 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,775 IT Pros & Developers. It's quick & easy.

Selecting the next language

P: n/a
We are a software company that provides Inventory & Procurement
mangement to the hospitality industry. For the past twenty years we
have been using Progress Software as both the development language and
the underlying database. We are in the process of exploring new
languages to write our application in, as Progress is becoming
expensive for us.

Here are some of our issues

1. Progress is a 4GL language so it is very rapid development. We would
like something that is as fast or faster

2. We would like to be somewhat database agnostic but we are leaning
towards using MS SQL - Progress was an embedded database so it was very
easy to maintain (any suggestions here...are there other good embedded
databases)

3. We will probably (Eventually) be creating web services. It would be
nice if once we learn a language that we could easily use that language
to both CREATE webservices as well as use them (once again rapid
development is important)

4. Since we were using a 4GL lanaguage we are looking for tools that
will help us with a lot of the code development (suggestions? I have
seen YesSoftware and it looks pretty good)

5. We want something that is OO and runs quickly

6. Our current app is developed in a rich GUI interface. It is similar
in nature to an applet where only the Form that is required is
downloaded to the clients local machine. Otherwise everything remains
on the server (thus making it easy to send updates to our clients). Can
PHP achieve this?

7. I have seen PHP compilers are they any good. We mostly would want to
use them in order to protect our IP

8. There seems to be a large community of PHP users (is that correct).
Are there a number of user groups in the US?

9. We will eventually be providing multi-language capabilities...does
PHP support this?

10. We need a language that is easy to learn and can provide us with
good connections to databases

11. What are the posatives and negatives of using PHP?

12. If you were chosing between C# and PHP which one would you go with
and why (good and bad of both)

13. We are interested in cross platform capabilities. Today most of our
customers use Windows, so this is not a critical feature, but since you
never know exactly what the futre brings it would be nice to go either
way

14. Does anyone know of a web based open source inventory managment or
ERP application? Something with a lot of depth to it that is currently
being used in a manufacturing environment?

Any insight you can provide on selecting the next language for us would
be appreciated. Also we need to take in to consideration the total cost
of deploying the application, including webservers, datbases, etc.

This is a big decision for us, so I appologize for such a lenghty post.

Jul 17 '05 #1
Share this Question
Share on Google+
12 Replies


P: n/a
mp******@gmail.com wrote:
We are a software company that provides Inventory & Procurement
mangement to the hospitality industry. For the past twenty years we
have been using Progress Software as both the development language and
the underlying database. We are in the process of exploring new
languages to write our application in, as Progress is becoming
expensive for us.

Here are some of our issues

1. Progress is a 4GL language so it is very rapid development. We would
like something that is as fast or faster
Only 4GL I know is UNIFACE which you may want to look into:

http://www.compuware.com/products/uniface/
[snipped]

9. We will eventually be providing multi-language capabilities...does
PHP support this?


I use multi-language support in the database in my signature. I have a
table called LTXT which is defined as:

CREATE TABLE `ltxt` (
`TextCode` varchar(8) NOT NULL default '' COMMENT 'Text code',
`LangCode` varchar(8) NOT NULL default 'eng' COMMENT 'Language code',
`TextStrg` varchar(255) default NULL COMMENT 'Text string',
PRIMARY KEY (`TextCode`,`LangCode`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Multilanguage support'

and I make calls to that table for all output strings. The basic idea is
similar to UNIFACE multi-language support.

(Side note, I cannot answer the snipped questions).

MfG

Geoff.
--
Unofficial F1 Database: http://glibs.ssmmdd.co.uk/
Update: 30th May, 2005
USENET Email address is a spam trap, send Emails to address in the DB
Jul 17 '05 #2

P: n/a
On Sat, 04 Jun 2005 19:41:23 -0700, mpinsley wrote:
2. We would like to be somewhat database agnostic but we are leaning
I have a few weeks of database experience. I started with Oracle 4, was
teaching Oracle 5.0 and 5.1 and was certified to teach course called
Oracle Internal Architecture for Oracle6. I've been working with all
major versions since version 4. This long and bragging introduction
was necessary, to give additional weight to the statement that I've
never seen a "database independent" application that is working properly.
The only "database independent" applications that I've ever seen were
working equally lousy on all supported database platforms.
towards using MS SQL - Progress was an embedded database so it was very
easy to maintain (any suggestions here...are there other good embedded
databases)


MS SQL is the database that works on any platform, as long it is MS
Windows platform. My advice would be to go with MySQL which works on many
more platforms or, my personal preference, PostgresSQL, which is much more
mature. If you want to go commercial, Oracle's market share is much larger
then MS SQL.

--
Demagogue: One who preaches a doctrine he knows to be untrue to
men he knows to be idiots.
H.L. Mencken

Jul 17 '05 #3

P: n/a
On Sun, 05 Jun 2005 04:46:50 GMT, Mladen Gogala <go****@sbcglobal.net>
wrote:
On Sat, 04 Jun 2005 19:41:23 -0700, mpinsley wrote:
2. We would like to be somewhat database agnostic but we are leaning
I have a few weeks of database experience. I started with Oracle 4, was
teaching Oracle 5.0 and 5.1 and was certified to teach course called
Oracle Internal Architecture for Oracle6. I've been working with all
major versions since version 4. This long and bragging introduction
was necessary, to give additional weight to the statement that I've
never seen a "database independent" application that is working properly.
The only "database independent" applications that I've ever seen were
working equally lousy on all supported database platforms.


I'm aware of many good database independent apps. Sorry you've not
had the same experience. Having an app that works well in Oracle,
Informix, MS SQL and Mysql isn't really all that hard to do.
towards using MS SQL - Progress was an embedded database so it was very
easy to maintain (any suggestions here...are there other good embedded
databases)


MS SQL is the database that works on any platform, as long it is MS
Windows platform. My advice would be to go with MySQL which works on many
more platforms or, my personal preference, PostgresSQL, which is much more
mature. If you want to go commercial, Oracle's market share is much larger
then MS SQL.


Oracle is much more expensive than MS SQL from the licensing point of
view. When you write 3rd party apps and need to tell the customer to
buy a license, it hurts your sales.

--
gburnore@databasix dot com
---------------------------------------------------------------------------
How you look depends on where you go.
---------------------------------------------------------------------------
Gary L. Burnore | ۳ݳ޳ݳۺݳ޳ݳݳ޳ݳ۳
| ۳ݳ޳ݳۺݳ޳ݳݳ޳ݳ۳
DataBasix | ۳ݳ޳ݳۺݳ޳ݳݳ޳ݳ۳
| ۳ 3 4 1 4 2 ݳ޳ 6 9 0 6 9 ۳
Black Helicopter Repair Svcs Division | Official Proof of Purchase
================================================== =========================
Want one? GET one! http://signup.databasix.com
================================================== =========================
Jul 17 '05 #4

P: n/a
OK,

So do you guys have a language preference. Do you think PHP is the way
to go for a long term play? What are the negatives of the languages?

Does it deal well as an OO language?

Thanks
Mark

Jul 17 '05 #5

P: n/a
Gary L. Burnore wrote:

I'm aware of many good database independent apps. Sorry you've not
had the same experience. Having an app that works well in Oracle,
Informix, MS SQL and Mysql isn't really all that hard to do.


Gary,

I have more than 25 years of relational DB experience, including 13
years with IBM. It covers everything from PC' with 20KB databases to
mainframes with database sizes in the 100's of terabytes. And I agree
with Mladen - I have never seen a *good* database independent application.

I've also seen many "database independent" applications. But if they
truly are completely database independent, then they can't take
advantage of the power of the particular database they are using. They
must code to the "least common denominator", which means they must use
only those features available in all database.

For instance - standard SQL like INSERT and UPDATE work fine - maybe.
But you can't use triggers or stored procedures - not all databases
support them. You can't mix CHAR and VARCHAR fields in the same tables
- because not all databases accept them. There are a lot of things you
can't use.

Even the applications I've seen which are "database independent"
generally aren't. Most have some database-specific functions. The best
I've seen are probably in C++ and Java - which can encapsulate the DB
API, making the rest of the program database independent.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Jul 17 '05 #6

P: n/a
mp******@gmail.com wrote:

<snipped for brevity>

This is a completely wide-open question, and subject to a lot of debate
- much of it religious :-).

There is no one good answer to your question, and there's no way anyone
could give you a good answer in a forum like this. There are too many
other variables - like the code you write, the skills of your personnel,
the systems being used (both hardware and software), response time
requirements, skills of your users - IOW dozens of additional things.

What you need to do is to hire a good consultant to help you make a
decision. You need to find one with a lot of experience in many
technologies, but not married to any single one. Such consultants
aren't easy to find, but they do exist.

This consultant would look at all the things I mentioned and dozens more
- to come up with a list of his top three or four recommendations, and
the advantages and disadvantages *TO YOU* of each one.

In the meantime, if you want to be limited to MS products, by all means
C# and MS SQL will work. But if you're looking at something which will
run on Linux and other OS's, I'd recommend looking into other non-MS
products.

PHP and the like are not 4GL languages. Even Java is not a 4GL
language, but there are integrated development environments out there
which can make it look almost 4GL. AFAIK, there aren't IDE's like this
for PHP - but for the web, the combination of a good HTML generator and
a decent PHP development environment can make web pages easier.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Jul 17 '05 #7

P: n/a
On Sun, 05 Jun 2005 14:49:24 -0500, Jerry Stuckle
<js*******@attglobal.net> wrote:
Gary L. Burnore wrote:

I'm aware of many good database independent apps. Sorry you've not
had the same experience. Having an app that works well in Oracle,
Informix, MS SQL and Mysql isn't really all that hard to do.

Gary,

I have more than 25 years of relational DB experience, including 13
years with IBM.


Jerry, like you I have more than 25 years of relational database
experience. I've written several applications that use that are
database independent and I still receive royalty checks for them.

It covers everything from PC' with 20KB databases to
mainframes with database sizes in the 100's of terabytes. And I agree
with Mladen - I have never seen a *good* database independent application.
Sorry for your loss.
I've also seen many "database independent" applications. But if they
truly are completely database independent, then they can't take
advantage of the power of the particular database they are using.
That's simply not true.
They must code to the "least common denominator", which means they must use
only those features available in all database.


Actually, "they" don't. Coding can be done so as to make use of the
features of whichever database is used. Takes more up front planning,
but it works.

--
gburnore@databasix dot com
---------------------------------------------------------------------------
How you look depends on where you go.
---------------------------------------------------------------------------
Gary L. Burnore | ۳ݳ޳ݳۺݳ޳ݳݳ޳ݳ۳
| ۳ݳ޳ݳۺݳ޳ݳݳ޳ݳ۳
DataBasix | ۳ݳ޳ݳۺݳ޳ݳݳ޳ݳ۳
| ۳ 3 4 1 4 2 ݳ޳ 6 9 0 6 9 ۳
Black Helicopter Repair Svcs Division | Official Proof of Purchase
================================================== =========================
Want one? GET one! http://signup.databasix.com
================================================== =========================
Jul 17 '05 #8

P: n/a
Gary L. Burnore wrote:
On Sun, 05 Jun 2005 14:49:24 -0500, Jerry Stuckle
<js*******@attglobal.net> wrote:

Gary L. Burnore wrote:
I'm aware of many good database independent apps. Sorry you've not
had the same experience. Having an app that works well in Oracle,
Informix, MS SQL and Mysql isn't really all that hard to do.


Gary,

I have more than 25 years of relational DB experience, including 13
years with IBM.

Jerry, like you I have more than 25 years of relational database
experience. I've written several applications that use that are
database independent and I still receive royalty checks for them.
It covers everything from PC' with 20KB databases to
mainframes with database sizes in the 100's of terabytes. And I agree
with Mladen - I have never seen a *good* database independent application.

Sorry for your loss.

I've also seen many "database independent" applications. But if they
truly are completely database independent, then they can't take
advantage of the power of the particular database they are using.

That's simply not true.

They must code to the "least common denominator", which means they must use
only those features available in all database.

Actually, "they" don't. Coding can be done so as to make use of the
features of whichever database is used. Takes more up front planning,
but it works.


And if it takes advantage of features of a particular database which
aren't available in other databases, then it's not truly "database
independent", is it?

For instance - write an application using triggers in Oracle or DB2.
Now make it work on MySQL - without changing any code in the application.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Jul 17 '05 #9

P: n/a
MARK wrote:
OK,

So do you guys have a language preference. Do you think PHP is the way
to go for a long term play? What are the negatives of the languages?

Does it deal well as an OO language?


I think so.

My main caveats with PHP are that:

1) you can get namespace collisions
2) good project methodologies aren't as widely available as for Java
3) if you've got to develop non-web-based applications - its not the best
tool for the job.
However the first 2 issues vanish when you apply a test-driven development
methodology. PHP now has a number of good unit-testing tools and at least
one continuous integration tool (Rephlux). The 3rd issue - well, is it
really an issue?

The benefit that drove the whole 4GL thing was all about productivity. PHP
is most definitely NOT a 4GL (if you don't assume that object orientated
programming languages are by definition 4GLs) however like most dynamic
languages (Python, Perl...) it does give results very quickly.

You are currently getting stung for choosing a proprietary solution which is
costing you more while its customer base shrinks (and hence development
slows). Why on earth would you make the same mistake again?

I could go on for hours - but I'd have to start billing you for my time.

Yes...PHP is an appropriate solution - what else did you expect at
comp.lang.php?

C.
Jul 17 '05 #10

P: n/a
On Sun, 05 Jun 2005 15:01:06 -0400, Gary L. Burnore wrote:
Actually, "they" don't. Coding can be done so as to make use of the
features of whichever database is used. Takes more up front planning,
but it works.


Ah, that is so called "#ifdef portability". Yes, by using the sufficient
number of #ifdef or equivalents you can create a portable database
applications. The problem with the different databases is that they have
vastly diferent locking and optimization strategies and the methods of
controlling the optimizer or locking are very different. For instance, in
Oracle and UDB readers don't block writers. In MS-SQL, they do. That alone
is sufficient to make your application behave differently on MS-SQL and
UDB.

--
I either want less corruption, or more chance to participate in it.

Jul 17 '05 #11

P: n/a
On Mon, 06 Jun 2005 14:29:15 +0100, Colin McKinnon wrote:
3) if you've got to develop non-web-based applications - its not the
best tool for the job.


This is very correct. I started learning PHP after fairly long use of
Perl. Writing OS scripts in Perl is much easier then in PHP, even we're
talking PHP5. I must confess that I hate Perl's OO model with passion,
though. PHP has an order of magnitude better OO model then Perl. Blessing
references is invented to torture pure souls like me, as well as @ISA
array which dubs for "extends" keyword in PHP.

--
I either want less corruption, or more chance to participate in it.

Jul 17 '05 #12

P: n/a
PHP is probably the wrong tool for the job. It's a technology primarily
used for building web sites. While you can in theory do the things you
need to do in PHP, it's rarely a good idea to use a tool outside of its
purpose. Most people in this group, for instance, know PHP compilers
exist. Do they work as advertised? Few of us would vow for them.

A tool you should consider in your search is Borland Delphi. With it,
you can build native GUI application very easily and quickly. You can
also build ISAPI modules for brazingly fast server-side web
applications. It has good support for multiple databases, and accessing
web services is easy as slicing cheese. There's a Linux version of the
tool called Kylix, so you can, in theory, port to that OS. The latest
version also support C# as a development language I believe.

Jul 17 '05 #13

This discussion thread is closed

Replies have been disabled for this discussion.