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

Author Topic: Small Basic. Nor for everyone - But great for youngsters.  (Read 13569 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. Nor for everyone - But great for youngsters.
« on: February 23, 2015, 11:11:17 AM »
In My Opinion ,  Small Basic. is Nor for everyone - But great for youngsters.

From time to time somebody asks 'what is best way for a young person to understand programming?' Often the response is to tell the person to study C  or C++ pr Pascal or Python or Ruby or XYZ. This will bury the newcomer in documentation! Many don't want to read. That have to see it.

A very useful set of tools came for Microsoft in the form of Visual Basic. True, diving into Microsoft Visual Studio is a big task. But there is Small Basic. It is a nice entry into Microsoft Basic.

With Small Basic you get a super simple syntax that can be enlarged to show modern ideas in programming. Some nice arcade games are available in Small Basic. You can just copy and paste the examples and have working game.

References:
http://smallbasic.com/
Quote
Collision Physics
Demonstrates object collisions using real world physics properties. Tweak properties like elasticity, gravity, etc. to see the effects.

https://www.educatornetwork.com/Resources/Tools/Details/88dc49c7-6692-4ed9-8168-36f189941793
Quote
Help your students start writing their first programs quickly and easily. With only 15 keywords and an inviting development environment, Small Basic is structured to help them succeed. Students who wish to advance their software development skills can also take advantage of Small Basic's online guides and e-books to help them move ahead.

http://social.technet.microsoft.com/wiki/contents/articles/16059.small-basic-getting-started-guide.aspx

http://smallbasic.com/smallbasic.com/wiki/Search.aspx?Query=Einf%C3%BChrung+in+den+turtle-Befeh

Or just Google 'small basic' and find lots of stuff.  :)

camerongray



    Expert
  • Thanked: 306
    • Yes
    • Cameron Gray - The Random Rambings of a Computer Geek
  • Certifications: List
  • Computer: Specs
  • Experience: Expert
  • OS: Mac OS
Re: Small Basic. Nor for everyone - But great for youngsters.
« Reply #1 on: February 23, 2015, 02:13:44 PM »
Small Basic is interesting but I see very little uptake in it.  For very young kids, Scratch is fantastic for them to use and sets them up for a proper language like Python.  With Small Basic the kids need to learn syntax for a full program language (where the syntax isn't that simple to begin with).  Scratch on the other hand teaches the basic concepts of control flow and programming without worrying about learning syntax of a programming language.  Once kids have mastered this they can then move onto learning an actual program to build useful stuff.

Linux711



    Mentor

    Thanked: 59
    • Yes
    • Programming Blog
  • Certifications: List
  • Computer: Specs
  • Experience: Experienced
  • OS: Windows 7
Re: Small Basic. Nor for everyone - But great for youngsters.
« Reply #2 on: February 23, 2015, 10:50:32 PM »
I think beginning to program in BASIC is really a double edged sword. It may be relatively easy for someone to begin programming in BASIC, however, it's very different from most modern day languages. Almost all modern day languages have a syntax derived from C and are also object orientated. I think learning to program in C# as a first language is probably better in the long run even though it may be a little hard to start off. I taught myself to program in BASIC very young (around 13) and consequently stuck with the basic-like languages (Visual Basic) longer than I should have.

However, I would agree that learning BASIC as a first language is better than plain C or C++. C++ introduces unnecessary complexities that may frustrate a beginner enough to make them not want to bother programming at all. And it's not just the language itself; it's the weird tweaks and configurations that have to be done just to get a program to compile.
YouTube

"Genius is persistence, not brain power." - Me

"Insomnia is just a byproduct of, "It can't be done"" - LaVolpe

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. Nor for everyone - But great for youngsters.
« Reply #3 on: February 24, 2015, 09:42:10 AM »
The first language a person uses doesn't matter. SmallBASIC is as good as any, and because of it's context you'll never have beginners going on stackoverflow and being told "you should use WPF with MVC so you can keep to the DRY principle and also be sure to properly singleton your factory classes" or other nonsense garbage uttered by the type of people who, if they were to be a bridge engineer rather than a software engineer, would be obsessed with how to build the bridge while ignoring the experience of actually crossing it. Many universities teach programming using languages like Haskell and Scheme, which have no stong presence outside academia. They do this on purpose. Then you have the classes that teach Java... ick.

Also, languages with a C-style syntax seem to be considered more "professional" but all we end up with by people learning languages like C# and Java is a bunch of punctuation fetishists obsessed with Three-Letter Acronyms.


SmallBASIC, Scratch(as camerongray mentioned) and Processing are some of the languages that I hear as being "beginner friendly", particularly for beginners still in grade school, as a sort of replacement for logowriter.
I was trying to dereference Null Pointers before it was cool.

Linux711



    Mentor

    Thanked: 59
    • Yes
    • Programming Blog
  • Certifications: List
  • Computer: Specs
  • Experience: Experienced
  • OS: Windows 7
Re: Small Basic. Nor for everyone - But great for youngsters.
« Reply #4 on: February 25, 2015, 10:48:10 PM »
Quote
Also, languages with a C-style syntax seem to be considered more "professional" but all we end up with by people learning languages like C# and Java is a bunch of punctuation fetishists obsessed with Three-Letter Acronyms.

Yes, I agree. I would have preferred that a language with a python/lua type syntax or some type of refined BASIC be adopted "professionally", but because C style languages are the most popular, I think they are the best to learn.
YouTube

"Genius is persistence, not brain power." - Me

"Insomnia is just a byproduct of, "It can't be done"" - LaVolpe

Squashman



    Specialist
  • Thanked: 134
  • Experience: Experienced
  • OS: Other
Re: Small Basic. Nor for everyone - But great for youngsters.
« Reply #5 on: February 27, 2015, 04:19:00 PM »
So that begs the question, what was Microsoft's intention with this version of Basic?

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. Nor for everyone - But great for youngsters.
« Reply #6 on: February 27, 2015, 04:59:33 PM »
Quote
because C style languages are the most popular, I think they are the best to learn.
Popular languages are hardly the best to learn by virtue of being popular, since popular languages often ignore powerful idioms. You aren't going to learn about OOP properly if you are taught Java or C#, you'll be taught Java's or C#'s 'special' kind of OOP; you aren't going to learn about things like Monads or metaprogramming, or the use of Option types, Object Expressions or Mixins.

So that begs the question, what was Microsoft's intention with this version of Basic?


Quote
Small Basic is intended for beginners that want to learn programming. In our internal trials we've had success with kids between the ages of 10 and 16. However, it's not limited to just kids; even adults that had an inclination to programming have found Small Basic very helpful in taking that first step.
I was trying to dereference Null Pointers before it was cool.

ThonkEggs



    Newbie

    • Experience: Familiar
    • OS: Windows 8
    Re: Small Basic. Nor for everyone - But great for youngsters.
    « Reply #7 on: May 14, 2015, 08:55:22 AM »
    Hey! Question. What is the best language to learn right now? I was told by a fellow programmer that Python was the one to learn right now. He said "It is the voice of the internet". But I'm skeptical because other languages seem just as good. I'm a beginner programmer just trying to make my way around. Thanks! ;D

    Geek-9pm

      Topic Starter

      Mastermind
    • Geek After Dark
    • Thanked: 1026
      • Gekk9pm bnlog
    • Certifications: List
    • Computer: Specs
    • Experience: Expert
    • OS: Windows 10
    Re: Small Basic. Nor for everyone - But great for youngsters.
    « Reply #8 on: May 14, 2015, 02:57:11 PM »
    Hey! Question. What is the best.... that Python was the one to learn right now..... I'm a beginner programmer just trying to make my way around. Thanks! ;D
    In the IT and software development industry, Python is often used to model a possible solution to a problem. Later, the finished product might be done with something that gives higher performance.
    On some instances, a bit of Python is needed to tie modules together. The Python code is then embedded into the product.
    But his thread is about Small Basic. Learning Python as a first language will be a steep curve for the average person. IIMHO, the learning cure for Small Basic is much easier. Which  is the point of this thread.
    Professional programmers wind up using and/or learning four or more programming languages. But you have to start somewhere.  :)

    camerongray



      Expert
    • Thanked: 306
      • Yes
      • Cameron Gray - The Random Rambings of a Computer Geek
    • Certifications: List
    • Computer: Specs
    • Experience: Expert
    • OS: Mac OS
    Re: Small Basic. Nor for everyone - But great for youngsters.
    « Reply #9 on: May 14, 2015, 03:35:49 PM »
    Hey! Question. What is the best language to learn right now? I was told by a fellow programmer that Python was the one to learn right now. He said "It is the voice of the internet". But I'm skeptical because other languages seem just as good. I'm a beginner programmer just trying to make my way around. Thanks! ;D
    You would be best to create your own thread for this but Python is a very good start.  Sites like http://www.codecademy.com/ are great for learning it.  The good thing with Python is that it is easy to get started in but is genuinely useful and can be used to build real world things, it's not just some sort of basic learning language.

    When learning to program you will learn the basic concepts of all imperative programming languages which means that actually picking up a new language for a specific task is relatively easy.

    The key thing is to just take care and think about the code you are writing and what everything does rather than simply copying code from tutorials.

    In the IT and software development industry, Python is often used to model a possible solution to a problem. Later, the finished product might be done with something that gives higher performance.
    Python is also used for tonnes of large scale applications, it is not just a toy for modelling things.  Performance with stuff like CPython is very good and is perfectly sufficient for the majority of applications.

    Learning Python as a first language will be a steep curve for the average person. IIMHO, the learning cure for Small Basic is much easier. Which  is the point of this thread.
    Python has one of the shortest learning curves of any programming language.  The problem with learning Small Basic is that apart from learning it is virtually useless - Nothing in the real world is built with it.  The only thing it has going for it is the easy graphics stuff but beyond that there is almost no reason that I can see for learning it over the likes of Python.

    Geek-9pm

      Topic Starter

      Mastermind
    • Geek After Dark
    • Thanked: 1026
      • Gekk9pm bnlog
    • Certifications: List
    • Computer: Specs
    • Experience: Expert
    • OS: Windows 10
    Re: Small Basic. Nor for everyone - But great for youngsters.
    « Reply #10 on: May 14, 2015, 04:26:22 PM »
    Camerongray,
    I stand corrected. Python really is a better choice for many.
    Somebody ought to start a new thread on Python.  :)

    As BC noted, there has been too much emphasis on what language you start with. You can be sloppy or neat in almost any programming language. Just be neat and logical and you will make progress.
    Reference:
    http://www.hongkiat.com/blog/programming-myth/

    Back to topic, a number of users may feel better about a thing supported by Microsoft. After Small Basic, a newcomer could more up to Visual Basic. It has been used to develop some important p[programs.   8)

    camerongray



      Expert
    • Thanked: 306
      • Yes
      • Cameron Gray - The Random Rambings of a Computer Geek
    • Certifications: List
    • Computer: Specs
    • Experience: Expert
    • OS: Mac OS
    Re: Small Basic. Nor for everyone - But great for youngsters.
    « Reply #11 on: May 14, 2015, 04:36:08 PM »
    While yes, they can move up to Visual Basic, that is still not really seen as a great language and while it is used in industry, it is certainly not that nice to work with or used for building new stuff outside of small hacked up applications nowadays.  As far as being backed my Microsoft, this is hardly a reason to go for it, Python is hardly going to suddenly disappear and runs on anything.  Small Basic is designed for Windows only and to a certain extent Visual Basic is as well (You can run VB stuff on other OSs using things like Mono but Microsoft's supported version is WIndows only at the moment).

    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. Nor for everyone - But great for youngsters.
    « Reply #12 on: May 14, 2015, 04:46:17 PM »
    SmallBASIC is sort of like a modern-day Logo. Logo was an excellent tool for learning programming concepts early on.

    Though, at the same time, Logo was based on Common LISP.
    I was trying to dereference Null Pointers before it was cool.

    camerongray



      Expert
    • Thanked: 306
      • Yes
      • Cameron Gray - The Random Rambings of a Computer Geek
    • Certifications: List
    • Computer: Specs
    • Experience: Expert
    • OS: Mac OS
    Re: Small Basic. Nor for everyone - But great for youngsters.
    « Reply #13 on: May 14, 2015, 04:51:46 PM »
    It somewhat is yeah, although if you want something purely for learning at that very early stage, I'd recommend something like Scratch, that way young kids aren't liable to make basic syntax/typing errors and can focus on the logic itself.  Beyond the graphics stuff (which Scratch also has and could be implemented in Python with some libraries that could make it similar to Small Basic), I see very little benefit to Small Basic over Python.

    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. Nor for everyone - But great for youngsters.
    « Reply #14 on: May 14, 2015, 05:53:23 PM »
    Quote
    I see very little benefit to Small Basic over Python.

    The Small BASIC "IDE" is far better integrated than IDLE, or any other Python IDE; I'd say only PyCharm really approaches it's level of accessibility. One of the reasons I think Logo is a good teaching language- bear in mind I refer to say,  second grade or third-grade students - is that Logo is accessible and it provides a symbolic metaphor to understand the concepts in the form of the turtle.

    SmallBASIC, nor Python have the symbolism, but SmallBASIC, I think, is more accessible to that level of learning.

    Another 'starting language' that I've heard good things about is "Processing".

    I don't think the cross-platform argument would ever apply in this scenario. A Learning language is not going to ever benefit widely from being cross-platform except to the vendor to distribute to more systems. A first or second grader using the system will be using it at school and the language being able to be used on, say, their Mom's macbook isn't going to really matter because that will never take place in that scenario. (of course, if a computer lab is already stocked with Macs, then clearly SmallBASIC is never an option to begin with).


    Quote
    While yes, they can move up to Visual Basic, that is still not really seen as a great language and while it is used in industry, it is certainly not that nice to work with or used for building new stuff outside of small hacked up applications nowadays.

    Sounds more like an opinion than a statement of fact, though I would agree with the general sentiment when it comes to Visual Basic 6. But I think you would find it difficult to argue beyond opinion that VB.NET is "not that nice to work with or used for building new stuff outside of small hacked-up applications" I'm not even sure I could demonstrably argue against that being applied to any programming language. Any programming language A person is not familiar with will feel clumsy. Ruby feels clumsy to me, but that doesn't mean Ruby is clumsy- it means I don't know Ruby.

    I don't think the First language a person learns really matters in terms of that language having an "obvious upgrade". The Fact that you can move to Visual Basic .NET from SmallBASIC could almost be argued as a negative simply because it promotes a monoculture.

    The importance of a "first language" at that age is IMO accessibility. Make it as straightforward as possible. The fact that a kid learning via Logo in Grade 2 didn't have an obvious "upgrade path" doesn't matter. What is important is the concepts and the seed being planted. How that applies to SmallBASIC and Python, well, I don't know. I think both can be used reasonably in that environment, but Python would require some up-front work by educators to make it more accessible. Not a difficult task by any means. But I think Python would still take more effort than simply using Processing or SmallBASIC. (I know literally nothing about scratch so can't comment on that). You said it yourself-

    Quote
    The key thing is to just take care and think about the code you are writing and what everything does rather than simply copying code from tutorials.
    It doesn't matter what language is being used.


    Now, rolling back here a bit- I should reiterate that I am talking about "First language" in terms of say a primary school. If we're talking about a "First language" to use in an introductory college or high school course, then I would definitely say Python, Processing, even Scheme or Java or C# would be better choices than SmallBASIC. Historically the time when Primary schoolkids learned with Logo was the same time that introductory college courses used Pascal, so obviously the choice of software still needs to vary depending on the specific age group. I don't think SmallBASIC is a bad choice for very early programming to expose kids to basic (no pun intended) programming skills, but it would be a terrible choice for learning about data structures or OO concepts.

    I think the point of such early programming is to firmly establish that computers are not magic boxes. They do not take special talent to program or control and telling them what to do is practically part of their function.
    I was trying to dereference Null Pointers before it was cool.