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."
BASIC (Score:5, Insightful)
Re: (Score:2, Insightful)
Re:BASIC (Score:5, Funny)
COBOL?
Re:BASIC (Score:4, Funny)
ColdFusion.
Re: (Score:2)
Re: (Score:2)
Brilliant idea.
A couple of other popular choices include csh and CL (common lisp). And from my mainframe days, I'd say that CICS is almost a language of its own too.
Re: (Score:1)
Common Lisp thank you.
Re: (Score:2)
Re: (Score:2)
Re:BASIC (Score:5, Funny)
But.. Powershell is like Perl had an affair with Bash, and didn't tell her husband, DOS.
So Dos helped raise and shape that little bastard, like it was its own :) Unaware of why it was so different..
Re: (Score:2)
You think having the real daddy's regex would have been such a giveaway. I guess sometimes you just really don't want to know!
Re: (Score:3)
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.
Re: (Score:2)
AMOS was where I learned coding, before moving on C
Re: (Score:3)
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.
Re: (Score:2)
Re: (Score:2)
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.
Re: (Score:1)
I suppose you also fondly remember running with scissors and poking eyes out with sticks.
Re: (Score:2, Interesting)
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
Re: (Score:1)
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
Re: (Score:2)
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.
Re: (Score:2)
But why would they write their own interpreter instead of writing their IDE around libpython?
Re: (Score:2)
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?
Re: (Score:2)
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.
Re: (Score:2)
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
Re: (Score:2)
That should read I can't just link in some library and go
Re: (Score:2)
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.
Re: (Score:2)
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.
Re: (Score:2)
Have you read the comments I was replying to? I wasn't the one who suggested using Python, that was HiThere. I was just replying to jbolden who said writing your own Python interpreter is hard.
Re: (Score:2)
There are python IDEs, but in general there aren't good IDE for any of the dynamic languages. The reason is that IDE technology makes heavy use of static language features. It is an unsolved problem how to create a powerful dynamic IDE.
Re: (Score:2)
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
Re: (Score:2)
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
Re: (Score:2)
Remember the point is an embedded language so it won't be an ANSI FORTH, it must different because it is going to be using the application objects as primitives. I think FORTHs are amazing at new primitives.
Anyway, yes I agree an LISP is easier to learn. Especially since you can use XML syntax.
Re: (Score:2)
FORTH actually *is* fully post-fix, but the mingling of compile-time vs. execution time can make that difficult to see. And the last time I tried one just couldn't embed a " into a string. (Admittedly, that was over a decade ago, and my "standard FORTH" was FIG-FORTH. I don't have any real knowledge of ANSI-FORTH.)
I actually found FORTH easier to wrap my head around than LISP. I've never given Scheme a fair trial. But after Neon (an object oriented FORTH for the Mac) died during it's transition to MSWi
Re: (Score:2)
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'
Re: (Score:2)
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
Excellent resource for beginners (Score:3)
Re: (Score:1)
it has the most disgusting website ever. Who thought that intentionally blurry text is cool? It just makes it hard to read.
Re: (Score:2)
CTL+A is your friend. Or just remove the text-shadow:0 0 6px black; using firebug. Because it really IS that ugly!
Re: (Score:1)
Re: (Score:2)
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"?
Re: (Score:2)
Firefox 4 ...
Firefox 5
Firefox 6
Re: (Score:2)
Re: (Score:2)
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
Re: (Score:2)
Thumbs up for Gambas (Score:1)
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.
First use on CSI? (Score:2)
Quick - someone tell the writers of CSI so they can now ""whip up a GOOEY in Gambas so they can track the killers' IP address [youtube.com]" ... or something equally zombified.
Spaghetti code with gotos AND inheritance! (Score:1)
Wow! The possiblilties are endless! Do we get overloading as well?
Re: (Score:2)
Re: (Score:3, Insightful)
So don't knock goto - the software you're using depends on it.
Re: (Score:3)
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.
Re: (Score:3)
Re: (Score:2)
Just because you can it doesn't mean you should
Re: (Score:1)
Windows? (Score:2, Insightful)
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
Re: (Score:1)
Re: (Score:2)
trust me, I am Ctarded, you dont want my help
Re: (Score:1)
Cute characters (Score:4, Funny)
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?
Re: (Score:2)
Re: (Score:2)
I understand "guerrilla marketing" but to whom are we marketing: prepubescent teenie boppers?
Anime and manga fans.
Re: (Score:2)
Everybody likes a cute character. With maybe the exception of male prebubescents and adolescents.
Re: (Score:2)
It's BASIC, yes it's aimed at teenagers.
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
Don't forget Plan9's Glenda, which pretty much out-cutes all of those.
Actual use (Score:3)
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.
Re: (Score:2)
it wont work on MS systems, otherwise it could be a good VB alternative, otherwise like I stated in a previous post why bother learning it if your never going to be able to use it on other systems
I already know a half dozen useless programming systems, not wasting my time on yet another
Re: (Score:2)
Re: (Score:1)
made my year (Score:1)
English source code? (Score:2)
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?
The New 2012 Model T ? (Score:3)
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.
Re: (Score:1)
Re: (Score:2)
I think there is some truth in what you say, but I've TRIED to use good practices in languages not built for it. The structures of the language have more than a minimal influence.
Languages also come with communities that have cultures that reinforce certain practices. That is where individual programmers pick up and are encouraged toward good/bad practices.
Many procedural languages have some sort of modularization, at the least prodcedures/functions/subroutines.
Any code I have seen in those languages, h
Re: (Score:2)
QT Designer is quite good.
Re: (Score:2)
I have found Qt Creator much easier to work with than Visual Studio. It requires some more explicit management in its project files (as they are just QMake projects), but I've found that I prefer this to the endless point-and-click mazes that VS subjects me to.
It's handy enough on its own for C/C++ projects, independent of whether you are using Qt or not, but it's extremely helpful for developing applications that use Qt as it integrates very well with Qt Designer.
Re:need a good C++ IDE, though (Score:4, Insightful)
Did Qt Creator get folders? (Score:2)
The last time I tried it, you could not organize your code into folders. Everything had to be saved in one directory, that of the project files.
Re: (Score:2)
Re: (Score:2)
Did you create the folders externally from Qt Creator? because it does not let you create folders.
Re: (Score:2)
Python too (Score:2)
Would like to have a true "GUI IDE" Rad tool for python too. ( something like what wavemaker is to java, or ironspeed is to .net tho the latter isnt free ) While it may sound lazy, drag and drop interface creation and good remote debugging speeds development time, even for professionals.
Re: (Score:1)
You might want to give Eric a try. Eric is an IDE for python which can call Qt designer. This allows you to create the gui using Qt and with PyQt write your actual program in Python.
Re: (Score:2)
Ya i have and its the best we have so far, but the GUI builder 'extension' is a bit kludgey and still has an 'external' feel ( since it is :) )
I have seen a few other smaller projects but none seem ready for prime time. I just hope one is out there and i missing it.
Re: (Score:2, Informative)
Re: (Score:2)
Anyone who would use Eclipse over VS just doesn't know what he is doing.
Or maybe I use linux for development? You know, like a proper geek?
Re: (Score:3)
What? You use eclipse when you have the awesomeness of vim available to you? (okay, I admit it - I switched to jEdit recently, but still, for a lot of code, eclipse is massive overkill).
Re: (Score:1)
Re: (Score:2)
Re: (Score:1)
visual studio is lightweight
Sputter...cough...lightweight?? What? Please stop with the fanboy bs, soppsa. Who the hell is modding this joke up?
Re: (Score:3)
Re: (Score:2)
Wrong. IntelliJ IDEA is.
Re: (Score:3)
Many developers that would code infinite circles aeound you know what they are doing.
Actually, in code, infinite loops tend to be a bad thing . . .
Re:Ever heard of ECLIPSE ???? (Score:5, Insightful)
I don't understand why people think Eclipse is so awesome. I use it at work currently and when I get time, I'm going to switch away from it.
1. Eclipse is too modular. It can't do anything on it's own and the hundreds of plugins aren't tested with each other. This causes bugs, incompatibilities and UI integration problems.
2. Eclipse has gotten better, but it still suffers from the refresh problem. It doesn't poll for changes in source files frequently enough and if you dare add a file outside the IDE, you have to manually refresh the view to see it.
3. Eclipse wasn't written with swing and requires SWT which means that you can only run it on platforms that SWT has been ported on.
4. Eclipse is not intuitive. Things like wizards don't behave properly. When writing Java code, one would assume that Apache Axis 2 projects would be supported with the latest web project type. They're not. You can't switch without recreating your whole project. You also can't generate a client only from an axis 2 project.
5. Eclipse is ugly. It still looks like an IBM product. Intellij, Netbeans, hell even visual studio are more appealing.
6. Every "killer" feature I've seen an Eclipse developer mention is also available in Netbeans. The few things I can't do in Netbeans are third party add-ons that haven't been tested well and don't integrate. It turns into multiple eclipse installs.. one for Java, one for C++, one for PHP, etc. This is wrong. Netbeans got this right.
7. Source formatting in eclipse is terrible. It breaks things up into little tiny lines and wraps things way too much. Java is verbose.. i need more than 80 characters unfortunately to be legible. It's also a hassle to configure this compared to other IDEs I've seen. It's so bad, some people have made plugins just to do that.
8. Eclipse warnings are useless. People get so used to having yellow lines on the side, they don't take any warnings seriously. It causes one to do bad things.
I realize that this is going to start a flamewar, but before anyone tries to say I'm wrong please try some recent versions of other IDEs. Most complaints I hear about Netbeans, Visual Studio, etc. are for very old versions. If eclipse is the gold standard, our standards are too low.
Re: (Score:3)
"Gold" is our 3rd-lowest level. Sort of like "Professional" - it's really for amateurs. You want AT LEAST Platinum. Or Onxy. Or even the craptastic Diamond level. That will give you the absolute minimum. And for our Enterprise-y customers, there's Prozilla, to Manhattan, and all the way up to Rushmore.
What do they mean? Who knows - it SOUNDS like it should cost more, and that's all that counts!
Re: (Score:2)
I, unfortunately, have had the same issues with Eclipse. I find it to be incredibly slow, bulky, and difficult to use for even standard tasks.
I do a lot of PHP work. I used to use the old, pre-Eclipse version of Zend Studio which was pretty good. When they moved to the Eclipse platform, it ended being a terrible product. I thought that, perhaps, the Zend people just didn't do a great job building on top of Eclipse and I decided to go to Eclipse directly. What a mistake - even the "easy installers" with all
Re: (Score:2)
So you use something like freebasic and let others who want those features use Gambas
Re: (Score:2)
Of course, if really want a good flamewar, bring up QB 64.
Re: (Score:1)
Bywater Basic
Bas
blassic
Any of those should be what you're looking for (and they all work quite well).
Re: (Score:1)