Generic Type

33:18 a generic type is a map from one or more types to types put another way a generic type is a

[…]

34:38 sometimes an overloaded word is called Polymorphic which means that the word has many forms but the truth is that the word has but

[…]

36:24 Complex Number … Pair of Numbers

[…]

37:42 john horton conway wants to find a game to be a pair of sets of games see his book on numbers and games

40:34 generic types and overloaded 40:39 operators would let a user code up all of these and in such a way that they would look in all ways just like the types that are 40:44 built in they would let users grow the java programming language in a smooth and clean way and it would 40:51 not just be for numbers generic types would be good for coding hash sets for example and there are many other uses 40:57 and each user would not have to code up such number classes each for his own use when a language gives you the right 41:03 tools such classes can be coded by a few and then put up as libraries for others to use 41:09 or not as they choose but they don't have to be built in as part of the base language

41:15 if you give a person a fish you can eat for a day if you teach a person to fish he can eat 41:21 his whole life long if you give a person tools he can make a fishing pole 41:27 and lots of other tools he can build a machine to crank out fishing poles in this way he can help others to catch 41:34 fish

41:42 meta means that you step back from your own Place 41:47 what you used to do is now what you see what you were is now what you act on 41:54 Verbs Turn to Nouns what you used to think of as a pattern 42:00 is now treated as a thing to put in the Slot of an other pattern 42:05 a meta-foo is a foo in whose slots you can put parts of a foo

42:13 in a way a language design of the old school is a pattern for programs but now we 42:19 need to go meta we should now think of a language design as being a pattern for language 42:24 designs a tool for making more tools of the same kind this is the nub of what i want to say 42:32 a language design can no longer be a thing it must be a pattern a pattern for 42:38 growth a pattern for growing the pattern for defining the patterns that programmers can use for their real 42:44 work and their main goal my point is that a good programmer in these times does not just write programs 42:51 a good programmer builds a working vocabulary in other words a good programmer does language design though not from scratch 42:58 but building on the frame of a base language

43:04 in the course of giving this talk because i started with a small language i've had to define 50 or more new words 43:10 or phrases and 16 names of persons or things and i laid out six rules for making new words 43:16 from old ones in this way i added to the base language

ChatGPT Like the Child

43:21 if i were to write a book starting from just the words one syllable i am sure that i would have to define 43:27 hundreds of new words it should give no one pause to note that the writing of a program having a 43:32 million lines of code might need many many hundreds of new words 43:38 that is to say a new language built on the base language i will be so bold as to say that it 43:45 cannot be done any other way well there may be one other way which is 43:51 to use a large rich programming language that has grown over tens or hundreds of years that has 43:57 all we need to say what we want to say that we are taught as we grow up and take for granted 44:04 it may be that a hundred years from now there will be a programming language that by then is stood the test of time 44:10 needs no more changes for most uses and is used by all persons who write programs because each Child learns it in school

Language Design (see Microsoft to make ChatGPT available soon via Azure cloud service heise.de )

44:17 but that is not where we are now so language design is not at all the 44:25 same kind of work it was 30 years ago or 20 years ago

45:25 is to plan for growth 45:32 plan for growth with help from users this is a win for you because you have help this is a win for the users 45:39 because they get to have their say and get to bend the growth to their needs but you need to have one 45:45 or more persons two or one or more groups to take on the task of judging and testing and sifting what the users 45:51 do and say and adding what they think best to the big pile of code in the hope that other users will trust 45:57 what they say and not have to go to all the work to test and judge and sift each new claim 46:03 or each new piece of code each for his own self. Parts of the language must be designed 46:09 to help the task of growth of growing the language

[…]

51:17 I learned in my youth from the books of such great teachers of writing as strunk 51:23 and white that it is better to choose short words when i can i should not choose long hard words just 51:30 to make other persons think that i know a lot i should try to make my thoughts clear

51:41 From the work of planning this talk in 51:47 which i have tried to go with this rule of short words much farther than in the past i found 51:53 that for the most part they were right. Short words work well if we choose them well [⇒ Infinitely Slow Step]

[…]