No sé mucho sobre VisualBasic, y no sé de un equivalente en el mundo de Linux.
Para Pascal, está el gpc (GNU Pascal Compiler). No lo he usado, pero estoy seguro de que es bastante fácil para un programador Pascal hacer la transición. Casos similares para muchos otros lenguajes de programación como C, C ++, FORTRAN, etc. Aunque no recomendaría ninguno de ellos a un programador de VisualBasic, hay varias opciones para lenguajes que residen en varias plataformas. Supongo que su elección de idioma puede depender un poco de la política de su empresa, etc.
Python sería mi principal recomendación. Es fácil de aprender, te obliga a escribir código que es fácil de leer y es multiplataforma por defecto. Si desea entregar aplicaciones de código cerrado, verá que hay algunas diferencias notables entre las plataformas. Pero, en general, la mayoría del código que escribes se compilará en cualquier sistema. La parte difícil es mantener la estructura de la carpeta (es decir, C: / Archivos de programa / vs / usr / share /). Pero hay parámetros ambientales del sistema operativo que puede usar para evitar opciones específicas de la plataforma de codificación rígida. Lo malo es que tienes que aprender un nuevo idioma. La ventaja es que puede usar el mismo código en Windows y Linux y MacOSX, etc.
Para mantener una GUI para sus aplicaciones, hay varias opciones en Python. Muchos desarrolladores de Ubuntu parecen optar por GTK3, que también está disponible para Windows. Personalmente, prefiero Qt4 (también puedes usar Qt4 para C / C ++, el paquete Python se llama PyQt4 para el oficial y PySide para un proyecto comunitario). No tendrá un IDE de la misma manera que lo hace en VisualBasic, pero el uso de Qt Designer para crear la apariencia de la GUI facilita la implementación en un IDE de solo código (por ejemplo, Wingware IDE, Eclipse, IPython ...). Por lo tanto, tendrá que cambiar entre la aplicación de diseño GUI y la aplicación IDE de codificación. Lo mismo es cierto para GTK3, donde usaría Glade para crear una GUI.
Python tiene un paquete de base de datos predeterminado que implementa SQLite3. Esa base de datos es bastante capaz, pero no hay GUI para construirla como con Access. Sin embargo, hay paquetes para acceder a la mayoría de los tipos de bases de datos. Personalmente, prefiero seguir con PostgreSQL para todas mis cosas, ya que es muy escalable. PyQT4 tiene clases para todas las bases de datos principales en el módulo QtSql, pero hay muchas otras opciones. Por supuesto, también podría configurar sus antiguas bases de datos de Access en una máquina Windows con ODBC y luego podría llamarlas sin cambiar el software de la base de datos.