News for hackers. Stuff that matters.
Re:Digital Audio Workstation Front End Development Struggles by lelanthran on Tuesday May 16, 2023 @02:20PM (#35965662)
> We are also actively working on a visual editor that lets users drag and drop widgets. Such capabilities are difficult or impossible to achieve with imperative APIs

I don't think you have ever used an imperative API, have you?

I used VB, then Delphi, then C++ builder and now use Lazarus, and there's no declarative equivalent that is easier or faster than those.

Re:Digital Audio Workstation Front End Development Struggles by ogoffart on Wednesday May 17, 2023 @03:58AM (#35972443)
In the examples you mentioned, the UI is typically described in XML or form files (.dfm), which is essentially a declarative approach, and clearly not described in imperative code. Although they may not be intended to be edited by hand, the underlying representation is still declarative in nature.
Re:Digital Audio Workstation Front End Development Struggles by lelanthran on Wednesday May 17, 2023 @04:28AM (#35972611)
Agreed, but they were easily achieved with imperative APIs.

This is the statement I was contending:

> We are also actively working on a visual editor that lets users drag and drop widgets. Such capabilities are difficult or impossible to achieve with imperative APIs

Maybe I should have said "there's no declarative-only equivalents that's easier or faster".

As someone else pointed out elsethread, declarative is a subset of imperative, so it's easy to produce an imperative API that consumes machine-generated declarations, but not so easy to use a declarative-only framework to reproduce the ease and speed of Delphi, Lazarus, etc.