Читать книгу Code Nation - Michael J. Halvorson - Страница 12

1.3Programmingnew ways of thinkingNew Ways of Thinking

Оглавление

Calls to learn coding techniques abound now from the leaders of our digital economy. So, too, are warnings that if a group does not heed the call, they will miss out on all or part of what the global digital economy has to offer. But where did this urgency to learn programming come from? What has motivated schools and non-profit organizations to devote so many resources to preparing instructions for a computer? When did programming literacy emerge as a national priority? And what were the early experiences of programmers as they tinkered with mainframes, minicomputers, and the first microcomputers? How is this story connected to the development of successful platforms such as CP/M CP/M, MS-DOS MS-DOS, Microsoft Windows Microsoft Windows, the Apple Macintosh (Mac OS) Apple Macintosh, and Unix-based systems Unix-based systems?

Whether past or present, the invitation to become a software maker is an invitation to join a distinctive community within our global society and economy. This computing subculture was founded by a small group of research scientists and academics, but it has expanded into a diverse assortment of hobbyists, students, gamers, artists, musicians, hackers, engineers, career professionals, and part-time workers. Although each of these groups is distinct in socio-economic terms, there is discernable common ground in their understanding of computers and computing technology. Computer programmers share a basic orientation to the world that is shared, despite the differences that they experience in relation to hardware and software systems, learning tools, and historical context.

As a thought experiment, imagine that each subgroup within the programming collective can be conceived of as a concentric circle. In such a model of our programming culture, the entire assortment of circles would be drawn in close proximity to one another, and most of the circles would have points of intersection and overlap. A shared exposure to computational thinking is the overlap, even if the programming languages that people learn (and the tools they write programs with) change over time. Some computer programmers may take up professional work, and others will remain as hobbyists or late-night hackers. Still others may learn programming skills as part of a journey that leads to other types of fruitful work. Despite the differences, and there will be many, the entire set of circles is a model of our nation’s programming culture.7

The call to join ranks with computer programmers is not just an invitation to new ways of thinking (learning computational logic) and new consumer behaviors (buying software and a programming primer), it is also a call to new social relationships, to new ways of seeing and knowing, and to participating in new personal and professional networks. The programming circles that collectively shape America’s technical identity are as much expressions of a distinct subculture as are the ideas and values of Impressionist artists and their admirers in Fin-di-siècle Paris or jazz musicians and their fans during the Swing Era in New York City.

As a social historian with interests in the history of technology, business, and education, I am curious about the experiences of today’s programmers and software creators, and where they received their training, inspiration, and cultural worldviews. (See Figure 1.2.) Although the Internet era has contributed much to the behaviors and identity of contemporary software developers, the core skills and thought patterns of modern programmers were influenced by even earlier commitments and achievements. These included the proliferation of high-level languages in the 1950s, the introduction of software engineering techniques in the 1960s, the idealism of educators, entrepreneurs, and authors in the 1970s and 1980s, and the diffusion of commercial programming techniques in the 1990s and 2000s.

My argument is that the Learn-to-program movement learn-to-program movement gained momentum through each of these important transitions, as programmers, authors, and entrepreneurs created pathways through which Americans might learn programming skills and the fine-points of creating software for specific platforms. Computer book authors, magazine publishers, and influential Programmer/educators programmer/educators played important, if overlooked, roles in the diffusion of these new skills. By establishing an ideological connection to the computer literacy movement, programmer/educators established a framework that made computer programming feel important, rewarding, and attached to the rituals of citizenship and corporate belonging. The learn-to-program movement took shape through the efforts of many unsung heroes, both women and men, and one of my goals with this book is to reacquaint historians and programmers with a cast of interesting actors and protagonists who have been left out of recent narratives. Part of this work involves using visual sources to unpack the social context of historic computing environments. (See Figure 1.3.) I will profile social reformers, writers, teachers, tinkerers, entrepreneurs, and hackers, as well as computer scientists, students, engineers, and the leaders of America’s computing societies, including the Association for Computing Machinery (ACM) Association for Computer Machinery (ACM). Predictably, most of the programmers that we meet will be members of more than one social or professional group.

Figure 1.2Programmingmiddle school student learns computational thinkingA middle school student learns computational thinking in a programming camp sponsored by the Tacoma/South Puget Sound MESA organization. (Photo: Joshua Wiersma/Pacific Lutheran University)

To get a sense for the magnitude of the sea change that took place, consider some basic demographics. In 1957, there were approximately 15,000 computer programmers employed in the U.S., a figure that accounts for approximately 80% of the world’s programmers active that year. The work of the first computing pioneers involved building and maintaining military systems, designing Algorithms algorithms for scientific research, tracking census data, and implementing data-processing schemes for government bureaus and corporations.

In 2000, there were approximately 9 million professional programmers worldwide, with millions more who had been exposed to coding concepts as part of their school curriculum or other experiences.8 In addition to steady growth in military and scientific computing, the expanding digital economy has brought new opportunities for computer programmers in the fields of consumer software, video game programming, artificial intelligence, information publishing, digital communications, education, art, music, entertainment, medicine, and other areas that benefit from the use of computers.

Figure 1.3Three men and two women gather for a meeting near an IBM 370 Model 138 Computer System in Berkeley, California. IBM’s 1976 publicity photo emphasizes the value of teamwork and the extensive documentation that was prepared for programmers and administrators. (Courtesy of the Computer History Museum)

The rising tide of opportunity for Softwaredevelopers software developers has continued up to the present. In 2014, there were approximately 18.5 million software developers in the world, of which 11 million can be considered professional programmers and 7.5 million can be considered as hobbyists.9 Many programmers create or maintain software as part of their regular employment, while others write code for non-profit organizations that they support, and still others program at school, for recreation, or as an aspect of their personal or professional development.

Code Nation

Подняться наверх