r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Tech News] Interesting technology

[unknown: 9]
1-Feb-2007
[1625x2]
Marketing Ideas to lawyers
AN ARTICLE FROM SUNDAY'S NEW YORK TIMES WE SHOULD READ CAREFULLY.


Awaiting the Day When Everyone Writes Software

By JASON PONTIN
Published: January 28, 2007

BJARNE STROUSTRUP, the designer of C++, the most influential programming 
language of the last 25 years, has said that “our technological civilization 
depends on software.” True, but most software isn’t much good. Too 
many programs are ugly: inelegant, unreliable and not very useful. 
Software that satisfies and delights is as rare as a phoenix.

Skip to next paragraph

Sergei Remezov/Reuters

Charles Simonyi, chief executive of Intentional Software, in training 
for his trip to the International Space Station, scheduled for April.

Multimedia
Podcast: Weekend Business

Reporters and editors from The Times's Sunday Business section offer 
perspective on the week in business and beyond.

How to Subscribe

All this does more than frustrate computer users. Bad software is 
terrible for business and the economy. Software failures cost $59.5 
billion a year, the National Institute of Standards and Technology 
concluded in a 2002 study, and fully 25 percent of commercial software 
projects are abandoned before completion. Of projects that are finished, 
75 percent ship late or over budget.


The reasons aren’t hard to divine. Programmers don’t know what a 
computer user wants because they spend their days interacting with 
machines. They hunch over keyboards, pecking out individual lines 
of code in esoteric programming languages, like medieval monks laboring 
over illustrated manuscripts.


Worse, programs today contain millions of lines of code, and programmers 
are fallible like all other humans: there are, on average, 100 to 
150 bugs per 1,000 lines of code, according to a 1994 study by the 
Software Engineering Institute at Carnegie Mellon University. No 
wonder so much software is so bad: programmers are drowning in ignorance, 
complexity and error.


Charles Simonyi, the chief executive of Intentional Software, a start-up 
in Bellevue, Wash., believes that there is another way. He wants 
to overthrow conventional coding for something he calls “intentional 
programming,” in which programmers would talk to machines as little 
as possible. Instead, they would concentrate on capturing the intentions 
of computer users.


Mr. Simonyi, the former chief architect of Microsoft, is arguably 
the most successful pure programmer in the world, with a personal 
fortune that Forbes magazine estimates at $1 billion. There may be 
richer programmer-billionaires — Bill Gates of Microsoft and Larry 
Page of Google come to mind — but they became rich by founding and 
managing technology ventures; Mr. Simonyi rose mainly by writing 
code.


He designed Microsoft’s most successful applications, Word and Excel, 
and he devised the programming method that the company’s software 
developers have used for the last quarter-century. Mr. Simonyi, 58, 
was important before he joined Microsoft in 1981, too. He belongs 
to the fabled generation of supergeeks who invented personal computing 
at Xerox PARC in the 1970s: there, he wrote the first modern application, 
a word processor called Bravo that displayed text on a computer screen 
as it would appear when printed on page.


Even at leisure, Mr. Simonyi, who was born in Hungary and taught 
himself programming by punching machine code on Russian mainframes, 
is a restless, expansive personality. In April, he will become the 
fifth space tourist, paying $20 million to board a Russian Soyuz 
rocket and visit the International Space Station.


Mr. Simonyi says he is not disgusted with big, bloated, buggy programs 
like Word and Excel. But he acknowledges that he is disappointed 
that we have been unable to use “our incredible computational ability” 
to address efficiently “our practical computational problems.”


“Software is truly the bottleneck in the high-tech horn of plenty,” 
he said.


Mr. Simonyi began thinking about a new method for creating software 
in the mid-1990s, while he was still at Microsoft. But his ideas 
were so at odds with .Net, the software environment that Microsoft 
was building then, that he left the company in 2002 to found Intentional 
Software.


“It was impractical, when Microsoft was making tremendous strides 
with .Net, to send somebody out from the same organization who says, 
‘What if you did things in this other, more disruptive way?’ ” he 
said in the January issue of Technology Review.


For once, that overfavored word — “disruptive” — is apt; intentional 
programming is disruptive. It would automate much of software development.


The method begins with the intentions of the people inside an organization 
who know what a program should do. Mr. Simonyi calls these people 
“domain experts,” and he expects them to work with programmers to 
list all the concepts the software must possess.


The concepts are then translated into a higher-level representation 
of the software’s functions called the domain code, using a tool 
called the domain workbench.


At two conferences last fall, Intentional Software amazed software 
developers by demonstrating how the workbench could project the intentions 
of domain experts into a wonderful variety of forms. Using the workbench, 
domain experts and programmers can imagine the program however they 
want: as something akin to a PowerPoint presentation, as a flow chart, 
as a sketch of what they want the actual user screen to look like, 
or in the formal logic that computer scientists love.


Thus, programmers and domain experts can fiddle with whatever projections 
they prefer, editing and re-editing until both parties are happy. 
Only then is the resulting domain code fed to another program called 
a generator that manufactures the actual target code that a computer 
can compile and run. If the software still doesn’t do what its users 
want, the programmers can blithely discard the target code and resume 
working on the domain workbench with the domain experts.


As an idea, intentional programming is similar to the word processor 
that Mr. Simonyi developed at PARC. In the jargon of programming, 
Bravo was Wysiwyg — an acronym, pronounced WIZ-e-wig, for “what you 
see is what you get.” Intentional programming also allows computer 
users to see and change what they are getting.


“Programming is very complicated,” Mr. Simonyi said. “Computer languages 
are really computer-oriented. But we can make it possible for domain 
experts to provide domain information in their own terms which then 
directly contributes to the production of the software.”


Intentional programming has three great advantages: The people who 
design a program are the ones who understand the task that needs 
to be automated; that design can be manipulated simply and directly, 
rather than by rewriting arcane computer code; and human programmers 
do not generate the final software code, thus reducing bugs and other 
errors.


NOT everyone believes in the promise of intentional programming. 
There are three common objections.


The first is theoretical: it is based on the belief that human intention 
cannot, in principle, be captured (or, less metaphysically, that 
computer users don’t know what people want).


The second is practical: to programmers, the intentional method constitutes 
an “abstraction” of the underlying target code. But most programmers 
believe that abstractions “leak” — that is, they fail to perfectly 
represent the thing they are meant to be abstracting, which means 
software developers must sink their hands into the code anyway.


The final objection is cynical: Mr. Simonyi has been working on intentional 
programming for many years; only two companies, bound to silence 
by nondisclosure agreements, acknowledge experimenting with the domain 
workbench and generator. Thus, no one knows if intentional programming 
works.


Sheltered by Mr. Simonyi’s wealth, Intentional Software seems in 
no hurry to release an imperfect product. But it is addressing real 
and pressing problems, and Mr. Simonyi’s approach is thrillingly 
innovative.


If intentional programming does what its inventor says, we may have 
something we have seldom enjoyed as computer users: software that 
makes us glad.


Jason Pontin is the editor in chief and publisher of Technology Review, 
a magazine and Web site owned by M.I.T. E-mail: [pontin-:-nytimes-:-com].
A friend of mine headed the intentional programming project at MS..................he 
currently works at a Jamba Juice (this is not a Joke).
Graham
1-Feb-2007
[1627x2]
what's intentional programming?
oops .. had my cache set to 10000 so I can see some old messages 
...and that made scrolling somewhat problematic
Sunanda
1-Feb-2007
[1629]
Intentional programming reminds me of the hype around the "The Last 
One" program generator a generation or so ago. (So called as it was 
the last program you'd ever need to buy -- it could write all the 
others for you)....I remember chuckling at the time at how seriously 
some people took it in the few months it took to drop completely 
out of sight:
http://www.presshere.com/html/wf8104.htm
Henrik
1-Feb-2007
[1630]
So if there is intentional programming, there is unintentional programming?
Geomol
1-Feb-2007
[1631x4]
I know of something called creative programming! ;-)
Reichart, I read the article, and my opinion is, that you will always 
need good programmers, no matter what abstraction you make to the 
problem.

