Selecting the next language

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • mpinsley@gmail.com

    Selecting the next language

    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.

  • Geoff May

    #2
    Re: Selecting the next language

    mpinsley@gmail. com wrote:[color=blue]
    > 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[/color]

    Only 4GL I know is UNIFACE which you may want to look into:


    [color=blue]
    > [snipped]
    >
    > 9. We will eventually be providing multi-language capabilities... does
    > PHP support this?[/color]

    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`,`La ngCode`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Multil anguage 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

    Comment

    • Mladen Gogala

      #3
      Re: Selecting the next language

      On Sat, 04 Jun 2005 19:41:23 -0700, mpinsley wrote:
      [color=blue]
      > 2. We would like to be somewhat database agnostic but we are leaning[/color]

      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.
      [color=blue]
      > 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)[/color]

      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

      Comment

      • Gary L. Burnore

        #4
        Re: Selecting the next language

        On Sun, 05 Jun 2005 04:46:50 GMT, Mladen Gogala <gogala@sbcglob al.net>
        wrote:
        [color=blue]
        >On Sat, 04 Jun 2005 19:41:23 -0700, mpinsley wrote:
        >[color=green]
        >> 2. We would like to be somewhat database agnostic but we are leaning[/color]
        >
        >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.[/color]

        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.


        [color=blue]
        >[color=green]
        >> 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)[/color]
        >
        >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.[/color]

        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@databa six 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
        =============== =============== =============== =============== ===============

        Comment

        • MARK

          #5
          Re: Selecting the next language

          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

          Comment

          • Jerry Stuckle

            #6
            Re: Selecting the next language

            Gary L. Burnore wrote:[color=blue]
            >
            > 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.
            >[/color]

            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.
            jstucklex@attgl obal.net
            =============== ===

            Comment

            • Jerry Stuckle

              #7
              Re: Selecting the next language

              mpinsley@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.
              jstucklex@attgl obal.net
              =============== ===

              Comment

              • Gary L. Burnore

                #8
                Re: Selecting the next language

                On Sun, 05 Jun 2005 14:49:24 -0500, Jerry Stuckle
                <jstucklex@attg lobal.net> wrote:
                [color=blue]
                >Gary L. Burnore wrote:[color=green]
                >>
                >> 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.
                >>[/color]
                >
                >Gary,
                >
                >I have more than 25 years of relational DB experience, including 13
                >years with IBM.[/color]

                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.

                [color=blue]
                >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.[/color]

                Sorry for your loss.
                [color=blue]
                >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.[/color]

                That's simply not true.
                [color=blue]
                >They must code to the "least common denominator", which means they must use
                >only those features available in all database.[/color]

                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@databa six 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
                =============== =============== =============== =============== ===============

                Comment

                • Jerry Stuckle

                  #9
                  Re: Selecting the next language

                  Gary L. Burnore wrote:[color=blue]
                  > On Sun, 05 Jun 2005 14:49:24 -0500, Jerry Stuckle
                  > <jstucklex@attg lobal.net> wrote:
                  >
                  >[color=green]
                  >>Gary L. Burnore wrote:
                  >>[color=darkred]
                  >>>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.
                  >>>[/color]
                  >>
                  >>Gary,
                  >>
                  >>I have more than 25 years of relational DB experience, including 13
                  >>years with IBM.[/color]
                  >
                  >
                  > 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.
                  >
                  >
                  >[color=green]
                  >>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.[/color]
                  >
                  >
                  > Sorry for your loss.
                  >
                  >[color=green]
                  >>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.[/color]
                  >
                  >
                  > That's simply not true.
                  >
                  >[color=green]
                  >>They must code to the "least common denominator", which means they must use
                  >>only those features available in all database.[/color]
                  >
                  >
                  > 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.
                  >[/color]

                  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.
                  jstucklex@attgl obal.net
                  =============== ===

                  Comment

                  • Colin McKinnon

                    #10
                    Re: Selecting the next language

                    MARK wrote:
                    [color=blue]
                    > 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?
                    >[/color]

                    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.

                    Comment

                    • Mladen Gogala

                      #11
                      Re: Selecting the next language

                      On Sun, 05 Jun 2005 15:01:06 -0400, Gary L. Burnore wrote:
                      [color=blue]
                      > 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.[/color]

                      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.

                      Comment

                      • Mladen Gogala

                        #12
                        Re: Selecting the next language

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

                        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.

                        Comment

                        • Chung Leong

                          #13
                          Re: Selecting the next language

                          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.

                          Comment

                          Working...