Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

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."

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.

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

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.

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.

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.)

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.

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

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.

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.

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

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

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.

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

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'

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

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 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

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.

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.

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).

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 statementGOTO 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

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.

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.

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.

I fully agree. Visual Studio is amazing, even for someone as "anti-Microsoft" as myself to admit it. Qt Creator is the closest thing I get to pure satisfaction when I code C++ without Visual Studio. It indents it right, it has great themes, great shortcuts, great everything!

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.

Like what? Visual Studio is by far the best IDE there is. It is almost outstandingly powerful and still lightweight with the newest versions. It's nice to work with. Apart from VisualAssist, which is great addon, there's not much there to improve over others. In fact, the assist features of VS is on par with others, VA just takes it step further. Anyone who would use Eclipse over VS just doesn't know what he is doing.

Not to go too far off topic, but my few experiences with VS have been abysmal: the editor sucks (the selection behavior alone is enough to make me want to throw the keyboard through the monitor), search is hellishly clumsy, there's no completion of any kind, it rarely sees symbol definitions it should, etc. It's so bad, that I suspect it has to be my fault: it's unintuitive for me, and I don't know how to use it. Can you recommend a reference for an accomplished programmer who just doesn't understand Windo

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.

"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!

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

Or indeed, http://www.specbas.co.uk/ [specbas.co.uk]
Disclaimer: I'm the author of that interpreter. It's based on the old 8bit BASIC style, where you get a "command line" where you enter your code and execute statements. It's line-based, and has sprites and graphics and stuff like mod music and such. It's a little pet project which a small number of people enjoy messing around in. It's not a serious programming language.