JAN
21
2009

KBasic Brings BASIC to Qt World

KBasic is a new programming language similar to Visual Basic. It combines the best features of those tools and comes with built-in backward support for those tools as it is 100% syntax compatible to VB and QBasic. It is written with Qt making it entirely cross platform. The Full Version Professional Edition is available to download for KDE now. It follows the old Qt licencing of being GPL licenced for Free Software and commercially sold for proprietary software.

KBasic is an open source project backed by years of continual development. Versions are available for KDE, Windows and Mac. It allows developers with an installed base of VB applications to start developing for a mixed Windows, Mac OS X and Linux environment. It is made up of a compiler, an interpreter and an integrated development environment. It is about 15 MB source codes in C++ and about 1000 source code files.

People around the world join KBasic - inspired by the idea to make software available for everybody: a programming language that is easy to use, and a development platform that is stable, reliable and available at a low price.

We communicate by different means, most of them on the Internet. The KBasic community rests on dedicated volunteers to further improve our programming language and development platform in a number of different ways. Whatever your skills, there are lots of places to start contributing.

The project is under active development and has a vibrant community. Take a look at ways to contribute.

KBasic supports calling functions of C/C++ library files, enabling you to mix C/C++ and BASIC code. KBasic uses SQLite as an embedded database engine, which creates database files locally on your machine without the need of a database server. Libraries are availalble for data/time, i18n, RTF, web browser.

KBasic Software is a small software company with headquarters in Frankfurt am Main in Germany. KBasic Professional is its flagship product, the multi-platform BASIC programming language and environment.

Comments

... but still a nice and welcomed addition to the free software world.

I started programming with BASIC on a Laser 210 computer when I was 10, and maybe I can "convert" one of my students to Linux; he is 14 and currently writing VB.NET apps on Windows.

Who else had his first programming experiences with BASIC?


By christoph at Wed, 2009/01/21 - 6:00am

The first language I learned was QuickBASIC, in grade 6, and while I'm not really a fan of BASIC anymore, I still have fond memories of it :P


By Jeffery at Wed, 2009/01/21 - 6:00am

Same for me, of course along with the games Nibbles and Gorillas! :-) That was really funny :-)


By dh at Wed, 2009/01/21 - 6:00am

Basic V2 (Commodore 64), AmigaBASIC, GFA-Basic (atari ST and Amiga), STOS (Atari ST), Amos (Amiga). Does that count...


By Jonas at Wed, 2009/01/21 - 6:00am

Good stuff! I had all kinds of fun with Amos back in the day. :-)


By Nikolaj Hald Nielsen at Wed, 2009/01/21 - 6:00am

Hmm, I don't know if it counts as an "experience", but my first contact with programming was when I got my hands on a book about BASIC when I was 5. Didn't have a computer to try it out, but nevertheless I was thrilled :). The first "programming" "language" I really wrote in was DOS batch files (later including NDOS), followed by QBasic and Pascal.


By slacker at Wed, 2009/01/21 - 6:00am

My first programming experience was with TI-BASIC on the TI-85...


By momo at Wed, 2009/01/21 - 6:00am

Same here, but on the TI-84+

I wrote pong for it and it was CRAZY slow. I'd love to be able to write apps for it in C/++ and compile them and put them on the calc instead of having to choose between BASIC and ASM..


By ethana2 at Wed, 2009/01/21 - 6:00am

Sinclair Basic on a ZX-Spectrum 16. Fun times. It was a loaner, and I persuaded my parents to buy the infinitely cooler 48k speccy because I demonstrated filling up the available memory with basic code.


By Boudewijn Rempt at Wed, 2009/01/21 - 6:00am

I had. My first computer was ZX Spectrum 48)


By Dark Amateur at Wed, 2009/01/21 - 6:00am

Mine too. Sir Clive Sinclair is a hero. =)

I fondly remember games like "Jet Set Willy", "Underworld", "Sabre Wulf" and "Elite". Apart from programming dead simple things like text adventures and the occational drawing app. The draw app was controlled by a joystick and could only draw lines. I think that was assembly code though as it was lightning fast. So fast that a single tap on the joystick would send it out to the screen-edge and from there it would only draw a "box" following the screen-edge. Not really useful.
Most of the code there was probably borrowed from magazines though.


By Oscar at Thu, 2009/01/22 - 6:00am

