
Hello Arnaud, Tuesday, March 28, 2006, 3:58:53 PM, you wrote:
The project is a Point-of-sale distributed management system with the following (non-exhaustive) list of features : - rich GUI clients (on windows platform) to allow optimizing users input speed. There will about 50-60 'screens' and half as many 'reports', - local database with possibility to replicate and aggregate data, - central repository for aggregated data, aggregation should be synchronous but may fail due to poor network connectivity, - ease of deployment/update for new versions or modules, - secured (authenticated and encrypted) communications between nodes, - ...
it is interesting that i have about the same, Store&Sales-type application, that is written in Delphi and maintained as long as several years. Commercial environments like the Delphi has great built-in support for such typical apps, including GUI/Database/Networking libs, deployment support and so on. so, with "old languages" you will have the "fast start" and full-featured environment that greatly helps in developing gui and database part, at least. with Haskell, on other side, you will actually "reinvent the wheel" because you should start with implementing all the high-level interfaces that you need. But once you implement all these "wheels", you will be more productive than with "old languages", at least when you just write the code. of course, you will not get all the benefits of highly-integrated IDE, such as visual GUI/database development, step-by-step debugging and even project management. if someone else should work with this project, you will need to teach him Haskell. my opinion is what Haskell/ghc currently can be used for standard commercial apps (gui/databases/networking) only if you are Haskell enthusiast and interested both in using Haskell and in improving it's environment (it's rather obvious that results of your work will be at least new Haskell libs that can be used by you and other Haskellers to simplify implementation of such apps. may be you will even improve something in Haskell programming environments). development will be slower and more expensive at least first several years until you are established your production environment (reinvent all the wheels). but if you love Haskell and anyway want to hack it, you can prefer to do it as a part of your work ;) you may wonder, but not anything in this world is measured in money ps: btw, Joel's program was ideal for Haskell/ghc because it don't used gui and databases, but required high speed and high level of concurrency. But of course it was not a newbie mission, so he was successful only as long as other Haskellers consulted him how to implement tricky parts. -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com