SlideShare a Scribd company logo
1 of 35
Download to read offline
Informix Tech Day 2012


     The Informix 4GL langage:
Current status and evolutions roadmap

               Strasbourg, May 25th 2012

        Eric Vercelletto, Begooden-IT Consulting
Tech Day 2012

                          Agenda
   Introduction
   History of the Informix 4GL language
   4gl in a nutshell
   Evolution of 4gl in the marketplace
   Why decisions makers want to throw it away
   Why 4gl programmers do not want to throw it away
   Why user companies SHOULD NOT throw it away
   Appearance of the x4gl family or 4gl clones
   Result of migration to x4gl
   X4gl as a central development platform? Are you crazy?
   The new x4gl features in the upcoming pipeline




                                                    www.
Tech Day 2012

                          Agenda
   Introduction
   History of the Informix 4GL language
   4gl in a nutshell
   Evolution of 4gl in the marketplace
   Why decisions makers want to throw it away
   Why 4gl programmers do not want to throw it away
   Why user companies SHOULD NOT throw it away
   Appearance of the x4gl family or 4gl clones
   Result of migration to x4gl
   X4gl as a central development platform? Are you crazy?
   The new x4gl features in the upcoming pipeline




                                                    www.
Tech Day 2012

                        Introduction
   Begooden IT Consulting is an IBM ISV company, mainly focused on
    Informix technology services.
   It has been created in 2010, 24 years after I started implementing and
    using Informix solutions.
   Our 15+ years experience within Informix Software France and Portugal
    helped us to acquire in depth product knowledge as well as solid field
    experience.
   Our services include knowledge transfer on Informix engines technology,
    performance tuning, technical issue management and architecture
    assistance on staging and production environment.
   We have also developed in 4GL, we have trained people in 4GL, we have
    written a 4GL Advanced Programming training manual for Informix
    Software, we have audited and provided enhancement recommendations
    for 4GL applications at critical Informix customers.
   We are what one should call Big Fans of the 4GL language
   The company is based in Combrit, Finistère, France




                                                              www.
Tech Day 2012

                          Agenda
   Introduction
   History of the Informix 4GL language
   4gl in a nutshell
   Evolution of 4gl in the marketplace
   Why decisions makers want to throw it away
   Why 4gl programmers do not want to throw it away
   Why user companies SHOULD NOT throw it away
   Appearance of the x4gl family or 4gl clones
   Result of migration to x4gl
   X4gl as a central development platform? Are you crazy?
   The new x4gl features in the upcoming pipeline




                                                    www.
Tech Day 2012

                     History of 4GL
   The Informix founders were Laura King and Roger Sippl, who
    created the c-isam access method in the early 80’s
   They lauched a development system called Informer, featuring a
    form designer, a report writer and a query language. This was
    by 1983.
   In 1985, they bet on a yet baby query language: SQL. They
    combine it with a structured programming language, mainly
    inspired from C, Pascal and Basic, using the form designer and
    the report writer. The database engine was embedded with the
    language: this is Informix 4GL 1.0.
   This new language, ported on a wide range of unix flavors,
    immediately obtains a huge success.
   In 1990, the bundle is split, separating the engine from the
    language. This is version 4.0, featuring a number of new and
    useful functions.




                                                      www.
Tech Day 2012
             Object languages and GUI:
             Informix 4GL is getting old
   By 1993, 1994, new languages appear on the market, mainly running on
    Windows platforms. Their graphic User Interface immediately seduces a large
    number of developers and companies.
   Informix made a port of 4GL on Windows in 1994, which had few success due
    to Windows memory limitations.
   A slideware development tool called « o4gl » never reached to be launched
   HyperscriptTools, a real GUI language, was interesting, but totally
    incompatible with Informix 4GL
   New Era has been launched in 1995: a beautiful object-oriented product, but
    not 100% compatible with 4GL. Very few acceptance from the developpers
    comunity.
   Mains reasons for this reject was too low 4GL compatibility, too abrupt
    change in the programming philosophy (OO) and also too late appearance on
    the market. Other languages were already occupying the marketplace (c++, VB
    …)

   A very large majority of customers, happy with their applications, preferred to
    keep working with Informix 4GL, lowering considerably the priority of
    having a GUI in their application.




                                                                    www.
Tech Day 2012

                          Agenda
   Introduction
   History of the Informix 4GL language
   4gl in a nutshell
   Evolution of 4gl in the marketplace
   Why decisions makers want to throw it away
   Why 4gl programmers do not want to throw it away
   Why user companies SHOULD NOT throw it away
   Appearance of the x4gl family or 4gl clones
   Result of migration to x4gl
   X4gl as a central development platform? Are you crazy?
   The new x4gl features in the upcoming pipeline




                                                    www.
Tech Day 2012
             Informix 4GL in a nutshell
   4GL is an old language, but this does not mean it is useless
   It has been originally designed to build efficiently business application, reduce
    development time and maintenance time
   It is based on integration of forms files and source modules containing procedural
    instructions, embedded SQL statements and a powerful report writer.
   At first glance it looks like Pascal, C and Basic
   The source modules handle all the program logic, variables define and assignements
    including screen / forms IO, loops, tests, and all a procedural programming
    language contains.
   The application opens windows based on the forms. It can open virtually any
    number of windows.
   The form files map directly forms fields with table columns, or use « form-only »
    fields to be handled by application code
   The source module map the tables columns and the form fields with the program
    variables.
   A program can contain one or many source code modules, in order to organize the
    application and take full benefit of reusable code (function libraries).
   4GL features a very complete interactive debugger
   If any 4GL function is missing, the developer can build his own low-level library
    functions using C language. No limit at all
   4GL is a real programming language, not a demo or proof of concept builder.




                                                                       www.
