Search the Community
Showing results for tags 'pavuk'.
-
I would like to propose something disruptive. There are now thousands of schools and courses devoted to CODING. That is writing computer code. Someone wants an APP for this and an APP for that. The natural solution is to hire a team of coders to write the app, debug it, deploy it, debug it and so on. Programmers rate their own value as how well they write programs. Users rate the value in a given application by how well it helps them do something more efficiently. We have an ever increasing mountain of computer code. Over time, this computer code needs to be refreshed, updated or deprecated. Much of it is never documented as the programmers frenetically write the code to get it into the wild as fast as possible. Also, programming well is an art form. Not everyone who can write a little bit of code does it well. As systems increase in complexity, the interaction of many different variables becomes increasingly difficult to test. Having been a professional programmer/engineer since I was 16, I've written tens of thousands of programs. If I had a penny for every keystroke, I'd be rich. I've added to the mountain of code that someone will need to maintain. Let's examine business forms. Business forms are meant to collect data and shove it into a database. Ideally, there would be validation that the input data is correct and the user would be prompted to correct input errors. Take a very simple demographics form: FIRST NAME LAST NAME ADDRESS PHONE NUMBER EMAIL ADDRESS The person designing the database table needs to set up a column for each of these input fields. The person developing the input form needs to create the UI for each field. Another person needs to glue the front-end to the back-end with various scripting. What we find is that this process is repeated ad-nauseum. The programmers involved believe that their worth is in coding all of this by hand. This is a disconnect from the value of the User who wants a reliable product. 10 years ago, I developed a completely different approach. I call it "Business Objects". A business object is a functional representation of data in an application. The business object has methods and properties to tell it how to behave. Schemas are defined in terms of business objects instead of primitives (string, integer, bool, date, etc.) though the primitives are defined in the business object itself. The UI rendering engine digests the schema against the form layout and creates the UI. When a schema is saved, the environment will construct all of the necessary tables and generate the form. At this point, the application is ready to operate. Because the business objects are tested and the engine is tested, the quality of operation can be assured. Business objects are infinitely reusable and extensible. WHY should we need to code by hand a LAST NAME field every time we want it in a table and application? Can't we simply use a widget? That's the point! We now change the programmer's role from writing a mountain of UI code to that of creating the real value - the functions specific to that business that are not simply a part of the business object. Examples would be the calculation of shipping charges on an order, computing insurance benefits in a patient visit, updating inventory counts, etc. For those of you who are coders, you'll recognize that this represents a philosophical change to the way that you approach your work. For those interested, please check out my website: www.pavuk.com. And to the moderator, if you feel this post is inappropriate, please feel free to delete it. I'm an engineer and not a salesman.