Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
How programming languages will co-evolve with software engineering: a bright decade ahead
Murphy-Hill E., Grossman D.  FOSE 2014 (Proceedings of the Conference on the Future of Software Engineering, Hyderabad, India, May 31-Jun 7, 2014)145-154.2014.Type:Proceedings
Date Reviewed: Aug 21 2014

Until recently, programming languages have been developed with little consideration for programming environments and tools, with the notable exception of Smalltalk. Murphy-Hill and Grossman note that this situation is changing, and provide seven predictions on the convergence of programming languages and software engineering (or, more precisely, programming environments and tools) in the next decade.

They predict that language designers will be influenced by several new factors. One is the availability of sophisticated integrated development environments (IDEs) that can support some language features better than others. Another is the growth of social networks of programmers, containing discussions, documentation, examples, and questions and answers. This allows developers to voice their opinions, which will in turn influence language design. A third factor is the availability of large corpora of open-source software, and research that uses these to understand which language features are used and which are not, and, of those that are used, whether they are used correctly.

Functional programming concepts will become more widespread, and the distinction between functional and imperative (or object-oriented) programming will be more and more blurred. Finally, future programming languages will be more suited for new types of applications, such as parallel and distributed programming and big data.

Research techniques that will be integrated into new languages include multiple views and the elimination of a single stream of characters as the only representation of programs. Another example is gradual typing, a technique that allows developers to write programs with little or no type information, and add types as the programs mature in order to raise the level of confidence in the correctness of the program at compile time.

Turning to software engineering tools, the authors predict that formal verification will become a reality for developers, rather than being limited to a small group of highly experienced researchers.

There is recent (and not so recent) work that points in the direction of each of these predictions. Unfortunately, there are many influences on the design of programming languages, and various features of currently popular languages were not really designed but added without serious consideration. I am therefore not quite as optimistic as the authors; however, the points they make are insightful and the paper is well worth reading. Be sure to put a link to the paper in your 2024 calendar in order to see which of the predictions will be realized by then!

Reviewer:  Yishai Feldman Review #: CR142635 (1412-1053)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
General (D.2.0 )
 
 
General (D.3.0 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Development of distributed software
Shatz S. (ed), Macmillan Publishing Co., Inc., Indianapolis, IN, 1993. Type: Book (9780024096111)
Aug 1 1994
Fundamentals of software engineering
Ghezzi C., Jazayeri M., Mandrioli D., Prentice-Hall, Inc., Upper Saddle River, NJ, 1991. Type: Book (013820432)
Jul 1 1992
Software engineering
Sodhi J., TAB Books, Blue Ridge Summit, PA, 1991. Type: Book (9780830633425)
Feb 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy