| That to me is an indication of a need for an even higher level abstraction. At this point we should be able to go through a questionnaire, and software (not an AI, but definitely algorithm with rich knowledge and rules) would generate a quality starting system. $ I need an app Q1. do you need it to be available on the web? A1. yes Q2. do you need users with accounts? A2. yes Q3. do you want local passwords, and/or third party connections such as Github, Google, Facebook, etc.?
A3. local and third party ... Qm. Do you have a programming language preference? [Ruby, Java, Python, ...] Am. Ruby Qn. Do you have a database preference? [MySQL, PostgreSQL, ...] An. PostgreSQL ... Add some theme options and other goodies, and you essentially have an app starter kit. Granted, you still have to know the technologies and plumbing since inevitably you'll need to change something that was preconfigured, but this would save a lot of time (and result in more consistent foundations across apps. Ultimately I hope this goes even higher level to no-code or nearly no-code solutions. It might mean fewer choices, but that can also be a good thing. I imagine a majority of all software needs can be met with just a few predefined configurations. Then you can decide if you want to change your needs to fit the easy solutions, or if it's really worth going custom. |
[1] https://www.jhipster.tech/