"The Programming Language Called Classical Chinese" by David Branner

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2015
  • In this talk I present some of the ideas of context-free grammars and type systems, using Classical Chinese (the written language of common East Asian tradition) for the examples. Why Classical Chinese? Because you can fully describe the syntax of Classical Chinese using simple cases of these bedrock programming-language principles. What an astonishing and beautiful fact!
    As I introduce the principles I will illustrate them with actual examples, so that the discussion stays concrete. But you will need no prior exposure to Chinese; I will supplement Chinese script with tokens that monolingual English speakers can read.
    This talk comes out of a long gestation - years of working to make Classical Chinese accessible to learners in their early stages, and then coming to grips with theoretical computer science for myself. My aims are for the listener to observe how to apply basic ideas of context-free grammar and type systems to a highly unusual subject - and in the process to learn the outline of the elegant logical system at the core of Classical Chinese.
    David Branner
    David Branner is a student of Chinese language in its many forms and time-periods. After an academic career in the subject, he retired very early from his university and eventually found a more satisfying way to prosecute this quest by working as a coder. While following this path he spent the better part of two years at the Recurse Center in New York.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 12

  • @cliffxuan
    @cliffxuan 7 ปีที่แล้ว +18

    His pronunciation of Mandarine Chinese is really clear and accurate.

  • @glefogleforoma1329
    @glefogleforoma1329 3 ปีที่แล้ว +4

    i have self- taught myself mandarin for last 4 years, i am a native english speaker, and i also have taught myself some ancient/classical chinese "wenyanwen" "guyu" i identify with what he is saying about holding my opinions about what the meanings on the word in the sentences mean until i reach the point where the ambiguity is resolved. this concept can be illustrated very well using 白马非马 in chinese you can have an argument about this sentence, because it can mean different things, such as, a white horse is not a horse, but can also mean, the quality of horse whiteness, isn't in the category of horseness, etc

  • @untitled7050
    @untitled7050 5 ปีที่แล้ว +6

    Oh that's good. I have a plan to make a teaching video of classical Chinese. I recently prepared to make the first episode to introduce what is classical Chinese and its characteristics. But basically, he said what I wanna say. I never thought that foreigners would understand the classical Chinese in such a deep extent(In particular analyzes classical Chinese from the perspective of grammatical analysis). This is quite remarkable for foreigners.

    • @christopherdonaghue2461
      @christopherdonaghue2461 4 ปีที่แล้ว +2

      Please don't let the existence of this video dissuade you from making your own.

  • @TrippLilley
    @TrippLilley 8 ปีที่แล้ว +10

    "to Hampton" - to behave as appropriate to the Hamptons.

  • @jinxinliu2497
    @jinxinliu2497 7 ปีที่แล้ว +16

    The translation of 君子固窮 is incorrect. The correct translation should be "A nobel man insists on his principles even in a plight/even in a desperate situation". In classical Chinese, "窮" means a difficult or desperate situation, while to express poverty/poor one will use "貧".

  • @likethemagician
    @likethemagician 8 ปีที่แล้ว +3

    This is fascinating. You might be interested to know that the syntactical distinction between nominal and verbal word classes is also weak or nonexistent in other languages, too, such as the Austronesian language Tongan, as well as some Native American languages, such as the Salishan language Nuxalk, where a given word may have a lexically nominal meaning but be inflected verbally and vice-versa. However, the obligatory presence of inflections obviously prevents them from being context-free, I suppose.
    The serial verb constructions you identify are also fairly common globally, often with idiomatic meanings for verb strings, including stative verb combinations.

    • @Lightshayde
      @Lightshayde 4 ปีที่แล้ว +2

      In fact, the suggestion for Archaic Chinese (of the period of the composition of the Shijing, among other texts) is that many words may also have been verbally inflected, though this inflection is not reproduced in the writing at any point in time.
      Modern Chinese does not have verbal inflection of its words, but it also has a more complicated grammar that probably cannot fit into a CFG model.
      Of course it is important to note with respect to Dr. Branner's conclusions that Classical Chinese, as a written language, was never a natural language--it has always been to some extent "artificialized" and "engineered" to have rhetorical character and multivalence. So the inflections and/or any possible multisyllabicity present in the phonology of a character in the language of Archaic Chinese, or any other Chinese language, have little impact on the artificial grammar of Classical Chinese, or with Dr. Branner's conclusions here.

  • @dlwatib
    @dlwatib 5 ปีที่แล้ว +9

    Chinese has a couple of things in common with programming languages, but that doesn't make it a programming language. I'll point out one more similarity: the contextual nature of noun versus verb is similar to the contextual nature of data versus code in Lisp.
    That said, programming languages do in fact have particles, non-optional "reserved words" which disambiguate and contextualize the expressions and statements in the language. They also make heavy use of punctuation for grouping, context and disambiguation.
    Programming languages are fundamentally about describing two things: procedures and functions. Procedures list the actions ("side effects") necessary to accomplish a task using the inputs given, functions describe a value to be derived from its input parameters. Many languages like to blur the boundary between them, but the fundamental distinction remains. Object oriented languages add a third fundamental thing, methods, which can be regarded as merely procedures attached to objects and which have permission to access and update their object's state, among other side effects. Ancillary to describing procedures and functions, there is usually a need to describe inert data (constants, literals, initialized variables) as well. The use of context free grammars to describe programming languages is not a defining quality, it's merely an optional but convenient implementation detail. Recursion in the grammar is also not a defining quality of programming languages, though it has become typical in higher level languages since it was first used in Algol 60. Assembly languages, for the most part, still do not support recursive grammar structures.

  • @nikhilprem7998
    @nikhilprem7998 2 ปีที่แล้ว

    I came here for a question, what programming language do you use in China, is it languages like Python, C++... or do you use your own made up languages? If yes then how many languages do you have, is it one main programming language or are the newer languages based on the older languages? Do you have high and low level languages? Is it based on Mandarin?
    If you have a different programming language then how do you read code from the rest of the world, and the resources which is open source do you loose all of them ??

  • @JiyinYiyong
    @JiyinYiyong 8 ปีที่แล้ว

    As I can remember we are calling it Ancient Chinese.