News for hackers. Stuff that matters.
Re:An Open Letter from the CEO of Puppet: Puppet and Perforce by jerf on Monday April 11, 2022 @09:59AM (#30988778)
One of the worst classes of software is the software whose architecture starts out with "Turing completeness is bad and hard and we'll just ban it", but it turns out the problem space needs it, whether you like it or not, and it ends up creeping back in one step at a time anyhow.

Terraform kinda took a similar path, although the reigning champion of this style of software has to be HTML templating solutions. "Templates shouldn't have code in them! Ever! Any! Totally broken bad bad bad, and that's why I started this new template language that has no code constructs in it at all! Although, uh, we do kinda need to be able to loop through things like table rows from databases... and, well, we need if statements to highlight a particular result... and, well, we need full arithmetic support so we can use the modulo operator on those rows... and we need functions to factor out reusable functionality at the template layer... and oh crap that's all you need for Turing Completeness, isn't it? Well... uhh..." "Hi, I'm another developer and I'm starting a new template language because that previous one is broken and busted and written by dum dums because it has Turing completeness in it! Templates shouldn't have any code in them, ever! Although, uh, I do kinda need for loops for table rows from databases..."

Re:An Open Letter from the CEO of Puppet: Puppet and Perforce by polynomial on Monday April 11, 2022 @11:05AM (#30989810)
Doesn't React somewhat solve this, when used correctly? (Though it's entirely possible to make an even bigger mess with React.)
Re:An Open Letter from the CEO of Puppet: Puppet and Perforce by tempodox on Monday April 11, 2022 @11:41AM (#30990316)
Isn't React Turing-complete?
Re:An Open Letter from the CEO of Puppet: Puppet and Perforce by tehbeard on Monday April 11, 2022 @12:26PM (#30991088)
I think they mean it doesnt reinvent for/if like angular and vue do..

You just use the js primitives.

Re:An Open Letter from the CEO of Puppet: Puppet and Perforce by jerf on Monday April 11, 2022 @04:33PM (#30994561)
I wasn't 100% sure enough about React to be sure, but based on my limited experience, that sounds correct, so I don't think it fits my example.

I'm looking more at things like the Django template library, handlebars, Go HTML templates, etc. etc. And most especially things written with the idea that code shouldn't be in templates. Template languages that were always capable of running code, and were simply separate languages so designers don't have to learn a general-purpose programming language but can learn just this focused thing they need are obviously not what I mean.

I've drunk from the "templates shouldn't have logic in them" well too, but I think as you scale up it just becomes impractical. And in that case, you're better off with a template that always knew it was going to have code in rather than a template language that was designed from the beginning to not have it, but had code sneak in through the back door anyhow. The first one will at least be designed. The second one... well....

Re:An Open Letter from the CEO of Puppet: Puppet and Perforce by polynomial on Monday April 11, 2022 @03:03PM (#30993208)
Yes, exactly.
Re:An Open Letter from the CEO of Puppet: Puppet and Perforce by nukemaster on Monday April 11, 2022 @10:09AM (#30988928)
Exactly! And once you bring back recursion in the new language you're without the tools and practices everyone has developed over the past half century. Everything is just so much harder.

Really what we should be doing is generating data structures in <whatever> language rather than creating new languages.

Re:An Open Letter from the CEO of Puppet: Puppet and Perforce by lamontcg on Monday April 11, 2022 @06:27PM (#30995914)
*cough* Chef *cough* Ruby *cough*