Go Back  Xtreme Visual Basic Talk > General Discussion > Tech Discussions > Proposal for VB6 replacement


Reply
 
Thread Tools Display Modes
  #1  
Old 02-27-2008, 01:37 PM
Will Rayer Will Rayer is offline
Freshman
 
Join Date: Feb 2008
Location: Channel Islands, UK
Posts: 33
Default Proposal for VB6 replacement


I want to know the most important elements of VB6 that should be included in the development of a new version of Basic (provisionally called XtremeBasic or XBasic ). The motivation of XBasic is a useful language close in spirit to VB6. It improves on parts of VB6 syntax that are generally disliked, but will not introduce changes just for the sake of change.

XBasic is what Microsoft would have produced if they actually listened to users who cared about the product. But unlike Microsoft and VB6, XBasic will be supported and developed long term. I'm an indie developer & want to release an initial version soon, so some VB6 features will be added to later version as demand and user interest permits.
  1. Similar / Identical elements
  2. Improvements to VB
  3. Old VB6 elements that will be dropped
  4. VB6 things that are different
  5. Features for future versions
  6. Undecided areas

Similar / Identical elements

These are things in VB6 that will work in the same way (or a similar way) in XBasic.
  • Control structures, Call, Class, Const, Dim, Do, End, Exit, For, For each, Function, If, Elseif, Let, On error, Redim, Select case, Sub, While will be the same.
  • Data types Currency, Date, Double, Long and String will be the same.
  • Boolean, Enum type the same.
  • UDT type the same.
  • Collection type can store multiple elements of any one type.
  • Functions and Subs will have the same syntax as VB.
  • The Int type will be upgraded to 32 bits.
  • The Float type will be upgraded to 64 bits, making it internally the same as a Double. This shouldn't affect code as the Float keyword can still be used.
  • VB6 core functions and subs will keep the same names, with a few name changes: Instr -> Strfind, Kill -> FileDelete, Name -> FileRename. Generally the file functions will start with File, string functions with Str etc. Even when the names change, the parameters will be in the same order.
  • Error handling will be the same. There will be a labelled code block near the end of a sub and errors will jump into this block.
  • Graphics API will be similar to the existing API.
  • IDE similar to the VB6 IDE.
  • Class structure that unifies class and module.
  • All classes can export public functions, public types (UDTs) and public constants.

Improvements to VB

These are new things in XBasic which are improvements in VB6.
  • When XBasic EXE files run under Windows XP they have the XP look and feel. Also when they run under Vista, they have the Vista look and feel.
  • New XBasic file functions work at a higher level than VB6 file numbers. Eg FileAppend appends some text to a file creating it first if required, FileRead, FileWrite can read in or create an entire file in one go, FileTruncate can truncate a file to a given size.
  • XBasic is independent of the VB6 runtime, and has no requirement for the Vbrun.dll files.
  • XBasic can be installed by copying files (an Xcopy installation). You can install an Xbasic program on another PC just by copying the stand-alone EXE and a few supporting files.
  • Ability to write custom controls for Xbasic using C and using the supplied sample template control.
  • Extra bitwise operators BitShr, BitShl.

Old VB6 elements that will be dropped

These are things in VB6 that will not be supported in XBasic. Either they are very old Basic features, or they cause unreliable code, or they are confusing.
  • VB6 line numbers are dropped, as these can lead to spaghetti code.
  • Gosub / Return are dropped.
  • The colon statement separator for separating multiple statements on the same line is dropped.
  • Goto statements and Labels are dropped, apart from for error handling.
  • Usage of Lset / Rset to copy data directly into a value is dropped.
  • Old style function declarations using Def Fn are dropped.
  • Optional variable declarations are dropped. In Xbasic all variables must be declared before use.
  • Use of $ % etc as type definition characters is dropped.

VB6 things that are different

These are things in VB6 that are done differently in XBasic. The changes are to tidy up the syntax, or to make XBasic more mainstream, or to improve performance.
  • In XBasic And / Or will do short circuit evaluation. The existing VB6 operators do complete evaluation, so there will be new operators called BitAnd / BitOr that mimic the effect of the VB6 operators.
  • Functions return data but cannot cause side effects, eg functions can't have Byref parameters. Also Byval parameters can't be modified in the function, making it possible for them to be passed internally as a reference. The purpose of this change is to make functions deterministic - eg you can run a function in isolation and you know exactly what it will do. It also makes it possible for the IDE to include a 'test function' command that compiles and runs a single function interactively.
  • XBasic uses a compiler to generate a compiled EXE file to help performance.
  • VB6 has some vague areas in the syntax, eg you can call a sub mysub as follows:
    Code:
    MySub "param1", "param2"
    call MySub("param1", "param2")
    XBasic will standardize on:
    Code:
    call MySub("param1", "param2")
    This also makes it easier to write the compiler, since it doesn't have to disambiguate between an assignment statement and a sub call. The alternative is to do away with Call and require all assignments to start with Let
  • VB6 has pseudo-statements which are subroutine calls in disguise. Thus instead of Open "somefile.txt" for read as filenumber there will be call FileOpen("somefile.txt", File_read, filenumber) This makes the syntax more regular.
  • XBasic will use window definition files in the RC (resource file) format instead of the Frm file format. RC files allow most of the standard control types, and this change is to help convert programs written in C or C++.
  • No global variables are allowed in XBasic.

Features for future versions

These are things that are more complicated to do, so they will be added to future versions of XBasic as demand permits. I know it would be nice to have them all, but if I do them all for the first version it's unlikely to be finished for a long time. So I think it's better to release a solid foundation that is growing, rather than some ideal VB6 clone that would never be finished.
  • The ActiveX control objects for which there is the most demand will be implemented as C custom controls.
  • Support for Dim declarations of COM objects and binding to the COM methods. This allows COM objects to be added to programs and allows their COM methods to be used.
  • Embedded SQL will be possible to get back result sets and to invoke SPs against an instance of SQL server. Something like:
    Code:
    Dim results as Collection
    Set results = SQL(SELECT * FROM Customers WHERE CustomerID = 42)
  • Localization for loading strings from RC files. Strings will be stored in the RC files and the correct translated string can be used at run time.
  • Edit and continue is difficult for a proper compiled language, as you have to recompile the application and relink it while it's still running. If people really want this in a compiled language, then the best way is to write an interpreter as well as a compiler. So when you debug the interpreter runs, when you want to make an EXE file the compiler runs.
  • Support for Unicode strings using UCS-2 (2 bytes per character).
  • Ability to call external DLLs.

Undecided areas

These are things that I want feedback on:
  • XBasic will run under Windows XP and Windows Vista. What other versions of Windows should be supported?
    Windows 2000?
    Windows NT4?
    Windows 98?
    Does anyone develop or even use these earlier versions?
  • Suggestions for a product name?
    VBreplacer?
    Visual Fred?
    ExtremeBasic?
    Recycled Basic?
    Dot Basic?
  • Does it need decent online help? Or does everyone know all the library functions off by heart?
  • Round brackets for array refs vs square brackets. Square brackets are easier for the compiler
  • Do people want the Variant data type?
  • A UDT uses the Type keyword - I may rename it to Record or Struct.
  • Would an import wizard that automatically changes VB6 syntax to XBasic be useful?
  • Intellisense (when you hover the mouse or press a control key on a keyword, the syntax pops up). What function key is used? Will people miss this if it's not available?
  • Is the ability to create DLLs useful?
  • Is Case correction wanted?
  • Do people really want Try / Catch for error handling? Problem is it either replaces the existing VB6 system which makes lots of code not work, or programs support both systems which is more confusing.
  • New data types Int16, Int32, Int64, Uint16, Uint32, Uint64. Although these seem attractive, memory is now cheap so using an extra 16 bits doesn't matter. Also beginners get confused between signed and unsigned types in terms of potential loss of data.

Please add feedback in the following posts - many thanks, Will
Reply With Quote
  #2  
Old 02-27-2008, 02:37 PM
Flyguy's Avatar
Flyguy Flyguy is offline
Lost Soul

Super Moderator
* Guru *
 
Join Date: May 2001
Location: Vorlon
Posts: 19,050
Default

Just some extra remarks.

1. When doing binary File IO with already created files, you need to be able to read all current VB6 variable types (except Variants I think).
So the need for the "unsigned 8 bit Byte", the "signed 16 bit Integer" and the "32 bit floating point Single" is a must

2. About functions and their parameters.
I use a lot of functions in which I use ByRef to change the content of a one or more passed variables. The function itself returns a boolean to indicate whether is was succesful or not.
Most often I use it to modify arrays, like in sorting routines.

3. Control arrays? I can't live without them anymore.

4. The use of external DLLs, using the "Declare" statement

5. Select Case still available?

6. Do Loops and Exit Do? Do While ... Loop, Do Until ... Loop, Do ... Loop While, Do ... Loop Until

7. Line numbers can be VERY useful for error handling. I always turn them on in final compiles

8. Edit and Continu is nice and very convenient, but I think I can live without it.

9. The alternative is to do away with Call and require all assignments to start with Let, or use := the Pascal way

10. The name? XtremeBasic sounds neat, but WRBasic would be fine too
Reply With Quote
  #3  
Old 02-27-2008, 03:20 PM
loquin's Avatar
loquin loquin is offline
Google Hound

Retired Moderator
* Guru *
 
Join Date: Nov 2001
Location: Arizona, USA
Posts: 12,396
Default

Thoughts:
  • Bitwise XOR, & Bitwise NOT operators should be included also, along with shifts, as mentioned in the original thread.
  • support for binary file I/O?
  • Support for Random File I/O?
  • ENUM
  • I use Intellisense ALL the time. It replaces the online help about 98% of the time for me...
  • If intellisense is present, then online-help is less important.
  • No global variables, Hmmm. Although they're too easy to overuse, they are also handy at times.
  • No ByRefs with functions means that practically, you won't be able to use functions with large string or objects as parameters... That's a pretty significant hit. Perhaps allow them, but only if you include a compiler option... That way, beginners won't get hosed as often.
  • I believe Microsoft has trademarked Visual language names...
  • Constructed Constants? (Const pi as Double = 4 * ATN(1))
  • Ability to assign default values to variables when declaring them? (Dim pi as Double = 4 * ATN(1))
  • Ideally, existing VB error handler could be used, OR try-catch, but not both in the same project. Again, a compiler directive? VB's error handling is very primitive. Although I've lived with it, dotNet's try/catch is much superior.

One last point. Unless database access is fairly flexible, visual fred probably won't work for me. Currently, in ADO, I'm able to 'tune' the access mode, lock type, recordset type, and cursor mode, cache size, timeouts, etc. to fit the application, network, and server type, for optimum performance. I often change these within the application, to optimize a specific task. Simply stuffing all the records into a collection just won't cut it, for a production system. I've got systems with millions of records, and loading all that data into a collection wouldn't be at all practical...

When you consider that a large percentage of VB projects deal with database and data manipulation, this point will be critical for the acceptance of the VBRP (Visual Basic Replacement Project).
__________________
Lou
"I have my standards. They may be low, but I have them!" ~ Bette Middler
"It's a book about a Spanish guy called Manual. You should read it." ~ Dilbert
"To understand recursion, you must first understand recursion." ~ unknown

Last edited by loquin; 02-27-2008 at 04:56 PM.
Reply With Quote
  #4  
Old 02-27-2008, 04:46 PM
the master's Avatar
the master the master is offline
Tachikoma
 
Join Date: Mar 2003
Location: Mansfield, UK
Posts: 4,595
Default

How would the SQL thing work? You need to be able to connect to a server first and it is very usefull to allow multiple connections. I may have a project coming up soon that copies data between 2 different types of database so multiple connections would be needed. Im not a huge fan of connection strings though. I prefer PHP's mysql_connect() instead but i can live with them if i have to.

Im wondering about the upgrade tool you mention. I know for sure that you can do a better job than MS did but it would be nice to minimise the need for it. Things like arrays. I would prefer using round brackets but i could easily get used to square ones if i had to. It would just mean more work when converting a project.

You say you plan to keep while/wend. Personally i would drop them and just use do while/loop. Loquin's standards and practices say you should use do while instead anyway.

What about "sub"? I only ever use "private sub" or "public sub". Would it be worth removing one of them? As far as i know those 3 only do 2 things between them.

