Programming Language Cultures

Programming Language Cultures
Title Programming Language Cultures PDF eBook
Author Brian Lennon
Publisher Stanford University Press
Pages 279
Release 2024-08-27
Genre Social Science
ISBN 1503639886

Download Programming Language Cultures Book in PDF, Epub and Kindle

In this book, Brian Lennon demonstrates the power of a philological approach to the history of programming languages and their usage cultures. In chapters focused on specific programming languages such as SNOBOL and JavaScript, as well as on code comments, metasyntactic variables, the very early history of programming, and the concept of DevOps, Lennon emphasizes the histories of programming languages in their individual specificities over their abstract formal or structural characteristics, viewing them as carriers and sometimes shapers of specific cultural histories. The book's philological approach to programming languages presents a natural, sensible, and rigorous way for researchers trained in the humanities to perform research on computing in a way that draws on their own expertise. Combining programming knowledge with a humanistic analysis of the social and historical dimensions of computing, Lennon offers researchers in literary studies, STS, media and digital studies, and technical fields the first technically rigorous approach to studying programming languages from a humanities-based perspective.

Crafting Interpreters

Crafting Interpreters
Title Crafting Interpreters PDF eBook
Author Robert Nystrom
Publisher Genever Benning
Pages 1021
Release 2021-07-27
Genre Computers
ISBN 0990582949

Download Crafting Interpreters Book in PDF, Epub and Kindle

Despite using them every day, most software engineers know little about how programming languages are designed and implemented. For many, their only experience with that corner of computer science was a terrifying "compilers" class that they suffered through in undergrad and tried to blot from their memory as soon as they had scribbled their last NFA to DFA conversion on the final exam. That fearsome reputation belies a field that is rich with useful techniques and not so difficult as some of its practitioners might have you believe. A better understanding of how programming languages are built will make you a stronger software engineer and teach you concepts and data structures you'll use the rest of your coding days. You might even have fun. This book teaches you everything you need to know to implement a full-featured, efficient scripting language. You'll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused. Starting from main(), you will build a language that features rich syntax, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes, and inheritance. All packed into a few thousand lines of clean, fast code that you thoroughly understand because you wrote each one yourself.

A Programmer's Rantings: On Programming-Language Religions, Code Philosophies, Google Work Culture, and Other Stuff

A Programmer's Rantings: On Programming-Language Religions, Code Philosophies, Google Work Culture, and Other Stuff
Title A Programmer's Rantings: On Programming-Language Religions, Code Philosophies, Google Work Culture, and Other Stuff PDF eBook
Author Steve Yegge
Publisher Hyperink Inc
Pages 393
Release 2012-12-01
Genre Business & Economics
ISBN 1614645957

Download A Programmer's Rantings: On Programming-Language Religions, Code Philosophies, Google Work Culture, and Other Stuff Book in PDF, Epub and Kindle