When I was very small I used to draw pictures using the cursor keys and the graphics symbols you got by SHIFTing keys on a Commodore PET. I started programming when I wanted to save my pictures and copied the REM statements I saw in one of my dad's programs, thinking it meant REMember. Typing "REM (-:" into the basic interpreter was fine but it didn't save my graphical masterpieces. Fortunately my dad came along and explained line numbers, ?"(-:" and DSAVE "WILLART" and I was off like a shot.


By Will Stephenson at Wed, 2009/01/21 - 6:00am

Nope. I still can't understand BASIC to this day. I'm glad. It always takes me a while to understand what's going on when I have to clean up someone ugly BASIC code.


By winter at Thu, 2009/01/22 - 6:00am

Basic was the first language I learned with my Epson QX-10 many centuries ago. I was like 12 or so... My mother gave me a book called "1000 games for basic" or something like that.
Who else remembers ELIZA?


By eamner at Thu, 2009/01/22 - 6:00am

In 1978 (or was it '79) I had an Atari 2600 VCS and bought the BASIC programming cartridge and keyboard controllers. I learned the whole language and exhausted all the coding possibilities of the limited 2600 environment in about a week. That convinced me I'd like to get into computers

Later in high school we had BASIC classes with Apple IIs. It was another year until I could afford my own computer -- An Atari 800 with an enormous 48K, and BASIC. I couldn't afford a floppy drive, so only had the 410 tape player. Later came the enhanced and faster BASIC XL.

By the time the Amiga appeared I was doing C and assembly. I've been coding in C for unix (and unix-like) systems for over 20 years now. I still miss writing games in Basic and 6502 assembly on the Atari 800.


By Ken Jennings at Thu, 2009/01/22 - 6:00am

I started with Basic MSX on Yamaha.


By Ilya at Fri, 2009/01/23 - 6:00am

My first program language is GVBASIC which is similar to QBASIC but not worked in PC when I was 14. Since I've loved linux I never use any software belong to Microsoft.


By WarGrey at Sat, 2009/01/24 - 6:00am

I started off with GW-BASIC on my Dad's Olivetti when I was about 8 years old, and I got hooked on programming :-)


By Claire at Sat, 2009/01/24 - 6:00am

Yeah! The greatest abomination of a programming language in existence now makes its way into KDE!

How is the progress on KCobol going?


By slacker at Wed, 2009/01/21 - 6:00am

>Yeah! The greatest abomination of a programming language in existence now makes its way into KDE!

Not even close. KDE has already been introduced to the worst language ever made: C++.

:P


By Ronald at Wed, 2009/01/21 - 6:00am

C++ is the worst compiled language ever... except for all the others!


By David Johnson at Wed, 2009/01/21 - 6:00am

Try using Haskell or Ocaml. You'll curse all the years you have been using C++...


By Functional guy at Wed, 2009/01/21 - 6:00am

At least it puts bread on the table.


By David Johnson at Wed, 2009/01/21 - 6:00am

Actually I have used both. And I curse Haskell beyond anything else... I don't know if I would rather use BASIC, but it is possible :). Cool paradigm spoiled by "academic purity" getting in your way all the time.

OCaml on the other hand is quite nice, and for some applications the functional paradigm makes a hell of a difference. Still, there is a substantial performance difference when compared to C/C++. And I find wasting processing power impolite towards the end users. After all, they have paid for it. Also, there are some subtle scalability problems that can bite you with larger projects.

All in all, I will stick with C when I have the choice :). I'm not a great fan of C++, either.


By slacker at Thu, 2009/01/22 - 6:00am

Yes regarding haskell "academic purity" does hurt sometimes, but I honestly hope that most of these pains are just the symptom that theory isn't quite there yet, and some improvement will be possible while still sticking to the principles on which the language is founded. These are what makes it so beautiful when it works.

There's lots of ideas in the hair. Many of these would make haskell easier to use right now. However that's not the goal of the language, you don't want a good enough solution for the present, you want a very good solution for the future... so it takes time.

All that said, I honestly think that the language is already at the point where for many tasks, it can be an excellent choice.


By Jad at Fri, 2009/01/23 - 6:00am

You probably mean the "Kobol" sf project? Last time I checked they had a new punchcard plasmoid and several skins for that.


By Deral Pern at Wed, 2009/01/21 - 6:00am

Yes, all this interactive BASIC stuff is a bit new for me. The jCquard JavaScript library is where it's at for that cool Plasmoid:

http://www.outstandingelephant.com/jcquard/

Of course when I started programming we couldn't afford punchcards and had to cut up old cornflake packets instead. Didn't have any computers either, had to do it all in our heads. You were lucky..


