sunny@sun.uucp (Sunny Kirsten) (05/25/84)
Greetings: First, I believe it is a bit late to be worrying about the Professionalization of Programming. The entire concept has missed the boat. Just as computer architecture has grown from massive batch/timeshare computer centers with the attendant flocks of gurus and programmers affordable only by large corporations and the government, towards a globally distributed network of interconnected personal computers each programmed by it's owner, so the concepts of Programming evolve from the sacred black magic of the one holy method of programming, to an infinite variety of synergistic software/hardware environments which allow each and every person to expand their mind outside the body in a personally comfortable way through individualized human/machine interface, wherein the only requirement for standardization is that you be able to plug into RS232C and speak ASCII, or plug into RJ11 and speak 103 or 212A. Just as the computer world is revolutionized by the popularization of traditional applications in a natural / iconic form in a programming language free environment (a la Xerox Star, Apple Lisa & Mac) so that everyone may be free to transcend command syntax errors, one must surely forsee the expansion of such environments to make computer programming more natural and personal, with the widespread availability of the next generation man/machine interface: the mouse driven, multi- windowed, bit-mapped-graphics workstations which will allow the development of tools such as graphical programming languages, where you draw decision boxes and operation boxes and data files, and you can *SEE* the corectness of your programs, because all the execution and data paths are right there in front of your eyes, with error messages in flashing red, and data paths in cool blue, and execution paths in OK green, and warning messages in cautionary yellow, and operator input piped through the bozo filter, and in flourescent orange, everything which has changed since the last time you (or someone else) checked the source code out for edit from SCCS. Thus the computer professionals will truly have even more professional tools, and John Q. Hacker and Mary J. Coder will yet be able to forever muddle their way along writing the most twisted code you can imagine, and everyone will still be able to miscommunicate with everyone else through the modern miracle of ASCII. There will always be bozo hackers working their way up through the ranks of the burnt-out professional programmers, and programming styles will always be as varied as the people themselves. As the machines become more intelligent, it will become more and more difficult to tell programming them from using them, because they will be heuristic, just as we are. Which came first? the computer architecture? or the human thought process it was modeled on? When is the evolution not interdependent? Did you *really* want that we should all be {ADA,ALGOL,APL,BASIC,BCPL,BLISS,C,CLASSCAL,COBOL,DIBOL, ENGLISH,FORTRAN,JOVIAL,LISP,LOGO,MESA,MIX,MODULA2,PASCAL,PL/I,PROLOG,RATFOR, SNOBOL,WATFOR} clones? Don't we have enough professional standards already? Even if we ignore the variety of standard languages, just look at the number of incompatible implementations of any one of the above languages! Not to mention the flavors of each language (e.g. {FORTRAN{II,IV,V},f77}). The problem is sociological in nature: the general attitude is one of: "I'm in favor of standards. Would you like to support mine?" Even if you could compile my code, how shall I send it? 300 or 1200 baud? bandwidth limited ASCII? Xon Xoff handshake? will the data stream be carying plain text? DES cypher? X.25 packets? XNS? IP/TCP? TCP/IP? which rev? I *AM* in favor of standards, and I'm even humble enough to adopt yours rather than insisting on mine, but you are one voice in many, few of which agree. I've seen this industry saved year after year by the latest standard, for over a decade. Why should programming (communicating an idea from one machine (you) to another (your subservient computer)) be any different than any other area of human endeavor where diversity is the rule? If we can't all speak the same language to each other, ({English{Queen's,Austrailian, American{Southern, Northern,Western}},French,Italian,Latin,Spanish,Greek...}), how can we expect to all speak the same language to our computers? AHA! Our big chance for sociological transformation...let's create a universal computer based language and let that become the standard to replace all the above programming languages and all the above human languages. NEWSPEAK!! [ucbvax,decvax,ihnp4]!sun!sunny (Sunny Kirsten of Sun Microsystems)
minow@decvax.UUCP (Martin Minow) (05/30/84)
Along with a few other people on this network, my programming experience reaches back into the dim, distant past: I wrote more-or-less raw machine code for Illiac I, SPS and Autocoder for the IBM 1401, punched many boxes of cards in Fortran II, Mad, and assembler for the IBM 7090, wrote Algol on papertape for Trask (a Swedish transistorized descendent of Illiac I), punched more boxes of cards for an IBM 360, and have been using minicomputers and timesharing systems for about 12 years now. I prefer the flexibility and speed of composition of today's interactive environment. Joss and Basic (both about 20 years old now) are the two single greatest advances in computer engineering since Grace Hopper invented Cobol and Don Wheeler invented the subroutine call. A friend recently mentioned that he read a study comparing programming environments. They concluded that the most cost-effective environment was interactive Basic. This is in full aggreement with my experiences. One of the problems with proffesorial decrees on the theories of software engineering is that none of them have ever written a "real-world" program, such as a payroll or warehouse receiving system. Turns out that the real world isn't quite as well organized as one would like, and tools honed by the task of moving queens around on a chessboard aren't always suitable for the task of deciding where to put the 25 tons of steel rod that just arrived at the loading dock. Martin Minow decvax!minow