The conversation

Lessons learnedExperience excerpt · English

It turned out that C++ was a terrible choice for the job

… It turned out that C++ was a terrible choice for the job. I ended up writing a complex inheritance hierarchy of expression types, which could have easily been implemented using Racket's pattern matching capabilities. Additionally, C++ requires manual memory management, and this was before the C++11 standard with its introduction of smart pointers. Finally, I learned how functional programming paradigms make testing so much easier, compared to using object-oriented unit testing frameworks and dealing with mutable objects. I managed to get the project done and working in C++, but only after a grueling 40 hours. I never complained about Racket after that. In graduate school, I was taught Scala and Haskell from Cormac Flanagan, who also contributed to Racket. Sometime after graduate school, I got bit by the Smalltalk and Lisp bugs hard....now I do a little bit of research on programming languages when I'm not busy teaching classes as a community college professor. I find Futamura projections quite fascinating. …

Original discussionRacket v9.0126 source comments · at import
2

What was this responding to?

Parent context · original excerpt

EP

And all of them agrees to never use it after university, which is quite telling.

Full original

Community replies 0

No community replies yet. Add your perspective.

Replies from the source 2

Direct replies available in this import. Original-language excerpts.

KB

To be fair, "write an interpreter for a subset of scheme" is a core use case for lisp-family languages. If it had been,"write a real-time driver for a memory-limited piece of hardware", you may have had a different preference.

Full original
PJ

C++ is one of my favourite languages, and I got into a few cool jobs because of my C++ knowledge. However, given the option I would mostly reach for managed compiled languages as first choice, and only if really, really required, to something like C++, and even then, probably to a native library that gets consumed, instead of 100% pure C++.

Full original
Continue on Hacker News

Respect different perspectives. Share concrete experiences.

Sign in to post, reply, repost, and quote.