Close
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Logo
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Home Development
    • Development
    • IT Management

    Beware of Cargo Cult Coding

    Written by

    Peter Coffee
    Published August 16, 2004
    Share
    Facebook
    Twitter
    Linkedin

      eWEEK content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

      I wrote last week about the failure of conventional security thinking in dealing with information security threats. As I said in that column, you cant control traffic in information assets by merely inspecting messages—their contents are too easy to disguise. Even if you do hold on to data, you cant be sure that what you have today is what you had in your hands yesterday: Bits are too easy to alter using methods that leave no trace.

      Infosec, I argued, therefore requires a focus on relationship issues of who created data and who has rights to access, update and exchange. Thats quite a different proposition from the physical security model of locking down the storehouse and inspecting whatever tries to leave, but it seems that much of whats spent on infosec goes toward a misguided imitation of physical methods.

      The image that came to mind as I wrote last weeks column was the “cargo cult.” In the years after World War II, South Pacific islanders were seen to imitate the behaviors of the armies that had come and gone during that conflict. They built landing strips, constructed mock aircraft out of straw, built structures resembling control towers and even carved wooden replicas of controllers headphones and other communication equipment. Despite these faithful imitations, though, no airplanes filled with food and clothing appeared to unload their riches.

      Neither do other technologies respond to those who merely imitate their form while failing to understand and respect their substance. You can build a massive vault to hold your information—with armed guards at the door—but when the bad guys have steganography algorithms and hacking tools in their arsenals, the guards dont know what to look for.

      In checking details of where and when the cargo cults were observed, I discovered that others have applied this same label to other flawed IT practices. The famous “Jargon File” is found in many instances all over the Web, notably at hacker and essayist Eric Raymonds www.catb.org/~esr/jargon site. That compendium defines “cargo cult programming” as “a style of (incompetent) programming dominated by ritual inclusion of code or program structures that serve no real purpose.”

      When I read that entry, little alarm bells rang. I found myself thinking about times when Ive needed to reverse-engineer code written by someone else—or even code written by myself that I had not touched in several years. I dont think Ive ever actually thrown up my hands and said, “I dont know why thats there or what it does, but Id better keep it.” On the other hand, I know there are many people who have to deal with similar situations involving much more complex systems, in a contemporary IT environment of too few people and relentless time-to-market pressures. I can understand how the temptation might arise.

      One has to wonder how much code winds up encysted in our systems, no longer doing anything useful and perhaps even creating security loopholes by its presence.

      When code is reused, and especially when code is acquired from outsourced teams or incorporated via Web services technologies, theres a real opportunity for cargo cult practices to take hold. Source code may follow unfamiliar naming conventions, and design documents and internal memos may be written in unfamiliar languages or in a language that we know by people who dont speak that language very well. We may not even have the source—we may have only WSDL (Web Services Description Language) or some other interface definition to guide us.

      The wooden headphones may bear fancy names like “design patterns,” but theyre still an indicator that we may be building systems that look like those that have worked before—instead of designing from deep understanding toward solutions that meet new needs.

      “The first principle is that you must not fool yourself,” said the late physicist Richard Feynman in the 1974 Caltech commencement address thats often considered the origin of the “cargo cult” phrase, at least as used by coders. Thats a good principle. Reusing code that we dont understand or reusing familiar methods merely because we do understand them are behaviors for which we should be on guard.

      Technology Editor Peter Coffee can be reached at [email protected].

      To read more Peter Coffee, subscribe to eWEEK magazine.

      Check out eWEEK.coms Developer & Web Services Center at http://developer.eweek.com for the latest news, reviews and analysis in programming environments and developer tools.

      Be sure to add our eWEEK.com developer and Web services news feed to your RSS newsreader or My Yahoo page

      Peter Coffee
      Peter Coffee
      Peter Coffee is Director of Platform Research at salesforce.com, where he serves as a liaison with the developer community to define the opportunity and clarify developers' technical requirements on the company's evolving Apex Platform. Peter previously spent 18 years with eWEEK (formerly PC Week), the national news magazine of enterprise technology practice, where he reviewed software development tools and methods and wrote regular columns on emerging technologies and professional community issues.Before he began writing full-time in 1989, Peter spent eleven years in technical and management positions at Exxon and The Aerospace Corporation, including management of the latter company's first desktop computing planning team and applied research in applications of artificial intelligence techniques. He holds an engineering degree from MIT and an MBA from Pepperdine University, he has held teaching appointments in computer science, business analytics and information systems management at Pepperdine, UCLA, and Chapman College.

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      MOST POPULAR ARTICLES

      Artificial Intelligence

      9 Best AI 3D Generators You Need...

      Sam Rinko - June 25, 2024 0
      AI 3D Generators are powerful tools for many different industries. Discover the best AI 3D Generators, and learn which is best for your specific use case.
      Read more
      Cloud

      RingCentral Expands Its Collaboration Platform

      Zeus Kerravala - November 22, 2023 0
      RingCentral adds AI-enabled contact center and hybrid event products to its suite of collaboration services.
      Read more
      Artificial Intelligence

      8 Best AI Data Analytics Software &...

      Aminu Abdullahi - January 18, 2024 0
      Learn the top AI data analytics software to use. Compare AI data analytics solutions & features to make the best choice for your business.
      Read more
      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Video

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2024 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.

      ×