Skip to content

Instantly share code, notes, and snippets.

@pmbauer
Created September 21, 2011 18:51
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pmbauer/1232966 to your computer and use it in GitHub Desktop.
Save pmbauer/1232966 to your computer and use it in GitHub Desktop.
Strangeloop Programming Languages Panel
Programming Languages Panel
September 20, 2011
StrangeLoop
St. Louis, Missouri
Members:
Dean Wampler: Moderator
Rich Hickey: Clojure
Jeremy Ashkenas: CoffeeScript, NY Times
Dr. Gerald Sussman: MIT Prof, SICP
Allen Wirfs-Brock: Mozilla research fellow, project editor for ECMAScript 5
Joe Palmer: F# project
Andrei Alexandrescu: researcher, D programming language
What is the worst idea in programming languages that afflict us today, and what can we do to make money from it?
Alexandrescu: parenthesis *joke*
Sussman: complex syntax
"syntactic sugar causes cancer of the semicolon" - perlis
"Syntax without representation is tyranny."
Hickey: unlabeled mutability
Ashkenas: mathematics envy
Wirfs-Brock: source code in filesystem
Palmer: focus on code rather than data
Alexandrescu: dynamic scoping
implicit def of symbols is "typo-oriented programming"
Wampler: nulls
What concepts and constructs are the most important to express in a programming language? (Daniel Spiewak)
Hickey: functions and data
Wirfs-Brock: functions with data
Palmer: functions as data
Hickey: data as functions
How to introduce concepts of re-use and encapsulation for user-facing "programming" environments like Excel?
Wirfs-Brock: maybe not a space we want to be, trade-offs create worst of both worlds
must get data out of those systems into someplace that can be accessed by professional tools
don't impose concept of types in these systems
Palmer: generalized serialization formats, data/object mapping for re-use
Sussman: data dimensions as an option
Ashkenas: with appropriate abstractions, text is still the perfect way to represent code
How to harness mutli-core?
Wirfs-Brock: we are already doing it
Alexandrescu: no clear answer yet
highly specialized kernels: nlp, ml
Sussman: mechanism for interconnecting these modules is not a solved problem
need a dynamic, organic, self-organizing communication between modules
Hickey: stop telling the computer "how" to do things (Sussman says "yep")
Which language other than your own do you wish you had created?
Alexandrescu: Lisp
Palmer: COBOL, because no one else will say that *laughs*
Wirfs-Brock: Lisp
Ashkenas: Scheme
How to raise operating level of programmers or motivate programming in functional languages?
Hickey: you don't solve the problem at the programmer level
people in power must see the need and create the market
if demand is there, programmers will commit to learning
Sussman: break inertia of being like the person next to you
Palmer: ask forgiveness rather than permission, sneak stuff into production
Wirfs-Brock: environment drives adoption
internet drove Java adoption
GUI drove Smalltalk/OO adoption
Alexandrescu: take personal responsibility
demonstrate productivity to peers
On the cycle of "pop culture" software concepts ...
Wirfs-Brock: it's just fashion, cycles of human interest
Ashkenas: it's not just fashion
Sussman: It's not cyclical at all
pace of progression is so fast that what we do is made quickly obsolete
e.g. Lisp required a progression of hardware to become viable, re-spark interest
Palmer: don't focus on language, focus on problems
problems of the day drive language.
Alexandrescu: spiral but not cyclical
progressive refinement on each pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment