|
Smalltalk
Community
Versions
All Versions
Smalltalk Standard Extending Smalltalk Squeak Smalltalk GNU Smalltalk Little Smalltalk Java Smalltalk PDST MicroSeeker PIC/Smalltalk Sharp #Smalltalk Pocket Smalltalk Talks2 Smalltalk F-Script Squat Smalltalk Smalltalk/X StrongTalk Ambrai Smalltalk VisualWorks ObjectStudio VisualAge Smalltalk Dolphin Smalltalk Smalltalk MT S# Smallscript Smalltalk/JVM OOVM Embedded Gemstone/S LSW Vision-Smalltalk Slate Smalltalk Zoku Smalltalk VSE Smalltalk Smalltalk Express Smalltalk/V286 Smalltalk/VMac Smalltalk/V Smalltalk-80 |
The Cult of the Complex and Cryptic Stack Up Another Win
written by Peter William Lount Version 1, 20040722 Version 2, 20040819 Minor corrections. In Orwellian compatibility James Robertson points to a current XML specification document and it's incompatibility to it's own previous version. The cult of the cryptic has inserted itself into the inner workings of the XML standards groups. As time has progressed XML has gone from something fairly straightforward to extremely complex for one person to fully understand. The proof? Download all the manuals, print them out and stack them up and you'll see what I mean. Of course, as one constultant that I worked with put it, (about the possible introduction of Corba in 1992), it'll add two feet to the six foot stack of documentation that he's an expert in so it's good for job security as the client will continue to need him to support the system. The cult of the cryptic breads dependency within their clients. That might be good for the consultant or vendor but it isn't necessarily good for the client. Think of all the projects that fail for instance? How many are the result of failures due to the attitudes of members of the cult of the cryptic and their sad devotion to the complex? Of course with pervasive technologies like XML it's easier for the client to find other consultants so the security isn't there as much as it used to be, but that depends on the technology. XML has (at least) two powerful forces shaping it towards complexity: human readability and writability and machine readability and writability. Each has it's own requirements that only partially overlap. Of course designed by a group not, seemingly, concerned with simplicty doesn't help either. Fortunately it's possible to use a minimum of XML succesfully for many projects, even projects with some moderate complexity such as serializing objects. A main feature of members of the Cult of the Cryptic is that they prefer complex solutions that only they and other members will appreciate. They like obfucated code because it's cryptic. They rarely document their code. When talking to you they assume that you know all their jargon. They won't stop to make sure you understand them. When they do notice that you don't understand their eyes often glaze over as they realize that you are not one of them. Any attempt on your part to learn their jargon and you'll likely be ignored by them. One approach to working with members of the cult of the cryptic is to keep yourself and them focusing on clear solutions that reflect the level of complexity requried to solve the problems at hand. Are there any simplier solutions that will get the job done correctly? There almost always are! Pose it as a challenge to solve the problem with clairity and with as simple as possible (but not simplistic) solutions. They usually appreciate a challenge, as that's one of their strengths, solving challenges. It's just that you need to keep working with them so that they keep focused on a clear solution rather than a cryptic one. If the only solution, yet found, is a cryptic one and it seems difficult if not impossible to simplify, then it's time to clarify it as much as possible which means teaching others the solution and documenting it. Often when others learn the solution they might be able to see other solutions and simplify it. A math genius and systems programmer that I know loves to keep focusing on the details. He keeps drilling down on any question that you ask him. Ok, that's interesting. At the time I had some math related questions about computer graphics. So I asked him the first one. For ten or twenty minutes he talked about that with me asking relevant questions. Then I asked him the second question, which was completly unrelated to the first. This had him stop for a second and then he started talking about that one, again taking a few related questions from me in stride. However, this focus on fervently locked into the depth of these questions as he explored his knowledge of this topic out loud with me. Once I'd learned what I needed I asked the third question. At this point he said, "wait a minute your thinking laterally!", to which I replied, "yes, as most people do". This was the first time that he'd ever gone "meta" on his own process. Most other people had a very difficult time talking with him due to the length and level of details that he'd dive into. Once he saw his "meta" pattern he seemed to be better able to interact with people as he was now exploring "lateral thinking". It's often a learning process working with other people and that's the key to working with members of the cult of the cryptic. In a very real way they are "addicted" or get pleasure from their genius and the solutions that they come up with, especially the cryptic ones and the "hacks". It seems that "hacking" (as in clever solutions) has entered pop culture as a "good thing" rather than a devotion to complex and cryptic solutions. It's very important to realize that members of the cult of the complex and cryptic are usually very intelligent or gifted at solving problems. This is a good thing, especially when their skills can be productively harnesed. Often they are the first to come up with solutions. Often they are the first to implement them. The question is can you and they maximize the value that they can bring to your team in such a way that the solutions are clear, as simple as possible and only as complex as needed, and above all solutions that work. One challenge to working with complex and cryptic solutions is integrating them into existing systems. As a system grows the parts of it that are complex and cryptic will be more difficult to change and adapt without breaking the system and introducing new bugs. It can take a lot of time, concentration, focus, energy and money to "detangle" the complex and cryptic areas of programs. This is even more so when the people who created it are no longer working on the project. It's like having to navigate a nasty thorny thicket of brush while in your bathing suit. It's best not to! If you have no choice and are in the process of redesigning or detangling complex parts of a system then it's best to wear the goggles of clarity and wield the knives of working simplicity (but not simplistic). A way to counter balance the cult of the complex and cryptic is to focus on value and results via simple solutions that work. Copyright 2006 by Smalltalk.org, All Rights Reserved. |
July 24 2008
lingoize.me
naturally with ease aiming for fluid fluency. |