Better Software Development

Phil Wainewright points to a interview with Charles Simonyi of Intentional Software. “Simonyi’s notion of pushing programming upstream is a PowerPoint-like design tool that allows stakeholders to describe an application in their own terms and then hand it off to the programmers to write a ‘generator’ to produce the machine-readable code. His company will develop tools, taking advantage of recent innovations in aspect-oriented development, design patterns, model-integrated computing and other programming methods.” Excerpts from the interview:

Now, we have three Moore’s Laws–one in processors, one in memory and one in bandwidth. Software is the opposite. We don’t celebrate Moore’s law; we commiserate over the continuing software crisis. That’s why I always say that software is the bottleneck on the digital horn of plenty. It’s so obvious that there is a giant gap between the processing capabilities of the machine compared to actual services it provides.

For the sake of argument, assume that we would ask the subject matter experts to write a nice PowerPoint presentation and give it to programmers so they can write the software. That would be a very modest improvement over current practices, which insist that the contributions of subject matter experts are organized in a decent way.

Our proposal goes further. We don’t ask the programmers just to read the presentation and write a program. We’ll ask the programmer to write a program that reads the presentation and writes the program. We are making a little twist to our request to the programmer: Don’t convert the design into a program by hand, write a generator to write the program. We will be actively supporting the process by giving the subject matter experts a CAD (computer-aided design)-like program that the generator can read its input from and process it easily and without loss of information.

Another way to think about it is that the programmers you would have employed anyway to solve your problem are now creating a domain-specific language for your problem. Programmers will admit that every big program is a language on its own. Microsoft Word is written in C++, for example, but if you want to work on it your colleagues won’t just ask if you know C++. Knowing C++ will get you 1 percent of the way toward learning about how Microsoft Word works. The other 99 percent is to learn all about Word’s procedures, services and data structures, which all have names, relationships, internal logic and a kind of syntax.

The programmers are subject matter experts in how to turn designs that are not computer specific into a software program. Value semantics, variables, states or decision tables, sequential and parallel logic–all of those computer science ideas are part of their expertise. The design has to be expressed in those ideas to run on a computer.

Jobs Migration

The Economist writes about how foreign competition now affects services as well as manufacturing:

The movement of jobs to the developing countries does not alter the overall level of employment in the advanced economies; however, the pattern of employment, to be sure, does change. In the aggregate, this is desirable, just as it is desirable that labour-saving technological progress should change the pattern of employment. (By the way, does anyone still believe that labour-saving technology destroys jobs overall?) So far as the effects on individuals are concerned, this process does have consequences that need to be examined and, in some cases, softened. Adequate private and public investment in skills and lifelong education is paramount in this new world, and is where attention should be focusing. But the image conjured up by the self-interested purveyors of alarm, of a hollowed-out America with relentlessly rising unemployment, is not just false but absurd.

The new jobs migration, while raising no new issues of principle, may indeed involve bigger political and economic strains than earlier bursts of expanding trade. Workers in manufacturing had long understood that they were exposed to the challenge of competition from overseas. Workers in services hitherto believed they were not: it is unsettling to be disabused. Also, it is true that the sheer scale of service-sector employment within an advanced economy arouses anxiety, unwarranted though it may be, about how disruptive the new forces of competition will be.

At the moment, the likely disruption to patterns of employment is surely being exaggerated. The actual and prospective migration of service-sector jobs is small, and likely to remain so, compared with the background level of job creation and destruction in an economy with as much vitality as America’s. And technological and geographical constraints will continue to keep many service-sector jobs close to the customer. In some ways, in fact, this is a pity: the greater the disruption, the greater the benefits. As competition forces some jobs in services abroad, it will call forth the creation of new jobs in services in their place. And on average they will be better, higher-paying jobs than the ones that migrate.

Economist Survey on India

The Economist writes about India’s “shining hopes”:

India is a country of extremes, and prone to extreme views about itself. This survey will examine the origins of the present buoyant optimism, and conclude that much of it is overdone: or at least, based on hope rather than achievement. Nor was India in quite such a mess a year ago as the pessimists feared. For a decade, the economy had seen average real growth in GDP of about 6% a year. The hope now is that it is about to take off on a markedly steeper growth path of 8% a year or more, and keep it up.

That sort of acceleration is necessary to provide opportunities for India’s growing population and its even-faster-growing workforce. During the present decade, on one estimate India’s labour force will expand by 50% more than all of East Asia’s (including China’s) put together. Without further structural reform, such a growth spurt seems unlikely. But this survey will argue that this is indeed a moment of shining economic opportunity for India, and that if Mr Vajpayee’s Bharatiya Janata Party (BJP) succeeds in leading its coalition to another election victory, it should be better placed to take advantage of it, and pursue the necessary reform, than has been any government in recent years.

Shining brighter, however, than any GDP growth target is the prospect of some lasting reconciliation with the twin from which India was so bloodily separated at birth in 1947.

The editorial compares India and China:

So is it really possible that India will be the new China? Perhaps, but only with important caveats. First, India is still far too dependent on the vagaries of the weather. Agriculture counts for almost a quarter of its GDP, and last year’s good monsoon was responsible for as much as 3.5% of that thumping growth figure. Tradeable services, the cause of so much excitement, cannot provide the only motor for growth and employment. This kind of work is highly specialised, certainly far more so than low-end manufacturing. On the most optimistic projections, outsourcing will employ 4m Indians, directly and indirectly, by 2008. Yet 9m enter the labour market every year.

This means that India’s manufacturing sector still has a vital role to play. It is sometimes assumed that China has captured the entire market for cheap manufacturing. That is not the case. Even China’s costs will gradually start to rise in the relatively near future, and could do so quite sharply if inflationary and international pressures force it to revalue its currency. There will, anyway, always be room for firms to find a profitable mix of technology and wage costs in any given industry: after all, people still make plates and shoes, not just films and pharmaceuticals, in the United States.

For India to do this, however, it must become a much more attractive place for foreign direct investment. At the moment, China is sucking in about $50 billion of FDI a year, ten times more than India. Those $50 billion will bring China much more than mere cash: they carry with them management skills, technology, marketing and expertise of all kinds greatly in excess of what is available locally. But the investment will not come until India shows that it is serious about improving its dreadful infrastructure, which means better roads, proper airports (compare Mumbai and Shanghai) and reliable power. That cannot be done by a government that is running deficits of around 10% a year. And the deficit problem, in turn, will not be fixed until India sorts out its tax system. Its legal system, clogged and antiquated, needs improvement too.

If these things are tackled, the Indian cobra might join the Chinese dragon in the sun. Some 300m Indians are still mired in poverty. But think back to the China of a decade ago, and a prosperous India is not such an impossible dream.