←back to thread

448 points nimbleplum40 | 4 comments | | HN request time: 0s | source
Show context
misja111 ◴[] No.43565639[source]
I somewhat disagree with this. In real life, say in some company, the inception of an idea for a new feature is made in the head of some business person. This person will not speak any formal language. So however you turn it, some translation from natural language to machine language will have to be done to implement the feature.

Typically the first step, translation from natural to formal language, will be done by business analysts and programmers. But why not try to let computers help along the way?

replies(6): >>43565758 #>>43566309 #>>43566411 #>>43567326 #>>43567538 #>>43567683 #
1. nottorp ◴[] No.43567326[source]
Say, doesn't each business - each activity - have its own formal language?

Not as formalized as programming languages, but it's there.

Try to define any process, you end up with something trending towards formalized even if you don't realize it.

replies(1): >>43569914 #
2. skydhash ◴[] No.43569914[source]
That's pretty much the whole basis of Domain Driven Design. The core message is to get to an Ubiquitous Language which is the formalization of the business jargon (pretty much a glossary). From which the code can then be derived naturally.
replies(1): >>43571455 #
3. nottorp ◴[] No.43571455[source]
> From which the code can then be derived naturally.

Disagree with "naturally". Unless you want to end up on accidentally quadratic. Or on accidentally exponential if there's such a list.

replies(1): >>43572327 #
4. skydhash ◴[] No.43572327{3}[source]
Optimization is dependent on the technical aspect of the implementation. Ultimately, it is going to be a computer that's going to execute the program and it has its own constraints. Reconciling the domain and the execution platform is where the programmer expertise comes in.