Kartik Chandra — Ergo Language Intern

Clause
Clause
Aug 20, 2018 · 2 min read

Interview by Dan Selman, CTO Clause Inc.

Image for post
Image for post
Editing Ergo code in VS Code

Kartik, you are completing a summer internship at Clause, working on the Ergo domain specific language with Clause Chief Scientist, Jerome Simeon. What attracted you to Clause?

I spent my past couple summers studying programming language theory in a research context, and working at Clause felt like an opportunity to see how that theory works out in the Real World.

What are some of the challenges in the design and implementation of the Ergo language?

It’s always challenging to design a language that isn’t meant for professional programmers. Here at Clause, we frequently debate all sorts of trade-offs related to this point.

Let me give you an example: should we favor syntax that is highly idiomatic among programmers, or should we strive for clarity to non-technical users? Just about any programmer will understand what the keyword “let” means in a program, because there is a long tradition of using the word “let” to define variables (a tradition that perhaps harkens back to mathematical phrases like “let n be an integer…”). Over time, however, the keyword has been adopted and re-adopted by so many different languages that its modern programmatic meaning feels very disconnected from the English word “let” (never mind that to a lawyer, the term could additionally mean to “permit” or to “lease”!). So, should Ergo use “let” or some other word? In this case we chose to keep “let,” but in other cases we have chosen to abandon convention.

What are some of the programming languages that have influenced you? What makes a “good” programming language?

I don’t think there is any one set of qualities or features that make a “good” language — if there was, then of course we would just make the One Best Language and never look back. No, a “good” language is one that has been designed in acute awareness of its purpose and its users. Yes, there may be “goodness” in the Haskells and Schemes of the world, but I also see the elements of “goodness” in regular expressions and Excel spreadsheets and VimScript.

What do you like to do when you aren’t coding?

I enjoy writing (English, not code), cooking, playing jazz, and juggling with friends.

Best of luck with your studies Kartik, and thank you!

Clause

Connected Contracting

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store