Hi Tomaz - since a couple of people have mentioned SQLite I’d like to suggest ReStore as an easy way to use this from Pharo:
https://github.com/rko281/ReStoreForPharo <https://github.com/rko281/ReStoreForPharo> ReStore lets you store your data in SQLite without needing to write any SQL, and offers an easy upgrade path to larger databases such as Postgres. Documentation (recently updated) is linked from the end of the Github readme. Good luck with your application. John Aspinall > On 10 Apr 2020, at 09:12, teso...@gmail.com wrote: > > Hi Tomaz, > > From the comments about the requirements you do I suggest: > > - For data storage, my recommendation goes depending on two factors: > 1)Installation complexity, 2) volume of data. These are two variables > that will be against one and the other. I will recommend to use > MongoDB + Voyage, that goes very well. It grows excellent with the > amount of data, it has really cool integration with Pharo and Voyage > is an excellent mapping tool; also it is a mature solution and it has > a lot of support for back-up schemes and solutions. Using MongoDB > complicates the installation process, so if you have the idea of a > easy installable application maybe SQLlite is a good alternative. > > - I think using Spec2 + GTK + Roassal3 + Polymath is a good idea. > Check that Spec2 and Roassal3 are still under heavy development. They > are getting much better, but of course, it will take some time to > stabilize; but both of them are progressing very fast and they are > already quite stable. > > - For developing DSL and interactive programming for non-programmers > users, Pharo is ideal. It presents a lot of tools to easily develop > DSL and the UI to make them work excellent. The idea of live > manipulation of objects and inspection of all the instances can be > easily added to a DSL. > > Thanks for your attention! > > On Thu, Apr 9, 2020 at 9:13 PM Tomaž Turk <tomaz.t...@ef.uni-lj.si> wrote: >> >> Dear all, >> >> I'm thinking about implementing a software solution in Pharo (as one of the >> candidate environments), it's a project that I'm dealing with >> professionally. The goal is to develop a financial planning/simulation >> application on the country level, which is at present developed as a set of >> interrelated Excel spreadsheets. The requirement is that the solution should >> be more "manageable", resilient and straightforward than Excel permits, that >> it should present a workflow to the user - i.e. , that the tasks the user >> should do are suggested through the GUI. >> >> The majority of the data is in a form of a time series (for instance: GDP >> for a series of years). There are many variables in the model which shoud be >> calculated from other variables, year by year. There are also lagged >> variables (the value for the current year depends from the value of previous >> year), and running averages. There are also some variables which are not >> time series (parameters). As a part of GUI, there is a need to present the >> results as diagrams, too (scatterplots, line charts), otherwise tables are >> the output. >> >> I found Pharo to be a very elegant language and environment, with version >> 8.0 it became pretty stable, however I don't have any experiences in >> building software solutions of this type in Smalltalk. In other words, I'd >> like to be more confident in setting the architecture, both in the sense of >> the model content (variables interrelation) and the architecture of classes. >> Besides, for the calculated variables I'd like to have a relatively simple >> syntax to define them (like 'GDPpC <- GDP / Population'). >> >> My thoughts and questions: >> - for easier maintenance I'd like to separate the data from the code - so >> the question is what would be the best way to implement persistence (another >> Pharo image - with what?, some relational database, XML/JSON, flat files >> ...) >> - I wonder what would be the best "architecture" of classes - so, we have a >> lot of aggregate variables like GDP and population, which can be grouped at >> least according to the stage in the planning workflow. There are also >> resulting (calculated) variables (e.g. GDP per capita). On the other hand, >> since this is a planning software, it's a kind of simulation, where we have >> a "data warehouse", experiments and results >> - As a core packages I would use Spec2, Roassal, and PolyMath. >> >> I'm just thinking aloud, and would greatly appreciate any thoughts from >> experienced Pharoers :-) >> >> Best wishes, >> Tomaz > > > > -- > Pablo Tesone. > teso...@gmail.com >