It's not too often that we have the opportunity to unveil the next paradigm in software development: Vector Oriented Programming (or, VOP). In addition to sounding cooler than OOP, VOP offers all the benefits of OOP and a healthy heap of flexibility. Take, for example, this method uncovered in an order entry system used within a mid-western shipping company ...
/** * Returns an Order vector or a vector of Order vectors, based on one * or more parameter values. If there was an error retreiving the * Order, then a standard Error vector is returned. (see docs) * * @param getOrSet indicates what action to take. can be: * "get", "set", "close", "find" * @param orderNumber number of the order * @param orderId id of the order * @param customerNumber number of the customer * @return vector of 18 elements or a vector of vectors * or an error vector */ public Vector getSetOrder(String getOrSet, String orderNumber, String orderId, String customerNumber) { ... }
All it takes is a quick trip to the documentation to see what the vectors will contain ...
Order Vector
- Order_Number
- Order_Id
- Customer_Number
- Order_Date
- Order_Status
- [Ship_Date] (exists only if Status is "shipped")
- PO_Number
- [Shipping_Code] (exists only if Status is "shipped")
- ...
- LastSaved_Username --or-- LastSaved_Date (past 11/12/02, it is Date)
- [LastSaved_Username] (exists only past 11/12/02)
- ...
And sure, you may need to constantly pepper your code with things like, "poNumber = ((orderVector[4]=="shipped")?orderVector[6 ]:orderVector[5 ])", but you see, that's the beauty of it. Pepper makes everything taste better.