Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

lazydog

macrumors 6502a
Sep 3, 2005
709
6
Cramlington, UK
Good to hear about RB and your perspective, Ben....

So, do you think that this would be a good place to start for a 'hobbyist coder' or ???

As to your advice, "don't stick with it…*branch out" do you mean to suggest doing that after you've got a really good handle on the language you learn first or ?

Thanks,

Mark

I'd say give it a go. I think there is a demo version on the RealBasic site. You could go through the tutorial in a few hours.

RealBasic is a complete system and you could probably code most things with it. Yet it's simple enough that you can learn the language and 'libraries' completely in a short period of time. That to me makes it a good candidate for the 'hobbyist coder'. If you end up really liking it, then there is no reason why you can't carry on using it to produce professional quality programs.

However, imho, the speed and simplicity of RealBasic comes at a price: it lacks the depth and refinements other languages/frameworks offer. For example if you want to do 3D then C/C++ and OpenGL are a must.

By 'branch out' I mean don't be tempted to stick with the first thing you pick up. Whatever language you start off with, when you feel comfortable, try a few tutorials of other languages out. Many of the main languages share a lot of constructs so it won't be difficult. You might actually enjoy one languag e more than the other… and then you can become an expert in it!

b e n
 

SMM

macrumors 65816
Sep 22, 2006
1,334
0
Tiger Mountain - WA State
This topic is discussed constantly and I do not think there is any one correct answer. What works best for one person, may not be the same for another. But, I will throw my 2 cents in.

My first language was 8088 assembler. The purpose for learning it was not to gain proficancy, but to learn how computers work (formal class). I then learned COBOL, Basic and Pascal. After that it was C and VB. Now I am converting VB programs to RB. I build business applications, and that allows me to program in 4GLs.

Starting out, I think a good strategy is to first take a class in a low-level language. The idea is to first learn how computers think and work. Then, regardless of where you settle in, you will always have that knowledge (and feel) of what is happening "below the surface".
 

ArchiMark

macrumors 6502
Feb 2, 2003
269
1
Silicon Valley
I'd say give it a go. I think there is a demo version on the RealBasic site. You could go through the tutorial in a few hours.

RealBasic is a complete system and you could probably code most things with it. Yet it's simple enough that you can learn the language and 'libraries' completely in a short period of time. That to me makes it a good candidate for the 'hobbyist coder'. If you end up really liking it, then there is no reason why you can't carry on using it to produce professional quality programs.

However, imho, the speed and simplicity of RealBasic comes at a price: it lacks the depth and refinements other languages/frameworks offer. For example if you want to do 3D then C/C++ and OpenGL are a must.

Great points, Ben....

By 'branch out' I mean don't be tempted to stick with the first thing you pick up. Whatever language you start off with, when you feel comfortable, try a few tutorials of other languages out. Many of the main languages share a lot of constructs so it won't be difficult. You might actually enjoy one languag e more than the other… and then you can become an expert in it!

b e n

I get it now... Thanks!

:)
 

ArchiMark

macrumors 6502
Feb 2, 2003
269
1
Silicon Valley
This topic is discussed constantly and I do not think there is any one correct answer. What works best for one person, may not be the same for another. But, I will throw my 2 cents in.

My first language was 8088 assembler. The purpose for learning it was not to gain proficancy, but to learn how computers work (formal class). I then learned COBOL, Basic and Pascal. After that it was C and VB. Now I am converting VB programs to RB. I build business applications, and that allows me to program in 4GLs.

Starting out, I think a good strategy is to first take a class in a low-level language. The idea is to first learn how computers think and work. Then, regardless of where you settle in, you will always have that knowledge (and feel) of what is happening "below the surface".

Excellent points, SMM....while I'd love to take a programming class, unfortunately, my schedule doesn't allow for it....so, whatever I do needs to be something that I can 'self-learn' bumping along on my own with occasional pleas for advice on forums such as this one...

;)
 

SMM

macrumors 65816
Sep 22, 2006
1,334
0
Tiger Mountain - WA State
Excellent points, SMM....while I'd love to take a programming class, unfortunately, my schedule doesn't allow for it....so, whatever I do needs to be something that I can 'self-learn' bumping along on my own with occasional pleas for advice on forums such as this one...

;)

If you cannot take a formal structured class, then the next question which comes to mind is, how good are you of staying on task? Some people take to programming quickly and can learn on their own. But, that can require more time and effort. It is very easy to loose interest, especially if too much time elapses between each focused effort. One way to help counter this is to begin with a high-level language, where you get results and gratification much faster. There is one danger to self-learning; the screwdriver trap.

