Page 1 of 4 123 ... LastLast
Results 1 to 10 of 33

Thread: Business Logic Scripting

  1. #1
    Join Date
    Oct 2010
    Beans
    70

    Arrow Business Logic Scripting

    I am designing a project geared towards business and is built in C language. The design of the various interface screens are currently in XML/CSS. The target platform is a PC running Ubuntu Server or Windows (depending on client needs). To compile the software, I first run a source-to-source compiler which converts the XML/CSS into C code, and then compiles that to the final product. This source-to-source compiler was also designed by me and written in C.

    I am looking for a scripting language which could be embedded into the source-to-source compiler that allows for the following things:

    1. Code that is easy to read and write, even many years in the future, that can be picked up by anyone and modified to change business policies which in many cases would involve changes to the way the interface works.

    2. Easily embeddable into existing C code, allowing structures and functions to be directly accessible from the scripting language.

    3. Fast and relatively light weight, especially for our linux installations.

    4. Ultra Stable. The software can not afford downtime whatsoever.

    5. Can stand the test of time, to be around for decades. In other words, this language should be backed by some kind of standard. It should also not require frequent updates to bug fixes as that is not an easy option.

    6. When we hire new programmers, we would recommend that they know this scripting language prior to starting, so it should be relatively well known.

    One of my first choices was the Python language. While I have no experience in Python, I do know that it is a well documented, popular, and embeddable scripting language used for extensions, scripting and automation of software. What I don't know if this is the best language for the job. My primary concern is building complex business logic using this language.

    Another consideration is using Lua, which I understand is simpler syntactically and geared towards being embeddable in C. But I don't know if it has any real advantage over Python for my implementation, and I believe Python is far better positioned as far as documentation, support, and training is concerned.

    A final consideration is to use COBOL, a language built for business logic and still one of the most widely used programming languages in the world. While its not a scripting language in the same way Python or Lua is, its time-tested stability and popularity could be to my advantage, but I am not sure how I would go about embedding it to my compiler. Also, if Python can compete with the buisness logic programming of COBOL, I believe it would be advantageous to stick with something mainstream.

    With that said, I am eager to get your take on this subject

  2. #2
    Join Date
    Dec 2008
    Location
    Deep Woods of PA
    Beans
    699
    Distro
    Kubuntu 11.10 Oneiric Ocelot

    Re: Business Logic Scripting

    Quote Originally Posted by N1GHTS View Post
    I am designing a project geared towards business and is built in C language. The design of the various interface screens are currently in XML/CSS. The target platform is a PC running Ubuntu Server or Windows (depending on client needs). To compile the software, I first run a source-to-source compiler which converts the XML/CSS into C code, and then compiles that to the final product. This source-to-source compiler was also designed by me and written in C.

    I am looking for a scripting language which could be embedded into the source-to-source compiler that allows for the following things:
    Before we get to any of the requirements I'd like to know what is the purpose of the scripting language in your case? From what I understand you are taking XML/CSS and converting it to C where XML/CSS defines I am guessing business logic for you...
    Regards,

    Karlson

  3. #3
    Join Date
    Oct 2010
    Beans
    70

    Re: Business Logic Scripting

    XML is for the user interface and report structures, CSS applies design rules to display those structures. The languages inherently do not offer any logic whatsoever.

    Currently the logic that deals with these structures in relation to its application is written in a macro-intensive C, and I am trying to find a scripting language to do away with that unneeded complexity, especially since we plan to expand the use of this engine to many different implementations using the same core engine, as well as offer dynamic customisations for the client's ever changing policies.

  4. #4
    Join Date
    Aug 2006
    Location
    60°27'48"N 24°48'18"E
    Beans
    3,458

    Re: Business Logic Scripting

    Guile? Can't beat a lisp in the "test of time" department...
    LambdaGrok. | #ubuntu-programming on FreeNode

  5. #5
    Join Date
    Aug 2011
    Location
    47°9′S 126°43W
    Beans
    2,172
    Distro
    Ubuntu 16.04 Xenial Xerus

    Re: Business Logic Scripting

    Quote Originally Posted by CptPicard View Post
    Guile? Can't beat a lisp in the "test of time" department...
    Anyone who can code decently in any Lisp derivative will not be looking for a job involving maintaining business applications. If you are looking for business applications programmers, use languages that BAPs are used to: Cobol, Java, C#, VisualBasic

  6. #6
    Join Date
    Oct 2010
    Beans
    70

    Re: Business Logic Scripting

    Quote Originally Posted by ofnuts View Post
    Anyone who can code decently in any Lisp derivative will not be looking for a job involving maintaining business applications. If you are looking for business applications programmers, use languages that BAPs are used to: Cobol, Java, C#, VisualBasic
    That sounds logical to me.

    What is your opinion on BAP's and the Python language?

  7. #7
    Join Date
    Aug 2011
    Location
    47°9′S 126°43W
    Beans
    2,172
    Distro
    Ubuntu 16.04 Xenial Xerus

    Re: Business Logic Scripting

    Quote Originally Posted by N1GHTS View Post
    That sounds logical to me.

    What is your opinion on BAP's and the Python language?
    Those I frequent are barely aware of its existence...

  8. #8
    Join Date
    May 2007
    Beans
    245
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: Business Logic Scripting

    It sounds like Lua meets most of those requirements:
    http://www.lua.org/about.html

  9. #9
    Join Date
    Oct 2010
    Beans
    70

    Re: Business Logic Scripting

    Quote Originally Posted by ofnuts View Post
    Those I frequent are barely aware of its existence...
    That's a very useful insight.

    I have used C# for web programming and find its ability to guide complex business logic weak in the context I need it for. Specifically, C# is too structured, requiring the programmer to create a series of abstract objects and property handlers for complex policy situations. I don't like inconsistency and in my experience, each new policy is its own world and its own project.

    Ideally the business policies should spell itself out within language context without having to build a house around each policy. My need for a readable language is not about control as much as it is satisfying complex conditions. Furthermore, Some logic in our scripts are highly recursive, requiring that the script revisit conditions that changed depending on changes of status during procedural logic interpretation. And finally, the language I choose should be a secondary language that we use when we need it, rather than it being the dominant layer between the core system and the interface.

    With that said, and given the close relationship between Java and C#, do you think COBOL would be any better?

  10. #10
    Join Date
    Oct 2010
    Beans
    70

    Re: Business Logic Scripting

    Quote Originally Posted by NathanB View Post
    It sounds like Lua meets most of those requirements:
    http://www.lua.org/about.html
    I am definitely attracted to its philosophy of simple syntax and simple C integration, but ultimately the people who will work on these scripts will be business application programmers, and as "ofnuts" mentioned, they never heard of Lua or Python. On the other hand, we aren't particularly picky about who we will eventually hire to manage these changes, even if it means paying for some training.

    But the very biggest issue to me is readability.

    Here is a pseudo code example of complex business policy that I would like to see a language translate well.

    Code:
    IF (EDITING OR INSERTING)
      ALSO IF (
         PERSONTYPE IS EMPLOYEE OR 
         (PERSONTYPE IS MANAGER AND STATUS IS LESS THAN 3)
      ) AND MODE IS COMMENTS_TABLE_MODIFIED
      WHEN LOAD OR ADMINISTRATION_STATUS_CHANGED THEN
        SHOW COMMENTS_TABLE;
        HIDE ADMINISTRATION_TABLE;
        CALL UPDATE_AUDITING_ROSTER;
    END
    IF VIEWING AND (PERSONTYPE IS EMPLOYEE OR GUEST)
      WHEN LOAD OR UPDATE_AUDITING_ROSTER THEN
        SET PROPERTYCOUNT TO DATABASE.MAIN_TABLE.PROPERTYCOUNT;
        SET PERSONNAME TO DATABASE.MAIN_TABLE.FULLNAME;
    END
    So the question is, which language should I chose to easily describe this sort of quadratic logic in a way that can be revisited many years in the future without costing us time and money to relearn it and modify it.

Page 1 of 4 123 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •