3 ms·
Indeed, making maintainable software is difficult. To share your analogy: many folks have trouble with algebra. It's not that it's categorically impossible for
by ppseafield 7y ago
Indeed, making maintainable software is difficult.
To share your analogy: many folks have trouble with algebra. It's not that it's categorically impossible for them to do it; there could be any number of factors (bad math education, home troubles making school more difficult, etc.).
With a lot of time and dedication many of these folks could eventually get pretty good at doing algebra. I've tutored these folks before. Some of them have enough time and dedication to get better at it. But without that (and at least time is outside most of these folks' control), many of them will struggle.
So I don't think the parent comment was saying "Most people can't program in the same way a gorilla can't speak English", but instead "Most people can't program because they don't have the acquired skills to program." I would add that these folks' goal is often not programming but their original job.
- XuMiao 7y agoMost people have their own domains and don't want to make softwares. But their jobs depend on softwares sometimes. When the software developers don't understand the domain, it's reasonable to provide a DSL for users to customize by themselves. If the programming language is as natural as the human language, DSL is just the regular language. After all, language is for the precise and concise communication, human to human or human to machine.
- ppseafield 7y ago> If the programming language is as natural as the human language, In my experience, it isn't. Computers are much more pedantic and less forgiving than other people. Computers won't understand "what you meant to say". Additionally people often have trouble communicating effectively with other people in their natural language. So a DSL being in that language doesn't necessarily guarantee the user's success in using that DSL correctly.