Hacker News new | past | comments | ask | show | jobs | submit login
Microsoft Small Basic (microsoft.com)
38 points by Flemlord on March 7, 2010 | hide | past | favorite | 26 comments



This totally isn't like Shoes by _why at all.


Do you mean hackety hack? I believe shoes was his GUI toolkit.

See: http://vimeo.com/5047563


To be fair, Hackety Hack is built with shoooes, so it's an easy mistake.


Yeah thats what I meant.


The installer seems confused.

The first time, the installer installed the French version. I thought it might be some kind of fluke or I'd missed the language option. I redownloaded/uninstalled/reinstalled.

The second time, I had the Russian version.

Microsoft isn't making it easy for me to speak their language.


It installs a dozen localised shortcuts as well as English, any of which may pop up when you press the start button. Look in all programs in your start menu to find the English version.


From screenshot:

  "Press  to stop game"
Funny how much sense that makes in a twisted way. I was thinking that they had some kind of functionality that had you attach text to a keyboard event to explain it. Alas.

  GraphicsWindow.DrawText(x, y + 320, "Press to stop game")
It's just a ... feature.

Edit: and the key they hooked up "stop game" to was not space, it was escape :(


I love when examples / high-visibility content has visible errors.

Another one, about v0.8:

  The eigth and newest installment of Small Basic...
Granted, "eighth" looks ugly too.


Though I began with GW-BASIC on MSDOS 6.22 way back, but...

I would like to see a similar poster with a poor kid shown running linux on an old donated PC (because he can't afford one that runs vista/7) and playing with Python in bpython.

Doing much more than what he/she can do in Small Basic and learning something which would actually get him some money in future if he/she goes in the right track.

I wonder if this is case-sensitive too, I dont like the "To", "EndFor". The title of the current script - "Tetris - Imported", is so confusing, I see no tetris anywhere, all I see is something done to the poor turtle. I also wonder what is the default direction of Mr. Turtle, I just can't guess what would be drawn.

I would like the kid to know that he needs not know wtf is ".NET", teach programming, don't advertize to them. Let them create their own .net if they want to.


Its in the right direction, I remember learning qbasic on dos it was a great way to get started and then sadly I graduated to visual basic. Which was a good place to start ;) I can't even read it these days but we all start somewhere.


I started with gw-basic and remember thinking how awesome it was in qbasic that I didn't have to use line numbers.


Ironically, I think it would improve software quality these days if you were required to refactor your subroutine if you wanted to insert more than 9 lines of code somewhere.


I like the nod to Logo in the first screenshot.


Yes! My thoughts exactly! I had so much fun with that language as a kid growing up


Same, I remember playing that turtle game on a mac in primary school!

I think it is awesome that it is such a small download, and that you can publish to the web too! :) http://smallbasic.com/program/?FHZ097


Two things I noticed right away.

1. The buttons on the ribbon are insanely large. Almost to the point I think I would be annoyed with this back in 6th grade. (I'm not 6 years old!)

2. The description of the move command is very technical. The same person that is writing docs for MSDN should not be writing docs for kids. (Seriously... "moves the turtle the specified distance")


Okay, Apple ][ Basic was fun.

Especially with the semi-graphics, semi-text mode. Line here, line there - you get the picture. I've got buddy back then who was able to write a whole BASIC application that draws Michael Jackson (yes there was Take One back then, but he wrote a 24kb code doing that).

Anyway... QBasic was fun too, and the MS-DOS one somewhat.

But this is not.


Anyone here actually have their first programming experiences with a "kid" language? I know I started on regular "adult" BASIC, then moved on to C and C++. No hand-holding anywhere, and I never found it to be too difficult.

So personally, I'm wondering what the value is here.


My first programming experience was with this shareware Mac app called GameMaker in the mid-90s. It let you make card-based adventure games. I ended up meeting all these kids on AOL back then who also used the app.

I'm still in touch with a lot of them, and it's amazing how many have become incredibly talented, successful, entrepreneurial folks (and we're all mostly in our 20's now).

The interesting thing is that this app was probably the worst way to learn programming. It didn't have operator precedence, functions, arrays, or many other basic features. It was a toy language in the most pejorative sense of the term -- not one carefully laid out for pedagogical purposes. I learned so many bad habits.

But that didn't matter -- the real important bit is that we all learned how fun it is to actually build stuff on your own and release it. I think that's the critical spark that makes the rest happen.

So many people have never experienced this joy and spend their entire careers only working on things other people have assigned to them.


Sounds similar to rm2k around 2000-2004. The language idea's sound similar and it was all ui based programming where you selected commands off menus rather than click them.

Part of the challenge though was overcoming the engine limitations as you could only display 20 pictures at a time but you were able to use sprites as images and change the sprite being displayed.


The thing that caught my eye was the big "Graduate" (to Visual Studio) button right next to "Run".

Color me jaded.


The appropriate analogy would be unsuitable to the audience. SB is targeted at kids. You shouldn't describe to a kid what the "graduation" really means.


Gotta love subroutines without explicit variables, causing comments like:

  ValidateMove()  ' in: ypos, xpos, h, moveDirection ret: invalidMove = 1 or -1 or 2 if move is invalid, otherwise 0
If I were a little kid, that would look like Greek to me.


When I was a little kid, I wrote programs in Commodore 64 BASIC (a version of early MS BASIC), and my subroutines couldn't even have names. GOSUB 1060 was an example call, and if you wanted arguments, you put them into globals; and you had two (count 'em, two) significant characters for your variable names.


I think the 8-bit BASIC maintains the abstraction level adequately close to the real underlying hardware. What SB does is to make a machine that is capable of things many orders of magnitude better and dumb down the abstraction to match (to a certain degree) what was available on the desktop computers of the 70's.


I wonder if anyone has attempted doing anything like this for FP? All the recent examples I've see are OO to the max.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: