Download PDF version of this article PDF

ACM and the Professional Programmer

How do you, the reader, stay informed about research that influences your work?


Vinton G. Cerf

In the very early days of computing, professional programming was nearly synonymous with academic research because computers tended to be devices that existed only or largely in academic settings. As computers became commercially available, they began to be found in private-sector, business environments. The 1950s and 1960s brought computing in the form of automation and data processing to the private sector, and along with this came a growing community of professionals whose focus on computing was pragmatic and production-oriented. Computing was (and still is) evolving, and the academic community continued to explore new software and hardware concepts and constructs. New languages were invented (and are still being invented) to try new ideas in the formulation of programs. The introduction of time sharing created new territory to explore. In today's world cloud computing is the new time sharing, more or less.

The world is, of course, about 70-plus years into the evolution of computing. ACM is 67 years old, founded in 1947 (I was 3 years old at the time!) by the inventors of computing. Its focus is clear from the name they gave it: Association for Computing Machinery. Today's computing landscape reveals a rich and varied tapestry of software and hardware platforms on and through which researchers and professionals pursue their interests. This is not to suggest that researchers aren't professionals. Far from it. The point is only that the focus of these groups differs in many respects but may overlap when new processing algorithms are sought and new hardware concepts are needed. Quantum computing, still in its infancy (and maybe in its fantasy), is a case in point, where new conceptual algorithms may be needed to take advantage of the unusual computational properties associated with quantum theoretic principles.

It is also worth noting that academic disciplines such as physics, biology, economics, and chemistry are all making increased use of computing and new algorithms to pursue research and applications. The 2013 recipients of the Nobel Prize in chemistry, for example, were cited for algorithmic work: Martin Karplus, Michael Levitt, and Arieh Warshel were jointly awarded the prize "for the development of multiscale models for complex chemical systems" (nobelprize.org/nobel_prizes /chemistry/laureates/2013/).

The question that occupies my mind, especially as membership in ACM has not grown in a way commensurate with the evident growth of programmers, is whether and how ACM can adapt its activities and offerings to increase the participation of these professionals. One does not have to be a member of ACM to participate in its many conferences and workshops. One can join a SIG (Special Internet Group) without being a member of ACM. I would not propose to change any of that, but I wonder whether ACM might take steps to attract the interest of—and, more important, the support of—professionals who are not researchers in computer science. It is even likely that not all computer science researchers are members of ACM, in part, for example, because the ACM Digital Library may be available to them through their institutions.

I am very conscious of the fact that this essay, appearing in CACM, may not reach the very parties whose opinions and interests I would most like to gauge, though CACM does have a section for pragmatic articles of interest to working programmers, and its associated publication, ACM Queue, is specifically devoted to this cohort of colleagues.

What I would like to ask readers of this essay is how they satisfy their need to keep informed about computing practices and research results that may influence their own work. Looking back at my own membership in ACM (since 1967), I was advised by my mentors in graduate school that ACM membership was a mark of a professional, and I continue to believe that; but it seems evident that this view is not as widespread today. Why not? Is there something that ACM should be doing to change that? I would also observe that ACM has an enormous range of activities in education, publication, practices, contests, conferences, and workshops that are deserving of support from all of us who make our living in the computing space. Perhaps it would be helpful to draw more attention to all of these beneficial activities, which are made possible only by members' and volunteers' commitment to them.

I can be reached at [email protected], and I look forward to your perspectives.

LOVE IT, HATE IT? LET US KNOW

[email protected]

Vinton G. Cerf is Google's vice president and chief Internet evangelist. As co-designer of the TCP/IP protocols and architecture, Cerf is the one of the "fathers of the Internet." He holds a B.S. degree in mathematics from Stanford University and M.S. and Ph.D. degrees in computer science from UCLA. Cerf is the Past President of ACM and served as ACM president from 2012-2014.

© 2014 ACM 1542-7730/14/0700 $10.00

acmqueue

Originally published in Queue vol. 12, no. 7
Comment on this article in the ACM Digital Library





More related articles:

Nicole Forsgren, Eirini Kalliamvakou, Abi Noda, Michaela Greiler, Brian Houck, Margaret-Anne Storey - DevEx in Action
DevEx (developer experience) is garnering increased attention at many software organizations as leaders seek to optimize software delivery amid the backdrop of fiscal tightening and transformational technologies such as AI. Intuitively, there is acceptance among technical leaders that good developer experience enables more effective software delivery and developer happiness. Yet, at many organizations, proposed initiatives and investments to improve DevEx struggle to get buy-in as business stakeholders question the value proposition of improvements.


João Varajão, António Trigo, Miguel Almeida - Low-code Development Productivity
This article aims to provide new insights on the subject by presenting the results of laboratory experiments carried out with code-based, low-code, and extreme low-code technologies to study differences in productivity. Low-code technologies have clearly shown higher levels of productivity, providing strong arguments for low-code to dominate the software development mainstream in the short/medium term. The article reports the procedure and protocols, results, limitations, and opportunities for future research.


Ivar Jacobson, Alistair Cockburn - Use Cases are Essential
While the software industry is a fast-paced and exciting world in which new tools, technologies, and techniques are constantly being developed to serve business and society, it is also forgetful. In its haste for fast-forward motion, it is subject to the whims of fashion and can forget or ignore proven solutions to some of the eternal problems that it faces. Use cases, first introduced in 1986 and popularized later, are one of those proven solutions.


Jorge A. Navas, Ashish Gehani - OCCAM-v2: Combining Static and Dynamic Analysis for Effective and Efficient Whole-program Specialization
OCCAM-v2 leverages scalable pointer analysis, value analysis, and dynamic analysis to create an effective and efficient tool for specializing LLVM bitcode. The extent of the code-size reduction achieved depends on the specific deployment configuration. Each application that is to be specialized is accompanied by a manifest that specifies concrete arguments that are known a priori, as well as a count of residual arguments that will be provided at runtime. The best case for partial evaluation occurs when the arguments are completely concretely specified. OCCAM-v2 uses a pointer analysis to devirtualize calls, allowing it to eliminate the entire body of functions that are not reachable by any direct calls.





© ACM, Inc. All Rights Reserved.