A good programmer (or more general: developer) can something, a typical 
user can't. The developer can - based on logic - see the consequences 
of different rules within the software. When users are alloud to 
decide, how the software should work, you always end up with something, 
which will break logically, when some situation occur. A good developer 
can think of that beforehand and make sure, the whole system of rules 
makes sense and do the right thing, whatever will happen. The user 
may be happy for a while, if she "designed" the software, but a little 
later it'll break down logically, and she'll loose money and time 
again.
It's the ability to make something consistent, that make a good programmer. 
It's my experience, that very few people are really good at that.
alloud = allowed
Volker
1-Feb-2007
[1635x2]
Spending  years to learn correct spelling, but spending no time to 
learn correct logic - are'nt users silly ;)
not correct logic, computer logic.
Maarten
1-Feb-2007
[1637]
Ah, you can't spell either ;-)
Volker
1-Feb-2007
[1638]
You catched me. :-)
[unknown: 9]
1-Feb-2007
[1639x3]
you will always need good programmers


We strongly disagree, in fact the time of no need for programmers 
is probably closer than we (programmers) want. 


AI will one day be good enough to solve domain problems.  The architecture 
of computer systems will be self correcting, responsive, and self 
writing one day.


Software will fix itself in response to millions if not billions 
of people reacting to using it, and it will slowly and systematically 
correct itself, improve itself, and even offer new features simply 
for test.  In other words, software will eventually self evolve.
Consider nothing more than a routine that studies what options people 
select for themselves.  I reset my Word (and anything else I have 
control over) to *always* use Helvetica.  I *always* set my WinAmp 
to be "Always on top".  When I walk up to an ATM, I *never* select 
"Spanish".  When I get in my car I *never* want the radio "ON"


What if people's settings were simply gathered in a central database. 
 Categorized, etc.  What if every button on software had a unique 
ID, and a genus, and like senses or never endings created stronger 
connection in the database by how often they were pressed… 

The species of button called "Play | Pause" would be very strong.
It's brother "FF | RW" would be pretty well connected as well.
and like senses or never endings created

should be