This book grew out of a lot of angst. Well, and wine. Put enough angst in me, and I’ll start ranting. Pour in some wine, and the rants get mean—and funny. I still go back and read these posts now and then, and I always laugh. I was so mean. My angst grew out of traveling different roads than most programmers. Those roads forced me to see the world differently. Now I see all sorts of patterns that many experienced programmers fail to see—because, well, to put it bluntly, they’re stuck in ruts. Over the past 25 years I’ve done a bunch of dramatically different types of programming, and I’ve also written far more code than any programmer ever should. The long roads I’ve traveled have basically given me a sixth sense. I see dead people. And it sucks. If you’re ever unlucky enough to acquire a dreadful sixth sense, there are really only two choices: you can be angry and depressed about it, or you can laugh about it. So I try to laugh. It’s hard, but I’m getting better at it. The wine helps. Practice helps, too. You need to get in the habit of laughing—at yourself, at others, at the crazy world we live in—or in time you’ll just stop laughing altogether. When I first started ranting, I was the ugly American, stomping around in my posts, and essentially yelling “What the hell is wrong with all you people?” But over the next ten years or so, I like to think I’ve grown into more of an amateur software anthropologist. I now take cultural relativism seriously, and I try hard not to judge people who think differently from me. Of course I don’t mind poking fun at them, because I don’t mind people poking fun at me. And ultimately I would like to convince undecided programmers to share my view of the programming world, because programming works best if everyone nearby does it the same way. So I’ll continue to argue that my view, which I’ve recently taken to calling “software liberalism,” is a perfectly valid and perhaps even preferable way to do a lot of software development. Converting everyone to be more liberal is doomed to fail, of course. But even so, I hope I can still help people in radically different software cultures to understand each other better. I’m going to keep ranting, because it appears to be the only way to make a message sink in to a very large audience. Some people still tell me that my blog posts are too long. They tell me I could have made my “point” in under a hundred words. I have noticed that this complaint comes most often from people who disagree with me. They’re really just saying they want less work to voice their disagreement. But even some folks who agree with me find the posts too long to carry their attention, and they complain too. They’re missing the point, though. The posts aren’t too long. You need a certain minimum “heft” to penetrate. Through years of trial and error, I’ve found that the best way to get a lot of people to listen to you is to tell them a story. And you can’t spin a good yarn without settling in and enjoying the ride. So that’s what this book is. It’s really a bunch of stories. Each might take the form of an article, essay, guide, rant, or occasionally a fiction tale. But behind the structure, each one of them is sharing a story. Even if you don’t always agree, I’m hoping you’ll at least find the stories entertaining and, with luck, sometimes even eye-opening. The guys at Hyperink chose which of my posts to include, by and large, and they also came up with the overall chapter organization. I made a couple of tweaks, but what you’re looking at is largely their vision of how to curate this stuff into a cohesive book. I think they did an admirable job. I hope you enjoy the journey as much as I did. Steve Yegge August 2012

Functional Approaches to Language, Culture, and Cognition

Functional Approaches to Language, Culture, and Cognition
Title Functional Approaches to Language, Culture, and Cognition PDF eBook
Author David G. Lockwood
Publisher John Benjamins Publishing
Pages 699
Release 2000-01-01
Genre Language Arts & Disciplines
ISBN 9027236682

Download Functional Approaches to Language, Culture, and Cognition Book in PDF, Epub and Kindle

This volume contains functional approaches to the description of language and culture, and language and cultural change. The approaches taken by the authors range from cognitive approaches including Stratificational grammar to more socially oriented ones including Systemic Functional linguistics. The volume is organized into two sections. The first section 'Functional Approaches to the Structure of Language: Theory and Practice' starts with contributions developing a Stratificational model; these are followed by contributions focusing on some related functional model of language; and by articles describing some particular set of language phenomena.In the second section 'Functional Approaches to the History of Language and Linguistics' general studies of language change are addressed first; a second group of contributions examines language change, lexicon and culture; and the last cluster of contributions treats the history of linguistics and culture.

Language, Culture, Computation: Computing - Theory and Technology

Language, Culture, Computation: Computing - Theory and Technology
Title Language, Culture, Computation: Computing - Theory and Technology PDF eBook
Author Nachum Dershowitz
Publisher Springer
Pages 616
Release 2014-12-03
Genre Computers
ISBN 364245321X

Download Language, Culture, Computation: Computing - Theory and Technology Book in PDF, Epub and Kindle

This Festschrift volume is published in Honor of Yaacov Choueka on the occasion of this 75th birthday. The present three-volumes liber amicorum, several years in gestation, honours this outstanding Israeli computer scientist and is dedicated to him and to his scientific endeavours. Yaacov's research has had a major impact not only within the walls of academia, but also in the daily life of lay users of such technology that originated from his research. An especially amazing aspect of the temporal span of his scholarly work is that half a century after his influential research from the early 1960s, a project in which he is currently involved is proving to be a sensation, as will become apparent from what follows. Yaacov Choueka began his research career in the theory of computer science, dealing with basic questions regarding the relation between mathematical logic and automata theory. From formal languages, Yaacov moved to natural languages. He was a founder of natural-language processing in Israel, developing numerous tools for Hebrew. He is best known for his primary role, together with Aviezri Fraenkel, in the development of the Responsa Project, one of the earliest fulltext retrieval systems in the world. More recently, he has headed the Friedberg Genizah Project, which is bringing the treasures of the Cairo Genizah into the Digital Age. This first part of the three-volume set covers a range of topics in computer science. The papers are grouped in topical sections on: the jubilaris: Yaacov and his oeuvre; theory of computation; science computing and tools for engineering; information retrieval.

