How do I port software that I have written for Windows to Ubuntu?

Solution 1:

As @Rinzwind has said you will find more accurate responses in stackoverflow but for a beginning ...

I would recommend you to try to port to linux your programming knowledge instead of your code, and give python a try. It is a simple even powerful language totally multiplatform and with very nice learning curve. For database access there are a lot of frameworks and libraries ( SQLAlquemy for example ) and for the GUI you can try wxPython, QtPython, ... for example. If you want to develop database applications you should give dabo a try

But, if you still want to try to port your VBase code you can try with:

  • Gambas Which is a development environment based on a Basic interpreter
  • Mono Which is a .NET-like framework for linux. ( see mono-develop ide also )

And for the database access ... sorry but i think i can not help you with that may be these frameworks have some database support

Hope this helps.

Solution 2:

As somebody who used to use a lot of access and VBScript, I can say the transition isn't super-easy but it is possible and if you pick the right technology, even desirable. I'm writing much better software these days than I ever did over ODBC and Access.

There are a few options but your mileage will vary based on what you're doing and past experience.

  1. Python + Django

    My first suggestion is a web development one. I'm a web developer more than anything else so I would suggest this. Django makes managing your database schema stupidly simple. You create a Python class for each table, run a command and it establishes a fully relational database. Then you can query based on those classes (known as Models). All this without writing a single line of SQL.

    It also comes with a very sexy admin interface which requires just a few lines of code to activate for your models. It handles validation, searching, filtering, ordering, input, some output/reporting and you can add on anything that isn't already there. And because it's a web interface, it's a lot easier to share with colleagues than by tossing an Access file around.

    And Python is a beautiful language. Simple elegance. You'll see that based on how many other people suggest it :)

  2. LibreOffice Base

    If you want to stick with simple databases, LibreOffice (or OpenOffice) Base is probably the most Access-like thing at your fingertips. It's not Access and it's quite simple and limited in respect to what Access can do (if you know what you're doing) but it's only supposed to be a simple desktop database.

  3. Kexi

    Another take on the Access-style database. It looks more flexible than Base but I've never used it so can't really say how good it is.

The last two are models you're probably more comfortable with but honestly, neither is great and that's because Access isn't a good model for database development when there are so many better frameworks.

You want to address the future of your development before you migrate to Ubuntu. If you just boot to Ubuntu now, you'll get very frustrated if you can't start working immediately. All three solutions above can run on Windows so get stuck in now.

The two applications can be downloaded and installed and Django takes a little more effort to get going. Start with this to install it (follow their advice about Python 2.7) and then move onto the official tutorial to start programming.