Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: Small Basic: Microsoft is doing things right.  (Read 6068 times)

0 Members and 1 Guest are viewing this topic.

Geek-9pm

    Topic Starter

    Mastermind
  • Geek After Dark
  • Thanked: 1026
    • Gekk9pm bnlog
  • Certifications: List
  • Computer: Specs
  • Experience: Expert
  • OS: Windows 10
Small Basic: Microsoft is doing things right.
« on: January 03, 2010, 04:41:04 PM »
Microsoft is doing things right?
Guy McDowell  wrote an article about how to learn  to program. 
The title of the article was:
Learn How To Write Computer Program with SmallBasic.
Now instead of bashing Microsoft for introducing yet another computer language, the author goes on to rave about how right the new user friendly tool serves the needs of a beginner.   :)
Here is the link:
http://www.makeuseof.com/tag/learn-how-to-computer-program-with-microsofts-smallbasic/

BC_Programmer


    Mastermind
  • Typing is no substitute for thinking.
  • Thanked: 1140
    • Yes
    • Yes
    • BC-Programming.com
  • Certifications: List
  • Computer: Specs
  • Experience: Beginner
  • OS: Windows 11
Re: Small Basic: Microsoft is doing things right.
« Reply #1 on: January 03, 2010, 04:59:18 PM »
Requirements: .NET Framework 3.5

heh, If I'm going to require the .NET framework, I think I'll go right ahead and use C# :P


Quote
Just like the early variants of BASIC, Small Basic is imperative and doesn't use or expose beginners to concepts like scopes, types, object orientation, etc.

What? this is a "good" thing? I mean, There's no need for Object orientation, but without learning about types and scope, your not really learning programming, your throwing feces at an IDE. (OK, that's a tad harsh...)

Alright; here's an example. I may not have actually taken a CS course, but I've heard plenty of stories from trustworthy people. Basically, these days, they teach java in the academic studies. Now, Java is an alright language, but it is missing one thing.

Something essential, something, that, after moving from java, over half of students don't grasp.

Pointers.

Pointers are something a professional programmer MUST have a good grasp of. Something they HAVE to understand in order to hope for any chance of success. Of course, they could always be the code monkeys that right the higher level java widgets that take advantage of all the hard pointer stuff written in C++ and assembly, but then they are just the wielders of the glue, not a very fulfilling position.

All that being said... I do use VB6 most of the time, and technically, it doesn't support pointers. Of course I just kind of sidestep the language and force it to use them by using Long variables and CopyMemory() to copy them back into their respective types (that is, to dereference them)

But... err, anyway, back to this smallbasic thing... it's an alright first language!, really... Just so long as they don't start teaching it in College-level courses, things should be fine. Java is bad enough at that level.