Tech Day 2012
           No revolution, just raw efficiency
   Form fields, table colums and program variables are tightly
    coupled in order to reduce code size
   Any alteration in the table schema just needs to recompile
    the program and/or the forms to apply the alteration. No
    need to modify the source code
   The « BY NAME » attributes allows easy screen IO coding,
    by avoiding to write all fields and variables names
                      It
    The « DEFINE LIKE » instruction define variables with the
    same type as in the tables
   The « RECORD LIKE » attribute defines a variable record (
    structure) as defined in the table.
   Arrays or arrays of records variables can be used




                                                     www.
Tech Day 2012
            Some powerful instructions
   INPUT/INPUT BY NAME handles the IO between the program
    variables and the form fields. If a record is defined like the
    image of the form fields, no need to name all components, just
    INPUT BY NAME record.*
   Else use INPUT variable FROM form field.
   Same mechanism for DISPLAY
   INPUT handles events ( BEFORE FIELD, AFTER FIELD,
    BEFORE INPUT …) so that code can be invoked at this time
   INPUT ARRAY does the same for ARRAY variables, and has and
    additional list of specialized events.
   CONSTRUCT BY NAME is used to match form fields to
    program variables, in order to construct totally ad-hoc queries
    (i-e query any field in the form, with use of metacharacters if
    needed).
   MENU allows to build powerful dynamic menus




                                                       www.
Tech Day 2012
          Full SQL integration
   SQL is obviously fully embedded in 4GL.
   Variables at set with SELECT INTO variable…
   INSERT INTO table ( columns list) VALUES ( variables list)
   Same principle for all the other SQL statements
   All the high level transaction and integrity functionality
    have always been supported, required for professional
    applications.
   Queries can be prepared, making them totally dynamically
    programmable(ie build a query from scratch according to
    application workflow)
   Queries status is easy to check after completion ( status
    variables). The sqlca structure also gives full detail on query
    completion




                                                     www.
Tech Day 2012
             The under-used Report Writer
   The REPORT function is originally used to organize data in
    order to format reports to files , printers or even pipe to another
    program.
   It defines the source of the data, determines the data layout in
    the report and the target of the data.
   It also organizes the data by using powerful data grouping
    features, which is extrememy efficient and useful for batch
    programs.
   Based on the ORDER BY spec, input data can be ordered and
    group on an infinite number of levels. BEFORE GROUP and
    AFTER GROUP events handle the group breaks for this
    variable, and use GROUP SUM(variable), GROUP
    MIN(variable) and all the aggregate functions.
   Great feature for invoice calculations and this kind of batch
    programs
   Let 4GL do the calculations for you, in a much safer way




                                                           www.
Tech Day 2012

                          Agenda
   Introduction
   History of the Informix 4GL language
   4gl in a nutshell
   Evolution of 4gl in the marketplace
   Why decisions makers want to throw it away
   Why 4gl programmers do not want to throw it away
   Why user companies SHOULD NOT throw it away
   Appearance of the x4gl family or 4gl clones
   Result of migration to x4gl
   X4gl as a central development platform? Are you crazy?
   The new x4gl features in the upcoming pipeline




                                                    www.
Tech Day 2012
        Evolution of 4gl in the marketplace
   In the mid 90’s, Informix 4GL was proud to be the second
    language used after C, used to build business applications
   Many companies worldwide have built their critical and non
    critical applications upon Informix 4GL
   Many of those applications , some of them deployed in the
    80’s are still running nowadays
   The 4GL language had very very few remarkable new
    functionality since the version 6, thus demotivating decision
    makers for new projects.
   IBM acquisition also cast an evil spell on the language
    popularity
   In the meanwhile, demand for a graphic user interface has
    been growing a lot and 4GL did not provide an answer for
    that




                                                      www.
Tech Day 2012

                           Agenda
   Introduction
   History of the Informix 4GL language
   4gl in a nutshell
   Evolution of 4gl in the marketplace
   Why decisions makers want to throw it away
   Why 4gl programmers do not want to throw it away
   Why user companies SHOULD NOT throw it away
   Appearance of the x4gl family or 4gl clones
   Result of migration to x4gl
   X4gl as a central development platform? Are you crazy?
   The new x4gl features in the upcoming pipeline




                                                    www.
Tech Day 2012

Why decision makers want to throw 4GL away
   Informix engines and languages have been harassed by the
    competition after IBM acquisition, saying Informix was
    dead.
   The Informix name had totally disappeared from the media,
    and if it is no more in the media, it is no more good.
   4GL is not beautiful because it is text based, and having a
    sexy application layout is critical to show to the
    management
   4GL is old technology: any old technology is not good
    anymore.
   I take a risk in keeping an old technology, I don’t take a risk
    by adopting a new technology: my management will
    approve this.
   New development tools are cheap, or free, thus re-building
    an application is easy and cheap.




                                                        www.
Tech Day 2012