I think i agree with just about everything that Flyguy and Loquin have said but i would like to mention intellisense too. Typing just a few letters and pressing space really speeds up programming. It helps remember what things are called too. I spend way too much time on google looking up PHP function names. In VB they are all there right infront of me.

Do we have to use C to make controls? I keep trying to learn C++ (i know its not quite the same as C) but i can never seem to understand it. I do make lots of custom controls though. Can we use VB6 custom controls in this language?

On controls, will we get any new ones or are we going to stick with the current windows ones? There are so many threads on here that would be easy if certain controls had a .hdc and .autoredraw property but instead we have to mess about subclassing etc. I guess windows controls would be fine to start with but some nice new fresh ones would help a lot

I see you plan to keep "end" too. Ive never heard anyone recommend using it and if you try anything clever with APIs it will usually crash the app. Maybe you could make it work properly but it would be easier to remove it and force people to use better code

The use of external DLLs is a must but we need to be able to create them too

I really like the idea of simply copying the IDE files from one PC to another. Maybe not so good for legal stuff but it would really help me out when deploying it accross a network especially if upgrades can be downloaded and deployed through my installer so the whole process can be unattended

Edit: Yes. I am not a big fan of .NET but i must admit that try/catch is way better than VB6's error handling and i would always use that if it was available
__________________
"That which seems simple is often overlooked" ~ me
Halloween Special FX
Web Hosting from Spook Technologies
Reply With Quote
  #5  
Old 02-27-2008, 10:24 PM
EpcH's Avatar
EpcH EpcH is offline
Contributor
 
Join Date: Jan 2003
Location: USA, CT
Posts: 460
Default

Quote:
Originally Posted by Flyguy
Just some extra remarks.

About functions and their parameters.
I use a lot of functions in which I use ByRef to change the content of a one or more passed variables. The function itself returns a boolean to indicate whether is was succesful or not.
Most often I use it to modify arrays, like in sorting routines.
No! No! don't get rid of them please.
You know what, instead of restricting the language ( we have enough of them I guess), what I love to see in Visual Basic is:

[1] References.
[2] Pointers.
[3] Operator extensions
[4] Inheritance
[5] Polymorphism

If somehow we can have at least number 1 and 2 in your product, then I can keep on dreaming that one day we can have it all while keeping this ( VB 6.0 ) easy to use / maintain platform for software development
__________________
Human. It's kinda like Sebacean, but we haven't conquered other worlds yet, so we just kick the crap out of each other.
Crichton
PK Tech Girl
Reply With Quote
  #6  
Old 02-28-2008, 12:17 AM
Rockoon's Avatar
Rockoon Rockoon is offline
Joseph Koss

* Guru *
 
Join Date: Aug 2003
Location: Unfashionable End
Posts: 3,615
Default

Quote:
Originally Posted by EpcH View Post
[1] References.
Already have that.

Quote:
Originally Posted by EpcH View Post
[2] Pointers.
A return of intrinsic Peek/Poke is all that is really needed ("the BASIC way"), obviously needing an upgrade for modern datatypes.. similar to the peek/poke features I provided in the assembly DLL here. The difference between the functions in this DLL and an intrinsic would be performance (50 megabytes/second vs 250 megabytes/second)
Reply With Quote
  #7  
Old 02-28-2008, 01:01 AM
DougT's Avatar
DougT DougT is offline
Ultimate Antique

Administrator
* Expert *
 
Join Date: Sep 2005
Location: Maldon,Essex, UK
Posts: 3,939
Default

How about the ability to embed assembler code?
__________________
semel insanivimus omnes
S Data in context = Information, S Information in context = Knowledge, S Knowledge in context = Experience
S Experience in context = Wisdom= Data
Reply With Quote
  #8  
Old 02-28-2008, 01:51 AM
Rockoon's Avatar
Rockoon Rockoon is offline
Joseph Koss

* Guru *
 
Join Date: Aug 2003
Location: Unfashionable End
Posts: 3,615
Default

Quote:
Originally Posted by DougT View Post
How about the ability to embed assembler code?
I'd be for that, but I know that it messes with optimizers too much.

For instance, MSs compilers perform absolutely no optimization around inline assembler.

