We would like to build a community for Small Basic programmers of any age who like to code. Everyone from total beginner to guru is welcome. Click here to register and share your programming journey!


Thread Rating:
  • 2 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Small Basic Only Extension
#1
I was thinking about newcomers to small basic. One of the problems that they have while doing a tutorial is in getting it to work properly. This occurs because in level 1.2 things don't work as they used to. A lot of functions are broken, like Flickr or DownloadFile.With the litdev extension a lot of the current issues with 1.2 have been fixed. Microsoft no longer supports small basic. So, is there a way to get 1.2 to the level that a newcomer would need to be able to go through the tutorials without issues. 

Since Microsoft won't support changes I was wondering if litdev would be willing to make a small basic fix extension. In other words in that extension only have fixes for what is broke. I think that would take small basic back to what it used to be and make it easier for newcomers. Also, the current litdev extension has made small basic harder to learn if that extension is loaded.

Thoughts?

JR
[-] The following 2 users Like jrmrhrb00's post:
  • AbsoluteBeginner, z-s
Reply
#2
Is there a list of broken things?  It would be good to compile that list, maybe going through all the samples.  When we get a definitve list I will create this extension, it's a good idea.

However, examples wouldn't work without using these 'fixit' commands, so it wouldn't help anyone who doesn't know it exists.  With that in mind, there is no evidence of a community of newcomers wanting support - I haven't come accross a single one in the last few months, no-one asking why samples don't work or similar.  I think the biggest issue is awareness that there are people wanting to provide support.
[-] The following 1 user Likes litdev's post:
  • z-s
Reply
#3
LitDev,

Thanks for your reply. I will start trying to make a list of problems that I see. It will take a while. I have some questions though.
Did Microsoft release the source code for Small Basic? If so can it actually be modified?

Is it possible to make an extension that would work like this?
1. Load Small Basic from Microsoft as it is
2. Load the Small Basic only extension.
3. That extension goes in and fixes the Microsoft code so that commands work actually as before. Meaning you put the commands in the exact same way as Microsoft made it.
4. Or would the extension have it's own code that does it's own commands that replicates what used to work. This would be much like the current LitDev extension.

I'm just trying to see the different ways this could be done.

Thanks,

JR
Reply
#4
Hi,

Unfortunately it is not posssible I think to do exactly what you want, this is how I would describe how it works.

Small Basic has 3 basic parts:
1] Interface (IDE) that takes your code, compiles and runs it etc.
2] A compiler that takes your SB program and compiles it, mainly this just controls the program logic (For, If, While, Sub keywords etc).
3] A library of objects, methods, properties and events (stuff like GraphicsWindow etc).  Calls to this functionality (in SmallBasicLibrary.dll) are insterted by the compiler.

All these bits are written in .Net language (C# or VB) and runs only on Windows; but has the nice feature that another .Net program can interigate another; get its methods, properties etc and interact with them.  This is how the compiler can run the default library and extension code, by finding the method in its dll and calling it.  It is also how extension code can minipulate the default library like extending GraphicsWindow and fixing some things that fail, e.g. replacing the Flikr API key property with an updated one.

A useful program to interigate .Net is called ILSpy.  It can actually do this to such an extent that is can decompile most .Net code.  This is how we can see so much about how the various bits of Small Basic work.  However, Small Basic IDE does have some bits that prevent the decompiled code from being recompiled easily; this may be why MS can't maintain it, but they have never been clear on this.

So buidling an exact clone is a bit harder than decompile+recompile, and may potentially infringe MS copyright.  However, for example SB-Prime replaces the IDE, and uses the compiler and default library for 100% compatibility.  While vSB replaced all of them using virtually an exact copy of the decompiled code as a starting point, but chosing to also update the compiler and default library, which adds features but loses some compatibility while strangely not fixing the Flikr and network issues I think.

So, the bottom line is that an extension can sort out or provide alternative commands to replace various things in the standard library that don't work, but commands to do this have to be compiled by SB compiler using extension commands.  This requirement to add extension commands to fix things limits our options.  SB-Prime or another IDE clone could add some of the fixes in (probably not those that do actually need a replacemnt command, not just a changed property) without the user knowing (this is how SB-Prime debugging works), but then programs would not be 100% compaitible which is something I want to keep.
[-] The following 1 user Likes litdev's post:
  • z-s
Reply
#5
LitDev,

I agree with you in that you want to maintain compatibility, but let's say that you have a Flickr program. In 1.2 level it will not work, but with the Small Basic Only extension which fixes Flickr the program now works. Is that maintaining compatibility? I would say yes. The same with the Network object which doesn't work, but it could work with the Small Basic Only extension I think. Even if the extension only fixed these 2 things in regular Small Basic it would be a big step.

My thinking is Microsoft quit maintaining Small Basic because they weren't making any money off of it. It's a shame because I thought it was a great stepping stone to other languages.

JR
Reply
#6
Sure these can both be fixed with a 'Small Basic Only extension', which I will do, but the issue of who knows it's there and why its needed etc are still bigger hurdles than writing the extension.

I suspect the reason for MS stopping SB support is not so much about money as individuals not there who want or are able to do it.  It always was a non-commercial project with maintennance dependent on people who thought it was a good thing.
[-] The following 1 user Likes litdev's post:
  • z-s
Reply
#7
LitDev,

They still have the new Q&A forum. It's not very active, but it's there. So, we could start a thread in that forum for the "Small Basic Only Extension". You could do the same on LitDev.UK. Even in the original forum there are plenty of threads that point to your UK site. There you could highlight a new extension.

Another question. Do you still have any contact with any of the people that were active in the old forum? I know Nonki was still active in the new forum and maybe he would have some ideas.

JR
Reply
#8
Hi,

I have uploaded a LDBasic extension for test, it can be found here.

I am not in regular contact with any of the old SB community, but I have left links to litdev.uk and litdev.uk/mybb (here) everywhere that I have found relating to SB.  There was a discussion (where Nonki commented) on my github page which inspired this attempt at a forum.  Currently, Facebook seems the most active with Nonki and Vijaye both present occasionally.  I have left some messages there, but don't want to push - if people have questions and are looking, they will find us - the breadcrumbs are out there.
[-] The following 2 users Like litdev's post:
  • AbsoluteBeginner, z-s
Reply
#9
LitDev,

I don't see where the LDBasic extension is. I know I must be over looking it, but I can't find it. I took your link that says here and the takes me to your normal small basic page. There I don't see it.
Reply
#10
I put everything there, maybe one problem is the website isn't clear?

   

PS - I relabeled it LDBasic on the website
[-] The following 1 user Likes litdev's post:
  • z-s
Reply


Forum Jump:


Users browsing this thread: 6 Guest(s)