5 ms·
>How do you use lisp style macros when you have 500 developers working on a single product? In general, you don't, or not at the same rate as functions. In bi
by invalidOrTaken 5y ago
>How do you use lisp style macros when you have 500 developers working on a single product?
In general, you don't, or not at the same rate as functions.
In big orgs, macros have three worthy uses:
- cleanly separated libraries for the org, providing a common underpinning
- smaller projects with in the org
- making your language nicer
That last one shouldn't be underestimated. I can count on one hand the # of times I've written macros for work, but I use them all the time, as in calling macros others have written.
You can very much build a big company on lisp (NuBank the most available-to-mind example). But it's true that at larger team sizes there are extra coordination obstacles that must be surmounted before you get to macro heaven.
- chii 5y agoi think the crux is that it's hard to find 500 people who are all at such high level of capability that could make use of macros in lisp - esp. if they all need to follow a similar style of programming (iirc, lisp macros tend to follow idiosyncrasies of the person writing it). It's almost as though you're asking for 500 Michael Angelo to help paint the sistine chapel in order to do it faster.
- openfuture 5y agoBah. This meme vastly overstate the difficulty... I'm sure there is some nonsense reason why everyone understands templates just fine and the web would literally not exist without them because html is so tedious but "macros" are this mythical complicated impossible to reason about thing??! Seriously there is a limit to how much you can trust all the secondhand garbage "knowledge" you get from reading opinions of people who claim to have tried something. Setting the record straight: - common lisp is fast - common lisp is stable - common lisp is useful! (and interactive! even impatients can get their instant gratification) - common lisp has non-trivial libraries for various useful things - common lisp is simple and has excellent educational resources - common lisp is crufty but the community has such a high average education that actually the resources have aged well and hides at least as much insight and wisdom gems as the type theoretical FP world that we now put on the pedistal we used to keep lisp on. - common lisp is huge. No need to learn it all just hack on what you need and magically you'll be able to make software that works. If macros are such a problem then restrict their use to seniors or "tool devs" (people who go around improving dev ergonomics by extending the language is synonymous to any other DSTool)... This way you have maximum flexibility and by restricting the words you allow you can have this flexibility while you need it while also programmatically restricting your monkeys to a short enough rope that it'll be hard to hang anyone. You can stay in some Java comparible subset (Java because lispers hate on Java like vimers do emacs). Yes I Markov chained a bunch of sentences in this comment... I am too lazy to fully engage with the "someone is wrong on the internet"-thing, anecdotally it has been my feeling that it is no longer a good way to learn something to be "wrong on the internet" nobody is cleaning up anymore... These days everyone has a job; extract from the commons and go rave while Rome burns.
- exdsq 5y agoNuBank promoting the fact their average employees age is 26 just makes me feel old as I approach 28 lol...