Should I learn L-O BASIC -or- L-O BASE -or- python -or- MYSQL?

Decision time for me. I want to do a big data job. Each L-O CALC sort takes 4 minutes on my data. I want to run 3000 sorts and copy a few cells of data after each sort. Therefore several days of sorting.

I’m quite familiar with L-O CALC. I add new stock market data in CALC every day.

I’m quite familiar with other BASIC dialects.

I don’t know any VBA or any database or Python.

I already know other BASIC dialects.

Python looks easy to learn.

I will be teaching my self, I’m retired.

I have so many questions:

  1. Which application is fastest (?) L-O CALC/BASIC (?) L-O Base (?) L-O CALC/Python (?) MYSQL (?)
  2. Should I teach myself L-O CALC BASIC? I’m having trouble finding documentation, where are the docs???
  3. Should I teach myself Python? There is lots of information about python and it looks easy.
  4. Should I teach myself MYSQL? (sounds difficult)
  5. Should I teach myself L-O BASE? Is it as fast as CALC?
  6. Should I do this a different way or just give up?

Thanks All - Mike

(My)SQL first

  1. BASIC and Python are both interpreted languages, so the usual answer on speed is: Use a compiled language or try to use a library wich speeds up the program.
    If I read your sort needs several minutes your data should be moved to a database. Databases have very efficient routines either to sort, or to avoid actual sorting, but giving you a sorted view.
    For myself I’d try Python with NumPy and/or Sqlite, as Python works directly with Sqlite and I can connect to the database with LO-Base. How to handle your project will maybe need a different approach, as you didn’t give much detail.
  2. If you already know BASIC there is not to much different in LO. The main trouble is, how to access the data in LO and to learn the UNO-api. For example to try to sort yourself in Basic will be much slower than anything Calc already can do internally. So you’d need to find out how to let Calc do your work…
  3. Beginning with python is easy but programming can test peoples nerves and patience… For python IN LibreOffice you have some additional problems like restricted libraries, no pip (lib installer) and as above you have to find out how to access uno. But python offers a lot, wich is more difficult in Basic.
  4. MySQL is a database where several users can access the data at the same time, and often found also in the cloud. If you need some of this, go for MySQL or the fork MariaDB (like Open and LibreOffice). Otherwise smaller SQlite may be sufficient. But basic knowledge of SQL is useful.
  5. Base is a connector to databases and installs two embedded ones on your system HSQLDB and Firebird - both work wuth SQL. But for safety of data I’d tecommend to use av"split" database, not the embedded ones - especially for more data than Calc can handle…
  6. Choice is yours, and not knowing you, we/I can’t tell what you can master…
    But to try to do a project is often a good approach to learn the necessary toolkit.

Good luck


Hi Wanderer:

Thank You, Thank You, Thank You, you gave me information to think about I had not considered. You gave me enough information so I now know I need to use a database program which will speed up my sorting considerably. I don’t need multi-user so MYSQL isn’t needed. The solution results as L-O BASE or similar.

Other notes and further information: I was initially considering using L-O BASIC to control L-O CALC and L-O CALC is a very fast sort but data movement of the sorted data is quite slow. A database program will fix that. I’m assuming L-O BASE will be as fast sorting as L-O CALC. Hope my assumption doesn’t backfire.

Thank You Wanderer for your wonderful answer!

  • Mike

Now how do I mark this as solved???

There are hacky workarounds, eg Dev Docs — OOO Development Tools 0.4.18 documentation