Small Basic (Microsoft, free) is a good place to start with the basics.
Kodu Game Lab (Microsoft, free) will make game building easier.
Well it is specifically designed to be use by beginners
​
> Small Basic is a programming language that serves a stepping stone from block-based coding languages to more complex text-based languages.The goal of Small Basic is to make programming easy and accessible for beginners.
​
It is even designed to be learned by kids as far as I can see.
So this boils down to "I don't know it.. so it must be false"
(and to be honest I have not know small basic up until this post here. But I will keep an eye on it for my daughter in about 5-6 years :D)
I don't know Small Basic, but I googled for "small basic print" to find out how to display stuff on the screen. What you'll want to do is print out the last name and first name variables along with a ", " string in the middle, all on one line.
On this page I found this:
TextWindow.WriteLine ("Hello, " + uname + "!")
So it looks like the way to combine variables and strings in Small Basic is with the + operator. So you'll probably have something like this:
TextWindow.WriteLine (lastName + ", " + firstName)
Replace the lastName
and firstName
parts with whatever variable names you used. And instead of TextWindow.WriteLine
you might have some other function name to print text to the screen. But that's the general idea.
Soz, went for lunch.
So, Im assuming you have no programming knowledge whatsoever.
If you havent already done so, you're going to need to install Small Basic, You can download it from here http://smallbasic.com/
Also the introducing Small Basic pdf (Link Here) You should do the first 14 or so pages, it introduces you to programming in small basic (Who would have guessed) and is what your prepatory task is anyway.
(You can skip most of the larger blocks of text, just read the various lines of text that surround the screenshots of code)
Task 1
The first task is very simple, just copy the code straight from the IntroPDF and replace the formula to one that converts the other direction. You've done algebra in maths yes? (Oh and dont forget to change the text where it should say Celsius or Fahrenheit)
By now you should know how to use simple commands in SmallBasic, like getting it to let you enter a number and then doing something to that number.
Task 3 (?)
Now it wants you to add a simple IF statement.
In plain english.
If the number you entered is less than 100'C then the screen should say "Less than the boiling point of water"
If the number you entered is greater than 100'C then the screen should say "More than the boiling point of water"
The syntax for an IF statment in SmallBasic is
If (condition) Then action EndIf
In our case, our conditions are firstly; when the number entered is greater than 100, and secondly; when the number entered is less than 100.
Look at the clock example in the IntroPDF, your task here is exactly the same, except instead of checking if the time is before or after 12, its if the number is higher or lower than 100.
And our actions are going to be simply printing text on the screen. You already know how to do that from the previous task.
Scratch is the best for that age group. And when that gets too limiting, go to one of the easy game engines like GameMaker or Construct 2/3. Those teach all the programming concepts but in a fun way.
Oh, and Microsoft still has a special version of Basic (not all caps anymore, sorry) for kids at smallbasic.com but it's klunky and just weird.
And there's QB64 if you want real old school style!
Nice!
I have been looking for something that I can use in VisualStudio to write code that runs on the EV3. As a dev for 12 years, playing with LabView really feels like having to wear diapers again: uncomfortable and limiting. :(
I have googled small basic and have resolved to get familiar with it in a few days.
The ability to have a database be part of an EV3 system opens up a WHOLE LOT of opportunities!
edit
Here are some links for those too lazy to google it:
* https://sites.google.com/site/ev3basic/small-basic/quick-reference
* https://blogs.msdn.microsoft.com/smallbasic/2015/10/18/lego-mindstorms-ev3-extension-for-small-basic-ev3-basic/
* http://smallbasic.com/
> Yet, what on earth is "class" "public" "void" "String" "static"? So many questions, many of which throw off beginners.
I can't really disagree, but what on earth is #include
, what is <stdlib.h>
, what is <stdio.h>
and why to I have to write that every time? Can't the language know these by default?
I dare say that having to explain includes and the two essential standard libraries is just as complicated as explaining the Java concepts.
At the end of the day, it all depends how well the tutor (or tutorial) explains the concepts and how one builds their tutorials.
I believe that a tiny bit of theory before writing even the classic "Hello World" program is in order and with the proper planning, even this theory doesn't come across as dull.
OOP and procedural programming are two completely different paradigms, and there is absolutely no discussion about the fact that OOP is lots more difficult than plain procedural programming.
If we'd go for really simple entry level languages, we should resort to the likes of Small Basic or even Scratch for complete beginners. Actually,
I think that Scratch is one of the absolutely best intros into programming. Yes, it is made for children; yes, it looks childish and simple, but exactly that is the key. By joining the individual blocks and then seeing every block highlighted when the program runs it is way easier to understand the abstract programming concepts like variables, loops, conditionals, etc.
The download takes you to Microsoft for it, and the Tutorial PDF that I mentioned is downloaded off of the Small Basic website. Pm me if you have any questions, and let me know how you progress!
You actually dont need prior experience. (Obviously, it'd be easier with prior experience)
First step, in computer science is learning what a program is and how to program.
microsoft released smallbasic as a beginners language so check it out. http://smallbasic.com/
Second, you may want a very general understanding of a computer's components. (a computer consists of a processor, memory, and input/output devices)
aside from that, don't get bogged down in the details thats what school is for.
Microsoft's Small Basic. A very simple language designed to teach the basics of programming while it's powerful enough to create games like Tetris.
The main thing you should remember about programming is that you're problem solving.
I just remembered... http://smallbasic.com/ Microsoft Small Basic. Its so awesome for the ultra beginner! It allows you to do a lot with very little knowledge, its extremely easy to share programs between other people, and there are a ton of examples you can get. There are a lot of programs you can get the source code for and just trying changing it and messing around. Its worth trying for sure!
Ohne irgendwelche Programmierkenntnisse wird das ziemlich schwierig. Ein Spiel zu programmieren ist ja auch schon eher eine Aufgabe für Fortgeschrittene. Wenn du nur nicht weißt, wie du anfangen sollst, aber grundsätzlich ein Verständnis der Grundlagen (z.B. Variablen, Schleifen, Funktionen) hast, dann guck dir vielleicht mal ein paar Beispielprogramme aus dem Internet an.
Hier findest du zum Beispiel ein paar Tutorials zur Spieleprogrammierung und Code von fertigen Spielen. Hier ist sogar der Code von einem fertigen Flappy Birds, an dem du dich für den Aufbau deiner Version orientieren könntest. Versuch vielleicht einfach mal nachzuvollziehen, was da genau passiert und warum.
muita gente vai sugerir aprender python, javascript, java... linguagens "serias" e profissionais.
posso sugerir um alternativa? uma linguagem muito simples e bem basica (sem trocadilhos), criada para aprendizado? http://smallbasic.com da microsoft, gratuita, e com documentacao em portugues.
> TurboC++ is so outdated that whatever you learn on them will never be useful to you in a production environment
You can learn most basic programming on Turbo C++ except for exceptions. Namespaces etc isn't a big deal can always be learned when needed.
Learning basic programming is to learn "if", looping, operators, bitwise operations, recursion, pointers & stuff. Turbo C++ is good enough for that. You can also learn link lists, trees, searching, sorting etc.
If you want to learn basic object oriented programming, TC++ is good for that also except for exceptions.
Generic Programming is not possible because TC++ does not support templates. So obviously STL is not possible. But I doubt if most of our engineering students will even be able to get to STL in their first course.
That said, there is no reason to use it - Visual Studio Express can be downloaded free.
FWIW, I have taught people programming using Small Basic.
Small Basic is designed for teaching young people. It's has online tutorials that take you from square one to being competent, and it has a community where students can share and show off their projects if they want. It's worth a look.
I would hold off on learning iOS programming from the immediate get-go. I'm not stating you shouldn't learn, but programming in and of itself can be a difficult task. My main job is a Microsoft C# shop, and I have experience in programming vanilla C++... it's taken a bit to get used to programming in Objective-C and I haven't touched doing hard-core stuff.
Which is why I recommend using SmallBasic: http://smallbasic.com/
It won't help you make an iOS app immediately, but it will help you learn the basic conventions of programming in a beginner-friendly environment. You'll be able to learn about objects, functions, variables, and program flow in an environment that hides or manages all of the hard parts for you. Best part, it's free!
Once you manage and learn the fundamentals, you could start leaping upwards into more advanced languages and environments, such as learning how to program iOS apps using Objective-C and Swift. (You also need to pay $99/year to develop iOS apps, plus a Mac. Pay this fee once you're sure you really want to learn).
That being said, the best way to learn is to come up with a small project and just try implementing it. Try making a lap counter for when you exercise, or if you're feeling up to a challenge, a small app that keeps track of your bowling scores. The only way to learn, is to learn from your mistakes. You got to try!
If you do a lot of Excel work, learning some VBA might be good - it's a version of VB that's built into MS Office that lets you customize things. Unfortunately, I don't really know any good resources for it off the top of my head. Microsoft is known for having really good documentation (these days) on these things.
Maybe starting with Small Basic and the tutorial there would be a good place to start - it's sort of like the basic that came with old versions of DOS in the 90s.
If this is truly "I want to learn to write software, but I've never written software before" then using an elementary language to learn the ropes seems to me a better option than using a sophisticated language, including sophisticated libraries for physics, networking etc.
My suggestion then, if you want to learn basic control flow structures etc, is http://smallbasic.com/ . It has examples of simple games - it has simple routines for painting and sounds.
> What are those languages good for?
They are good general-purpose languages. Pick one, and start learning.
Edit: You might try Small Basic: http://smallbasic.com/
It's good for learning basic object-oriented concepts and you can write some neat programs in only a few lines of code. It's only meant for educational purposes, so don't expect to use it to make finished games or anything like that. If you're interested in motor bikes, Small Basic is a tricycle, but it's a very gentle introduction. It's greatly simplified, so once you learn the basics, move on to something like C# (you'll find that the Small Basic IDE is very similar to Visual Studio).
This is relevant: Microsoft Small Basic. It's intended for getting kids started programming at a young age.
I think two years old is a little young, though. A good time to get a kid into programming is right around 6 years old or so. They have decent communication and problem solving skills at that age, along with the knowledge absorption factor.
Also, did you think of any negative effects that might occur after teaching your child to be a human computer? By leaning her learning curve towards problem solving as opposed to being more social could cripple her personality as she grows older.
And maybe she won't want to be a programming. The best advice I can give you is to wait a few years and ask her if she wants to learn. If she says "yes", then start teaching in a fun way. If she still wants to learn, then continue.