Apocalypse software
Tom Mason Supply Sergeant. Jack Thibeau Soldier in Trench. Glenn Walken Lieutenant Carlsen. George Cantero Soldier with Suitcase. Damien Leake Machine Gunner.
Herb Rice Roach. William Upton Spotter. Larry Carney 2nd MP Sergeant. Daniel Kiewit Major from New Jersey. Father Elias Catholic Priest. Jerry Ross Malibu Johnny. Dick White Helicopter Pilot. Eleanor Coppola Photographer. John Milius Writer. Windows Windows 8, Windows 8. The default language for making new iPhone and Mac apps, called Swift, was developed by Apple from the ground up to support an environment, called Playgrounds, that was directly inspired by Light Table.
But seeing the impact that his talk ended up having, Bret Victor was disillusioned. He knew something was wrong when people began to invite him to conferences to talk about programming tools. Victor suggested that the same trick could be pulled for nearly every problem where code was being written today. Only then would people with the most urgent computational problems be able to grasp those problems directly, without the intermediate muck of code.
In a recent essay, Victor implored professional software developers to stop pouring their talent into tools for building apps like Snapchat and Uber. If you were making the control system for an elevator, for instance, one rule might be that when the door is open, and someone presses the button for the lobby, you should close the door and start moving the car.
In model-based design, by contrast, the picture on your screen is more like a blueprint. Still, making software this way is qualitatively different than traditional programming. In traditional programming, your task is to take complex rules and translate them into code; most of your energy is spent doing the translating, rather than thinking about the rules themselves. In the model-based approach, all you have is the rules. The people know how to code. The problem is what to code.
On this view, software becomes unruly because the media for describing what software should do—conversations, prose descriptions, drawings on a sheet of paper—are too different from the media describing what software does do, namely, code itself. Too much is lost going from one to the other. The idea behind model-based design is to close the gap. The very same model is used both by system designers to express what they want and by the computer to automatically generate code.
Of course, for this approach to succeed, much of the work has to be done well before the project even begins. They have to make a program that turns these models into real code. Esterel Technologies, which was acquired by ANSYS in , grew out of research begun in the s by the French nuclear and aerospace industries, who worried that as safety-critical code ballooned in complexity, it was getting harder and harder to keep it free of bugs. And the people in charge of integrating the systems, and debugging them, had noticed that the number of bugs was increasing.
Instead of a single flight computer, there were now dozens, each responsible for highly specialized tasks related to control, navigation, and communications. Coordinating these systems to fly the plane as data poured in from sensors and as pilots entered commands required a symphony of perfectly timed reactions.
Ledinot decided that writing such convoluted code by hand was no longer sustainable. It was too hard to understand what it was doing, and almost impossible to verify that it would work correctly. He went looking for something new. And a mess in control software was dangerous. Esterel was designed to make the computer handle this complexity for you.
The model becomes the detailed blueprint that the computer would use to do the actual programming. Ledinot and Berry worked for nearly 10 years to get Esterel to the point where it could be used in production. Part of the draw for customers, especially in aviation, is that while it is possible to build highly reliable software by hand, it can be a Herculean effort.
Ravi Shivappa, the VP of group software engineering at Meggitt PLC, an ANSYS customer which builds components for airplanes, like pneumatic fire detectors for engines, explains that traditional projects begin with a massive requirements document in English, which specifies everything the software should do.
And when the customer changes the requirements, the code has to be changed, too, and tested extensively to make sure that nothing else was broken in the process. The cost is compounded by exacting regulatory standards.
The FAA is fanatical about software safety. The agency mandates that every requirement for a piece of safety-critical software be traceable to the lines of code that implement it, and vice versa.
So every time a line of code changes, it must be retraced to the corresponding requirement in the design document, and you must be able to demonstrate that the code actually satisfies the requirement. Much of the benefit of the model-based approach comes from being able to add requirements on the fly while still ensuring that existing ones are met; with every change, the computer can verify that your program still works.
Still, most software, even in the safety-obsessed world of aviation, is made the old-fashioned way, with engineers writing their requirements in prose and programmers coding them up in a programming language like C. As Bret Victor made clear in his essay, model-based design is relatively unusual.
Most programmers feel the same way. They like code. At least they understand it. It is a pattern that has played itself out before. Whenever programming has taken a step away from the writing of literal ones and zeros, the loudest objections have come from programmers.
Emmanuel Ledinot, of Dassault Aviation, pointed out that when assembly language was itself phased out in favor of the programming languages still popular today, like C, it was the assembly programmers who were skeptical this time. I n , Chris Newcombe had been working at Amazon for almost seven years, and had risen to be a principal engineer. He is one of those engineers whose work quietly keeps the internet running. But all he could think about was that buried deep in the designs of those systems were disasters waiting to happen.
A single subtle bug could be catastrophic. But he knew how hard bugs were to find, especially as an algorithm grew more complex.
In practice, it allowed you to create a realistic model of your problem and test it not just thoroughly, but exhaustively. These specifications can then be completely verified by a computer. If not, it will show you exactly how they could be violated. The language was invented by Leslie Lamport, a Turing Award—winning computer scientist.
With a big white beard and scruffy white hair, and kind eyes behind large glasses, Lamport looks like he might be one of the friendlier professors at the American Hogwarts. And there is a patient joy, a meditative kind of satisfaction, to be had from puzzling out the micro-mechanics of code. But code, Lamport argues, was never meant to be a medium for thought. It is now used widely at the company. Engineers at the European Space Agency used it to rewrite, with 10 times less code, the operating system of a probe that was the first to ever land softly on a comet.
Intel uses it regularly to verify its chips. Even to a seasoned engineer like Newcombe, the language read at first as bizarre and esoteric—a zoo of symbols. For Lamport, this is a failure of education. Though programming was born in mathematics, it has since largely been divorced from it. Because they never learned it. Complexity is the biggest challenge for programmers.
Programmers, as a species, are relentlessly pragmatic. GameStop PS5 in-store restock. Baby Shark reaches 10 billion YouTube views. Microsoft is done with Xbox One. Windows Windows.
Most Popular. New Releases. Desktop Enhancements. Networking Software. Trending from CNET. Red Alert 2: Apocalypse Free. Add new features to your Red Alert 2 game. Runescape Apocalypse Client Free. Play a Runescape game on your computer with world jump buttons and other features. Join an uneasy alliance with the Brotherhood in a fight to reclaim Earth from Apocalypse.
0コメント