Language, Culture, Computation: Computing for the Humanities, Law, and Narratives

Language, Culture, Computation: Computing for the Humanities, Law, and Narratives
Title Language, Culture, Computation: Computing for the Humanities, Law, and Narratives PDF eBook
Author Nachum Dershowitz
Publisher Springer
Pages 765
Release 2014-12-04
Genre Computers
ISBN 3642453244

Download Language, Culture, Computation: Computing for the Humanities, Law, and Narratives Book in PDF, Epub and Kindle

This Festschrift volume is published in Honor of Yaacov Choueka on the occasion of this 75th birthday. The present three-volumes liber amicorum, several years in gestation, honours this outstanding Israeli computer scientist and is dedicated to him and to his scientific endeavours. Yaacov's research has had a major impact not only within the walls of academia, but also in the daily life of lay users of such technology that originated from his research. An especially amazing aspect of the temporal span of his scholarly work is that half a century after his influential research from the early 1960s, a project in which he is currently involved is proving to be a sensation, as will become apparent from what follows. Yaacov Choueka began his research career in the theory of computer science, dealing with basic questions regarding the relation between mathematical logic and automata theory. From formal languages, Yaacov moved to natural languages. He was a founder of natural-language processing in Israel, developing numerous tools for Hebrew. He is best known for his primary role, together with Aviezri Fraenkel, in the development of the Responsa Project, one of the earliest fulltext retrieval systems in the world. More recently, he has headed the Friedberg Genizah Project, which is bringing the treasures of the Cairo Genizah into the Digital Age. This second part of the three-volume set covers a range of topics related to the application of information technology in humanities, law, and narratives. The papers are grouped in topical sections on: humanities computing; narratives and their formal representation; history of ideas: the numerate disciplines; law, computer law, and legal computing.

Language, Culture, Computation: Computational Linguistics and Linguistics

Language, Culture, Computation: Computational Linguistics and Linguistics
Title Language, Culture, Computation: Computational Linguistics and Linguistics PDF eBook
Author Nachum Dershowitz
Publisher Springer
Pages 882
Release 2014-12-05
Genre Computers
ISBN 3642453279

Download Language, Culture, Computation: Computational Linguistics and Linguistics Book in PDF, Epub and Kindle

This Festschrift volume is published in Honor of Yaacov Choueka on the occasion of this 75th birthday. The present three-volumes liber amicorum, several years in gestation, honours this outstanding Israeli computer scientist and is dedicated to him and to his scientific endeavours. Yaacov's research has had a major impact not only within the walls of academia, but also in the daily life of lay users of such technology that originated from his research. An especially amazing aspect of the temporal span of his scholarly work is that half a century after his influential research from the early 1960s, a project in which he is currently involved is proving to be a sensation, as will become apparent from what follows. Yaacov Choueka began his research career in the theory of computer science, dealing with basic questions regarding the relation between mathematical logic and automata theory. From formal languages, Yaacov moved to natural languages. He was a founder of natural-language processing in Israel, developing numerous tools for Hebrew. He is best known for his primary role, together with Aviezri Fraenkel, in the development of the Responsa Project, one of the earliest fulltext retrieval systems in the world. More recently, he has headed the Friedberg Genizah Project, which is bringing the treasures of the Cairo Genizah into the Digital Age. This third part of the three-volume set covers a range of topics related to language, ranging from linguistics to applications of computation to language, using linguistic tools. The papers are grouped in topical sections on: natural language processing; representing the lexicon; and neologisation.