Why functional programming matters
The Computer Journal - Special issue on Lazy functional programming
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Using threads in interactive systems: a case study
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
The discoveries of continuations
Lisp and Symbolic Computation - Special issue on continuations—part I
Information rules: a strategic guide to the network economy
Information rules: a strategic guide to the network economy
The influence of browsers on evaluators or, continuations to program web servers
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Communications of the ACM
Communications of the ACM
Communications of the ACM
Letters to the editor: go to statement considered harmful
Communications of the ACM
Correspondence between ALGOL 60 and Church's Lambda-notation: part I
Communications of the ACM
Design of a separable transition-diagram compiler
Communications of the ACM
Motivation, Knowledge Transfer, and Organizational Forms
Organization Science
Using HCI Techniques to Design a More Usable Programming System
HCC '02 Proceedings of the IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02)
Hints on programming language design.
Hints on programming language design.
Capriccio: scalable threads for internet services
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Information diffusion through blogspace
Proceedings of the 13th international conference on World Wide Web
Mirrors: design principles for meta-level facilities of object-oriented programming languages
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
An Empirical Study of Programming Language Trends
IEEE Software
Cooperative bug isolation
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Seminal: searching for ML type-error messages
Proceedings of the 2006 workshop on ML
The Change Function: Why Some Technologies Take Off and Others Crash and Burn
The Change Function: Why Some Technologies Take Off and Others Crash and Burn
Evolving a language in and for the real world: C++ 1991-2006
Proceedings of the third ACM SIGPLAN conference on History of programming languages
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Rethinking the Computer Music Language: SuperCollider
Computer Music Journal
Iterative context bounding for systematic testing of multithreaded programs
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Confessions of a used programming language salesman
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
An Introduction to the Construction and Verification of Alphard Programs
IEEE Transactions on Software Engineering
Implementation and use of the PLT scheme Web server
Higher-Order and Symbolic Computation
Learning from mistakes: a comprehensive study on real world concurrency bug characteristics
Proceedings of the 13th international conference on Architectural support for programming languages and operating systems
Design as exploration: creating interface alternatives through parallel authoring and runtime tuning
Proceedings of the 21st annual ACM symposium on User interface software and technology
ACM Transactions on Programming Languages and Systems (TOPLAS)
The intellectual challenge of CSCW: the gap between social requirements and technical feasibility
Human-Computer Interaction
Trace-based just-in-time type specialization for dynamic languages
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Flapjax: a programming language for Ajax applications
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
On understanding data abstraction, revisited
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Is transactional programming actually easier?
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Privacy wizards for social networking sites
Proceedings of the 19th international conference on World wide web
Spark: cluster computing with working sets
HotCloud'10 Proceedings of the 2nd USENIX conference on Hot topics in cloud computing
Faith, hope, and love: an essay on software science's neglect of human factors
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Evaluation and Usability of Programming Languages and Tools
Empirical software engineering at Microsoft Research
Proceedings of the ACM 2011 conference on Computer supported cooperative work
Java generics adoption: how new features are introduced, championed, or ignored
Proceedings of the 8th Working Conference on Mining Software Repositories
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
An Evaluation of Vectorizing Compilers
PACT '11 Proceedings of the 2011 International Conference on Parallel Architectures and Compilation Techniques
How not to survey developers and repositories: experiences analyzing language adoption
Proceedings of the ACM 4th annual workshop on Evaluation and usability of programming languages and tools
Empirical analysis of programming language adoption
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Secure development tool adoption in open-source
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
Social influences on secure development tool adoption: why security tools spread
Proceedings of the 17th ACM conference on Computer supported cooperative work & social computing
An Empirical Investigation into Programming Language Syntax
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.00 |
Why do some programming languages fail and others succeed? What does the answer tell us about programming language design, implementation, and principles? To help answer these and other questions, we argue for examining the sociological groundings of programming language theory: socio-PLT. Researchers in the social sciences have studied adoption in many contexts. We show how their findings are applicable to programming language design. For example, many programming language features provide benefits that programmers cannot directly or immediately observe and therefore may not find compelling. From clean water to safe sex, the health community has repeatedly identified and surmounted similar observability barriers. We use such results from outside of programming language theory to frame a research agenda that should help us understand the social foundations of languages. Finally, we examine implications of our approach, such as for the design space of language features and the assessment of scientific research into programming languages.