HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

19
HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik

Transcript of HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

Page 1: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

How programming language influence interaction and culture

Ivar Tormod Berg Ørstavik

Page 2: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

Can morphology in programming languages influence interaction among programmers?

Page 3: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

Philosophy of Computer Science

• Floridi on the Philosophy of Information (PI.a.i-ii)

• White 2004: the Philosophy of Programming language

• Shute 2006: abstraction and the human element

What are the reciprocate dialectics between human minds and ICT?

Page 4: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

What’s missing?

• Empirical examples

• That grounds and justifies our theories

• Strategically choose social theories on language and language use

But how to get that?

Page 5: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

Dialogism

• Language is socially constructed

• ”[Language] is populated with the intentions of others”

• Actions and perceptions as compositions of others voices.

Page 6: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

Social semantic taxonomy

a tree

2+2 = 4

e = mc 2

a tree

a tree

a tree

a tree

a tree

a tree

a tree

4 + 4 = 8

2 + 2 = 4

2 + 2 = 4

2 + 2 = 4

2 + 2 = 4

2 + 2 = 4

2 + 2 = 4

Page 7: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

A social semantic focus

• Social structures are seen not only side by side with language, but also as within language itself.

• To understand language we need to understand the interaction that surrounds it.

Page 8: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

Analysis

How do programmers use the words of others?

» ’path-relative types’ in Python (and Java)

» ’URL-types’ in theJ

Page 9: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

minidomPrinter.pyimport xml.dom.minidom

def printDocument(text): dom = xml.dom.minidom.parseString(text) print "<html>" for line in dom.getElementsByTagName("line"): print "<p>%s</p>" % getText(line) print "</html>"

def getText(node): text = node.childNodes[0] if text.nodeType == node.TEXT_NODE: return text.data return ""

document = "<text><line>hello!</line><line>goodbye..</line></text>"printDocument(document)

Page 10: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

Path-relative type morphology

• a compound act: a) write a word

b) obtain the word text

c) update path

• Words interpreted within– a path

– an inter-textual context

• Words depend on each other to function and make sense

class Strange { while (…) ... }

class Strange { while (…) ... }

class Strange { while (…) ... }

class OtherE { while (…) ... }

class Thing { while (…) ... }

class Strange { while (…) ... }

class Some { while (…) ... }

class ClassE { while (…) ... }

class ClassB { ClassD d = ClassC.work(); }

class MyClass { ClassA a = ClassB.work(); }

class ClassC { if (…) ... }

class ClassA { ClassC c = ClassE.do(); }

class ClassD { for (…) ... }

class MyClass { ClassA a = ClassB.work(); }

?

? ?

?

Page 11: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

Social interaction with words

Path-relative type morphology does as much for programming as the concept of a leather ball and an enclosed pitch does for soccer.

Reciprocally programmers can ‘hide’ incomprehensible problematic details from other programmers who can then ‘neglect’ to learn and focus on these details (cf. Shute 2006).

Page 12: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

Social interaction with words

• But there are practical, social and ethical concerns.

• ’Terms’ and intentions are associated with using others words

• Look ahead! Chains of dependencies between words cause social and practical problems.

Page 13: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

class Strange { while (…) ... }

class Strange { while (…) ... }

class Strange { while (…) ... }

class OtherE { while (…) ... }

class Thing { while (…) ... }

class Strange { while (…) ... }

class Some { while (…) ... }

package org.jdom;class Element { while(...) ...} class HelloJDOM {

org.jdom.Element... … { Exception ... }package java.lang;class Exception { while(...) ...

}

class ClassD { for (…) ... }

class ClassE { while (…) ... }

class ClassA { for (…) ... }

class ClassB { while (…) ... }

Page 14: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

Second or third party?

• Issuing standard libraries fix many practical problems.

• But programmers outside this sphere wanting to team up still face problems.

• This makes it easier for programmers to use the standard words, and harder for ’third parties’ to get their voice heard.

Page 15: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

Actions shaping morphology

• MAS – needed collaboration of Java code across different inter-textual run-time

• In principle the same practical, social and technical issues as at design-time

• Manual ’fixes’ not an option run-time

• Could we change how we use morphological forms?

Page 16: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

theJpackage thej; import ftp://213.221.2.15/consult/EAMKA_02_05/client/lib/jdom-1.0.jar/org.jdom.*; import ftp://213.221.2.15/consult/EAMKA_02_05/client/lib/jdom-1.0.jar/org.jdom.input.*;

public class ExampleTwo { public static void main(String[] args) { http://the.hist.no/thej.ExampleOne parserA = new http://the.hist.no/thej.ExampleOne("<b>","</b>"); SAXBuilder parserB = new SAXBuilder(); try { parserB.build(args[0]); } catch (JDOMException e) { System.err.println(parserA.taggThis(e.getMessage())); } catch (Exception e) { System.out.println(e); } } }

Page 17: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

Morphology changing actions

• Changed the front-(compiler) and back-end (JVM)

• Changes interaction in chained dependency contexts

• Everyone are potential second parties– Everyone is untrustworthy and a security risk

Page 18: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

Morphology changing actions

• Resolves a technical problem using OO as an inter-program language run-time

• Also, enables dangerous, but still freer use of ’third party words’– No standard library!– Replaced by a search engine– Openness key, write code in wikis

• A new morphology gave a philosophical hindsight into old morphology

Page 19: HiST How programming language influence interaction and culture Ivar Tormod Berg Ørstavik.

HiST

“Language exerts hidden power, like a moon on the tides.”

Rita Mae Brown