(btw, I might add that even though I haven't actually taken any pos-secondary education for programming or otherwise... I literally had to TEACH a CS degree holder about pointers. It was freaking unbelievable. that was what set my stance on java as an academic language.
I was trying to dereference Null Pointers before it was cool.

Geek-9pm

    Topic Starter

    Mastermind
  • Geek After Dark
  • Thanked: 1026
    • Gekk9pm bnlog
  • Certifications: List
  • Computer: Specs
  • Experience: Expert
  • OS: Windows 10
Re: Small Basic: Microsoft is doing things right.
« Reply #2 on: January 03, 2010, 05:05:46 PM »
They should teach Pascal.   ;D

But is Small Basic helpful?
Here is a good Video:
http://www.youtube.com/watch?v=9p2sW9nkn08&NR=1

BC_Programmer


    Mastermind
  • Typing is no substitute for thinking.
  • Thanked: 1140
    • Yes
    • Yes
    • BC-Programming.com
  • Certifications: List
  • Computer: Specs
  • Experience: Beginner
  • OS: Windows 11
Re: Small Basic: Microsoft is doing things right.
« Reply #3 on: January 03, 2010, 05:32:45 PM »
They should teach Pascal.   ;D


YES! YES!  I remember, Pascal Pointers were done with a ^, so, you could do:

Code: [Select]
var
   Int: Integer;
   LoopVar : Integer;
   IntPtr : array[0...5] of ^Integer;
   
begin
   
    for LoopVar := 0 to 5 do
    begin
        IntPtr[LoopVar]:=@Int;
    end;
end.


Well.... unless the whole Pointer business was added by Borland in Turbo Pascal... (on the other hand, Borland Turbo Pascal pretty much was "THE" Pascal, since the only alternative was the IBM version that had... what? 7 different disks? and you had to switch between them constantly?


Heh, anyway... that's a different discussion :P

back to smallbasic.

I'm not really too sure; I mean, there are other languages that are powerful that are more or less "typeless" (such as, and I mention this to prevent ghostdog from hurting me :P) Python, but they also at least "imply" types; you still need to know a few basic differences, such as numbers and strings and so forth. With Smallbasic (And really, I don't know the specifics, but given it's roots I am making an assumption) It's really not dynamically typed as much as it's typeless; as a learning language, it really doesn't teach important concepts, like types and scope (which it tries to pass off as advantages) Now, that being said, lacking such requirements can make it easier to learn other programming concepts, and it's certainly possible to learn them before moving onto either Visual Basic itself, or a more powerful language. (Like Pascal :D heehee).

If I may be so bold, I really cannot judge something as a learning tool, just make handwavy generalizations about what I think about it; I can't really decide "what would be good for a beginner" without remembering how I learned; which was with "older" languages. At the time, VB6 was the newest language (well, for the first year and a half or so) and windows programming was all the rage and so forth, but I learned on a 286 and later a 386 Batch, QBASIC, Turbo Pascal, and a little Turbo C, and eventually upgraded to Windows programs and VB2... went straight from there to VB6 and have had that as a "home language" for quite some time. but, everybody's experience was different, for me, the most difficult part was going from the concept of "commands" in batch, to statements. It took me quite some time to understand the concept of a function. (thankfully, the use of Goto with Batch didn't crossover into any bad habits with QBASIC :). But today, if smallbasic was a first language, it is probably a lot better as a first language then batch.
I was trying to dereference Null Pointers before it was cool.

cintari

  • Guest
Re: Small Basic: Microsoft is doing things right.
« Reply #4 on: January 04, 2010, 06:45:12 AM »
They should teach Pascal.   ;D

But is Small Basic helpful?
Here is a good Video:
http://www.youtube.com/watch?v=9p2sW9nkn08&NR=1


I took a course in programming hoping to learn pascal but all they taught was qbasic....
You think the advanced programming course will teach this?

BC_Programmer


    Mastermind
  • Typing is no substitute for thinking.
  • Thanked: 1140
    • Yes
    • Yes
    • BC-Programming.com
  • Certifications: List
  • Computer: Specs
  • Experience: Beginner
  • OS: Windows 11
Re: Small Basic: Microsoft is doing things right.
« Reply #5 on: January 04, 2010, 07:21:18 AM »
Smallbasic? I certainly hope not.

Pascal has seemed to fall out of favour among academics. Now Java is all the rage. See, it's not enough to envision a problem and solve it through a procedural program: now, you have to construct a rich heirarchy of objects to deal with the problem!
I was trying to dereference Null Pointers before it was cool.

Geek-9pm

    Topic Starter

    Mastermind
  • Geek After Dark
  • Thanked: 1026
    • Gekk9pm bnlog
  • Certifications: List
  • Computer: Specs
  • Experience: Expert
  • OS: Windows 10
Re: Small Basic: Microsoft is doing things right.
« Reply #6 on: January 05, 2010, 11:32:11 AM »
Small Basic has a good chance of becoming a teaching tool.
It lets you do wonderful one or two line program, even  graphics things.
Check this out. You can import a registered sample program by is unique ID number.
Her is one I just found.
Code: [Select]
'Rock Paper Scissors; Example for the 25 line challange; Matthew L. Parets,
revised by Jason T. Jacques [s]xxxxxxxxxxxxxxx[/s]  (email deleted)
TextWindow.Write("Welcome to the game of Rock-Paper-Scissors. Good Luck!
Enter 1 for Rock, 2 for Paper, and 3 for Scissors
Enter your choice: ")
TextWindow.WriteLine(Text.GetSubText("You choose Rock, Computer chooses
Rock, Tie game.
You choose Rock, Computer chooses Paper, Ha Ha! You Lose.
You choose Rock, Computer chooses Scissors, You Win!
You choose Paper, Computer chooses Rock, You Win!
You choose Paper, Computer chooses Paper, Tie game.
You choose Paper, Computer chooses Scissors,
Ha Ha! You Lose.You choose Scissors,
Computer chooses Rock, Ha Ha! You Lose.
You choose Scissors, Computer chooses Paper, You Win!
You choose Scissors, Computer chooses Scissors, Tie game.    ", ((((TextWindow.ReadNumber() - 1) * 3) + (Math.GetRandomNumber(3) - 1)) * 61) + 1, 61))
Sorry about the  word wrap. Thatch what happens when you ask for a two line program!
I had to edit it to fit inside the code box, but you get the idea.
The ID for the program is:
CTB433-5
Or you can go to the website:
http://blogs.msdn.com/smallbasic/
Have Fun!
« Last Edit: January 05, 2010, 11:45:47 AM by Geek-9pm »