[chef-dev] Re: Re: Dialect support and loading enhancements


Chronological Thread 
  • From: Noah Kantrowitz < >
  • To: Adam Jacob < >
  • Cc: Chef Dev < >
  • Subject: [chef-dev] Re: Re: Dialect support and loading enhancements
  • Date: Thu, 19 Sep 2013 16:43:31 -0700


On Sep 19, 2013, at 3:54 PM, Adam Jacob 
< >
 wrote:

> First off, thanks for thinking this through so well, and having the patch 
> to match. Awesome.
> 
> I have a couple of questions/statements/observations:
> 
> 1) Do other people actually think the directory structure of a cookbook is 
> the biggest barrier to learning? This confuses the crap out of me - but I'm 
> the one that inflicted the directory structure on you, so perhaps I'm an 
> awful judge.

Not the biggest by far, but every time we can avoid explaining why 
"default.rb" is a special filename I think that saves a little bit of 
cognitive overhead and ditto on "just put it in default/" on file/templates.

> 2) It feels like this could be accepted in pieces, depending on how we all 
> feel about it. For example, 3 and 4/5 are to separate features, and how I 
> feel about them is totally not influenced by how I feel about dialects. It 
> makes sense to me that 4/5 should be adopted - we cause more confusion with 
> the single copy pattern than we do delight, and nobody looses out - it's 
> easy enough to implement it if it turns out you need it.

Definitely, the different bits were just implemented sequentially, would be 
pretty straightforward to break the patch up more if people feel there is 
need.

> 3) My concern about dialects is really that, in the end, you wind up 
> hitting a wall. In the grand tradition of manipulexity and whipuptude, we 
> know there is a path that can provide both (the ruby dsl), but that we 
> think there are some barriers to it's full whipuptidunal potential (too 
> many directories, etc.) Is it really simpler to learn the syntax from yaml, 
> and all the gotchas that might be implied there, than to learn the basic 
> syntax that you know scales moving forward? I think ansible and salt both 
> provide a delightful experience of immediacy to the consumer, and that 
> experience is a great one to mimic - but I'm not sure I think that path is 
> because you're writing YAML rather than ruby. Is this simply because I know 
> more than one programming language and have no inherent fear of learning 
> another one anymore?

My concern isn't fear of learning, but just reducing barriers to entry. 
Anyone that has talked to me about cookbooks for more than 15 minutes has 
heard my diatribe about writing everything as resources/providers etc etc, 
which are definitely not something that can be (easily) done in anything but 
Ruby, so 100% on board with "learn Ruby" being a core goal if someone is 
going to stick around the Chef community for a while. The counter to this is 
that the amount  you need to learn to get started with Chef if you aren't a 
Ruby dev is pretty high and I think the dialects system can provide more 
intermediary stepping stones on a power/complexity slope.

--Noah

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail




Archive powered by MHonArc 2.6.16.

§