By Richard Dale at Wed, 2009/01/21 - 6:00am

+1E+99

Yes, BASIC is probably the worst computer language. Notice that I said computer language since it is one of those languages that is not really compileable and is thus not a *programing* language. Not to mention that it is obsolete.

It is unfortunate that obsolete computer (and programing) languages are perpetuated just because people know them. But, that is the way with C as well.

What is BASIC (Beginners All-purpose Symbolic Instruction Code) really? It is a pidgin based on FORTRAN IV that was modified so that it it was easier to interpert specifically designed for timesharing systems. Don't know what a timesharing system is? As I already said, very obsolete. :-D

Could someone please design a modern procedural language to replace it?


By JRT at Fri, 2009/01/23 - 6:00am

According to the screenshots, this uses an MDI interface. Is this now accepted in KDE applications?


By Brian Pritchett at Wed, 2009/01/21 - 6:00am

I hope not XD


By Luis at Wed, 2009/01/21 - 6:00am

Is this important? Either use it or not...
It's not for end users but for developers and developers probably can live with that.
I wouldn't mind actually, although it feels a bit old - I'd prefer the Tab interfaces (IntelliJ interface) as well...
Can't think of any other application that has an MDI interface...


By Peter at Wed, 2009/01/21 - 6:00am

> Is this important?

Of course the UI paradigm an app follows is important.

> It's not for end users but for developers and developers probably can live with that.

So you say developers can live with crappy interfaces? I object. If I use an IDE and not emacs/vi and the like, and want a streamlined and effective interface, one that classic MDI doesn't provide (not to mention that it doesn't work with multi-display setups).

(Disclaimer: that's all general remarks without judgement about kbasic)


By Hanno at Wed, 2009/01/21 - 6:00am

I saw some of you are already begging to complain about this and that and ... What I really don't understand is why. Don't like basic ? Fine , don't use this , there are still a number of way to write apps in qt besides this. Don't like how this program looks ? Again , use another IDE, there are plenty to choose from.
It seems to me that there are people here that like to whine about stuff. It's free software , it's open source. Don't like it, don't use it or get the code and make it better. It's not like somebody is asking you for your money for a crappy piece of software , unlike what some other companies are doing.
Oh and it's nice having the possibility of writing code in yet another programming language. I remember having a PC with a Z80 clone CPU that kind of had the OS running basic. I did some basic programming in it. Also tried some simple stuff in VB. And let's not forget it's basic that made MS possible, it's what the company started with :). However they seemed to push C# now rather than VB.NET .


By Marius at Wed, 2009/01/21 - 6:00am

How does it compare to Gambas?

http://gambas.sourceforge.net/

I once did a small project with gambas and I must say it's a very nice, stable and feature-rich environment.


By thomas at Wed, 2009/01/21 - 6:00am

Gambas isn't compatible with VB6, nor does it have the ambition to become compatible.

The professional edition is probably bought the most by small businesses that want to port their old VB6 apps to a modern platform without switching to vb.net.


By Paul at Wed, 2009/01/21 - 6:00am

KBaasic currently supports Qt4 while Gambas does not. But Gambas has packaging abilities which KBasic does not have.


By Ilya at Fri, 2009/01/23 - 6:00am

Note that the compile to executables feature is available ONLY in the professional (PAID) feature...


By Trapanator at Wed, 2009/01/21 - 6:00am

This is under Windows. Under Linux you can easily compile executables with free version.


By Ilya at Fri, 2009/01/23 - 6:00am

Well, actually there are simple languages as Javascript or Python that serve the same objective as Visual Basic 6: they reduce complexity hells for desktop uses.

It is merely psychological as a barrier.

I am convinced that C++ or C are not designed for desktop applications. In theory you can use all the powerful features but in reality you run into a bug and memory management hell. Shuttleworht call to use Javascript for the Desktop is up to the point.


By Andre at Wed, 2009/01/21 - 6:00am

I still don't understand why Python hasn't displaced VB on Windows. Perhaps it's the NEBM syndrome (not endorsed by Microsoft).

As for C++, it's very appropriate for the desktop. But unlike many scripting language, is unforgiving of bad programming practices. In terms of memory management, just remember that everything you allocate you need to deallocate. Destructors do much of this work for you, object hierarchies like Qt's QObject do a lot more. You can even use a full blown garbage collector. But ultimately it's your responsibility as a developer to look after your own code.


By David Johnson at Wed, 2009/01/21 - 6:00am

Yes, and it happens all the time that Developers make mistakes. A programming language should not provide for that. C++ is not unforgiving of bad programming style, it makes bad programming style possible.

It is like real construction workers, they don't like to wear a helmet. Programming languages were not created for memory management.


By Andre at Wed, 2009/01/21 - 6:00am

Hate to break the news to you, but bad programming most certainly exists outside of C++.


By David Johnson at Wed, 2009/01/21 - 6:00am

BASIC is probably preferred over Python because it is a procedural language.


By JRT at Fri, 2009/01/23 - 6:00am

When you learn how a computer works and when you start to write assembly or when some one stresses to you the importance of memory management first thing, you tend not to forget it. So I don't really see what the deal is with C++ and all the whinners. It tends to be a very fast compiled language. Fortunately, some of us aren't wasteful enough to write desktop suites in Python or BASIC or Javascript. Oh, and then there are garbage collectors. How nice.

BTW, in game programming, you'd be hard pressed to used something else. There has to be a really strong reason other than performance not to use C or C++. I've seen the Java and Python engines. Most of them just have a scripting interface, which is nice for fast prototyping.


By winter at Thu, 2009/01/22 - 6:00am

I'm not sure if you have noticed, but many games (FPS too) are "written" in Python, Ruby or Lua. Basically a C++ engine which is controlled via a "scripting" interface on top. This is same architecture that you use when writing desktop utilities or applications in Python, BASIC or Javascript. The engine in this case is typically a libraries like Qt and/or a bunch of other C/C++ libraries. It is a very smart and effective way of working. I don't see what is so "wasteful" about it.

As for garbage collection, it is probably the single most important language feature out there for improving programmer productivity. Just MHO.

--
Simon


By Simon Edwards at Fri, 2009/01/23 - 6:00am

Only works in 32 bits?


By Vagner at Wed, 2009/01/21 - 6:00am

Worthless programing language based on THE WORST programing language of ALL time!
AHahAHHAha!
WTF? Why would anyone use it?


By kojot at Wed, 2009/01/21 - 6:00am

Good god, I could become a programmer again! :-(

I wrote COBOL for Honeywell mainframes, and I also became reasonably proficient with Bill Gates' BASIC on my Radio Shack TRS-80 microcomputer. I was likewise able to use QBASIC on my first IBM PC clone (back in MSDOS days). BASIC somehow disappeared about the time that Windows 95 appeared, and I have missed it ever since.


By Kenyon Karl at Thu, 2009/01/22 - 6:00am

You might want to think about that. We wrote Kommander for point and click novice programmers. Having used many languages I once bought a cross platform Basic package that ran on OS/2. I quickly realized I was spending all my time with the reference book open looking up functions. Then I tried VX-REXX and realized I was productive with a natural language computer language. Remember Basic was never standardized and codified. If you need Basic it is because you have many lines of Basic already, and then you must consider compatibility.

Over the years I used Perl and PHP on the web and then got a job on a project where I had to work with ASP, which is essentially MS Basic. I thought at first the programmer had been whacked, but the more I tried to write good code and fix things the more I realized that ASP inherently made you write bad code, had lousy reporting and was just syntactically annoying. I refused to do any more of it. Having had to learn C++ and work with Qt to work on Kommander I was once again constantly working with my nose in the docs. However the elegance and power of C++ along with the remarkable framework of Qt made it a joy.

When I was young I thought bagpipes were cool. You don't hear them in contemporary or classical music. A little goes a long way and a lot makes me crazy. If you used to play bagpipes I'd recommend you got back into music by learning piano or guitar. Likewise I think I would pick nearly any language except scheme over Basic if I was going to get back into programming. This project is expressly useful and good because it empowers legacy code bases, but when it comes to programming legacy languages != fun.


By Eric Laffoon at Sat, 2009/01/24 - 6:00am

Any new piece of free open source software is welcomed.

I learned BASIC when I was about 9, but I quickly moved onto Assembly since Basic was too slow then on my Commodore 128. A few years later I started programming in Pascal, then a whole bunch of other languages (including obviously C++). Honestly I have no desire to ever program in Basic again (someone used the word abomination?). It is highly unlikely that KBasic would ever be downloaded to my computer.

But KBasic clearly gives a great advantage to whoever has some old code in VB, wants to reuse it, and for some reason gambas doesn't do it. That might bring more software into Linux and that is clearly positive for everyone.


By Luisito at Thu, 2009/01/22 - 6:00am

Pages