Further, MSs compilers when targeting 64-bit CPU's cannot include any inline assembler.

This last issue seems to (guessing here) stem from MS diverging from using an assembler back end (where they could have trivialy leveraged ML64) and that their current back end simply cannot handle any 64-bit assembler, producing machine code modules directly from 3AC instead (3-Address Code, a type of PCODE where each PCODE instruction has 1 destination and 2 sources .. see The Dragon Book)

Intrinsics have all but replaced inline assembler in modern compilers, and it is more or less a good thing.
Reply With Quote
  #9  
Old 02-28-2008, 07:13 AM
Will Rayer Will Rayer is offline
Freshman
 
Join Date: Feb 2008
Location: Channel Islands, UK
Posts: 33
Default

Thanks for the feedback...

Binary file IO
Maybe Single, Byte and Float go into version 2 to help binary I/O, but I'm not really keen on this. IMO simplicity is important and I want to have as few different numeric types as possible. Also binary file I/O and random file I/O may wait for v2 since there will be FileRead / FileWrite etc that can read and write entire files at once (into arrays, arrays of strings, multi line strings, collections etc).

Functions and parameters
OK the idea of not allowing functions to have Byref parameters seems to be unpopular (altho my plan is to have them as Byval but I will make it so they cannot be altered in the function thus they can still be passed using a pointer internally to the function). So functions can have huge string parameters and a copy will not be made.

Control Arrays
Yep i forgot to include these in my list - they will be in v1 of XBasic and you can use Foreach with them.

DLLs
Use of External DLLs via Declare is popular, altho it may have to wait for v2. It's unlikely that I will add the ability to create DLLs, the compiler I am creating can't do this at the moment.

Select case / Do loops / Exit Do / Enum / While / Wend
Yes these will all be included from the start. The plan is for XBasic to be as similar to VB6 as possible, except where VB6 features are universally hated I know while / wend is a bit contentious, but it's part of VB6 and it works and it's not universally hated, so I will keep it.

End
In most cases this is part of the syntax so it stays. In terms of using End to quit from a program I can make it so it does an orderly shutdown, similar to ExitProcess in the Windows API.

Line numbers
These won't be allowed as part of the language syntax, but the run time error messages and error handling will be able to get the source file, source class name and line number of where the error occurred.

Bitwise operators
OK BitXor and BitNot can be included in addition to the shift operators

Intellisense
OK it looks as this is pretty essential There are two elements to this: (1) is where a popup is shown when you wave the mouse over a library call. (2) is where you press a key combo and the next parameter appears. Which do you want? Both? and what's the keystroke?

Constants
Yes evaluated constants will be possible, altho its possible that only integer and string evaluations are possible (eg Dim Myconst As Int = asc("a") + 123)

Variable initializers
Maybe for v2, not for v1 as the priority is to include as many of the existing VB6 features as possible.

Controls and custom controls
VB custom controls won't work. At the start I will implement the basic windows controls (which will have the correct look and feel for XP, vista etc). For v2 if any custom controls are missed I will also implemenet these. It may be possible for me to add a generic XBasic custom control which just provides a blank area you can draw on.

Pointers and assembler
I don't want to go down this path, especially not for v1. It's not a core VB feature and I would rather spend time on core features. Also I eventually want to add a .net backend option to the XBasic compiler so this will preclude A86 assembler.

To sum up, the biggest issue is picking a sufficient set of features that lets me finish this while also making it useful.
Reply With Quote
  #10  
Old 02-28-2008, 07:40 AM
the master's Avatar
the master the master is offline
Tachikoma
 
Join Date: Mar 2003
Location: Mansfield, UK
Posts: 4,595
Default

Binary file IO
Reading an entire file in 1 function call isnt always a good idea. I do a lot of work with big files (a few gigs) and in a lot of my apps i have the need to read a few characters from the begining. Imagine having to load 2GB just to read 20 bytes

DLLs
"It's unlikely that I will add the ability to create DLLs" Is that ever? At least V2 or V3 should include it. Its quite important for big apps (depending on what you are doing). I use them a lot for addins that can be loaded/unloaded as the user needs them

Line numbers
"the run time error messages and error handling will be able to get the source file, source class name and line number of where the error occurred."
Perfect!

