Я мало знаю про VisualBasic, і не знаю рівнозначного в світі Linux.
Для Паскаля є gpc (компілятор GNU Pascal). Не використовував його, але я впевнений, що програмісту Pascal досить легко перейти. Подібні випадки для багатьох інших мов програмування, таких як C, C ++, FORTRAN тощо. Хоча я б не пропонував жодного з них програмісту VisualBasic, є кілька варіантів для мов, які знаходяться на декількох платформах. Я думаю, ваш вибір мови може дещо залежати від політики вашої компанії тощо.
Python - моя найкраща рекомендація. Дізнатися це легко, це змушує вас писати код, який легко читати, а він за замовчуванням є багатоплатформенним. Якщо ви хочете доставляти програми із закритим кодом, ви побачите, що між платформами є кілька помітних відмінностей. Але загалом більшість кодів, які ви пишете, будемо компілювати в будь-якій системі. Складна частина полягає в дотриманні структури папки (тобто C: / Program Files / vs / usr / share /). Але є параметри навколишнього середовища os, які можна використовувати, щоб уникнути конкретних параметрів платформи кодування. Знизу ви повинні вивчити нову мову. Ви можете використовувати один і той же код у Windows, Linux та MacOSX тощо.
Щоб підтримувати графічний інтерфейс для своїх додатків, у Python є кілька варіантів. Багато розробників Ubuntu, здається, пропонують GTK3, який також доступний для Windows. Особисто я більше віддаю перевагу Qt4 (ви також можете використовувати Qt4 для C / C ++, пакет Python називається PyQt4 для офіційного, а PySide для спільного проекту). У вас не буде IDE так само, як у VisualBasic, але використання Qt Designer для створення вигляду графічного інтерфейсу полегшує його реалізацію в IDE, призначеному лише для коду (наприклад, ID Wingware, Eclipse, IPython ...). Тож вам доведеться перемикатися між додатком-дизайнером GUI та кодуючим IDE-програмою. Те саме стосується GTK3, де ви б використовували Glade для створення графічного інтерфейсу.
У Python є пакет баз даних за замовчуванням, що реалізує SQLite3. Ця база даних досить спроможна, але немає графічного інтерфейсу для її створення, як у Access. Однак існують пакети для доступу до більшості типів баз даних. Особисто я віддаю перевагу PostgreSQL для всіх своїх речей, оскільки це так масштабується. У PyQT4 є класи для всіх основних баз даних модуля QtSql, але є багато інших варіантів. Звичайно, ви також можете налаштувати свої старі бази даних Access на машині Windows за допомогою ODBC, і тоді ви можете викликати їх без переключення програмного забезпечення бази даних.