Human languages and machine codes share similarities, despite machine language originating from logics/math and natural language being a cognitive ability.
▸ 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
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
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
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)
▸ 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
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
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
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
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
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
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
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)
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
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