User:Osrworkshops

I am a software development engineer (in the sense of designing environments for productive software development) specializing in particular in language design and implementation. My academic background (particularly at the doctoral level at University of Ottawa, Canada) focused on cognitive linguistics and philosophy of science (I also hold an undergraduate degree in mathematics and computer science and graduate degree in cultural studies). I am especially interested in the relation between computer and natural language, and how analyses of natural language (and the cognitive/conceptual underpinnings of semantic and grammatical processes, such as categorization and building relational mental models) can shed light on effective programming language design, and vice-versa. A good programming language must balance formal predictability, practical expressiveness, and understandability. These qualities are manifested in formal languages differently than in natural language: it is counterproductive, for example, to consider making coding languages easier by mimicking natural language. However, natural linguistics can provide ideas for effective programming language design, especially in areas like type systems and parsing engines. I am also interested in scientific computing, science education, and the cognitive foundations of scientific reasoning, including how these may vary across cultures (with potential application to more inclusive science and math education recognizing race, class, gender, and other parameters of social identity in non-reductive ways). In the specific area of code security I strongly believe in prioritizing respect for privacy, awareness of security threats, and sensitivity to the social and economic dimensions of information security, insofar as computer software becomes increasingly enmeshed in many people's everyday lives and acquires a degree of familiarity, habitualitity, and ubiquitousness that can diminish user's sensitivity to security risks. Concepts in scientific computing (like dimensional analysis and range checking) also have applications to security. More narrowly, I am interested in how languages and code which enforces or is affected by security policies can be produced as clearly and efficiently as possible, to ensure the widespread adoption of good security tools and designs.