Why 4gl programmers don’t want to throw 4GL away

    Because the 4GL application does the job, has no bugs and
     runs fast.
    Because its matches perfectly the functional requirements of
     the company
    4GL is easy and quick to learn , plus easy to teach to new
     colleagues
    4GL sourcecode is easy to read and to understand at first
     glance. Due to this, application maintenance code is low.
    4GL is easy and fast to troubleshoot: problems are quickly
     identified and solved
    4GL’s development productivity is high: few lines for much
     functionality.
    4GL is versatile, it is a real language, not a toy used for
     demos




                                                       www.
Tech Day 2012

Why user companies SHOULD NOT throw it away



   Because its matches perfectly the functional requirements of
    the company
   Because the 4GL application does the job, has no bugs and
    runs fast.
   Because the dev team is expert in 4GL and has an important
    capital of best practices.
   Because re-developping the application in another language
    will require a lot of additional testing, and reaching the same
    level of performance and reliability may take years




                                                       www.
Tech Day 2012

Why user companies SHOULD NOT throw it away

   Because the development team has an in-depth
    understanding of the company’s way of working.
   Changing the dev team may result in losing functionality
    knowledge.
   Changing language will result in temporary or not loss of
    productivity during the learning process, plus a long time to
    acquire equivalent skills level.
   Because generally the majority of the end-users are happy
    with the application. They don’t really care in having colors
    and graphic layout.
   The risk is important, and the real gain may be a loss. Many
    projects of that nature fail or get low user adoption




                                                      www.
Tech Day 2012

                          Agenda
   Introduction
   History of the Informix 4GL language
   4gl in a nutshell
   Evolution of 4gl in the marketplace
   Why decisions makers want to throw it away
   Why 4gl programmers do not want to throw it away
   Why user companies SHOULD NOT throw it away
   Appearance of the x4gl family or 4gl clones
   Result of migration to x4gl
   x4gl as a central development platform? Are you crazy?
   The new x4gl features in the upcoming pipeline




                                                    www.
Tech Day 2012

Appearance of the x4gl family or 4gl clones

   This critical tensions between decision makers , developpers and
    end-users community gave birth to Informix-4GL clones in
    order to fill the vacuum
   Informix, then IBM did not want to invest anymore in
    development tools development
   Querix released their first 4GL compatible compiler for
    Windows in 1996. Although confidential, the technology went
    beyond Informix’s, providing a stable runner on Windows for
    Informix 4GL
   By 1998, Fourjs appeared on the marketplace by signing an
    OEM agreement with IFMX, proving a 99% compatible
    compiler.
   In 2001, the Aubit 4GL project is released, probably as a 2nd level
    consequence of a retro-engineering project of a 4GL application
    at a big Informix Customer in Southern (I was there, I knew
    about it years after). Aubit took the open source path.




                                                       www.
Tech Day 2012

                          Agenda
   Introduction
   History of the Informix 4GL language
   4gl in a nutshell
   Evolution of 4gl in the marketplace
   Why decisions makers want to throw it away
   Why 4gl programmers do not want to throw it away
   Why user companies SHOULD NOT throw it away
   Appearance of the x4gl family or 4gl clones
   Result of migration to x4gl
   x4gl as a central development platform? Are you crazy?
   The new x4gl features in the upcoming pipeline




                                                    www.
Tech Day 2012

Appearance of the x4gl family or 4gl clones

   This critical tensions between decision makers , developpers and
    end-users community gave birth to Informix-4GL clones in
    order to fill the vacuum
   Informix, then IBM did not want to invest anymore in
    development tools development
   Querix released their first 4GL compatible compiler for
    Windows in 1996. Although confidential, the technology went
    beyond Informix’s, providing a stable runner on Windows for
    Informix 4GL
   By 1998, Fourjs appeared on the marketplace andsigned an
    OEM agreement with IFMX, proving a 99% compatible
    compiler.
   In 2001, the Aubit 4GL project is released, probably as a 2nd level
    consequence of a retro-engineering project of a 4GL application
    at a big Informix Customer in Southern (I was there, I knew
    about it years after). Aubit took the open source path.




                                                       www.
Tech Day 2012

Result of a migration to x4gl

   The main effect of a 4gl migration to x4gl is to recompile an
    Informix 4GL application, have zero or near zero errors, and
    present the application on a graphic client, that can run an a
    large number of platforms.
   The source code must run without modification on any of the
    supported graphic clients, with no code dependency.
   It usually involves a three-tier architecture: DB Server,
    Application Server and Client

   First level migration is supposed to have the application
    working on a basic GUI in one shot.
   Second level involves form and/or source code modifications in
    order to beautify the human interface layout.
   Third level involves new statements to provide new
    functionnality that is not recognized by genuine 4GL.




                                                      www.
Tech Day 2012

Here is what an Informix 4GL application looked like




                                www.
Tech Day 2012

Here is what you can get after




                                 www.
Tech Day 2012

You can handle multimedia objects or MS Office objects
             with the appropriate editor




                                  www.
Tech Day 2012

You can/should update your contacts




                      www.
Tech Day 2012

                            Agenda
   Introduction
   History of the Informix 4GL language
   4gl in a nutshell
   Evolution of 4gl in the marketplace
   Why decisions makers want to throw it away
   Why 4gl programmers do not want to throw it away
   Why user companies SHOULD NOT throw it away
   Appearance of the x4gl family or 4gl clones
   Result of migration to x4gl
   x4gl as a central development platform? Are you crazy?
   The new x4gl features in the upcoming pipeline




                                                       www.
Tech Day 2012

x4gl as a central development platform? Are you crazy?
      The icing on the cake is that those x4gl have developped an
      SQL abstraction layer, making it possible to run on top of other
      DBMS platforms (DB2, postgreSQL, MS SqlServer, or even
      mySql or O….e ( the evil empire DBMS)
     If your company has different DBMS brand, why not unify your
      developments to an x4gl development platform, instead of using
      one different language per platform?
     If java is a proprietary « universal » language, why not use
      another proprietary IDE that doesn’t make memory leaks in
      production environments, is easier to understand and cheaper
      to maintain?
     The x4gl feature XML handle functions, inbound and outbound
     The x4gl can handle MS Office objects as regular BLOBS
     The x4gl integrate advanced or very advanced report designers,
      that canreplace usual reporting tools.
     The x4gl IDE’s can do that for you!




                                                     www.
Tech Day 2012

  The new x4gl features in the upcoming pipeline



The icing on the icing of the cake:
 Other top charts languages full integration: java, esql/c and
  more to come
 Web/mobile client: you choose your client between Java,

  Windows, .NET or web browser/mobile
 Use of HTML5, probably the next magical universal client

 Architecture improvements for heavy configurations




                                                www.
Tech Day 2012

 Think about this


« It is very simple to make your life complicated »
  » and it is complicated to make it simple »

Don’t make your projects complicated
Migrate your 4gl applications to x4gl




                                                www.
Tech Day 2012


Questions ?




              www.
Informix Tech Day 2012


     The Informix 4GL langage:
Current status and evolutions roadmap

               Strasbourg, May 25th 2012

        Eric Vercelletto, Begooden-IT Consulting
            Eric.vercelletto@begooden-it.com
                  www.vercelletto.com

More Related Content

Similar to Informix4gl status

InterLabs Oracle Forms, what’s next 2011-04-27
InterLabs Oracle Forms, what’s next 2011-04-27InterLabs Oracle Forms, what’s next 2011-04-27
InterLabs Oracle Forms, what’s next 2011-04-27Inter Access Belgium
 
The history of SDL Trados Studio
The history of SDL Trados StudioThe history of SDL Trados Studio
The history of SDL Trados StudioSDL Trados
 
Delphi unicode-migration
Delphi unicode-migrationDelphi unicode-migration
Delphi unicode-migrationzevin
 
EGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL OverviewEGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL OverviewWill Smythe
 
Best things to know about .net framework
Best things to know about .net frameworkBest things to know about .net framework
Best things to know about .net frameworkShelly Megan
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...Embarcadero Technologies
 
Open Source Meets Open Specifications
Open Source Meets Open SpecificationsOpen Source Meets Open Specifications
Open Source Meets Open SpecificationsKenn Hussey
 
Ugif 04 2011 ibm informix genero offering v12
Ugif 04 2011   ibm informix genero offering v12Ugif 04 2011   ibm informix genero offering v12
Ugif 04 2011 ibm informix genero offering v12UGIF
 
Ugif 10 2012 lycia2 introduction in 45 minutes
Ugif 10 2012 lycia2 introduction in 45 minutesUgif 10 2012 lycia2 introduction in 45 minutes
Ugif 10 2012 lycia2 introduction in 45 minutesUGIF
 
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docxWeek 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docxjessiehampson
 
Verilog HDL-Samir Palnitkar.pdf
Verilog HDL-Samir Palnitkar.pdfVerilog HDL-Samir Palnitkar.pdf
Verilog HDL-Samir Palnitkar.pdfSreenivas Mude
 
Beyond the Oracle Forms Horizon: from Forms to ADF in minutes
Beyond the Oracle Forms Horizon: from Forms to ADF in minutes  Beyond the Oracle Forms Horizon: from Forms to ADF in minutes
Beyond the Oracle Forms Horizon: from Forms to ADF in minutes infoqafe
 
Oracle Forms Conversion "An automated Approach"
Oracle Forms Conversion "An automated Approach"Oracle Forms Conversion "An automated Approach"
Oracle Forms Conversion "An automated Approach"Rokesh Jankie
 
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for EclipseThe Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for EclipseRiccardo Solmi
 
Why .Net is Popular Trend Among Developers?
Why .Net is Popular Trend Among Developers?Why .Net is Popular Trend Among Developers?
Why .Net is Popular Trend Among Developers?charlesjury
 
Mobile development with Flutter
Mobile development with FlutterMobile development with Flutter
Mobile development with FlutterAwok
 

Similar to Informix4gl status (20)

InterLabs Oracle Forms, what’s next 2011-04-27
InterLabs Oracle Forms, what’s next 2011-04-27InterLabs Oracle Forms, what’s next 2011-04-27
InterLabs Oracle Forms, what’s next 2011-04-27
 
Trainer's Resume
Trainer's ResumeTrainer's Resume
Trainer's Resume
 
Informix
InformixInformix
Informix
 
The history of SDL Trados Studio
The history of SDL Trados StudioThe history of SDL Trados Studio
The history of SDL Trados Studio
 
Delphi unicode-migration
Delphi unicode-migrationDelphi unicode-migration
Delphi unicode-migration
 
EGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL OverviewEGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL Overview
 
Best things to know about .net framework
Best things to know about .net frameworkBest things to know about .net framework
Best things to know about .net framework
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
 
Code generation
Code generationCode generation
Code generation
 
Open Source Meets Open Specifications
Open Source Meets Open SpecificationsOpen Source Meets Open Specifications
Open Source Meets Open Specifications
 
Ugif 04 2011 ibm informix genero offering v12
Ugif 04 2011   ibm informix genero offering v12Ugif 04 2011   ibm informix genero offering v12
Ugif 04 2011 ibm informix genero offering v12
 
Ugif 10 2012 lycia2 introduction in 45 minutes
Ugif 10 2012 lycia2 introduction in 45 minutesUgif 10 2012 lycia2 introduction in 45 minutes
Ugif 10 2012 lycia2 introduction in 45 minutes
 
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docxWeek 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
 
Verilog HDL-Samir Palnitkar.pdf
Verilog HDL-Samir Palnitkar.pdfVerilog HDL-Samir Palnitkar.pdf
Verilog HDL-Samir Palnitkar.pdf
 
Beyond the Oracle Forms Horizon: from Forms to ADF in minutes
Beyond the Oracle Forms Horizon: from Forms to ADF in minutes  Beyond the Oracle Forms Horizon: from Forms to ADF in minutes
Beyond the Oracle Forms Horizon: from Forms to ADF in minutes
 
Oracle Forms Conversion "An automated Approach"
Oracle Forms Conversion "An automated Approach"Oracle Forms Conversion "An automated Approach"
Oracle Forms Conversion "An automated Approach"
 
The Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for EclipseThe Whole Platform A Language Workbench for Eclipse
The Whole Platform A Language Workbench for Eclipse
 
Why .Net is Popular Trend Among Developers?
Why .Net is Popular Trend Among Developers?Why .Net is Popular Trend Among Developers?
Why .Net is Popular Trend Among Developers?
 
Mobile development with Flutter
Mobile development with FlutterMobile development with Flutter
Mobile development with Flutter
 
GraphQL for Native Apps
GraphQL for Native AppsGraphQL for Native Apps
GraphQL for Native Apps
 

More from BeGooden-IT Consulting

Querix 4 gl app analyzer 2016 journey to the center of your 4gl application
Querix 4 gl app analyzer 2016 journey to the center of your 4gl applicationQuerix 4 gl app analyzer 2016 journey to the center of your 4gl application
Querix 4 gl app analyzer 2016 journey to the center of your 4gl applicationBeGooden-IT Consulting
 
A15 ibm informix on power8 power linux
A15 ibm informix on power8  power linuxA15 ibm informix on power8  power linux
A15 ibm informix on power8 power linuxBeGooden-IT Consulting
 
IBM informix: compared performance efficiency between physical server and Vir...
IBM informix: compared performance efficiency between physical server and Vir...IBM informix: compared performance efficiency between physical server and Vir...
IBM informix: compared performance efficiency between physical server and Vir...BeGooden-IT Consulting
 
Ibm informix security functionality overview
Ibm informix security functionality overviewIbm informix security functionality overview
Ibm informix security functionality overviewBeGooden-IT Consulting
 
F12 vercelletto innovator-c_tpc_benchmark
F12 vercelletto innovator-c_tpc_benchmarkF12 vercelletto innovator-c_tpc_benchmark
F12 vercelletto innovator-c_tpc_benchmarkBeGooden-IT Consulting
 

More from BeGooden-IT Consulting (8)

Querix lycia presentation v1.2 fr
Querix lycia presentation v1.2 frQuerix lycia presentation v1.2 fr
Querix lycia presentation v1.2 fr
 
Querix 4 gl app analyzer 2016 journey to the center of your 4gl application
Querix 4 gl app analyzer 2016 journey to the center of your 4gl applicationQuerix 4 gl app analyzer 2016 journey to the center of your 4gl application
Querix 4 gl app analyzer 2016 journey to the center of your 4gl application
 
Querix Lycia: 4GL is modern!
Querix Lycia: 4GL is modern!Querix Lycia: 4GL is modern!
Querix Lycia: 4GL is modern!
 
A15 ibm informix on power8 power linux
A15 ibm informix on power8  power linuxA15 ibm informix on power8  power linux
A15 ibm informix on power8 power linux
 
IBM informix: compared performance efficiency between physical server and Vir...
IBM informix: compared performance efficiency between physical server and Vir...IBM informix: compared performance efficiency between physical server and Vir...
IBM informix: compared performance efficiency between physical server and Vir...
 
A12 vercelletto indexing_techniques
A12 vercelletto indexing_techniquesA12 vercelletto indexing_techniques
A12 vercelletto indexing_techniques
 
Ibm informix security functionality overview
Ibm informix security functionality overviewIbm informix security functionality overview
Ibm informix security functionality overview
 
F12 vercelletto innovator-c_tpc_benchmark
F12 vercelletto innovator-c_tpc_benchmarkF12 vercelletto innovator-c_tpc_benchmark
F12 vercelletto innovator-c_tpc_benchmark
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

Informix4gl status

  • 1. Informix Tech Day 2012 The Informix 4GL langage: Current status and evolutions roadmap Strasbourg, May 25th 2012 Eric Vercelletto, Begooden-IT Consulting
  • 2. Tech Day 2012 Agenda  Introduction  History of the Informix 4GL language  4gl in a nutshell  Evolution of 4gl in the marketplace  Why decisions makers want to throw it away  Why 4gl programmers do not want to throw it away  Why user companies SHOULD NOT throw it away  Appearance of the x4gl family or 4gl clones  Result of migration to x4gl  X4gl as a central development platform? Are you crazy?  The new x4gl features in the upcoming pipeline www.
  • 3. Tech Day 2012 Agenda  Introduction  History of the Informix 4GL language  4gl in a nutshell  Evolution of 4gl in the marketplace  Why decisions makers want to throw it away  Why 4gl programmers do not want to throw it away  Why user companies SHOULD NOT throw it away  Appearance of the x4gl family or 4gl clones  Result of migration to x4gl  X4gl as a central development platform? Are you crazy?  The new x4gl features in the upcoming pipeline www.
  • 4. Tech Day 2012 Introduction  Begooden IT Consulting is an IBM ISV company, mainly focused on Informix technology services.  It has been created in 2010, 24 years after I started implementing and using Informix solutions.  Our 15+ years experience within Informix Software France and Portugal helped us to acquire in depth product knowledge as well as solid field experience.  Our services include knowledge transfer on Informix engines technology, performance tuning, technical issue management and architecture assistance on staging and production environment.  We have also developed in 4GL, we have trained people in 4GL, we have written a 4GL Advanced Programming training manual for Informix Software, we have audited and provided enhancement recommendations for 4GL applications at critical Informix customers.  We are what one should call Big Fans of the 4GL language  The company is based in Combrit, Finistère, France www.
  • 5. Tech Day 2012 Agenda  Introduction  History of the Informix 4GL language  4gl in a nutshell  Evolution of 4gl in the marketplace  Why decisions makers want to throw it away  Why 4gl programmers do not want to throw it away  Why user companies SHOULD NOT throw it away  Appearance of the x4gl family or 4gl clones  Result of migration to x4gl  X4gl as a central development platform? Are you crazy?  The new x4gl features in the upcoming pipeline www.
  • 6. Tech Day 2012 History of 4GL  The Informix founders were Laura King and Roger Sippl, who created the c-isam access method in the early 80’s  They lauched a development system called Informer, featuring a form designer, a report writer and a query language. This was by 1983.  In 1985, they bet on a yet baby query language: SQL. They combine it with a structured programming language, mainly inspired from C, Pascal and Basic, using the form designer and the report writer. The database engine was embedded with the language: this is Informix 4GL 1.0.  This new language, ported on a wide range of unix flavors, immediately obtains a huge success.  In 1990, the bundle is split, separating the engine from the language. This is version 4.0, featuring a number of new and useful functions. www.
  • 7. Tech Day 2012 Object languages and GUI: Informix 4GL is getting old  By 1993, 1994, new languages appear on the market, mainly running on Windows platforms. Their graphic User Interface immediately seduces a large number of developers and companies.  Informix made a port of 4GL on Windows in 1994, which had few success due to Windows memory limitations.  A slideware development tool called « o4gl » never reached to be launched  HyperscriptTools, a real GUI language, was interesting, but totally incompatible with Informix 4GL  New Era has been launched in 1995: a beautiful object-oriented product, but not 100% compatible with 4GL. Very few acceptance from the developpers comunity.  Mains reasons for this reject was too low 4GL compatibility, too abrupt change in the programming philosophy (OO) and also too late appearance on the market. Other languages were already occupying the marketplace (c++, VB …)  A very large majority of customers, happy with their applications, preferred to keep working with Informix 4GL, lowering considerably the priority of having a GUI in their application. www.
  • 8. Tech Day 2012 Agenda  Introduction  History of the Informix 4GL language  4gl in a nutshell  Evolution of 4gl in the marketplace  Why decisions makers want to throw it away  Why 4gl programmers do not want to throw it away  Why user companies SHOULD NOT throw it away  Appearance of the x4gl family or 4gl clones  Result of migration to x4gl  X4gl as a central development platform? Are you crazy?  The new x4gl features in the upcoming pipeline www.
  • 9. Tech Day 2012 Informix 4GL in a nutshell  4GL is an old language, but this does not mean it is useless  It has been originally designed to build efficiently business application, reduce development time and maintenance time  It is based on integration of forms files and source modules containing procedural instructions, embedded SQL statements and a powerful report writer.  At first glance it looks like Pascal, C and Basic  The source modules handle all the program logic, variables define and assignements including screen / forms IO, loops, tests, and all a procedural programming language contains.  The application opens windows based on the forms. It can open virtually any number of windows.  The form files map directly forms fields with table columns, or use « form-only » fields to be handled by application code  The source module map the tables columns and the form fields with the program variables.  A program can contain one or many source code modules, in order to organize the application and take full benefit of reusable code (function libraries).  4GL features a very complete interactive debugger  If any 4GL function is missing, the developer can build his own low-level library functions using C language. No limit at all  4GL is a real programming language, not a demo or proof of concept builder. www.
  • 10. Tech Day 2012 No revolution, just raw efficiency  Form fields, table colums and program variables are tightly coupled in order to reduce code size  Any alteration in the table schema just needs to recompile the program and/or the forms to apply the alteration. No need to modify the source code  The « BY NAME » attributes allows easy screen IO coding, by avoiding to write all fields and variables names  It The « DEFINE LIKE » instruction define variables with the same type as in the tables  The « RECORD LIKE » attribute defines a variable record ( structure) as defined in the table.  Arrays or arrays of records variables can be used www.
  • 11. Tech Day 2012 Some powerful instructions  INPUT/INPUT BY NAME handles the IO between the program variables and the form fields. If a record is defined like the image of the form fields, no need to name all components, just INPUT BY NAME record.*  Else use INPUT variable FROM form field.  Same mechanism for DISPLAY  INPUT handles events ( BEFORE FIELD, AFTER FIELD, BEFORE INPUT …) so that code can be invoked at this time  INPUT ARRAY does the same for ARRAY variables, and has and additional list of specialized events.  CONSTRUCT BY NAME is used to match form fields to program variables, in order to construct totally ad-hoc queries (i-e query any field in the form, with use of metacharacters if needed).  MENU allows to build powerful dynamic menus www.
  • 12. Tech Day 2012 Full SQL integration  SQL is obviously fully embedded in 4GL.  Variables at set with SELECT INTO variable…  INSERT INTO table ( columns list) VALUES ( variables list)  Same principle for all the other SQL statements  All the high level transaction and integrity functionality have always been supported, required for professional applications.  Queries can be prepared, making them totally dynamically programmable(ie build a query from scratch according to application workflow)  Queries status is easy to check after completion ( status variables). The sqlca structure also gives full detail on query completion www.
  • 13. Tech Day 2012 The under-used Report Writer  The REPORT function is originally used to organize data in order to format reports to files , printers or even pipe to another program.  It defines the source of the data, determines the data layout in the report and the target of the data.  It also organizes the data by using powerful data grouping features, which is extrememy efficient and useful for batch programs.  Based on the ORDER BY spec, input data can be ordered and group on an infinite number of levels. BEFORE GROUP and AFTER GROUP events handle the group breaks for this variable, and use GROUP SUM(variable), GROUP MIN(variable) and all the aggregate functions.  Great feature for invoice calculations and this kind of batch programs  Let 4GL do the calculations for you, in a much safer way www.
  • 14. Tech Day 2012 Agenda  Introduction  History of the Informix 4GL language  4gl in a nutshell  Evolution of 4gl in the marketplace  Why decisions makers want to throw it away  Why 4gl programmers do not want to throw it away  Why user companies SHOULD NOT throw it away  Appearance of the x4gl family or 4gl clones  Result of migration to x4gl  X4gl as a central development platform? Are you crazy?  The new x4gl features in the upcoming pipeline www.
  • 15. Tech Day 2012 Evolution of 4gl in the marketplace  In the mid 90’s, Informix 4GL was proud to be the second language used after C, used to build business applications  Many companies worldwide have built their critical and non critical applications upon Informix 4GL  Many of those applications , some of them deployed in the 80’s are still running nowadays  The 4GL language had very very few remarkable new functionality since the version 6, thus demotivating decision makers for new projects.  IBM acquisition also cast an evil spell on the language popularity  In the meanwhile, demand for a graphic user interface has been growing a lot and 4GL did not provide an answer for that www.
  • 16. Tech Day 2012 Agenda  Introduction  History of the Informix 4GL language  4gl in a nutshell  Evolution of 4gl in the marketplace  Why decisions makers want to throw it away  Why 4gl programmers do not want to throw it away  Why user companies SHOULD NOT throw it away  Appearance of the x4gl family or 4gl clones  Result of migration to x4gl  X4gl as a central development platform? Are you crazy?  The new x4gl features in the upcoming pipeline www.
  • 17. Tech Day 2012 Why decision makers want to throw 4GL away  Informix engines and languages have been harassed by the competition after IBM acquisition, saying Informix was dead.  The Informix name had totally disappeared from the media, and if it is no more in the media, it is no more good.  4GL is not beautiful because it is text based, and having a sexy application layout is critical to show to the management  4GL is old technology: any old technology is not good anymore.  I take a risk in keeping an old technology, I don’t take a risk by adopting a new technology: my management will approve this.  New development tools are cheap, or free, thus re-building an application is easy and cheap. www.
  • 18. Tech Day 2012 Why 4gl programmers don’t want to throw 4GL away  Because the 4GL application does the job, has no bugs and runs fast.  Because its matches perfectly the functional requirements of the company  4GL is easy and quick to learn , plus easy to teach to new colleagues  4GL sourcecode is easy to read and to understand at first glance. Due to this, application maintenance code is low.  4GL is easy and fast to troubleshoot: problems are quickly identified and solved  4GL’s development productivity is high: few lines for much functionality.  4GL is versatile, it is a real language, not a toy used for demos www.
  • 19. Tech Day 2012 Why user companies SHOULD NOT throw it away  Because its matches perfectly the functional requirements of the company  Because the 4GL application does the job, has no bugs and runs fast.  Because the dev team is expert in 4GL and has an important capital of best practices.  Because re-developping the application in another language will require a lot of additional testing, and reaching the same level of performance and reliability may take years www.
  • 20. Tech Day 2012 Why user companies SHOULD NOT throw it away  Because the development team has an in-depth understanding of the company’s way of working.  Changing the dev team may result in losing functionality knowledge.  Changing language will result in temporary or not loss of productivity during the learning process, plus a long time to acquire equivalent skills level.  Because generally the majority of the end-users are happy with the application. They don’t really care in having colors and graphic layout.  The risk is important, and the real gain may be a loss. Many projects of that nature fail or get low user adoption www.
  • 21. Tech Day 2012 Agenda  Introduction  History of the Informix 4GL language  4gl in a nutshell  Evolution of 4gl in the marketplace  Why decisions makers want to throw it away  Why 4gl programmers do not want to throw it away  Why user companies SHOULD NOT throw it away  Appearance of the x4gl family or 4gl clones  Result of migration to x4gl  x4gl as a central development platform? Are you crazy?  The new x4gl features in the upcoming pipeline www.
  • 22. Tech Day 2012 Appearance of the x4gl family or 4gl clones  This critical tensions between decision makers , developpers and end-users community gave birth to Informix-4GL clones in order to fill the vacuum  Informix, then IBM did not want to invest anymore in development tools development  Querix released their first 4GL compatible compiler for Windows in 1996. Although confidential, the technology went beyond Informix’s, providing a stable runner on Windows for Informix 4GL  By 1998, Fourjs appeared on the marketplace by signing an OEM agreement with IFMX, proving a 99% compatible compiler.  In 2001, the Aubit 4GL project is released, probably as a 2nd level consequence of a retro-engineering project of a 4GL application at a big Informix Customer in Southern (I was there, I knew about it years after). Aubit took the open source path. www.
  • 23. Tech Day 2012 Agenda  Introduction  History of the Informix 4GL language  4gl in a nutshell  Evolution of 4gl in the marketplace  Why decisions makers want to throw it away  Why 4gl programmers do not want to throw it away  Why user companies SHOULD NOT throw it away  Appearance of the x4gl family or 4gl clones  Result of migration to x4gl  x4gl as a central development platform? Are you crazy?  The new x4gl features in the upcoming pipeline www.
  • 24. Tech Day 2012 Appearance of the x4gl family or 4gl clones  This critical tensions between decision makers , developpers and end-users community gave birth to Informix-4GL clones in order to fill the vacuum  Informix, then IBM did not want to invest anymore in development tools development  Querix released their first 4GL compatible compiler for Windows in 1996. Although confidential, the technology went beyond Informix’s, providing a stable runner on Windows for Informix 4GL  By 1998, Fourjs appeared on the marketplace andsigned an OEM agreement with IFMX, proving a 99% compatible compiler.  In 2001, the Aubit 4GL project is released, probably as a 2nd level consequence of a retro-engineering project of a 4GL application at a big Informix Customer in Southern (I was there, I knew about it years after). Aubit took the open source path. www.
  • 25. Tech Day 2012 Result of a migration to x4gl  The main effect of a 4gl migration to x4gl is to recompile an Informix 4GL application, have zero or near zero errors, and present the application on a graphic client, that can run an a large number of platforms.  The source code must run without modification on any of the supported graphic clients, with no code dependency.  It usually involves a three-tier architecture: DB Server, Application Server and Client  First level migration is supposed to have the application working on a basic GUI in one shot.  Second level involves form and/or source code modifications in order to beautify the human interface layout.  Third level involves new statements to provide new functionnality that is not recognized by genuine 4GL. www.
  • 26. Tech Day 2012 Here is what an Informix 4GL application looked like www.
  • 27. Tech Day 2012 Here is what you can get after www.
  • 28. Tech Day 2012 You can handle multimedia objects or MS Office objects with the appropriate editor www.
  • 29. Tech Day 2012 You can/should update your contacts www.
  • 30. Tech Day 2012 Agenda  Introduction  History of the Informix 4GL language  4gl in a nutshell  Evolution of 4gl in the marketplace  Why decisions makers want to throw it away  Why 4gl programmers do not want to throw it away  Why user companies SHOULD NOT throw it away  Appearance of the x4gl family or 4gl clones  Result of migration to x4gl  x4gl as a central development platform? Are you crazy?  The new x4gl features in the upcoming pipeline www.
  • 31. Tech Day 2012 x4gl as a central development platform? Are you crazy?  The icing on the cake is that those x4gl have developped an SQL abstraction layer, making it possible to run on top of other DBMS platforms (DB2, postgreSQL, MS SqlServer, or even mySql or O….e ( the evil empire DBMS)  If your company has different DBMS brand, why not unify your developments to an x4gl development platform, instead of using one different language per platform?  If java is a proprietary « universal » language, why not use another proprietary IDE that doesn’t make memory leaks in production environments, is easier to understand and cheaper to maintain?  The x4gl feature XML handle functions, inbound and outbound  The x4gl can handle MS Office objects as regular BLOBS  The x4gl integrate advanced or very advanced report designers, that canreplace usual reporting tools.  The x4gl IDE’s can do that for you! www.
  • 32. Tech Day 2012 The new x4gl features in the upcoming pipeline The icing on the icing of the cake:  Other top charts languages full integration: java, esql/c and more to come  Web/mobile client: you choose your client between Java, Windows, .NET or web browser/mobile  Use of HTML5, probably the next magical universal client  Architecture improvements for heavy configurations www.
  • 33. Tech Day 2012 Think about this « It is very simple to make your life complicated » » and it is complicated to make it simple » Don’t make your projects complicated Migrate your 4gl applications to x4gl www.
  • 35. Informix Tech Day 2012 The Informix 4GL langage: Current status and evolutions roadmap Strasbourg, May 25th 2012 Eric Vercelletto, Begooden-IT Consulting Eric.vercelletto@begooden-it.com www.vercelletto.com