,PROGRAMMING TELLING A MACHINE WHAT TO DO IS YOUNGER THAN THE CAR AND OLDER THAN THE TRANSISTOR4 ,ITS HISTORY RUNS FROM PUNCHED CARDS ON LOOMS1 THROUGH PAPER SKETCHES OF MACHINES THAT WERE NEVER BUILT1 TO THE GLOBAL WEB OF LANGUAGES THAT SOFTWARE IS WRITTEN IN TODAY4 ,EVERY IDEA ON THIS PAGE IS A LINK2 FOLLOW THEM AND THE STORY UNFOLDS4 ,BEFORE THE MACHINE . THE CARDS CHAINED ABOVE THE HEAD CARRIED THE PROGRAM.>.> ,THE ,JACQUARD LOOM "<#AHJA#AHJD"> ,THE FIRST DEVICE CONTROLLED BY A STORED PATTERN OF INSTRUCTIONS WAS NOT A COMPUTER AT ALL4 ,JOSEPH-,MARIE ,JACQUARD'S LOOM USED CHAINS OF PUNCHED CARDS TO WEAVE COMPLEX IMAGES INTO FABRIC AUTOMATICALLY4 ,THE IDEA THAT HOLES IN A CARD COULD ENCODE AN OPERATION SEQUENCE AND THAT SWAPPING CARDS MEANT SWAPPING THE PROGRAM IS THE CONCEPTUAL SEED OF ALL PROGRAMMING4 ,LYON WEAVERS RIOTED AGAINST IT2 THE MACHINE WON ANYWAY1 AND WITHIN A DECADE ELEVEN THOUSAND LOOMS WERE RUNNING CARD DECKS ACROSS ,FRANCE4 . IN #AHFJ HE DREW THE COMPUTER BEFORE ANYONE COULD BUILD ONE.>.> ,BABBAGE AND ,LOVELACE "<#AHCJ;S#AHDC"> ,CHARLES ,BABBAGE DESIGNED THE ,DIFFERENCE ,ENGINE AND THEN THE ,ANALYTICAL ,ENGINE1 A GENERAL-PURPOSE MECHANICAL COMPUTER WITH AN ARITHMETIC UNIT "<8THE MILL0">1 MEMORY "<8THE STORE0">1 AND CONTROL FLOW DRIVEN BY PUNCHED CARDS THE SAME CARDS ,JACQUARD USED4 ,IT WAS NEVER FINISHED2 MACHINING TOLERANCES AND FUNDING RAN OUT1 AND THE DESIGN WAITED A CENTURY FOR THE CENTURY THAT COULD BUILD IT4 . IN THE FAMOUS #AHCF PORTRAIT THE FIRST PROGRAMMER OF A MACHINE THAT DIDN'T EXIST.>.> ,ADA ,LOVELACE1 TRANSLATING A PAPER ON THE ENGINE IN #AHDC1 ADDED A SERIES OF NOTES FAR LONGER THAN THE PAPER ITSELF INCLUDING A WORKED METHOD FOR COMPUTING ,BERNOULLI NUMBERS THAT IS OFTEN CALLED THE FIRST PUBLISHED COMPUTER PROGRAM4 ,SHE ALSO SAW WHAT ,BABBAGE LARGELY DID NOT3 THAT SUCH A MACHINE COULD MANIPULATE SYMBOLS1 NOT JUST NUMBERS MUSIC1 TEXT1 IDEAS4 ,A HUNDRED YEARS BEFORE THE STORED PROGRAM RAN1 SHE HAD ALREADY WRITTEN THE REASON TO WANT ONE4 ,PUNCH CARDS GO PRACTICAL "<#AHIJ"> . THAT COUNTED A NATION.>.> ,HERMAN ,HOLLERITH'S PUNCHED-CARD TABULATOR CUT THE ,UNITED ,STATES CENSUS FROM YEARS TO MONTHS4 ,HIS COMPANY EVENTUALLY BECAME ,,IBM1 AND CARD-BASED DATA PROCESSING RAN THE BUSINESS WORLD FOR THE NEXT EIGHTY YEARS THE CARD ,JACQUARD INVENTED TO WEAVE CLOTH ENDED UP COUNTING PEOPLE1 PAYING WAGES1 AND FEEDING THE FIRST ELECTRONIC COMPUTERS4 ,THE #HJ-COLUMN CARD BECAME SO STANDARD THAT ,,FORTRAN'S FIXED-COLUMN SYNTAX1 TERMINAL WIDTHS1 AND PRINT LAYOUTS STILL CARRY ITS PROPORTIONS4 ,THE THEORY ARRIVES BEFORE THE HARDWARE . AT SIXTEEN HE DEFINED COMPUTATION BEFORE COMPUTERS EXISTED.>.> ,IN #AICF ,ALAN ,TURING DESCRIBED A UNIVERSAL MACHINE A TAPE1 A HEAD1 AND A TABLE OF RULES THAT COULD COMPUTE ANYTHING COMPUTABLE4 ,ALONZO ,CHURCH REACHED THE SAME BOUNDARY INDEPENDENTLY WITH LAMBDA CALCULUS4 ,BEFORE ANYONE HAD BUILT A REAL COMPUTER1 MATHEMATICIANS HAD ALREADY DEFINED WHAT PROGRAMMING WAS3 DESCRIBING A PROCEDURE PRECISELY ENOUGH FOR A MACHINE TO FOLLOW4 ,IN ,GERMANY1 ,KONRAD ,ZUSE BUILT THE ,Z#C "<#AIDA"> THE FIRST WORKING1 PROGRAMMABLE1 FULLY AUTOMATIC DIGITAL COMPUTER1 ASSEMBLED IN HIS PARENTS' LIVING ROOM AND DESIGNED ,PLANKALK;L "<#AIDB#DE"> THE FIRST HIGH-LEVEL PROGRAMMING LANGUAGE EVER CONCEIVED1 WITH STRUCTURED DATA1 LOOPS1 AND CONDITIONALS1 DECADES AHEAD OF ITS TIME AND NEVER IMPLEMENTED IN HIS LIFETIME4 ,THE FIRST PROGRAMMERS . ,,ENIAC "<#AIDE"> CALCULATED ARTILLERY TABLES AT ELECTRONIC SPEED BUT 8PROGRAMMING0 IT MEANT PHYSICALLY REWIRING PANELS WITH CABLES AND SWITCHES4 ,THE PEOPLE WHO DID THAT WORK ,KAY ,MC,NULTY1 ,BETTY ,JENNINGS1 ,BETTY ,SNYDER1 ,MARLYN ,WESCOFF1 ,FRAN ,BILAS1 AND ,RUTH ,LICHTERMAN SEE ,THE FIRST PROGRAMMERS WERE THE FIRST MODERN PROGRAMMERS1 INVENTING SUBROUTINES AND DEBUGGING AS THEY WENT1 LARGELY UNCREDITED FOR DECADES4 . THE ,,EDVAC REPORT MADE THE STORED PROGRAM A DESIGN.>.> ,THE STORED-PROGRAM IDEA KEEPING INSTRUCTIONS IN MEMORY ALONGSIDE DATA WAS LAID OUT IN THE #AIDE ,,EDVAC REPORT ASSOCIATED WITH ,JOHN VON ,NEUMANN1 AND FIRST RAN ON THE ,MANCHESTER ,BABY "<#AIDH"> AND ,,EDSAC "<#AIDI">4 ,FROM THEN ON1 A PROGRAM WAS DATA YOU COULD WRITE DOWN1 SAVE1 AND SHARE SOFTWARE WAS BORN4 ,SOFTWARE BECOMES AN INDUSTRY ,THE #AIEJ;S TURNED LABORATORIES INTO VENDORS4 ,,UNIVAC ,I "<#AIEA"> BUILT BY ,MAUCHLY AND ,ECKERT AFTER THEY LEFT ,PENN1 WITH ,BETTY ,JENNINGS AND ,BETTY ,SNYDER ON ITS PROGRAMMING TEAM WAS THE FIRST COMMERCIAL ,AMERICAN COMPUTER1 FAMOUS OVERNIGHT WHEN IT PREDICTED THE ,EISENHOWER LANDSLIDE ON LIVE TELEVISION IN #AIEB4 ,,IBM'S #GJA FOLLOWED1 THEN THE #GJD THAT ,,FORTRAN WAS BUILT FOR4 ,COMPUTERS STOPPED BEING ONE-OFF EXPERIMENTS AND BECAME PRODUCTS AND PRODUCTS NEEDED PROGRAMS PEOPLE COULD ACTUALLY WRITE4 ,THAT NEED CREATED THE JOB TITLE3 8CODER0 SPLIT FROM 8OPERATOR10 AND THEN FROM 8PROGRAMMER0 ENTIRELY4 ,ASSEMBLERS TURNED NUMERIC OPCODES INTO MNEMONIC TEXT2 FLOWCHARTS BECAME DOCUMENTATION2 THE FIRST PROGRAMMING LIBRARIES ,WILKES'S ,,EDSAC TAPE CABINET MEANT SOFTWARE COULD FINALLY BE SHARED RATHER THAN RE-DERIVED4 ,THE AGE OF LANGUAGES . IN HER ,NAVY UNIFORM SHE BUILT THE FIRST COMPILER.>.> ,THE FIRST PROGRAMS WERE RAW NUMBERS MACHINE CODE4 ,ASSEMBLY LANGUAGE GAVE EACH INSTRUCTION A NAME4 ,THEN ,GRACE ,HOPPER'S ,A-#J SYSTEM "<#AIEB"> BECAME THE FIRST COMPILER3 A PROGRAM THAT WRITES PROGRAMS4 ,THE IDEA WAS MET WITH SKEPTICISM MACHINES1 PEOPLE SAID1 SHOULD BE PROGRAMMED BY HAND AND IT CHANGED EVERYTHING ANYWAY4 ,HOPPER'S FAMOUS RULE DATES FROM THIS FIGHT3 IT IS EASIER TO ASK FORGIVENESS THAN PERMISSION4 ,THE #AIEJ;S3 NAMES THAT STILL ECHO - ,,FORTRAN "<#AIEG1 ,,IBM1 ,JOHN ,BACKUS"> 8,F,O,RMULA ,T,R,A,NSLATION10 THE FIRST PRACTICAL HIGH-LEVEL LANGUAGE4 ,STILL RUNNING IN SCIENTIFIC COMPUTING4 - ,,LISP "<#AIEH1 ,JOHN ,MC,CARTHY"> LISTS1 RECURSION1 AND THE SEED OF FUNCTIONAL PROGRAMMING AND SYMBOLIC ,,AI4 - ,,ALGOL "<#AIEH_/#FJ"> INTRODUCED BLOCK STRUCTURE1 SCOPE1 AND THE NOTATION "<,,BNF"> USED TO DESCRIBE LANGUAGES THEMSELVES4 ,NEARLY EVERY LANGUAGE SINCE IS ITS DESCENDANT4 - ,,COBOL "<#AIEI1 THE ,,CODASYL COMMITTEE CHAMPIONED BY ,GRACE ,HOPPER1 CO-EDITED BY ,,ENIAC VETERAN ,BETTY ,HOLBERTON"> ,ENGLISH-FLAVORED BUSINESS LANGUAGE2 ENORMOUS ,,COBOL SYSTEMS STILL RUN BANKS AND GOVERNMENTS4 ,THE #AIFJ;S3 PROGRAMMING FOR EVERYONE - ,,BASIC "<#AIFD1 ,JOHN ,KEMENY AND ,THOMAS ,KURTZ1 ,DARTMOUTH"> ,BEGINNER'S ,ALL-PURPOSE ,SYMBOLIC ,INSTRUCTION ,CODE4 ,THE RADICAL IDEA WAS NOT THE LANGUAGE BUT THE AUDIENCE3 STUDENTS1 NOT SPECIALISTS4 ,COMBINED WITH TIME-SHARING1 IT LET A WHOLE CAMPUS PROGRAM AT ONCE AND IT IS ,ADA,LOGIC ,,BASIC'S DIRECT ANCESTOR IN SPIRIT4 - ,SIMULA "<#AIFG"> THE FIRST LANGUAGE WITH OBJECTS AND CLASSES1 THE CONCEPT THAT WOULD LATER DOMINATE4 - ,LOGO "<#AIFG1 ,SEYMOUR ,PAPERT"> A CHILD-FRIENDLY LANGUAGE WITH TURTLE GRAPHICS2 PROGRAMMING AS A WAY TO THINK1 NOT JUST TO COMPUTE4 ,THE #AIGJ;S3 THE TOOLS THAT ENDURE - ,PASCAL "<#AIGJ1 ,NIKLAUS ,WIRTH"> CLEAN1 STRICT1 BUILT FOR TEACHING2 FOR A GENERATION IT WAS 8LEARNING TO PROGRAM40 - ;,C "<#AIGB1 ,DENNIS ,RITCHIE1 ,BELL ,LABS"> WRITTEN TO BUILD ,,UNIX4 ,CLOSE TO THE MACHINE1 PORTABLE EVERYWHERE2 STILL THE LINGUA FRANCA OF SYSTEMS CODE4 - ,SMALLTALK "<#AIGB1 ,XEROX ,,PARC"> OBJECTS1 MESSAGES1 AND A LIVE ENVIRONMENT INSIDE THE GRAPHICAL INTERFACE IDEAS THAT BECAME THE MODERN DESKTOP4 - ,PROLOG "<#AIGB"> AND ,,SQL "<#AIGD"> PROGRAMMING BY DESCRIBING WHAT YOU WANT1 NOT HOW TO GET IT4 ,THE #AIHJ;S3 THE HOME COMPUTER WAVE ,THE ,APPLE ,,II1 ,COMMODORE #FD1 AND ,,ZX ,SPECTRUM SHIPPED WITH ,,BASIC IN ,,ROM THE MACHINE BOOTED STRAIGHT INTO A PROGRAMMING PROMPT4 ,MILLIONS OF PEOPLE WROTE THEIR FIRST LINE OF CODE ON ONE2 A LARGE PART OF THE MODERN SOFTWARE INDUSTRY STARTED WITH #AJ ,,PRINT LOOPS ON HOME MACHINES4 ,A ,C#FD OUT OF THE BOX WAS A LANGUAGE ENVIRONMENT1 A GRAPHICS TABLET1 AND A SYNTHESIZER IN ONE AND MAGAZINES PRINTED FULL PROGRAMS TO TYPE IN BY HAND1 MAKING CODE A MASS MEDIUM4 ,MEANWHILE ,ADA1 DESIGNED FOR THE ,,US ,DEPARTMENT OF ,DEFENSE IN #AIGG#GI AND STANDARDIZED AS ,,MIL-,,STD-#AHAE IN #AIHJ1 WAS BUILT FOR SAFETY-CRITICAL SYSTEMS NAMED FOR ,ADA ,LOVELACE ,C"6"6 "<,BJARNE ,STROUSTRUP1 MID-#HJ;S"> GREW OBJECTS ONTO ;,C1 AND ,TURBO ,PASCAL "<#AIHC"> MADE A FAST COMPILER CHEAP ENOUGH FOR ANYONE THE FIRST ,,IDE MOST PEOPLE EVER SAW4 ,THE #AIIJ;S3 THE INTERNET ERA - ,PYTHON "<#AIIA1 ,GUIDO VAN ,ROSSUM"> READABILITY AS A DESIGN GOAL4 - ,JAVA "<#AIIE"> 8WRITE ONCE1 RUN ANYWHERE0 ON A MANAGED VIRTUAL MACHINE4 - ,JAVA,SCRIPT "<#AIIE1 ,BRENDAN ,EICH"> DESIGNED IN DAYS FOR THE BROWSER2 NOW THE MOST-RUN LANGUAGE EVER WRITTEN4 - ,RUBY AND ,,PHP "<#AIIE"> WEB AND SCRIPTING STAPLES4 - ,VISUAL ,BASIC "<#AIIA"> DRAG-AND-DROP WINDOWS PLUS ,,BASIC3 DESKTOP PROGRAMMING FOR THE REST OF US4 ,THE #BJJJ;S AND BEYOND3 SAFETY1 SCALE1 SPEED ,C_? "<#BJJJ"> ANCHORED 4,,NET2 ,GO "<#BJJI"> AND ,RUST " CHASED SIMPLICITY AND MEMORY SAFETY2 ,TYPE,SCRIPT "<#BJAB">1 ,KOTLIN1 ,SWIFT1 ,JULIA1 AND ,ZIG EACH CLAIMED A NICHE4 ,AND IN THE #BJBJ;S1 ,,AI-ASSISTED TOOLS BEGAN WRITING CODE ALONGSIDE PEOPLE THE NEWEST CHAPTER IN A STORY THAT STARTED WITH HOLES IN PAPER CARDS4 ,THE LANGUAGE FAMILY TREE ,YEAR ,LANGUAGE ,DESIGNER ,DESCENDS FROM #AIEG ,,FORTRAN ,JOHN ,BACKUS THE FIRST #AIEH ,,LISP ,JOHN ,MC,CARTHY LAMBDA CALCULUS #AIFJ ,,ALGOL ,COMMITTEE INVENTED STRUCTURE #AIFD ,,BASIC ,KEMENY @& ,KURTZ ,,FORTRAN SIMPLIFIED #AIGJ ,PASCAL ,WIRTH ,,ALGOL #AIGB ;,C ,RITCHIE ,,ALGOL ,,BCPL ;,B #AIHJ ,ADA ,DO,D _/ ,ICHBIAH ,PASCAL _/ ,,ALGOL #AIIA ,PYTHON VAN ,ROSSUM ,,ABC _/ ;,C #AIIE ,JAVA,SCRIPT ,EICH ;,C SYNTAX1 ,SCHEME IDEAS #BJAE ,RUST " ,GRAYDON ,HOARE ,C"6"6 _/ ,,ML #BJAG"6 ,ADA,LOGIC ,,BASIC ,ROCKY ;,L4 ,OLIVER ,ADA "6 ,,BASIC ,THE SHAPE OF THE STORY ,ERA ,SHIFT #AHJJ;S#AIDJ;S ,PROGRAMS AS HARDWARE3 CARDS1 CABLES1 REWIRING #AIEJ;S ,PROGRAMS AS TEXT3 ASSEMBLERS1 THEN COMPILERS #AIFJ;S#GJ;S ,STRUCTURE AND REACH3 BLOCKS1 OBJECTS1 PORTABILITY #AIHJ;S ,PROGRAMMING FOR EVERYONE3 ,,BASIC IN EVERY HOME MACHINE #AIIJ;S ,PROGRAMMING CONNECTED3 THE INTERNET AND MANAGED RUNTIMES #BJJJ;SNOW ,SAFETY AND SCALE AND MACHINES THAT HELP WRITE THEMSELVES ,THE CONSTANT THROUGH EVERY ERA IS THE ONE ,KEMENY AND ,KURTZ BET ON IN #AIFD3 PROGRAMMING BELONGS TO EVERYONE1 AND EACH GENERATION OF TOOLS EXISTS TO BRING THE MACHINE A LITTLE CLOSER TO THE PERSON USING IT4 ,THAT IS THE LINEAGE ,ADA,LOGIC ,,BASIC CONTINUES A MODERN ,,BASIC THAT TREATS APPROACHABILITY AND REAL POWER AS THE SAME GOAL4 ,SEE ALSO - ,THE FIRST PROGRAMMERS - ,,FORTRAN ,,LISP ,,ALGOL THE THREE FOUNDING LANGUAGES - ,ADA,LOGIC ,,BASIC - ,,REBOL THE INTERNET-FIRST MESSAGING LANGUAGE2 THE ROAD ,,JSON TOOK INSTEAD - ,HISTORY OF ,MATHEMATICS THE OLDER TWIN TIMELINE - ,HISTORY OF ,SCIENCE - ,HISTORY OF ,ELECTRICITY - ,HISTORY OF ,LANGUAGE - ,PUNCHED CARD - ,COMPILERS THE TOOLS THAT MAKE LANGUAGES RUN - ,MAIN ,PAGE ,REFERENCES #A4 ,SAMMET1 ,JEAN ;,E4 ,PROGRAMMING ,LANGUAGES3 ,HISTORY AND ,FUNDAMENTALS "<,PRENTICE-,HALL1 #AIFI">4 #B4 ,WEXELBLAT1 ,RICHARD ;,L41 ED4 ,HISTORY OF ,PROGRAMMING ,LANGUAGES "<,ACADEMIC ,PRESS1 #AIHA"> ,,HOPL ,I PROCEEDINGS4 #C4 ,BERGIN1 ,THOMAS ;,J41 AND ,RICHARD ;,G4 ,GIBSON1 EDS4 ,HISTORY OF ,PROGRAMMING ,LANGUAGES ,,II "<,,ACM ,PRESS1 #AIIF"> ,,HOPL ,,II PROCEEDINGS4 #D4 ,CERUZZI1 ,PAUL ;,E4 ,A ,HISTORY OF ,MODERN ,COMPUTING1 #BND ED4 "<,,MIT ,PRESS1 #BJJC">4