Close Menu
Ztoog
    What's Hot
    Technology

    Crucial’s T700 PCIe 5.0 SSD can throttle to HDD speeds without a cooler

    Science

    ‘Christmas tree’ galaxy shines in new image from Hubble and JWST

    AI

    Apple is Planning a Revolutionary AI Leap: In Talks to Integrate Google’s Gemini Engine into iPhones

    Important Pages:
    • About Us
    • Contact us
    • Privacy Policy
    • Terms & Conditions
    Facebook X (Twitter) Instagram Pinterest
    Facebook X (Twitter) Instagram Pinterest
    Ztoog
    • Home
    • The Future

      How I Turn Unstructured PDFs into Revenue-Ready Spreadsheets

      Is it the best tool for 2025?

      The clocks that helped define time from London’s Royal Observatory

      Summer Movies Are Here, and So Are the New Popcorn Buckets

      India-Pak conflict: Pak appoints ISI chief, appointment comes in backdrop of the Pahalgam attack

    • Technology

      Ensure Hard Work Is Recognized With These 3 Steps

      Cicada map 2025: Where will Brood XIV cicadas emerge this spring?

      Is Duolingo the face of an AI jobs crisis?

      The US DOD transfers its AI-based Open Price Exploration for National Security program to nonprofit Critical Minerals Forum to boost Western supply deals (Ernest Scheyder/Reuters)

      The more Google kills Fitbit, the more I want a Fitbit Sense 3

    • Gadgets

      Maono Caster G1 Neo & PD200X Review: Budget Streaming Gear for Aspiring Creators

      Apple plans to split iPhone 18 launch into two phases in 2026

      Upgrade your desk to Starfleet status with this $95 USB-C hub

      37 Best Graduation Gift Ideas (2025): For College Grads

      Backblaze responds to claims of “sham accounting,” customer backups at risk

    • Mobile

      Samsung Galaxy S25 Edge promo materials leak

      What are people doing with those free T-Mobile lines? Way more than you’d expect

      Samsung doesn’t want budget Galaxy phones to use exclusive AI features

      COROS’s charging adapter is a neat solution to the smartwatch charging cable problem

      Fortnite said to return to the US iOS App Store next week following court verdict

    • Science

      Failed Soviet probe will soon crash to Earth – and we don’t know where

      Trump administration cuts off all future federal funding to Harvard

      Does kissing spread gluten? New research offers a clue.

      Why Balcony Solar Panels Haven’t Taken Off in the US

      ‘Dark photon’ theory of light aims to tear up a century of physics

    • AI

      How to build a better AI benchmark

      Q&A: A roadmap for revolutionizing health care through data-driven innovation | Ztoog

      This data set helps researchers spot harmful stereotypes in LLMs

      Making AI models more trustworthy for high-stakes settings | Ztoog

      The AI Hype Index: AI agent cyberattacks, racing robots, and musical models

    • Crypto

      ‘The Big Short’ Coming For Bitcoin? Why BTC Will Clear $110,000

      Bitcoin Holds Above $95K Despite Weak Blockchain Activity — Analytics Firm Explains Why

      eToro eyes US IPO launch as early as next week amid easing concerns over Trump’s tariffs

      Cardano ‘Looks Dope,’ Analyst Predicts Big Move Soon

      Speak at Ztoog Disrupt 2025: Applications now open

    Ztoog
    Home » The Real Problem with Software Development – O’Reilly
    Technology

    The Real Problem with Software Development – O’Reilly

    Facebook Twitter Pinterest WhatsApp
    The Real Problem with Software Development – O’Reilly
    Share
    Facebook Twitter LinkedIn Pinterest WhatsApp

    A couple of weeks in the past, I noticed a tweet that mentioned “Writing code isn’t the problem. Controlling complexity is.” I want I might keep in mind who mentioned that; I might be quoting it quite a bit sooner or later. That assertion properly summarizes what makes software program improvement tough. It’s not simply memorizing the syntactic particulars of some programming language, or the numerous features in some API, however understanding and managing the complexity of the issue you’re attempting to resolve.

    We’ve all seen this many occasions. Lots of functions and instruments begin easy. They do 80% of the job nicely, possibly 90%. But that isn’t fairly sufficient. Version 1.1 will get just a few extra options, extra creep into model 1.2, and by the point you get to three.0, a sublime person interface has was a multitude. This enhance in complexity is one motive that functions are likely to develop into much less useable over time. We additionally see this phenomenon as one software replaces one other. RCS was helpful, however didn’t do the whole lot we would have liked it to; SVN was higher; Git does nearly the whole lot you can need, however at an unlimited price in complexity. (Could Git’s complexity be managed higher? I’m not the one to say.) OS X, which used to trumpet “It just works,” has advanced to “it used to just work”; probably the most user-centric Unix-like system ever constructed now staggers beneath the load of recent and poorly thought-out options.



    Learn sooner. Dig deeper. See farther.

    The drawback of complexity isn’t restricted to person interfaces; that could be the least vital (although most seen) side of the issue. Anyone who works in programming has seen the supply code for some venture evolve from one thing brief, candy, and clear to a seething mass of bits. (These days, it’s usually a seething mass of distributed bits.) Some of that evolution is pushed by an more and more complicated world that requires consideration to safe programming, cloud deployment, and different points that didn’t exist just a few many years in the past. But even right here: a requirement like safety tends to make code extra complicated—however complexity itself hides safety points. Saying “yes, adding security made the code more complex” is fallacious on a number of fronts. Security that’s added as an afterthought nearly at all times fails. Designing safety in from the beginning nearly at all times results in a less complicated consequence than bolting safety on as an afterthought, and the complexity will keep manageable if new options and safety develop collectively. If we’re severe about complexity, the complexity of constructing safe programs must be managed and managed in step with the remainder of the software program, in any other case it’s going so as to add extra vulnerabilities.

    That brings me to my important level. We’re seeing extra code that’s written (not less than in first draft) by generative AI instruments, equivalent to GitHub Copilot, ChatGPT (particularly with Code Interpreter), and Google Codey. One benefit of computer systems, after all, is that they don’t care about complexity. But that benefit can be a major drawback. Until AI programs can generate code as reliably as our present technology of compilers, people might want to perceive—and debug—the code they write. Brian Kernighan wrote that “Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it?” We don’t desire a future that consists of code too intelligent to be debugged by people—not less than not till the AIs are prepared to do this debugging for us. Really good programmers write code that finds a manner out of the complexity: code that could be a bit longer, a bit clearer, rather less intelligent so that somebody can perceive it later. (Copilot working in VSCode has a button that simplifies code, however its capabilities are restricted.)

    Furthermore, after we’re contemplating complexity, we’re not simply speaking about particular person strains of code and particular person features or strategies. Most skilled programmers work on giant programs that may encompass hundreds of features and hundreds of thousands of strains of code. That code could take the type of dozens of microservices working as asynchronous processes and speaking over a community. What is the general construction, the general structure, of those packages? How are they saved easy and manageable? How do you concentrate on complexity when writing or sustaining software program which will outlive its builders? Millions of strains of legacy code going again so far as the Nineteen Sixties and Nineteen Seventies are nonetheless in use, a lot of it written in languages which can be not common. How will we management complexity when working with these?

    Humans don’t handle this type of complexity nicely, however that doesn’t imply we are able to take a look at and overlook about it. Over the years, we’ve step by step gotten higher at managing complexity. Software structure is a definite specialty that has solely develop into extra vital over time. It’s rising extra vital as programs develop bigger and extra complicated, as we depend on them to automate extra duties, and as these programs have to scale to dimensions that had been nearly unimaginable just a few many years in the past. Reducing the complexity of recent software program programs is an issue that people can remedy—and I haven’t but seen proof that generative AI can. Strictly talking, that’s not a query that may even be requested but. Claude 2 has a most context—the higher restrict on the quantity of textual content it will probably contemplate at one time—of 100,000 tokens1; presently, all different giant language fashions are considerably smaller. While 100,000 tokens is large, it’s a lot smaller than the supply code for even a reasonably sized piece of enterprise software program. And when you don’t have to know each line of code to do a high-level design for a software program system, you do need to handle numerous data: specs, person tales, protocols, constraints, legacies and way more. Is a language mannequin as much as that?

    Could we even describe the objective of “managing complexity” in a immediate? A couple of years in the past, many builders thought that minimizing “lines of code” was the important thing to simplification—and it might be straightforward to inform ChatGPT to resolve an issue in as few strains of code as attainable. But that’s not likely how the world works, not now, and never again in 2007. Minimizing strains of code typically results in simplicity, however simply as usually results in complicated incantations that pack a number of concepts onto the identical line, usually counting on undocumented uncomfortable side effects. That’s not handle complexity. Mantras like DRY (Don’t Repeat Yourself) are sometimes helpful (as is many of the recommendation in The Pragmatic Programmer), however I’ve made the error of writing code that was overly complicated to remove one in all two very related features. Less repetition, however the consequence was extra complicated and tougher to know. Lines of code are straightforward to rely, but when that’s your solely metric, you’ll lose observe of qualities like readability that could be extra vital. Any engineer is aware of that design is all about tradeoffs—on this case, buying and selling off repetition in opposition to complexity—however tough as these tradeoffs could also be for people, it isn’t clear to me that generative AI could make them any higher, if in any respect.

    I’m not arguing that generative AI doesn’t have a task in software program improvement. It actually does. Tools that may write code are actually helpful: they save us wanting up the small print of library features in reference manuals, they save us from remembering the syntactic particulars of the much less generally used abstractions in our favourite programming languages. As lengthy as we don’t let our personal psychological muscular tissues decay, we’ll be forward. I’m arguing that we are able to’t get so tied up in automated code technology that we overlook about controlling complexity. Large language fashions don’t assist with that now, although they could sooner or later. If they free us to spend extra time understanding and fixing the higher-level issues of complexity, although, that might be a major acquire.

    Will the day come when a big language mannequin will have the ability to write 1,000,000 line enterprise program? Probably. But somebody should write the immediate telling it what to do. And that individual might be confronted with the issue that has characterised programming from the beginning: understanding complexity, realizing the place it’s unavoidable, and controlling it.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp

    Related Posts

    Technology

    Ensure Hard Work Is Recognized With These 3 Steps

    Technology

    Cicada map 2025: Where will Brood XIV cicadas emerge this spring?

    Technology

    Is Duolingo the face of an AI jobs crisis?

    Technology

    The US DOD transfers its AI-based Open Price Exploration for National Security program to nonprofit Critical Minerals Forum to boost Western supply deals (Ernest Scheyder/Reuters)

    Technology

    The more Google kills Fitbit, the more I want a Fitbit Sense 3

    Technology

    Sorry Shoppers, Amazon Says Tariff Cost Feature ‘Is Not Going to Happen’

    Technology

    Vibe Coding, Vibe Checking, and Vibe Blogging – O’Reilly

    Technology

    Robot Videos: Cargo Robots, Robot Marathons, and More

    Leave A Reply Cancel Reply

    Follow Us
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    Top Posts
    AI

    An AI startup made a hyperrealistic deepfake of me that’s so good it’s scary

    The extra knowledge factors the AI system has on facial actions, microexpressions, head tilts, blinks,…

    AI

    Making higher education more accessible to students in Pakistan | Ztoog

    Taking out a mortgage to attend faculty is an funding in your future. But not…

    The Future

    The App Store is down, along with Apple TV, Apple Podcasts, and Apple Music

    Apple’s on-line companies look like having some issues, with an outage slicing many people off…

    Science

    Butterflies Give Wings to New Recyclable Textiles

    On a planetary freeway used to transport world waste to a big landfill, a rubbish…

    Crypto

    Ethereum Staking Reaches Historic Milestone As ETH Price Barrels Past $2,400

    Ethereum staking has been ramping up regardless of the poor efficiency of the ETH worth…

    Our Picks
    AI

    Princeton Researchers Propose CoALA: A Conceptual AI Framework to Systematically Understand and Build Language Agents

    Science

    Serious Brain Trauma Starts Well Before Young Athletes Go Pro

    Mobile

    What I want to see from smartwatches and wearables in 2024

    Categories
    • AI (1,482)
    • Crypto (1,744)
    • Gadgets (1,796)
    • Mobile (1,839)
    • Science (1,853)
    • Technology (1,789)
    • The Future (1,635)
    Most Popular
    Mobile

    Google Keep may soon use AI to help you make lists, and this is how

    AI

    Researchers from Caltech and ETH Zurich Introduce Groundbreaking Diffusion Models: Harnessing Text Captions for State-of-the-Art Visual Tasks and Cross-Domain Adaptations

    Technology

    A timeline of Israel-Palestine peace negotiations

    Ztoog
    Facebook X (Twitter) Instagram Pinterest
    • Home
    • About Us
    • Contact us
    • Privacy Policy
    • Terms & Conditions
    © 2025 Ztoog.

    Type above and press Enter to search. Press Esc to cancel.