Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hockett’s Design Features in Computer Languages

Hockett’s Design Features in Computer Languages

Human languages and machine codes share similarities, despite machine language originating from logics/math and natural language being a cognitive ability.

Morteza Ansarinia

March 02, 2016
Tweet

More Decks by Morteza Ansarinia

Other Decks in Science

Transcript

  1. Hockett, C. D. (1960). The origin of speech. Freeman. 2

    ▸ Hockett's design features of human language. ▸ How do machine languages satisfy the Hockett’s features? ▸ Evidences that might explain similarities between machine languages and human languages, even though machines are based on mathematics and logics. ▸ Assumption: Computer languages do not replace each other, rather they complete each other towards a better implementation. Outline
  2. 4 ▸ Human uses hearing/speaking mode for language. ▸ It

    did not take sign language into account, but modi fi ed to include tactile and chemical channels. ▸ Machines use IO (input/outputs channels) in both stages of their lifetime (development and production), to receive inputs (sensors like microphone, camera, keyboard, and touchpad. and send out outputs (actuators like screen, general purpose ports, dolby speakers, and braille screens). Vocal-auditory Channel
  3. 5 ▸ Human speakers broadcast sounds in all directions, while

    audiences know who is speaking (direction). ▸ Machines: In server-client and pub-sub design patterns, servers and publisher nodes publish a message and broadcast them to all other nodes of the communication graph. Clients and subscribers however know which node sent what. Broadcast Transmission and Directional Reception
  4. 6 ▸ Human language sounds and signs exist for only

    a brief period of time, after which they are no longer perceived. ▸ However writings and quipus are more permanent. ▸ Machines: Scoped variables, caches, real-time systems, and anytime systems are prone to remove old information. In these mechanisms deadlines, tardiness, and out of scope measures are used to govern the access. Transitoriness (Rapid Fading)
  5. 8 ▸ Humans can give or receive identical linguistic messages.

    ▸ Anything one can hear, one can also say. ▸ Humans can produce all messages regardless of their truth value or relation to the speaker (unlike other species, like ants). ▸ Machines not only execute statements, bytecodes, and expressions, but also interpret on-the-go statements via interpretation or virtual machines. Interchangeability
  6. 9 ▸ Humans can feel (i.e. hear) their own speech,

    control, and modify it as they say it. ▸ Machines: Main executions fl ow can be interrupted via debug ports (JTAG/BDM), exception handling methods, debugger softwares, and supervisors. Total Feedback
  7. 10 ▸ Human: Communication (and no other biological function) is

    the most signi fi cant role of language. ▸ Machines: Communication protocols between two computers, two language, or even two modules of the same application are solely used for communication, nothing more. Specialization
  8. 11 ▸ Human: Particular sounds represent certain meanings. ▸ Machines:

    In most computer languages keywords and tokens represent exact meaning of language constructs, and are de fi ned by the language syntax. Semanticity
  9. 12 ▸ There is no logical or intrinsic connection between

    a sound signal and its meaning. Humans give a name to an object in a complete purely arbitrary way. The is no iconicity except for some sign languages (e.g., ASL). ▸ Words does not represent shapes or physical properties of an object (different language attribute different names to the same objects). ▸ Machines: Variables and expressions are called by arbitrary names that represent designer’s intention rather than a real-world object or property. Arbitrariness
  10. 13 ▸ Human: Linguistic tokens combine with each other in

    rule- governed ways (grammar). And tokens are perceived categorically (discretely), not continuously (e.g., plural morpheme). ▸ Machines: Lexical analyzers and parsers allow developers to design new general- or special-purpose languages by its building blocks (lexical representation), and rules that govern relationships and order of those blocks (parser). The rules and de fi nitions will be applied at execution time. Discreteness
  11. 14 ▸ Human language is not limited to here and

    now. And human can talk about things that are not physically present or things that do not even exist (e.g., past, future, hopes, dreams). ▸ Machines: In Scala language, Promise and Future allow machines to de fi ne hopes for incomplete computations and even use constructs that will be available in the future. Memory can also be used for something from the past. Moreover, open-world assumption (OWA) let systems to accept and use facts that do not exist. Displacement
  12. 15 ▸ Humans can produce and understand unlimited amount of

    novel statements. ▸ Language is dynamic, and constantly changes, both in grammar and semantic level. ▸ Machines: Ontologies (a.k.a Semantic Web), rule-based expert systems, and lambda functions all can be used to entail novel anonymous classes and statements. Productivity
  13. 16 ▸ In addition to innate language capabilities, human children

    learn languages in social settings, from experienced language users. ▸ Language and culture are tied up together. ▸ Machines: Knowledge discovery for expert systems, ontologies (via inter connected knowledge sources) let logical systems learn new knowledge from other systems or external resources. Since knowledge means code and data here, this technique is different from machine learning which mines new data and information. Traditional Transmission (Cultural Transmission)
  14. 17 ▸ Humans: Meaningful messages are made up of smaller

    meaningful units (words), and words are also made up of smaller meaningless units. ▸ Machine languages are not only de fi ned at two level (syntax and semantic), but also semantic uses syntactical tokens to build up complex constructs. Duality of Patterning
  15. ▸ Humans can make false or meaningless statements. ▸ Machines:

    “OpenNS uses unproved and unreliable algorithms and knowledge sources, to achieve stupidity in question answering.” Prevarication 18
  16. 19 ▸ Humans can use language to talk about languages.

    ▸ Machines: LEX and YACC (languages to de fi ne languages), and compiler-compilers can be used to de fi ne a new language. Re fl exiveness
  17. 20 ▸ Language is teachable and learnable. ▸ Human speakers

    are able to learn new language, in the same way they learn the fi rst language. ▸ Machines execute new languages by installing new compilers, interpreters or virtual machines. Learnability