Sunday, May 07, 2006

Web 2.0 - Extremely easy web programming

While I am busy working on Liberty BASIC v5.0, my development partner Scott is working on something fun on the side. We are working on a dynamic web front end to Liberty BASIC so that you can write web programs in LB. We have some ideas for a unique tool for web programming that doesn't require all the crazy bits and pieces that are needed for the mainstream web solutions.

This will be an all-in-one solution with its own web server and it can be hosted behind Apache if so desired. We hope that in a month or so we will have a neat demo site up with some example pages that show how it works.

So, there's lots going on! :-)


Noble D. Bell said...

That sounds very interesting to me. I have been looking for something like this. Will there be a possibility that it will work on Windows's servers too?

Carl Gundel said...

It does run on Windows. Do you mean will it run behind some other web server besides Apache? I guess so.

What was really fun was when we got our first simple prototype of this system running (just the other day). I used my Treo 650 smartphone's built in web browser to access the server. I wrote a short little program and ran it. BASIC on my phone! :-)

Cassio (bshipps64) said...

Carl, this sounds absolutely fantastic!

EmbeddedMan said...

Carl, will this have full LB capibility? I.e. will I be able to use data from the webpages to talk to COM ports, the parallel port, DLLs, etc.? If so, you have an _enormous_ tool. We have wanted something like this (simple web sever with scripting (language) abilities that can easily interface to hardware) for a long time. This will be huge. I can't wait. Existing solutions today require you to pull togehter multiple seperate pieces. (Apache + PHP + python + hardware libraries)

Seperate product for more $$? Or included with LB5?


Carl Gundel said...

For now we are just working on a cool web demo of a BASIC that will share much of the Liberty BASIC syntax. This BASIC will be tailored to the medium of the web, so it'll be a little different than LB, and will have it's own name. Since it will run on our server we will not provide capabilities that access the hardware like serial or port I/O. Disk I/O will be virtualized and non-persistent (it won't write to the server's file system).

Our short term motivation is to create a cool site that we can use to interest people in our desktop software (LB).

Later we may productize this in one or more forms, and we may sell a hosted service. If we do sell this as user installed server software we may provide an option for an administrator to give individuals access to hardware devices.

We'll see how it goes. :-)

scriptman said...

What's wrong with PHP and PERL?
They are both free and easy to learn.
If you need to access real ports simply write a small pgm in pascal or assembler and use:

system 'myapp.exe'

You are not seriously advocating basic for cgi scripts?

scriptman said...
This comment has been removed by a blog administrator.
scriptman said...

In fact I've been using an old Win98 pc running Perl+Apache on a wireless home network for a while now and using my Blackberry to access a whole range of things such as my garage door, lights, outside temperature sensor, etc.

You don't need python, header files, libraries or any other extra overhead.

Web-page port access pure and simple and I don't need to buy any software or subscribe to any services.

P.S. you can even control access by IP or username and password so my neighbor can't switch my lights on and off at 3am!!!!

Carl Gundel said...

Perl is a useful tool, but let me explain why this is different from what we're doing.

First of all this is about BASIC, not Perl. If you like Perl then that's great. Use it. Enjoy. ;-)

A lot of people know and like BASIC, which is a perfectly useful language. There's no reason why a nice BASIC for the web shouldn't exist.

With Perl you have to manage at least three components. Your web server, your cgi scripts (you write them using a text editor), and to use your programs you use a web browser.

What we're doing will allow the BASIC programmer to do everything in the browser. There is no concept of a remote procedure. An application with sophisticated interactive features can exist in one file, written in a very standard desktop app coding style. In other words this is going to be easy. If you think cgi programming with Perl is easy, this is going to be even easier.

scriptman said...

Hi Carl,

That was a quick responce!

O.K. point taken, but how do you overcome security issues such as passing "nasty" commands to the interpreter? (yes even Perl has them if scripts are not properly configured.)

Another question I have is, will your Basic have a feature to "get" (sorry no pun intended) parameters such as the IP of the client ?
Much like the Perl $ENV{REMOTE_ADDR}

Don't mean to turn this page into a war of words like other blogs, you now the ones..."I hate M$ because.." or "I think Linux is...."
but I think that the issues I've bought up are important ones which need to be considered before any new language is safe to implement or indeed usefull.

Carl Gundel said...


Look at my response on the main blog page. :-)

Anonymous said...