Intellisense
#2 is most important. In VB when you press the dot key the menu appears and automatically scrolls down to the first row that matches anything you type after the dot.

Im not sure if it would be easier to move commonly used items on the list to the top. It would be nice but i also like that they are in alphabetical order. Alphabetical would probably be easier for you to program though

Controls and custom controls
Not allowing VB controls would be ok but we would need to be able to make new ones ourselves using this language. Im not sure what you mean about a generic control that we can draw on. I use custom controls a lot though. Usually i include them in the project so they get compiled with the exe but for ones i use very often i make them into ocx files to reduce the size of the exes.

Do we get to use the current windows ones too? If we can only use controls that are designed for this language then we really do need to make our own
__________________
"That which seems simple is often overlooked" ~ me
Halloween Special FX
Web Hosting from Spook Technologies
Reply With Quote
  #11  
Old 02-29-2008, 12:40 PM
Will Rayer Will Rayer is offline
Freshman
 
Join Date: Feb 2008
Location: Channel Islands, UK
Posts: 33
Default

Binary file IO
Alright then the lower level Basic File I/O commands can go into XBasic v2. This actually should not be too difficult as they map onto Windows API commands.

DLLs
Do you mean that you create DLLs from VB6? I was not aware it could actually do this! I guess if there was demand for making DLLs it could go into XBasic v2. But an easier way of sharing code is to put it into separate classes and use the classes when you need them.

Controls
All the current Windows controls will be there (edit controls, combo box etc). If any controls need an OCX then I will have to add on a custom control to replace the OCX.

Also what about the name
(I still need some ideas)
Reply With Quote
  #12  
Old 02-29-2008, 12:52 PM
the master's Avatar
the master the master is offline
Tachikoma
 
Join Date: Mar 2003
Location: Mansfield, UK
Posts: 4,595
Default

DLLs
I make dlls quite often in VB. Sometimes its just because i have common functions that a lot of apps need to use so i dont like including them in each seperate app. Most of the time i use them for addins or modules. EG. I have made a lighting control app and each type of port (serial, DMX etc) have their own dll which the app can load. Same for the editors. Each editor dll has different ways of controlling the lights. The program can then load whichever dlls are required for the scene. It also makes the app easy to update (even while its still open. Simply add a dll and load it)

Controls
Not sure what you mean here. Does it support ocx controls or just the windows ones? Are you re-making the windows ones because i thought they were ocxs too?

Also what about the name
Sorry, no ideas but i still like "Xtreme Basic" that someone else suggested. "XBasic" or "XB" sound good
__________________
"That which seems simple is often overlooked" ~ me
Halloween Special FX
Web Hosting from Spook Technologies
Reply With Quote
  #13  
Old 02-29-2008, 01:00 PM
Will Rayer Will Rayer is offline
Freshman
 
Join Date: Feb 2008
Location: Channel Islands, UK
Posts: 33
Default

I will remake the Windows controls (this is fairly easy as they are wrappers round the windows API again).

Are you saying you use VB6 to create DLLs then call code in these DLLs from other VB6 code? Cool
Reply With Quote
  #14  
Old 02-29-2008, 01:06 PM
the master's Avatar
the master the master is offline
Tachikoma
 
Join Date: Mar 2003
Location: Mansfield, UK
Posts: 4,595
Default

Quote:
Originally Posted by Will Rayer View Post
I will remake the Windows controls (this is fairly easy as they are wrappers round the windows API again).
Really? I didnt know that

Quote:
Originally Posted by Will Rayer View Post
Are you saying you use VB6 to create DLLs then call code in these DLLs from other VB6 code? Cool
Yep. They are activeX dlls though. You cant use them like the windows API (private declare function... etc) You have to add a reference to them but it allows you to use intellisense or you can use createobject() instead of adding a reference. Thats what i do to load dlls at runtime
__________________
"That which seems simple is often overlooked" ~ me
Halloween Special FX
Web Hosting from Spook Technologies
Reply With Quote
  #15  
Old 02-29-2008, 01:21 PM
Birchy's Avatar
Birchy Birchy is offline
Junior Contributor
 
Join Date: Aug 2005
Location: Hereford, UK
Posts: 346
Default

