On Mon, Nov 3, 2008 at 3:37 PM, Dieter Plaetinck <dieter@xxxxxxxxxxxx> wrote: > On Mon, 2008-11-03 at 16:17 +0100, Thomas Bächler wrote: >> > What I'm doing now is moving: >> > - the UI logic into lib-ui.sh (eg you can ask questions and inform the >> > user in a mode-agnostic way. set a variable to use dialog mode or plain >> > cli) >> > - the backend "real work" code into libraries like lib-pacman, >> > lib-network etc. >> > - the flow control functionality in a (draft of) an 'interactive' >> > profile (what might someday become a replacement of the current setup >> > script) >> >> This sounds awesome to me. >> > Just to clarify: I'm not aiming for 100% separation of backend and ui > logic anymore, because that would make it much more complicated then > it's worth. The 'flow control' part however is now (supposed to be) > entirely separated into the 'interactive procedure' though. (see my > previous mail for detailed explanation). (But yes, it's still > awesome ;-) > > >> Just a thought: If you want to, you could also move the whole code into >> a more sophisticated language (Python, C, C++) if bash is too restricted >> for you. > > Ironically, I used to be a decent programmer and sucky at sh/bash, but > being a system engineer for more then a year improved my shell scripting > skills a lot, the other languages have suffered from lack of > attention :-) > I do think that bash is a good language for something like this though. > There's a lot of interaction with other base tools and it's very > accessible to end-users. As long as bash' limits are not holding back > development, I think it's best to stick with it. (+ I really wouldn't > want to port the current installer to another language. Refactoring it > in the same language is already hard enough :P ) > > > PS: I actually managed to install a system now with the ported > interactive procedure, it breaks while finding the root device but at > least we got this far :-) Screenshots, or it didn't happen!