I'm new to C4 but so far, after 5 mins read, I can't see anything you can't achieve with PlantUML. I'm surely missing something, though.
To be honest, diagram-as-code is so powerful I can't be tempted by eye-candy. What is the game changer with C4 and all its editors (if more than this)?
This (icepanel.io) is just a graphical editor (with some very nice functionality) for C4 Model diagrams: https://c4model.com
The actual standard is quite light weight, which is its main selling point. The whole premise is that many teams find rigorous standards like UML and Archimate too heavy and thus resort to basic boxes-and-lines diagrams. C4 essentially says "take your boxes-and-lines and put full sentence descriptions on everything". Combine that will successive levels of detail, and you have the C4 standard.
You don't have to give up diagrams-as-code because you can create C4 diagrams with PlantUML [0] or using the C4 specific DSL [1].
C4 model creator here ... in a nutshell, the C4 model is: 1. a hierarchical set of abstractions to describe software systems, and 2. a hierarchical set of diagrams to visualise those abstractions. Benefits include it providing teams with a lightweight common vocabulary to describe/visualise software architecture, with the resulting diagrams being "developer-friendly". It's also independent of any specific notation and tooling. My top tip is that you don't need to use all four levels ... the first two are usually sufficient for most teams.
I agree, diagrams as code is very powerful, and that would be my recommendation for teams looking for tooling ... the Structurizr DSL being the tooling that I created specifically to create multiple diagrams based upon the C4 model, in multiple output formats, from a single DSL source file. You can see a demo at https://structurizr.com/dsl and there are more details at https://structurizr.org
Some teams do like the familiarity of diagramming/modelling via a UI though, and that's where something like IcePanel fits in.
DAC has a lot of strengths for technical users and audiences, but it isn't accessible for everyone. Our focus is keeping everyone in the team up to date and on the same page about the system design and in line documentation in an accessible, simple way. Decisions get made all the time and (most) often aren't captured in places everyone can access. Simply understanding how the product works that you're involved with shouldn't be difficult. There is a table for comparison here: https://icepanel.io/c4-model#dac-table
I don't understand, though. Since it's a model, why say "gitable=no" instead of having ability to have those "frozen sources of truth" git-committed?
In fact, it's not clear to me, can I even get the model code out of this? I see "model export" but can't tell what the toolbox means from your visual tool.
I really want to use this, but only if it integrates back into the everything-as-code record. (I don't even care if bi-directional for now, but it has to snapshot the model out.)
For those who like me had no idea what C4 means (other than an energy drink, a workout powder, an explosive, and a Corvette, in that order, according to Google):
To be honest, diagram-as-code is so powerful I can't be tempted by eye-candy. What is the game changer with C4 and all its editors (if more than this)?