NS Basic/CE Frequently Asked Questions (FAQ)

May 26,2009

© NSB Corporation. All rights reserved.

What kind of BASIC is this?

NS Basic/CE is a complete BASIC development environment. It can be run on the desktop or on a Windows CE device. It uses Microsoft's standard VBScript engine as its core, combined with extensions to create a complete development and and secure runtime environment. NS Basic/CE provides a full, modern implementation of BASIC, with proper subroutines, variant data types and no line numbers. VBScript is built into the ROM of many Windows CE devices, keeping memory requirements low.

Extensions provide support for file I/O, serial I/O, WINSOCK, financial functions, database I/O and a set of standard screen input and output objects and dialog boxes. Microsoft technologies such as ADO and ActiveX are supported. Applications you create are freely distributable and are write-once, run anywhere. It includes a 240 page spiral bound Handbook and lots of sample code.

When developing on a device, all development takes place on the unit itself: there is no need to use an attached PC. The environment features a Visual Designer, which allows you to graphically lay out your objects and set their properties.

What Windows CE devices does it run on?

NS Basic/CE runs on

The complete list is in this Tech Note. If you have a device that is not listed, we may still be able to help you with our Embedded Device Support Program.

To understand the differences between different Windows CE devices, see this Brief History of Windows CE.

Does it run on Palm Pilots?

We have a separate product that does this: see http://www.nsbasic.com/palm

Why isn't NS Basic/CE just like NS Basic/Palm?

There isn't any practical way to do this on handheld computers.

These devices are all very resource bound. There isn't much memory, cpu speed or screen size. To make a product like this work efficiently, one has to make full use of what is available in the hardware and the ROM. The devices all have very different architectures. Cross OS compatibility has a real overhead cost, and there's not room for overhead on these devices.

Futhermore, each unit has a unique user interface. We wouldn't make people happy if the applications they created for Windows CE looked like Palm apps.

The BASIC language itself is pretty much the same.

What we can do is stick with our core objective: make a development tool that is easy and rewarding to use. With good documentation and support, it isn't too bad to move from one platform to the other.

Where can I buy it? What does it cost?

NS Basic/CE is available for $149.95 USD directly from NS BASIC Corporation's website. It is also available from resellers of Windows CE software: they are listed on the website.

Has fast is it?

NS Basic/CE executes up to 50,000 statements/second on the current generation of Windows Mobile devices. That's pretty quick for devices in this class, fast enough for most anything but heavy number crunching. If you need to crunch, you can create ActiveX controls in C++ using Microsoft's development tools, which can be called from NS BASIC/CE programs.

What support is there?

NS BASIC provides support by email and on a very active web board. We post bug fix updates to our ftp site on a regular basis. Check the web board for the latest announcements.

What documentation comes with it?

We provide a 240 page, H/PC sized handbook with NS Basic/CE. It's spiral bound, so it lies flat. With its size, it is as portable as your device. Short summaries of most functions are in on line help.

Can I distribute my applications?

Yes. The programs you write will run on any Windows CE device that has the appropriate NS Basic/CE Runtime and other modules installed. The Runtime is freely available from our website. You may distribute your apps royalty free.

Can I use third party add ins?

Yes. Tech Note 2 describes how you can use ActiveX controls developed by third parties (or yourself) in your NS Basic/CE programs. ActiveX controls provide you with a wrapper for your C++ code, so it can be easily accessed in your NS Basic/CE program.

How does it compare to Embedded Visual Basic (eVB)?

There is a comparison here.

Both products have a nice graphical design interface. NS Basic/CE has a longer list of controls that can be plugged in.

Users report that many of the problems they were having disappeared when they switched from eVB to NS Basic/CE. The same code developed using NS Basic/CE runs more than twice as fast than the same code developed using eVB.

It's not difficult to convert a project from eVB to NS Basic/CE. The code is virtually unchanged, but in some cases you'll have to adapt to using a different set of on screen objects. There is a conversion program to help with the process.

Are there cool things I can do in NS Basic/CE that I can't in eVB?

Of course!

You can create objects on the fly. eVB requires that you define all your objects before you download and run your program. NS Basic/CE lets you create a new object at any time.

The SETMENU command allows you to dynamically create and modify menu bars at runtime. Submenus are supported.

NS Basic/CE also has an EVAL function that interprets and evaluates a string using VBScript, as well as EXECUTE which will send a code snippet to VBScript. The results of these functions remain part of the runtime environment, providing a powerful facility for extending the functionality of a program while it is running.