If a person learns one tool, a screwdriver only, he will feel good building things by turning those screws. However, sometimes he has to use a nail. So, he pounds the nail in with the screwdriver handle and eventually gets the job done. He has completed his task, but he thinks, "that is a lot harder than it had to be. Why doesn't everyone use screws?". Then one day, someone shows him a hammer.

You can give 100 programmers the same functional specifications and virtually everyone will solve it differently. The bigger your 'tool box' becomes, the better work you will accomplish. I think this is one of the major benefits of a structured learning environment.
 

ArchiMark

macrumors 6502
Feb 2, 2003
269
1
Silicon Valley
If you cannot take a formal structured class, then the next question which comes to mind is, how good are you of staying on task? Some people take to programming quickly and can learn on their own. But, that can require more time and effort. It is very easy to loose interest, especially if too much time elapses between each focused effort. One way to help counter this is to begin with a high-level language, where you get results and gratification much faster. There is one danger to self-learning; the screwdriver trap.

If a person learns one tool, a screwdriver only, he will feel good building things by turning those screws. However, sometimes he has to use a nail. So, he pounds the nail in with the screwdriver handle and eventually gets the job done. He has completed his task, but he thinks, "that is a lot harder than it had to be. Why doesn't everyone use screws?". Then one day, someone shows him a hammer.

You can give 100 programmers the same functional specifications and virtually everyone will solve it differently. The bigger your 'tool box' becomes, the better work you will accomplish. I think this is one of the major benefits of a structured learning environment.

THANKS again, SMM, you really hit the nail on the head!!
Sorry, couldn't resist.... ;)

But your points and analogies are right on target...I can especially relate to your analogy coming from the architecture/construction world.... :)

If you can't get the nail in, just get a bigger hammer!!!
Sorry....

Seriously, I do understand your points and given my age and background/experiences, I've found that I'm extremely disciplined when I put my mind to it and with the right tools and some assistance think I can chip away at it....

Thanks,

Mark
 

John.B

macrumors 601
Jan 15, 2008
4,195
706
Holocene Epoch
....while I'd love to take a programming class, unfortunately, my schedule doesn't allow for it....
Just be aware that learning to program is a time intensive pursuit. Your schedule may not allow for sitting in class two nights a week (or whatever) but to be successful you will need to budget time to design, code, and debug your programs. It's really the only way to learn and understand it.

HTH
 

ArchiMark

macrumors 6502
Feb 2, 2003
269
1
Silicon Valley
Just be aware that learning to program is a time intensive pursuit. Your schedule may not allow for sitting in class two nights a week (or whatever) but to be successful you will need to budget time to design, code, and debug your programs. It's really the only way to learn and understand it.

HTH

Yes, I can definitely understand that, John. Thanks for your input!

Mark
 

nateDEEZY

macrumors 6502a
Jan 24, 2007
696
0
San Francisco, CA
If you cannot take a formal structured class, then the next question which comes to mind is, how good are you of staying on task? Some people take to programming quickly and can learn on their own. But, that can require more time and effort. It is very easy to loose interest, especially if too much time elapses between each focused effort. One way to help counter this is to begin with a high-level language, where you get results and gratification much faster. There is one danger to self-learning; the screwdriver trap.

If a person learns one tool, a screwdriver only, he will feel good building things by turning those screws. However, sometimes he has to use a nail. So, he pounds the nail in with the screwdriver handle and eventually gets the job done. He has completed his task, but he thinks, "that is a lot harder than it had to be. Why doesn't everyone use screws?". Then one day, someone shows him a hammer.

You can give 100 programmers the same functional specifications and virtually everyone will solve it differently. The bigger your 'tool box' becomes, the better work you will accomplish. I think this is one of the major benefits of a structured learning environment.

Great advice and analogies! Perhaps I will sign up for night classes to learn C++ after all.
 

swearbymac07

macrumors member
Dec 13, 2007
96
0
A-p-p-l-e-s-c-r-i-p-t

Applescript is an English Like Language for Programming your Macintosh. Great for Beginners.

e.g:

tell application "iTunes"
previous track
end tell

or

tell application "System Events"
if exists disk "Macintosh HD" then
tell application "Space Checker"
activate
end tell
end if


Hope this helps you.

Cheers
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.