Youtube - How We Used To Be - Ben Deane - CppCon 2020

How We Used To Be - Ben Deane - CppCon 2020

https://youtu.be/ip_SR9CQrxk

Transcrição

Pasted image 20240111225831.png
Jean Sammet

00:08 all right thanks so this is a lightning talk about a 50 year old book and the book is this one this one and it's by
00:22 jean samet now jean samet is a name you may not know but she is an important name in the history of programming she had a bachelor's and a master's
00:32 degree in mathematics and an honorary doctorate from her alma mater she developed the formac language for mac and she was one of the
00:41 developers of cobol but beyond that she maybe she is best known today as being the author of this book which in the words of walter brown was her
00:50 life's work and this book came out in 1969 and it covers about 120 languages there are over 800 bibliographic references in this book and there are examples for
01:04 all of the major languages that were excellent at the time it's an astonishing reference work and it's a useful insight into you know many of the things we think today are
01:13 new concerns new ideas new aspects of the programmer's condition were in fact well-known uh by 1970. so she starts out with definitions and the definition of a programming language
01:26 which seems a bit amazing sort of but but actually you know at the time they certainly needed it
01:34 and she said this interesting thing the user can write a program without knowing much if anything about the physical characteristics of the machine on which the program is to
01:43 be run and then perhaps even more telling me this same comment does not apply if if he nowadays we would use gender gender neutral pronouns

 01:37

Pasted image 20240111225944.png

01:52 but this same comment does not apply if he wishes to obtain maximum efficiency so this stuff was new at the time but the concerns of a of a we might say a high level language
02:03 laughingly um are the same the ability to fit the language to its problem domain portability desires and the abstraction afforded by the language
02:13 distinct from the hardware so she goes on to list several advantages and disadvantages of so-called high-level languages bearing in mind the high-level language at the
02:23 time we would probably now consider to be pretty low level and just like compilation time being a concern today
02:32 it was perhaps even more of a concern then because almost no matter how long the computation time the compilation time is today we can be pretty sure that the
Pasted image 20240111230046.png

02:41 runtime will outweigh it this was not the case in the late 60s you'll notice debugging is in both columns she noted that high level languages are often easier to
02:52 debug on the other hand when you need to drop into the assembly as it were a using a lower level language ie and assembly to start with will usually result in the easier time
03:03 debugging and high-level languages could obfuscate assembly and at the time there were many languages you know the late 60s was an amazing
03:13 time for programming language experimentation and all these new languages coming out many of them were not general purpose many of them were special purpose and so
03:22 there was the concern that well you don't use a string oriented language to do numerical calculations they're designed for two different things
03:30 and it's sort of an interesting thing to think about today many of the other concerns were uh the same concerns we have now in c plus uh in the case of a language designed
03:43 for use by a professional programmer as opposed to a scientist just working in a domain using programming to solve their problem major characteristic is to provide

Pasted image 20240111230200.png

03:52 maximum capability and we as professional programmers almost always want to be able to get at the machine code and this is this is our life today we always want
04:01 proof we have compiler explorer to help us out trust but verify she also said uh it should be kept in mind that the language and the means of defining the

Pasted image 20240111230227.png

04:12 language are not the same thing and somehow the standardization process must avoid eliminating or preventing technical progress and again
04:21 just from 50 years ago we lived this in c plus plus we do not define an implementation we define a standard we define a spec and somehow we have to move forward with
04:33 that spec while allowing technical progress the same concerns we have today they had 50 years ago she also warned us not to judge our stl
04:46 implementers based on what they implement because they were bound to implement that by the standard um the usefulness of the language must be
04:53 judged independently of the compilers which implement it and you know something we should remember about cpl plus 20 perhaps is only after a language has been in use
05:02 for a while can its advantages be ascertained we're not going to see all of the things we can do with 20 for another five years maybe
05:14 and in the end the problems we have today are the same problems they had then the complexities of today's large computers make it very difficult to
05:23 learn to program them at all let alone effectively you

Pasted image 20240111231251.png