The keystroke-level model for user performance time with interactive systems
Communications of the ACM
Understanding Natural Language
Understanding Natural Language
Interactive Programming Environments
Interactive Programming Environments
Understanding Spoken Language
Software Tools
Directions in Human Factors for Interactive Systems
Directions in Human Factors for Interactive Systems
Human Interaction with Computers
Human Interaction with Computers
User Software Engineering and the design of interactive systems
ICSE '81 Proceedings of the 5th international conference on Software engineering
Report on the programming language Euclid
ACM SIGPLAN Notices
Principles of Program Design
The application accelerator illustration system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
INSIST: Interactive Simulation in Smalltalk
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Knowledge-based software design using design schemas
ICSE '87 Proceedings of the 9th international conference on Software Engineering
CASE productivity perceptions of software engineering professionals
Communications of the ACM - Special issue: multiprocessing
Systems analysis: a systemic analysis of a conceptual model
Communications of the ACM
The Japanese approach: a better way to manage programmers?
Communications of the ACM
The computer programmer as the model of the worker in the automated office
SIGCPR '83 The Proceedings of the Twentieth Annual Computer Personnel on Research Conference
The future of programming—whither APL?
APL '84 Proceedings of the international conference on APL
ICSE '84 Proceedings of the 7th international conference on Software engineering
A method of large-scale software development
ICSE '84 Proceedings of the 7th international conference on Software engineering
Discrete event simulation languages current status and future directions
WSC '84 Proceedings of the 16th conference on Winter simulation
Design principles for software manufacturing tools
ACM '84 Proceedings of the 1984 annual conference of the ACM on The fifth generation challenge
The impact of fourth generation programming languages
ACM SIGCSE Bulletin
Software maintenance in fourth-generation language environments
AFIPS '84 Proceedings of the July 9-12, 1984, national computer conference and exposition
Software manufacturing techniques and maintenance
AFIPS '84 Proceedings of the July 9-12, 1984, national computer conference and exposition
Officeaid VPE: a visual programming with examples system for specifying routine office tasks
Journal of Visual Languages and Computing
Hi-index | 48.25 |
The nature of programming is changing. These changes will accelerate as improved software development practices and more sophisticated development tools and environments are produced. This paper surveys the most likely changes in the programming task and in the nature of software over the short term, the medium term, and the long term.In the short term, the focus is on gains in programmer productivity through improved tools and integrated development environments. In the medium term, programmers will be able to take advantage of libraries of software components and to make use of packages that generate programs automatically for certain kinds of common systems. Over the longer term, the nature of programming will change even more significantly as programmers become able to describe desired functions in a nonprocedural way, perhaps through a set of rules or formal specification languages. As these changes occur, the job of the application programmer will become increasingly analysis-oriented and software developers will be able to attack a large number of application areas which could not previously be addressed effectively.