Is Gambas better than Python?

I have decided to turn a comment into a topic. Here is the comment to this blog by kelvonyrroh.

“Is Gambas better than python. I have a problem in designing a GUI with data grid capability in python. I discovered Gambas on Synaptic package manager in MINT LINUX 10-JULIA. Am very curious about gambas. Please shed some light on this one”

Is Gambas better than Python? Simple answer: No. Just different.

As you point out, Gambas is very well integrated with the gui process. Having said that the gui part of the Gambas application is separated from the program logic to a degree that is not possible with say Python and (wxWidgets or TKInter).

My requirements from a programming language are narrow. Most of what I enjoy doing is desktop-based database front-ending. I use SQLite and mySQL.

I do not think there is a finer front-end for SQL work than Gambas.

I accept that I am a victim of my history: I used Fortran on an IBM 360/50 at university and did a LOT of BASIC work in my first job using an HP9830. Interestingly this was really a programmable calculator and not even microprocessor controlled. For its time, it was simply wondrous. I wonder if any readers can date these activities?

I guess I am saying that if I were a youngster starting out, there is no way I would use any BASIC derivative. Fine as many versions of BASIC are, there is little standardisation and probably no guarantee of continuity. From various Clustr maps and forums, I suspect there are countries which are still teaching BASIC in schools. They shouldn’t be.

On the other hand, I am sick to death of the Pavlovian antipathy to BASIC which is found on forums like the Ubuntu Forum. It is the same kind of immaturity which turns Apple users into fanboys. Gambas is a fine modern language which on occasions smells more of coffee than another leading brand. And it’s quicker too!

Gambas has a high dependency count (it requires a large number of standard libraries) to run. Each of the libraries used by Gambas is itself subject to development which in turn impact on Gambas. For example, the discontinuation of QT3 in favour of QT4 has effectively killed off Gambas 2. The newly released Gambas 3 is quite simply the only way forward. Library inconsistency between Linux distributions also has an effect. Gambas is better suited to development for own-use or controlled distribution. If you develop an application for widespread distribution around the world then I think the dependency issue will destroy you. That’s a comment on Linux in general rather than Gambas itself.

There is team effort in Gambas but at the end of the day it is the creation of one very bright chappy, Benoit Minisini. Should he be run over by a bus or lose interest, Gambas is in trouble.

Gambas is also Linux only. Whether we like this or not, it is a disadvantage. I was looking through the RealStudio forum the other day. RealStudio is a commercial BASIC variant originating on the Mac but now working on Windows and Linux. It is ok but in my opinion can’t hold a candle to Gambas. Anyway, this forum contributor had written a piece of cross-platform software which he had managed to sell 7000 times. Of those 7000 sales, 4 were for Linux. This may be in part cultural (typical Linux user: “You want me to PAY MONEY for SOFTWARE?”) but is not a good indication.

Python is of course cross-platform. I often wonder whether it would have suffered the same oddity status as Gambas had it been Linux only.

I personally don’t like Python but accept that it is good software. If someone were to ask me to point them to a good Python application I would probably suggest Gramps, the genealogy program written in Python, pyGTK and using XML data. I am not sure I could suggest a similar demonstration of Gambas’s abilities. Would Gramps have been written this way if Python was Linux only? I wonder.


6 Responses to “Is Gambas better than Python?”

  1. james lagerman Says:

    I really like Gambas. I’ve worked with python for years and the one thing that drives me nuts about python is writing GUI code. When I make a small Linux python gui programme I usually start the project with WxGlade witch saves time but…. I would rather work with an IDE that has an integrated GUI editor. I only wish Gambas had threading. :/

    • Bodard Fabien Says:

      Why do you need threading ?. I’m using gambas since more than 12 years now. And really there is really few time where the lack of threading capabilities have been a serious problem for me.

      Then it’s true… Gambas have not the popular threading things. But I can use timers or multiprocessing task instead.

      • jim Says:

        for me threading is usefull then I want to run another program in my gambas code. -Like running espeak from Gambas. I love gambas and I wish more people would work on the Gambas project.

      • charlesg628 Says:

        Are you sure you cannot use the shell or exec commands?

  2. kkinderKen Says:

    The key thing about Gambas, like Visual Basic, is that the IDE, GUI toolkit, and language are all developed as one. That is really pretty important and makes for a really tight, integrated package. I’m in my 30s and I haven’t used BASIC since I was in middle school, but I’m thoroughly impressed with the simplicity of Gambas.

    For comparison, take a look at Ubuntu’s Quickly project. It basically bootstraps a Python GUI application, and it does it well, but even a simple placeholder project has a lot of files and a lot of explanations.

    Having said that, I don’t see anything in Gambas being a first class citizen application. It isn’t merely language fanboyism as you suggest, but a simple reality. Mono apps, which are far more established and have a much larger dev base than Gambas, are met with similar skepticism: yet another runtime, yet another interpreter, yet another framework to keep libraries up to date on. Baggage, baggage, baggage. Python might also carry baggage, but Python’s one of the main languages for Unix hackers, and it’s included by default in most Linux distributions.

    Just run Gambas in an Ubuntu environment and notice how different it looks from the rest of the environment. Because Gambas is off in its own bubble, you’ll always be behind in terms of developing for the real environment.

    It’s also worth pointing out that while Gambas is “modern” in the sense that it isn’t your dad’s BASIC, it is not Python. Python, Ruby, and even Java are demonstrably better languages from a CS point of view. Take a look at the way Python3 handles introspection, Unicode, and dynamic types. Gambas and Python both started as the brainchildren of individual hackers, but Python has, undoubtedly, grown far more and has a much more active contributor base. Food for thought.

  3. Gambix Says:

    Hi Charlesg

    Good paper.

    Just two point.

    Gambas begin to have self writted widget, so it limit the gtk/qt dependencies to some simple canevas (Paint, Draw, DrawingArea, Form, Container), The Gambas runtime by itself have not many dependencies (libffi xdg-utils glibc), for the libs it’s the same problem for python !

    Then, Gambas run now on Mac and there is some recent work on windows (long way before to get it ready, damn windows)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: