As someone with a standing interest in languages, I find myself perpetually on the lookout for the features that belong to one language alone. Every language has its flagship concepts - words that resist translation, and that frequently cannot be mapped one-to-one onto any other.
“You start problem-solving with mathematical thinking. To obtain a solution, you extend it to computational thinking. But to actually implement it on the computer, you need algorithmic thinking” Prof. CPR
A couple of weeks ago I travelled to Bangalore for a hackathon at the Indian Institute of Science, organised by Prof. Siddharth Gadgilhttps://math.iisc.ac.in/~gadgil/ and Emergence AI. The structure of the hackathon was: spend the first couple of days getting taught Lean4https://lean-lang.org/ by Prof. Siddharth Gadgil and Prof. Prathamesh T. V. H.https://krea.edu.in/sias/dr-t-v-h-prathamesh/ , then disappear into a cave for a weekhttps://www.youtube.com/watch?v=0SARbwvhupQ and emerge with a project. The judges were Anand Rao Tadipatrihttps://dl.acm.org/profile/99661086046 and Sidharth Bhathttps://grosser.science/team/bhat/ ; both PhD students in mathematics at the University of Cambridge.
Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
Before you think I’m crowning Lisp as God’s own language after just one blog stint at a coding exercise, hold your horses. I’m not here to bash Object-Oriented Programming or its design patterns. In fact, I believe it’s crucial to know these patterns inside out. Only then can you play the game of ‘Design Pattern or Anti-Pattern?’ with any confidence. Remember, these musings are all from my little corner of the world and don’t reflect the hard work of other developers who’ve been sweating over StarPlat.
Happy Birthday to Me: Musings on Language and Code
Today, I find myself celebrating my birthday in the tranquil confines of a cozy Airbnb in Vancouver. It’s a momentary escape from the pressures of work, a rare breather amidst the ever-present demands of the office. Through the frost-touched window, I watch the Canadian flag battle the icy winds. Below, I can hear the faint murmurs of a French-speaking couple, my neighbors. A little later, the cadence of Mandarin reaches my ears, no doubt my landlord going about his day. And then, the phone rings. It’s my mother, calling from home, so naturally, the conversation begins in Bengali. When my father takes the phone, we switch seamlessly to Hindi. After the call, I set the phone down, open my laptop, and begin composing an email in English.