Leandro, Your article comes at a good time for me because I received my copy of "Semantics Engineering with PLT Redex" last week and am preparing to start studying it. I thought your examples are a nice exposition of the complex ideas that go into selecting features a programming language needs to support.
I thought the bicycle trip example illustrates nicely the tension between balancing simplicity and convenience, and reminds me simplicity isn't necessarily helpful. As a working programmer earning his daily bread, I typically deal with complex and messy cases where programming convenience is preferred over simplicity but being able to step back and seeing the abstract principles underlying tools I use is helpful. My main take away from your article is that there are important features that come together to make a programming language function as a system for supporting effective abstractions to help formulate and solve computing problems. As you emphasized in the article, it is very interesting how certain formal systems very different from each other are equivalent in terms of computational power and ultimately reduce to communication and data. That reinforces the insight that what a typical working programmer does is essentially formulating communication plans as data to be read and executed by a computer. On a final note, I noticed with a pleasant surprise that you are at JHU, as it happens I am staff affiliated with JHU under Krieger. It's nice to see there is another Racketeer on Homewood! I look forward to reading more of your articles in the future. - Alexander -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.