and like sensors or nerve endings created
Oldes
1-Feb-2007
[1642]
I would like to know, what all the people will be doing in the future 
where even programming will be automated:( It scares me a little 
bit
Sunanda
1-Feb-2007
[1643]
I've been hearing that, Reichart, for at least 30 years.

It remains as partially true as it ever was -- like we ned very few 
people to write spreadsheet programs, while zillions have been enabled 
to write spreadsheets. But it's hardly a self-evident conclusion 
for (say) someone considering a new career
[unknown: 9]
1-Feb-2007
[1644x2]
That is so sad that it scares you.


Does it scare you that "your" people no longer have a job which is 
to collect the buckets of feces from people's homes.  There is no 
longer a guy in town that cuts hair AND pulls teeth?  That there 
is no work for the guy that stored ice from, and delivered it to 
homes?  


What about the entire industry that used to wash clothes with their 
hands, or WHAT ABOUT all the scribes (monks) those pesky Germans 
put out of business with that automatic machine that made copies 
of copies instantly.


Sundanda, untrue.  You are blinded by your own time frame and reference. 
 Don't look at what was promised or what can be done, look at what 
was not talked about and "IS"

Needless shots
Flat screens
In-ear wireless communication
Solar power (PV) 
Microwave ovens 

Glues (I can name 50 amazing adhesives that have changed the word)
Growable organs
UCAVs (Robots in the sky).
Your life "IS" longer, and better, way better.

The top 10 things that might have killed you 100 years ago are not 
even on the list today.
Oldes
1-Feb-2007
[1646]
Reichard: so just tell me what al the people will be doing?
Maarten
1-Feb-2007
[1647]
Sunanda, Reichart, based on your combined reasonings self-correcting 
software won't come into existence. Somethinge even better will wipe 
the concept "software" of the earth. Yay!
Sunanda
1-Feb-2007
[1648x2]
<<Sundanda, untrue.>>

I got a 30 year old analysis of Nostradamus' predictions -- it uses 
certain verses to prove that he predicted the atom bomb, cold war, 
WW2 etc.

I got a flyer the other day analysing Nostradamus' predictions -- 
it uses certain verses to prove that he predicted the Al Qaeda airplane 
attacks on the USA in 2001.
***
Oddly, it is the same verses used in both cases.
****

Similarly, I am still hearing the _same_ predications about the end 
of programming over the same timescale. Experience suggests caution 
in accepting the latest rendition of an old, old song.
***
Oops -- I've very nearly invoked Gresham'a law:
Double oops -- I mean Godwin's law, of course.
BrianH
1-Feb-2007
[1650x2]
I think that the end-of-programming predictions come true all of 
the time. It's just that the new systems require work as well, and 
though that work is often very different, people call the new work 
"programming". So, since there are still people "programming" people 
think that the prediction failed. It didn't fail - the concept was 
just redesigned to match the new needs.
I have very little idea wha I will be doing 10 years from now, but 
I'm willing to bet that people will call it "programming".
[unknown: 9]
1-Feb-2007
[1652x2]
10 years, sure...100, unlikely.
Oldes,  why do people "have" to do something?
Tomc
1-Feb-2007
[1654]
hrian with a nod to FORTRAN
BrianH
1-Feb-2007
[1655]
Hey, in a hundred years I don't even expect that the language that 
people speak will be recognizable. It'll be called "English" though.
Tomc
1-Feb-2007
[1656]
and our precious spelling will be ...quaint
BrianH
1-Feb-2007
[1657]
Tomc, yeah, I've heard that joke told about FORTRAN and COBOL, and 
lately Java and C++.
Graham
1-Feb-2007
[1658]
has english changed that much in 100 years apart from the addition 
of new words?
BrianH
1-Feb-2007
[1659]
It's mostly the addition of new concepts, and changing patterns in 
grammar that come from mixing in other languages and cultures. The 
new words are almost incidental.
Maxim
1-Feb-2007
[1660x4]
reichart:  programming really is just like macro building... people 
have forgotten that words process, application really are analogies 
to real concepts.
an application is not just a program, its the logical use of a process. 
 the processes change, the needs change, but the act of applying 
a process to a need will always remain.
wether its sifting through an audio library with your fingers and 
cardboard with vinyl inside... or browsing on your ipod...
both are applications.

in one case an ordered collection within a box or shelf, in the other 
its virtual... but the box, really is just like a mechanical software.
BrianH
1-Feb-2007
[1664]
Sometimes it's good to remember that the terms "computer" and "database" 
predate electronics, or even electrical devices.
Maxim
1-Feb-2007
[1665x2]
I know I'm not saying anything revolutionary... but "programming" 
has always been around us.  and since we will foreseeably continue 
to use machines... we'll always do so in the future... I only guess 
that in 50 years, we'll be making AI apps which learn concepts.  
and the interface to these systems will be more easy to use... but 
there will always be people who do work for others...
I myself am working on a concept which would significantly change 
the perspective on how "intelligent machines" computers and what 
have not... are used.
BrianH
1-Feb-2007
[1667]
I saw a cheesy post-apocalyptic scifi movie recently where there 
were people that were essentially witches. They were called "programmers" 
:)
Maxim
1-Feb-2007
[1668x2]
I hope to finally start working on prototypes later this year.
hehe
BrianH
1-Feb-2007
[1670]
I look forward to your ideas. Later!
Gabriele
1-Feb-2007
[1671x2]
Reichart, about AI, if the AI does the programming, then the AI is 
the programmer. Note, that I don't see any reason why we should not 
consider the AI a "person". (if we don't, and the AI eventually kills 
all of us, I won't blame "it")
persons

 (whether running in an organic brain, or not) will still create informations; 
 that creation we can call "programming" (or "painting" or "composing" 
 etc, except that they become all the same thing since we get to their 
 deeper meaning of "information")
[unknown: 9]
1-Feb-2007
[1673]
But, this is about "people", no?
Maxim
2-Feb-2007
[1674]
its funny (or rather not) cause I see no point in developping AI 
within the confines of an economy.  once a true AI "conscience" will 
be feasible. we suddenly loose the need for "employes".  just like 
the romans soldiers, at one point, didn't have any new lands to conquer, 
so basically a big social rift was caused.