Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Open Source Programming

Open Source IDE GAMBAS Reaches 3.0 137

Kevin Fishburne writes "After years of work, creator Benoît Minisini and friends are just in time for New Year's celebrations with the first stable release of GAMBAS 3. Per their web site, 'Gambas is a free development environment based on a Basic interpreter with object extensions, a bit like Visual Basic (but it is NOT a clone !).' GAMBAS is component-based, so check out the list for an idea of what you can do with it."
This discussion has been archived. No new comments can be posted.

Open Source IDE GAMBAS Reaches 3.0

Comments Filter:
  • BASIC (Score:5, Insightful)

    by InterestingFella ( 2537066 ) on Saturday December 31, 2011 @12:29PM (#38548626)
    It's what I started my programming history with and I still have fond memories of it. Easy enough language that got me interested in programming and provided me instant fun. There never really was any other such comprehensive language with quick-to-see results. Drawing on screen was easy, syntax was easy and reading from input was easy. You got fun things done quickly. As much as some "I'm better than you" geeks like to take a stand about it, BASIC was important part of history.
    • Re: (Score:2, Insightful)

      by gadzook33 ( 740455 )
      Yes, BASIC was great (for the role it played). VB is an abomination that should be wiped from the face of the earth. I mean really people, learn something that starts with 'C'.
      • Re:BASIC (Score:5, Funny)

        by Anonymous Coward on Saturday December 31, 2011 @12:45PM (#38548748)

        COBOL?

      • Oh that's crap. And I learned C as my second language after VAX BASIC, and worked professionally as a C programmer on Unix for years. VB is a decent language/environment and has its place. Don't blame the tool because the worker holding it has no talent or other issues. Or to draw from one of my favourite sayings, it is the carpenter who cut the board three times and still found it too short. But it sure as hell wasn't the saw's fault. The worst you can really say about VB is that it allows bad programmers
        • I see a moderator doesn't agree with me but doesn't understand that just because they don't agree doesn't mean I should be modded out of the discussion.
    • AMOS for Amiga was even better, it had some multimedia extensions (playing sound, sprites, bobs (blitter objects - like a sprite, but could be the size of a whole screen), mouse zones (for fast mouse position testing for buttons) and even special instruction which waited for vertical refresh. It was about as easy as basic.

    • by arth1 ( 260657 )

      But it's not BASIC. It's an IDE built around BASIC with extensions. To say it's BASIC is a bit like a canoe with an outrigger is to canoeing.

      • But a lot of old BASIC dialects were similar, they were variants of the same language packaged in a development environment. If a language can load arbitrary C libraries, then that opens up a *ton* of doors.
      • That's a meaningless objection. Which BASIC are you thinking of as canonical?

        The original language (and first historical version) is Dartmouth BASIC [wikipedia.org], which went through several version changes, adding new features over time. In its final version, the original BASIC was renamed True BASIC [wikipedia.org]. The dialects available on micros didn't necessarily implement all the features of Dartmouth BASIC, for example matrix operations were missing from GW-BASIC or Commodore BASIC, IIRC.

    • I suppose you also fondly remember running with scissors and poking eyes out with sticks.

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      I've had a look at Gambas3 just now. You know what... it worked first time and was dead-fucking easy to get a gui running.

      People knock Visual Basic for Applications (built into Excel/Word)... but so many quick and dirty applications get built with it because:

      1. The component style of programming is extremely powerful - particularly when you can call upon very flexible and high level Office components. Especially when you have a good IDE - which VBA does.

      2. It's shockingly easy to get your first application

      • by HiThere ( 15173 )

        The component style of programming does have LOTS of advantages. It's the BASIC part that I can't stand. If they replaced it with Python, Ruby, ... even LISP or FORTH, then I'd seriously consider it. C might be acceptable, but I sort of doubt it. It would depend on the fit, and I don't think that C woruld fit. But Pascal might work. (N.B.: I don't consider Lazarus to be a good fit, and it would need to handle Unicode strings. So the easiest language to adapt would probably be Python3.)

        Please note th

        • by jbolden ( 176878 )

          BASICS are good to write because

          1) Syntax is well defined and thus lexiconical interpretation is easy.
          2) There is an extremely low number of keywords
          3) It is well understood.

          LISPs are by far the easiest interpreters to write.

          Python and Ruby are orders of magnitude more difficult to write interpreters for. Multiple man years instead of man days.

          • But why would they write their own interpreter instead of writing their IDE around libpython?

            • by jbolden ( 176878 )

              Because remember the idea was a scripting language for a new application. If I write ABC app, ABC doesn't have any hooks into python. I have to extend python and then embedded an entire python. I have to worry about all sorts of things like python security because it is now running inside my app, and all the features of this embedded libpython and how they interact with features of my API.

              And all that to avoid whipping off a custom BASIC or LISP?

              • No, all that if you want to use Python instead of BASIC or LISP.

                I wasn't saying they should use Python, I'm saying that if they did want to use it - like HiThere suggested - there would be no need to write a brand new interpreter, since there's libpython.

                • by jbolden ( 176878 )

                  I don't think you are getting this.

                  I have an app, ABC. The purpose of the control language is to manipulate the internal data structures of ABC app. The purpose is not to offer a generic python. Python out of the box doesn't allow me to manipulate ABC's data structures, libpython doesn't let me do that. I need to rebuild the python where I'm changing the internal primitives. I can just link in some library and go. Most likely I want to change what are or are not primitive objects in the language. S

                  • by jbolden ( 176878 )

                    I can just link in some library and go

                    That should read I can't just link in some library and go

                  • Well, no, if you want to change the syntax or semantics of the language itself you can't use libpython, but then you're not using Python, you're using your own derivative language.

                    • by jbolden ( 176878 )

                      OK good, that's exactly the point. You want your application's data objects to be the primitives in your new derivative language. For example in a shell you want files to be primitive objects, while in most other languages you wouldn't. And in a spreadsheet you are going to want cells to be primitives. That's a good way to say it, you want to use a BASIC because you are going to need create a derivative language which means you can't just pull in a library from a preexisting language.

          • by HiThere ( 15173 )

            Why start from scratch?

            The subject, as I understand it, is "What is a good component language, given that some people really think that BASIC is a bad choice." If you don't think that, then of course it's going to seem like a good approach to you. And this thread has nothing to offer. I happen to think that component style programming could be quite useful, but I don't find BASIC an acceptable controller language.

            In some ways the component approach fits in well with the characteristics of BASIC, I just d

            • by jbolden ( 176878 )

              I was saying that a BASIC is cheap to implement. In terms of the problems with Access and math, yes I've had serious problems too. Those BTW SQL Server as well. They weren't problems in BASIC they were problems in the underlying old versions of the C/C++ math libraries that had been compiled into those apps that the controller languages called. That is absolutely inexcusable on Microsoft's part but it is not a problem of BASIC.

              ____

              So in terms of why BASIC, that was my #3 "3) It is well understood." Pe

          • by HiThere ( 15173 )

            Why start from scratch?

            The subject, as I understand it, is "What is a good component language, given that some people really think that BASIC is a bad choice." If you don't think that, then of course it's going to seem like a good approach to you. And this thread has nothing to offer. I happen to think that component style programming could be quite useful, but I don't find BASIC an acceptable controller language.

            In some ways the component approach fits in well with the characteristics of BASIC, I just don'

    • by ogdenk ( 712300 )

      It's what I started my programming history with and I still have fond memories of it. Easy enough language that got me interested in programming and provided me instant fun.

      BASIC was a great first language and is still useful in teaching simple programming constructs. It was a better fit for early micros than today's machines however. You could get down and dirty with PEEK&POKE statements and talk to hardware directly. Not quite the same anymore.

      There never really was any other such comprehensive language with quick-to-see results.

      Ummm.... I have to call BS on that one. Both TCL and LISP come to mind.

      Drawing on screen was easy, syntax was easy and reading from input was easy.

      Depends which version of BASIC we're talking about. Different dialects had WIDELY varying levels of hardware support. Atari BASIC had easy to use graphics

  • by oakgrove ( 845019 ) on Saturday December 31, 2011 @12:35PM (#38548676)
    Gambas is a great basic-esque ide for beginners and on any debian derivative is just an apt-get away. Of course use your respective repo tools elsewhere.
    • by Anonymous Coward

      it has the most disgusting website ever. Who thought that intentionally blurry text is cool? It just makes it hard to read.

      • it has the most disgusting website ever. Who thought that intentionally blurry text is cool? It just makes it hard to read.

        CTL+A is your friend. Or just remove the text-shadow:0 0 6px black; using firebug. Because it really IS that ugly!

        • Great example of how "greatly" open source devs get UI and design, tho
          • I wouldn't limit it to open source devs - Microsoft has produced its' share of turkeys. So has Apple (hockey puck mouse, anyone? How about the "toaster"?)

            Devs can produce ok UIs provided that they follow the decades-old rule that form should follow function. But how many times have you been presented with a "finished" design that is non-functional by some "design team"?

            • Firefox 4
              Firefox 5
              Firefox 6 ...

              • by DrXym ( 126579 )
                Firefox is an example of an open source app that gets usability. Compare Firefox to Mozilla that preceded it. It's a vast improvement in terms of usability, jettisoning menus, buttons and obscure advanced features and concentrating on delivering a premium browser experience. People who want extra features can install extensions but the default is minimalist. Problem with Mozilla (and now Seamonkey) is that it merged the functionality of a browser, HTML editor and mail app into a single executable and was su
      • by arth1 ( 260657 )

        It's not blurry text. It's text-shadow.
        Depending on your font, font size and display DPI, that might make it hard to read, yes. The lower DPI and smaller font you have, the worse it's going to look.

        The error here is the typical web design 101 blunder of combining scalable and fixed size elements.
        I am disappointed that HTML and CSS after all this time still lets you do that, cause the result becomes "looks good for me, looks shit for you" pages.
        Where's HTML/CSS with strong typing? It shouldn't be possible

        • It's nothing to do with scaling. I have my dpi set at 120 (instead of the standard 96) AND I have my browser set to zoom in an additional 40%, and it's STILL blurry. I have enough problems reading text w/o that sort of silliness.
  • by Anonymous Coward

    I'm a big fan of Gambas.Though I haven't used it in a few years it is a great way to quickly put together graphical applications. It has pretty good help files, simple (BASIC) syntax and is a great way for beginners to learn and for more experienced programmers to throw together simple apps in a hurry. I'm very happy to see this project is continuing to be developed.

  • Wow! The possiblilties are endless! Do we get overloading as well?

    • C and C++ have GOTO as well, should we shun them for that too?
      • Re: (Score:3, Insightful)

        by tomhudson ( 43916 )
        Look at all the case: statements in a switch - they're all GOTOs (the case: is a label). So are your virtual method tables. The break; statement also does a goto to the next instruction after the enclosing set of statements (switch, for, whatever).

        So don't knock goto - the software you're using depends on it.

        • by jgrahn ( 181062 )

          Look at all the case: statements in a switch - they're all GOTOs (the case: is a label). So are your virtual method tables. The break; statement also does a goto to the next instruction after the enclosing set of statements (switch, for, whatever).

          Uh, those are *not* gotos. GOTO is a statement
          GOTO label
          and nothing else[1]. switch, break, continue and run-time polymorphism may or may not have some problems in common with goto but there is no logic which says that if you accept one of them you must not criticise goto.

          [1] Modulo variants WRT where the label is allowed to be: in the same function, anywhere in the same source file, and so on.

          • The switch statement is implemented by many compilers as a goto to those labels in cases where the target elements are not "equally spaced". When the targets (the labeled statements) are all one exactly after the other, (1, 2, 3, 4 ...) it's a simple matter of implement a switch by just doing some pointer arithmetic in a branch table. However, many switch statements are NOT contiguous (for example: 0:, 1: ,2:, 42:, 666:, -1: (with a fall-through to default:), so they have to be implemented with a series of
    • Just because you can it doesn't mean you should

    • by gambix ( 2543106 )
      Take a look to the Gambas IDE witch is written in Gambas... count the goto uses :-)
  • Windows? (Score:2, Insightful)

    by Osgeld ( 1900440 )

    Its the main reason I have never bothered with this, it looks like everything I would want except windows support ... which though I run linux on the desktop most of the world does not

    Its really not in my interest to sit down and learn a whole new system if I have to toss it out of the window the second I'm on a MS OS

    • by gambix ( 2543106 )
      Well, a little help would be welcome. Work for a windows version is in progress, but the lack of means in terms of knowledge and time are that it is unfortunately not a priority. It is on this would be a hell of a competitor in the world of windows.
  • by evil_aaronm ( 671521 ) on Saturday December 31, 2011 @01:37PM (#38549196)

    Is it required that open source projects have cute characters? Mozilla's fox and other characters, Linux's Tux, BSD's devil, Freemind's butterfly, etc.

    I understand "guerrilla marketing" but to whom are we marketing: prepubescent teenie boppers?

    • Yeah, because a window and an half-eaten apple is way better.
    • I understand "guerrilla marketing" but to whom are we marketing: prepubescent teenie boppers?

      Anime and manga fans.

    • I understand "guerrilla marketing" but to whom are we marketing: prepubescent teenie boppers?

      Everybody likes a cute character. With maybe the exception of male prebubescents and adolescents.

    • by Hatta ( 162192 )

      It's BASIC, yes it's aimed at teenagers.

    • I think it's as much tradition as it is advertising. Heh, Dragonfly BSD has not one, but two pages dedicated to dragonflies. :D
      • by gambix ( 2543106 )
        Yes and i really like the relation to Toys... we want a simple and complete language for doing simply things ... that's all :-)... that's why a so cute shrimp. Happy new year
    • Don't forget Plan9's Glenda, which pretty much out-cutes all of those.

  • by nurb432 ( 527695 ) on Saturday December 31, 2011 @01:52PM (#38549344) Homepage Journal

    Not to slight the work he is doing, but has anyone used gambas in any 'real' projects? I have seen lots of toy/pet projects but noting major.

  • someone called fishburne posting about gambas what are the chances of that? could be a variable from the poission distribution
  • It looks like most of the example applications were written by native Spanish speakers, have comments in Spanish, etc. Any good example source in English?

  • by assertation ( 1255714 ) on Saturday December 31, 2011 @05:34PM (#38551338)

    Isn't this like Ford releasing a Model T for 2012?
    Who cares about Basic in 2012?

    No disrespect to anyone, I'm serious. Honest thought, not meant to offend.

    • by gambix ( 2543106 )
      Well ... What i can answer to a so stupid thing ... Ford T is died since many years ... but Ford is alway here ! ... Ford T have Wheel ... and modern Cars too So Gambas Have some little things of basic ... but all the modern tools existing too ! It's in the name ! Gambas Almost Mean BASic ! Yes we are in 2012, and Gambas have been written to make modern apps, not to remake nostalgic one.

E = MC ** 2 +- 3db

Working...