Can I develop on the desktop and the device?

You can develop an app on both the desktop and the device, so long as you are careful about it.

The desktop is a vastly more powerful environment than any CE device. In the Desktop IDE, we've done our best to take advantage of that power to make a better IDE. The Device IDE, on the other hand, is much more limited in its functionality.

Your own code in the program can be modified freely on the device and moved back to the desktop (and vice versa). However, it's not a good idea to use the Visual Designer on the device to edit forms, controls and properties. It does not have have options and features that the desktop has to do this. However, you can see the code for the forms, controls and properties in the generated code at the end using the editor on the device. If you are careful, you can edit it.

How does it compare to Visual C++ for Windows CE? (eVC)

eVC is a subset of Microsoft's powerful Visual C++ environment. To get good use of eVC, you need a good understanding of Microsoft's development environment, including MFC, ATL and the Win32 API's (along with a lot of other acronyms). If you're pretty good with VC++ already, it's not too bad. For a beginner or anyone not a full time developer, it's not a practical environment.

Applications developed with eVC will run substantially faster than ones developed with NS Basic/CE or eVB, and have access to the full capabilities of Windows CE devices.

Technically, what is the difference between eVB and NS Basic/CE?

We use the VBScript engine, just like eVB does. With one exception that I'll get to, this is the only common code between the two products. The VBScript engine itself is pretty solid. Since it has been around for a while on the desktop, it's had more time to mature than the eVB toolkit itself.

The VBScript engine includes most of the statements in the language, but not any of the controls. In eVB, this code is in pvbhost2.dll and pvbform2.dll. In NS Basic/CE, we implemented them in Basic.exe.

Since we have control of the objects and the wrapper which calls the VBScript engine, we are able to add features not in eVB, such as Date and Time objects and commands like Eval, Execute, PlaySound, Sleep, ShellExecute, Waitcursor and Print. Conversely, there are features in eVB that are not in NS Basic/CE, most of which have easy workarounds.

We're able to bring out new versions more quickly, which allows us to get the latest fixes into our shipping code right away. This may account for people noting that the NS Basic/CE envronment seems more stable.

The Microsoft ActiveX controls are the additional common code. These do things like serial communcations, WINSOCK, Grid, ListView and Treeview. These controls are compatible with NS Basic/CE, so they can be used. Since they are the same code, they will have the same problems as when you use them with eVB.

We don't view NS Basic/CE as competing with eVB. NS Basic/CE is complementary: it allows many people to write programs for Windows CE who would not otherwise be able to. If we can add some much needed features into our version along the way, we'll do so.

Does NS Basic compete against Microsoft?

No - we're not foolish! We've designed NS Basic/CE to be complementary to Microsoft's development products. It's easy to integrate apps developed using Microsoft's tools with NS Basic/CE applications.

With its ease of use, short learning curve and quick development, NS Basic/CE is a great way to get started programming on Windows CE. For a desktop BASIC development environment, we also have NS Basic/Desktop.

The time you spend working with NS Basic/CE will not be wasted if you later on move up to Microsoft's products. The principles and methods you learn will transfer directly and give you a head start.

Who is NS BASIC Corporation?

NS BASIC was formed in 1993 to create applications for developers using hand held computers. The initial product, NS BASIC for the Newton, started shipping in 1994 and has consistently been one of the top selling packages on the Newton platform. The product has been continuously updated since its first release.

In late 1997, NS BASIC released its next product, NewtCard, a product inspired by Apple's HyperCard application. NewtCard has probably garnered more "Best of" awards than any application produced for hand held computers.

NS Basic/Newton and NewtCard are two of the three software products to garner a "First Class Award" from Mobile Computing.

NS Basic/CE was first released in 1998. It has been continuously been enhanced and improved since that date. Apart from the free eMbedded tools from Microsoft, it is the most widely used dev tool for Windows CE.

NS Basic/Palm was released in 2000 and has become the most popular non-C development tool for those devices.

Over the years, NS BASIC Corporation has developed a large body of special expertise in creating development environments for hand sized computers. Combining effective user interfaces for small, pen based screens with efficient use of resources built into the ROM, NS BASIC's applications are surprisingly powerful, small, and easy to use. You can contact NS BASIC Corporation by email at info@nsbasic.com, phone at 1 888 NSBASIC (416 264-5999) or fax at 416 264-5888.

So what does the "NS" stand for, anyhow?

Nice & Smart.