Quote:
Originally Posted by the master View Post
Sorry, no ideas but i still like "Xtreme Basic" that someone else suggested. "XBasic" or "XB" sound good
I like XtremeBasic but then again it was me that suggested it.
XBasic is a no-no...http://xbasic.sourceforge.net/.

Agree about the Intellisense needing to display options after pressing "." As we've said before VB6 has this area pretty much perfected. What i'd also like to see is some API interaction. A listing of all available APIs with copy/paste or autofill declaration code would be sweet.
Reply With Quote
  #16  
Old 03-01-2008, 03:02 AM
Will Rayer Will Rayer is offline
Freshman
 
Join Date: Feb 2008
Location: Channel Islands, UK
Posts: 33
Default

Thanks for letting me know about the existing Xbasic, I guess I could have googled for that. That rules out Xtremebasic as well because the two would be likely to get confused

I've done a bit of looking around and there seem to be a lot of custom versions of Basic (Power|True|Real|Pure|Liberty|X|Ya) Basic, yet none of them seem interested in being similar to VB6. Eg they all have their own approaches to implementing Basic and VB compatibility doesn't seem to be a concern. I'm puzzled why that is.

My thoughts about names are:
  • Visual Fred
  • Ubercode Basic
  • Compatible Basic
  • Samely Basic
  • Gosub Basic
  • Dot Basic
  • PC Basic

Any ideas anyone?

Last edited by Will Rayer; 03-01-2008 at 03:10 AM.
Reply With Quote
  #17  
Old 03-01-2008, 03:25 AM
DougT's Avatar
DougT DougT is offline
Ultimate Antique

Administrator
* Expert *
 
Join Date: Sep 2005
Location: Maldon,Essex, UK
Posts: 3,939
Default

I'd keep away from the word "Basic" altogether.

My thesaurus came up with "Radical" for "Basic"

Reviving a Dead Impressively Capable Application Language
__________________
semel insanivimus omnes
S Data in context = Information, S Information in context = Knowledge, S Knowledge in context = Experience
S Experience in context = Wisdom= Data
Reply With Quote
  #18  
Old 03-01-2008, 06:48 AM
Birchy's Avatar
Birchy Birchy is offline
Junior Contributor
 
Join Date: Aug 2005
Location: Hereford, UK
Posts: 346
Default

To be fair, the name is the least important factor. You could call it George or Marmaduke or Tarquin for all i care, as long as it works properly.
Reply With Quote
  #19  
Old 03-01-2008, 06:52 AM
the master's Avatar
the master the master is offline
Tachikoma
 
Join Date: Mar 2003
Location: Mansfield, UK
Posts: 4,595
Default

DougT's idea is good.

I dont really like any of those other names. Especially dot basic. You cant call it gosub if you arnt even supporting that command

Maybe call it Cisab? Its "Basic" backwards, asin backwards compatibility.

You might aswell just give it a random codename for now and think more about the name when its almost done.

Other name ideas:-
Easy Basic
VB++
I cant believe its not VB
App-tastic
__________________
"That which seems simple is often overlooked" ~ me
Halloween Special FX
Web Hosting from Spook Technologies
Reply With Quote
  #20  
Old 03-01-2008, 02:59 PM
AstroTux's Avatar
AstroTux AstroTux is offline
Junior Contributor
 
Join Date: Aug 2007
Posts: 345
Default

Basicus Visialis (BV)?? Does that evade the MS trademarks?

Best regards,
AstroTux.

Last edited by AstroTux; 03-01-2008 at 03:06 PM.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Forum Jump

Advertisement:





Free Publications
The ASP.NET 2.0 Anthology
101 Essential Tips, Tricks & Hacks - Free 156 Page Preview. Learn the most practical features and best approaches for ASP.NET.
subscribe
Programmers Heaven C# School Book -Free 338 Page eBook
The Programmers Heaven C# School book covers the .NET framework and the C# language.
subscribe
Build Your Own ASP.NET 3.5 Web Site Using C# & VB, 3rd Edition - Free 219 Page Preview!
This comprehensive step-by-step guide will help get your database-driven ASP.NET web site up and running in no time..
subscribe
 
 
-->