Nie znam się zbytnio na VisualBasic i nie znam odpowiednika w świecie Linuksa.
W przypadku Pascala istnieje gpc (kompilator GNU Pascal). Nie korzystałem z niego, ale jestem pewien, że programista Pascal jest dość łatwy do przejścia. Podobne przypadki dla wielu innych języków programowania, takich jak C, C ++, FORTRAN itp. Chociaż nie sugerowałbym żadnego z nich programistom VisualBasic, istnieje kilka opcji dla języków, które znajdują się na kilku platformach. Wydaje mi się, że wybór języka może trochę zależeć od polityki firmy itp.
Python byłby moją najlepszą rekomendacją. Jest łatwy do nauczenia, zmusza Cię do pisania kodu, który jest łatwy do odczytania, i jest domyślnie wieloplatformowy. Jeśli chcesz dostarczać aplikacje o zamkniętym źródle, zobaczysz, że istnieje kilka zauważalnych różnic między platformami. Ale generalnie większość pisanego kodu będzie kompilowana w dowolnym systemie. Trudną częścią jest utrzymanie struktury folderów (tj. C: / Program Files / vs / usr / share /). Są jednak parametry środowiskowe, których można użyć, aby uniknąć opcji specyficznych dla platformy kodowania twardego. Wadą jest to, że musisz nauczyć się nowego języka. Zaletą jest to, że możesz użyć tego samego kodu w systemach Windows, Linux i MacOSX itp.
Aby zachować GUI dla swoich aplikacji, istnieje kilka opcji w Pythonie. Wydaje się, że wielu programistów Ubuntu wybiera GTK3, który jest również dostępny dla systemu Windows. Osobiście wolę Qt4 (możesz także użyć Qt4 dla C / C ++, pakiet Python nazywa się PyQt4 dla oficjalnego, a PySide dla projektu społecznościowego). Nie będziesz mieć IDE w taki sam sposób, jak robisz to w VisualBasic, ale użycie Qt Designer do stworzenia wyglądu GUI ułatwia później implementację w IDE tylko do kodu (np. Wingware IDE, Eclipse, IPython ...). Będziesz musiał przełączać się między aplikacją GUI-designer a aplikacją IDE do kodowania. To samo dotyczy GTK3, w którym użyłbyś Glade do stworzenia GUI.
Python ma domyślny pakiet bazy danych implementujący SQLite3. Ta baza danych jest raczej zdolna, ale nie ma GUI do jej zbudowania jak w programie Access. Istnieją jednak pakiety umożliwiające dostęp do większości typów baz danych. Osobiście wolę trzymać PostgreSQL do wszystkich moich rzeczy, ponieważ jest on tak skalowalny. PyQT4 ma klasy dla wszystkich głównych baz danych w module QtSql, ale istnieje wiele innych opcji. Oczywiście możesz również skonfigurować swoje stare bazy danych Access na komputerze z systemem Windows za pomocą ODBC, a następnie możesz je wywoływać bez przełączania oprogramowania bazy danych.