Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > Learning a Programming Language

Learning a Programming Language
Thread Tools
Dark_Lotus
Forum Regular
Join Date: Jun 2006
Status: Offline
Reply With Quote
Mar 5, 2007, 11:58 PM
 
Ive been wanting to learn a programming language for years, I have three or four different books all on different languages. My question is, whats the right way to go about doing this? Every time that I start reading the book, I never make it past learning about variables. I really really want to be able to right my own programs and know how to code, but I can't stick with it for some reason. I just want to know how you software developers went about becoming programming masters. Am I just not meant to be a programmer?
     
cgc
Professional Poster
Join Date: Mar 2003
Location: Down by the river
Status: Offline
Reply With Quote
Mar 6, 2007, 12:21 AM
 
I started with BASIC then moved on to Pascal, then C, then Assembly. I guess the question is really, what do you want your programs to do? You could start with RealBasic which is great but is limited for some things. If you want programs that run in web browsers you'll beed to learn PHP, Perl, Ruby, Python, etc.

Really, I'd recommend C++ for most uses (or Objective C since that's what Apple endorses).
     
Dark_Lotus  (op)
Forum Regular
Join Date: Jun 2006
Status: Offline
Reply With Quote
Mar 6, 2007, 12:41 AM
 
My main reason is to be able to follow along with the book Hacking: The art of exploitation by Jon Erickson. There is alot of C programming involved, but I also want to be able to write my own programs, I don't really know what I want them to do.
     
larrinski
Mac Enthusiast
Join Date: Sep 2005
Location: Canada... be nice, eh?
Status: Offline
Reply With Quote
Mar 6, 2007, 01:20 AM
 
I did the same thing about a year ago... I even took a Perl progamming course at the local college. I realized after that I am not a programmer. I think it is a little like how cool it would be race an F1 car, but realizing that you need to start as a grease monkey... Maybe not the best analogy but to the point...
My Blog-pakos.me
     
itai195
Addicted to MacNN
Join Date: May 2001
Location: Cupertino, CA
Status: Offline
Reply With Quote
Mar 6, 2007, 03:18 AM
 
Starting with Perl is kind of rough, simply because it's such an ugly language -- don't get me wrong, I do still like and use it. But if all you know is Perl code, it's easy to get the impression that programming is all about decoding an ugly mess of punctuation marks. My suggestion these days for a more casual approach to learning how to program would be to start with a language like Ruby or Python. They're relatively straightforward syntactically, yet powerful, and you can do some cool stuff pretty quickly without having to bother with memory management or compilers. Ruby even provides an interpreter called irb where you can type in some code, hit enter, and see the result. It's a big help when learning. I'd suggest picking up a good tutorial on either language from a bookstore or library and working through it. After that, if you're still into getting a deeper knowledge of programming, it'd be time to move into C, or at least Java.
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Mar 6, 2007, 04:02 AM
 
Why's (Poignant) Guide to Ruby

You will be programming in no time. C is more difficult and frankly more primitive than Ruby, but Ruby is a perfectly good language and a great place to start.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
cgc
Professional Poster
Join Date: Mar 2003
Location: Down by the river
Status: Offline
Reply With Quote
Mar 6, 2007, 10:04 AM
 
Can Ruby programs be compiled and run on any Mac? Are there toold for GUI creation? I thouht Ruby was primarily a language for web development (like PHP, Perl, Python, etc.). Now I'm curious as well.
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Mar 6, 2007, 11:13 AM
 
Ruby is often used for Web development thanks to the popularity of the Rails framework, but there's nothing about the language that makes it less suited for other tasks. It's actually one of the three languages that will have official Cocoa bindings in Leopard, and you can already get the RubyCocoa framework in 10.3 or 10.4, so writing GUI apps for OS X is no different than with Objective-C. And yes, Ruby has been included with all Mac OS X installs since at least 10.3.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
besson3c
Clinically Insane
Join Date: Mar 2001
Location: yes
Status: Offline
Reply With Quote
Mar 6, 2007, 11:41 AM
 
I would suggest coming up with a project that motivates you - something meaningful that actually inspires you to learn these tools. Learning tools for the sake of learning tools is no fun, at least to me. Making cool stuff is.
     
Thinine
Mac Elite
Join Date: Jul 2002
Status: Offline
Reply With Quote
Mar 6, 2007, 03:56 PM
 
Start with C and move to Objective-C. I recommend Stephen Kochan's book on Objective-C, that should give you a good introduction. Then it's just a matter of learning the Cocoa APIs. Later on, you can move to Ruby or Python or whatever.
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Mar 6, 2007, 04:07 PM
 
If you're looking for something that's easy to wrap your head around and not intimidating, C is not a good choice. C is so much more difficult and discouraging than Ruby or Python it's ridiculous.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
Thinine
Mac Elite
Join Date: Jul 2002
Status: Offline
Reply With Quote
Mar 6, 2007, 04:17 PM
 
C, when learned as the foundation for Objective-C, is much simpler. Going from C to Python is much easier than Python to C.
     
itai195
Addicted to MacNN
Join Date: May 2001
Location: Cupertino, CA
Status: Offline
Reply With Quote
Mar 6, 2007, 05:31 PM
 
I disagree, it's much simpler and more instructive to learn a powerful language with some syntactic sugar first (e.g. Ruby or Python) and then move onto the gory details of Java, C, C++, etc. This is how many top universities do it these days, starting with Scheme in introductory CS courses.
     
Thinine
Mac Elite
Join Date: Jul 2002
Status: Offline
Reply With Quote
Mar 6, 2007, 06:06 PM
 
Perhaps in an academic setting that is true, but when you're self taught, breaking out of the habits of languages like Python and Ruby for one like C is much harder.
     
Dark_Lotus  (op)
Forum Regular
Join Date: Jun 2006
Status: Offline
Reply With Quote
Mar 7, 2007, 12:24 AM
 
So, should I start with C or with Ruby if I want to learn C?
     
smitty825
Forum Regular
Join Date: Sep 2003
Location: San Diego
Status: Offline
Reply With Quote
Mar 7, 2007, 12:57 AM
 
Originally Posted by Dark_Lotus View Post
So, should I start with C or with Ruby if I want to learn C?
Well...if your goal is to learn C, then start with C. Once you "learn" it, you'll need as much practice as you can get to begin to master it. (I've been programming in C/C++ for the better part of a decade, and today I ran into a problem where I didn't know what atoi("23.4") would return. The more you work with C, the more you learn)

However, if you want to write programs that solve tasks for you, you're probably much better off learning something like Python or Ruby. The problem solving skills you learn in another language will transfer over to C, and you may discover that you didn't need C after all. (Ruby & Python both have a very good bridge over to Obj-C, so you can program Cocoa apps that way) The learning curve on something like Ruby/Python is much, much less than on C, and you're able to do much more with a few lines of code... (well, excluding the few lines found at ioccc.org )
     
itai195
Addicted to MacNN
Join Date: May 2001
Location: Cupertino, CA
Status: Offline
Reply With Quote
Mar 7, 2007, 03:29 AM
 
Originally Posted by Thinine
Perhaps in an academic setting that is true, but when you're self taught, breaking out of the habits of languages like Python and Ruby for one like C is much harder.
I agree that it would be difficult to step from Ruby to C. However I still think that the OP would be better served by starting with Ruby or Python. He's had previous attempts at learning fizzle out, so tackling C doesn't sound like a recipe for success. How many students groan when they have to use C? Of course C programming is an important skill, but it sucks much of the fun out of programming. Better to learn Ruby -- getting many programming concepts under his belt and learning a language that's enjoyable to use -- and then struggle with the step from Ruby to C. That is if he even wants to learn C at that point.

That said, if the OP has an immediate need for C, then start with C. There are some gentle introductions out there...
( Last edited by itai195; Mar 7, 2007 at 03:39 AM. )
     
SirCastor
Professional Poster
Join Date: Jan 2001
Location: Salt Lake City, UT USA
Status: Offline
Reply With Quote
Mar 8, 2007, 01:05 PM
 
I recommend that you start with a popular web-based language. I learned to program with PHP. It's a forgiving language, has a C-like syntax, and is already available on your mac.
2008 iMac 3.06 Ghz, 2GB Memory, GeForce 8800, 500GB HD, SuperDrive
8gb iPhone on Tmobile
     
besson3c
Clinically Insane
Join Date: Mar 2001
Location: yes
Status: Offline
Reply With Quote
Mar 8, 2007, 01:17 PM
 
Originally Posted by SirCastor View Post
I recommend that you start with a popular web-based language. I learned to program with PHP. It's a forgiving language, has a C-like syntax, and is already available on your mac.
It also doesn't teach you good programming habits like declaring variables and understanding scope.
     
andi*pandi
Moderator
Join Date: Jun 2000
Location: inside 128, north of 90
Status: Offline
Reply With Quote
Mar 8, 2007, 02:28 PM
 
This thread is interesting. I started learning programming with Java. Is Ruby easier?
     
itai195
Addicted to MacNN
Join Date: May 2001
Location: Cupertino, CA
Status: Offline
Reply With Quote
Mar 8, 2007, 03:07 PM
 
Yeah I'd say it's easier than Java in that you almost never have to worry about types, don't need to compile, and irb is an enormous asset when learning. In addition, Ruby's concepts of iterators and blocks are very powerful and much more concise than Java's iterators. However, Java is a relatively simple language to start with too, especially compared to C.

As for web programming, Ruby has the Rails platform, which doesn't have quite the adoption of PHP yet but is rapidly growing in propularity. It's also nice that the Rails development team is very Mac-centric.

I hope I'm not coming across as too much of a Ruby junkie . Every language has its strengths and its place and a good programmer is always willing to learn a language best suited to a specific task. I just think Ruby is a great language for a lot of reasons, and would provide a nice introduction to the world of programming.
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Mar 8, 2007, 05:53 PM
 
Originally Posted by andi*pandi View Post
This thread is interesting. I started learning programming with Java. Is Ruby easier?
No doubt. Ruby has many powerful abilities that Java lacks (e.g., passing methods to methods) and a very flexible syntax. This is obviously not a scientific measure, but just compare Wikipedia's "Hello World" examples for the two languages:

code:
// Java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}


code:
# Ruby
puts "Hello World!"


The Java example is hugely long and fairly ugly because of all the situps Java makes you do that are completely irrelevant to the actual task at hand. Ruby, in my opinion, is much more straightforward.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
besson3c
Clinically Insane
Join Date: Mar 2001
Location: yes
Status: Offline
Reply With Quote
Mar 8, 2007, 05:57 PM
 
Originally Posted by Chuckit View Post
No doubt. Ruby has many powerful abilities that Java lacks (e.g., passing methods to methods) and a very flexible syntax. This is obviously not a scientific measure, but just compare Wikipedia's "Hello World" examples for the two languages:

code:
// Java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}


code:
# Ruby
puts "Hello World!"


The Java example is hugely long and fairly ugly because of all the situps Java makes you do that are completely irrelevant to the actual task at hand. Ruby, in my opinion, is much more straightforward.

Cool stuff, but what happens if you want to write "Hello there world" instead? Which is easier?
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Mar 8, 2007, 06:08 PM
 
Originally Posted by besson3c View Post
Cool stuff, but what happens if you want to write "Hello there world" instead? Which is easier?
For that, you should use Fortran.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
besson3c
Clinically Insane
Join Date: Mar 2001
Location: yes
Status: Offline
Reply With Quote
Mar 8, 2007, 06:09 PM
 
Originally Posted by Chuckit View Post
For that, you should use Fortran.

Gotcha! I think I'll just stick with "Hello world" for now
     
kick52
Baninated
Join Date: May 2005
Location: England
Status: Offline
Reply With Quote
Mar 8, 2007, 06:13 PM
 
I started on BASIC when I was 11, then learnt some PHP via web tutorials, then I learnt some C.
C is quite easy to learn, there are some great simple web tuts.
I would learn some stuff, try it out, and then learn something else.
Try a web tut. like this: Howstuffworks "How C Programming Works"
And while you are coding, keep something like this open: C Ref Master Index
Good luck! I learnt the basics in about 3 days (not solid days)

BTW: If you are stuck, IRC is great.
( Last edited by kick52; Mar 8, 2007 at 06:20 PM. )
     
Dark_Lotus  (op)
Forum Regular
Join Date: Jun 2006
Status: Offline
Reply With Quote
Mar 8, 2007, 07:11 PM
 
Wow, I love ruby. I'm currently reading that book that ChuckIt posted, Whys Guide to Ruby, and it is amazing. Its really odd but makes it fun and the examples the author provides make you remember everything, just becuase they are so weird. Im stilling learning the 'parts of speech' but in the next chapter I'll probably start programming. Thanks for everyones help.
     
rubaiyat
Dedicated MacNNer
Join Date: Feb 2006
Status: Offline
Reply With Quote
Mar 11, 2007, 07:12 AM
 
I can't help but laugh at programmers.

You tell them you'd love to write a book and how should you go about it and it always descends into a debate on whether Hangul or Syriac is better to write in. Followed by arcane discussions of grammar and case structure that no-one who actually doesn't already speak the language could possibly follow.

Call me naïve but I would have thought that having a story to tell, understanding plot and narration and having good step by step examples would be more to the point.

Ask a programmer what is a cow and you'll get the answer "It allows Loganellia, a conventional thelodont, to lie closer to the gnathostomes than any of the cephalaspidomorphs", "it's not a Eurokyte" or "much better now the infection has cleared up, thank you".

I can't help noticing that, as well as being unable to communicate, programmers also lack elementary spelling skills.
( Last edited by rubaiyat; Mar 11, 2007 at 07:36 AM. )
     
Tack
Fresh-Faced Recruit
Join Date: Jun 2006
Status: Offline
Reply With Quote
Mar 11, 2007, 01:53 PM
 
Originally Posted by Dark_Lotus View Post
Wow, I love ruby. I'm currently reading that book that ChuckIt posted, Whys Guide to Ruby, and it is amazing. Its really odd but makes it fun and the examples the author provides make you remember everything, just becuase they are so weird. Im stilling learning the 'parts of speech' but in the next chapter I'll probably start programming. Thanks for everyones help.
try ruby! (in your browser)

That is an awesome place to flex your budding ruby skeelz.

Ruby is a decent choice to start from; it's very accessible. When you move on to the more basic languages (Java, C++, C), some new issues will bite you a little hard, but then it starts to feel good.
     
itai195
Addicted to MacNN
Join Date: May 2001
Location: Cupertino, CA
Status: Offline
Reply With Quote
Mar 11, 2007, 02:06 PM
 
Originally Posted by rubaiyat View Post
I can't help but laugh at programmers.

You tell them you'd love to write a book and how should you go about it and it always descends into a debate on whether Hangul or Syriac is better to write in.
I'm relatively certain that before one can learn how to write a book one has to learn a written language. That will always be the first step in either prose or programming. Once one learns the basics of a simple language, one can tackle the deeper topics.
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Mar 11, 2007, 02:22 PM
 
Originally Posted by rubaiyat View Post
I can't help but laugh at programmers.

You tell them you'd love to write a book and how should you go about it and it always descends into a debate on whether Hangul or Syriac is better to write in. Followed by arcane discussions of grammar and case structure that no-one who actually doesn't already speak the language could possibly follow.
In this case, it's actually more like a debate over whether it would be easier for an English-speaker to learn Spanish or Cantonese.

Originally Posted by rubaiyat View Post
Call me naïve but I would have thought that having a story to tell, understanding plot and narration and having good step by step examples would be more to the point.
If somebody doesn't want to program, there's nothing we can do about that. And if they don't know the language, there's no point in giving them "step-by-step examples" any more than it makes sense for me to reply to your post in Japanese. The basic part of writing is being able to write at all — I'm sure you didn't learn about plot and narration in preschool.

Originally Posted by rubaiyat View Post
I can't help noticing that, as well as being unable to communicate, programmers also lack elementary spelling skills.
Given that I work full-time as an editor at a newspaper, I certainly hope you're wrong.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
rubaiyat
Dedicated MacNNer
Join Date: Feb 2006
Status: Offline
Reply With Quote
Mar 11, 2007, 04:21 PM
 
Originally Posted by Chuckit View Post
Given that I work full-time as an editor at a newspaper, I certainly hope you're wrong.
If you are an editor with my local newspaper that would be an admission of guilt.

To be serious, programmers do forget what it was like to take the first steps or the need to explain fundamentals.

The pre-schooler has pointed at the cow asking how do you say that in Spanish or Cantonese, expecting to get either "la vaca" or "牛".

Instead the programmer will launch into a detailed explanation of the comparative grammar of both languages. In the languages themselves. In the case of the Cantonese they will not take into account that a beginner will be totally unable to decipher the written character and not even have a clue how to pronounce it.

Go to the Revolution site and in the introduction they ask the rhetorical question "What is Revolution?". At least they have the sense to realise that will be an obvious question, but then proceed to not tell you, at great length. Apparently, it is impossible to describe what Revolution is!

This explains several things when you download programs. The name is frequently cryptic and non-self explanatory. In some cases the actual name on the file does not match the expected name and requires a hunt in your download folder. The Read Me will have version numbers and all sorts of extraneous material other than what the program is supposed to do and how it does it. The file will often not be obvious as to whether it is the program itself or an installer and sometimes no hint as to the installation method.

The other aspect is what I call "Greek directions", from my travels in that country. When you ask a greek where the local temple of Zeus is, you get a sweeping hand gesture that encompasses half the horizon. If you persist you are told it isn't far and are given directions that 15kms later leave you up a remote mountain track staring at goats and rocks wondering if you will find water and shelter before nightfall.

I could continue at length on this subject, but what is obviously missing in the way programmers handle things is any empathy with anyone who does not know what they know.

I am struck by the contrariness of this because programming requires logical, sequential thinking, precise syntax and accuracy in spelling or it fails, yet these are all features missing in programmers' interaction with other mortals.
( Last edited by rubaiyat; Mar 11, 2007 at 04:54 PM. )
     
rubaiyat
Dedicated MacNNer
Join Date: Feb 2006
Status: Offline
Reply With Quote
Mar 11, 2007, 05:45 PM
 
Originally Posted by Chuckit View Post
If somebody doesn't want to program, there's nothing we can do about that. And if they don't know the language, there's no point in giving them "step-by-step examples" any more than it makes sense for me to reply to your post in Japanese.
Here is my response to someone saying they would like to speak a foreign language.

"This is a list of the languages commonly spoken thoughout the world. The languages underlined are the ones you are most likely to encounter and here is a map showing where they are spoken. Some of the languages are more widely spoken and easier to learn.

Even though I speak Hungarian fluently and find it an extremely useful language to swear in, I will not recommend you learn it because it is not widely spoken and it is so different in vocabulary and grammar that you will probably give up before you have achieved any fluency.

I will not insist, beyond all reason, that it is easy to learn just because I was raised by hungarian shepherds who found me abandoned in the woods as a baby.

You should be able to rule out most of the languages because you are unlikely to go where they are used and/or they are culturally irrelevant and the degree of learning difficulty rules them out.

To learn a language it is best you speak to a native speaker, with some teaching ability and understanding of the needs of non-language speakers.

To find such people look in the Yellow Pages under Language Tuition or attend classes at a local tertiary institution. These are some I can recommend. Alternatively, although it is harder, you can try to learn from tapes or CDs in conjunction with transliterated written material. Be warned that most of this is targeted at Americans and the pronunciation guide will leave you asking for the local fast food outlet with a thick and mostly unintelligible American accent.

When learning a new language, start with simple everyday words such as Yes, No, Thank you, greetings and numbers. Add to your vocabulary as you require additional words and they will more likely be retained in your memory.

Do not try to understand the complexities of grammar, case and gender until you have grasped at least some initial vocabulary. Till then learn these simple phrases by rote.

This is a list of commonly used expressions with their literal translation and expected responses in the language with literal translations of those.

I have given the literal translation of each word but this is what the phrases actually mean. My explanations are in red so they will not be confused with the actual phrases themselves.

I have carefully checked my spelling, grammar and translations because I realise that because you do not speak the language you will not have picked up that I incorrectly translated "I would like a room for the night" as "My hovercraft is full of eels".

Once you have learnt some of the basics you can immerse yourself in the language by living in the country where it is spoken for some time or by undergoing higher level courses at these schools which I recommend.

etc, etc"

Notice how I gave useful, actionable steps with some hints as to which options may be better than others.

I did not once speak in Japanese. Even though that may have been the language they may have been enquiring about.

It is interesting that you jump to the conclusion that somebody doesn't want to program because they find your response unhelpful.
( Last edited by rubaiyat; Mar 11, 2007 at 06:20 PM. )
     
itai195
Addicted to MacNN
Join Date: May 2001
Location: Cupertino, CA
Status: Offline
Reply With Quote
Mar 12, 2007, 12:26 AM
 
Good points, I appreciate what you're saying because I generally find debates about programming languages rather meaningless. However there are some languages that are simply easier to learn as a first language. The OP did not ask how to go about learning additional languages, he asked for tips on learning to program from scratch. One has to know a bit about some language before one can actually tackle a study of linguistic concepts in general. Thus, the best way to learn how to program - in my opinion, anyway - is to pick up a syntactically simple language and learn enough about it to get you through a study of more general programming concepts (e.g. recursion, scope, memory allocation, object oriented programming, threading, iterators, closures, streams, etc). After that, picking up additional languages can be achieved via the means you've outlined.
( Last edited by itai195; Mar 12, 2007 at 12:44 AM. )
     
rodmc
Fresh-Faced Recruit
Join Date: Dec 2005
Location: Germany
Status: Offline
Reply With Quote
Mar 12, 2007, 08:32 AM
 
In response to the original posters questions, Revolution (Runtime Revolution Ltd - Application design and programming for everyone) is a good place to start, it is easy to pick and learn. The only downside is that although it is easy the syntax is quite different from many other languages. Also Rev Media is quite cheap and I think there is a demo available. I used Revolution for a number of tasks and found it quick to learn and easy to use, also building free standing applications is very simple.

If free is the order of the day then Python is a good choice but is not so well packaged as Rev Media. There are as they say, many ways to skin a cat and Python adopts a similar approach there are multiple GUI toolkits and several ways to connect to databases. Also there is a hell of a lof of material available online plus the syntax is probably makes moving to other languages a little easier. That said the advice on learning the basics which apply to all programming languages is very sensible. I have used Python now for a number of projects from instant messaging through to natural language processing and GUI applications - so I know it is more than capable of most things! The only pain really is the creation of free standing apps, this works but can be a little more painful than on say Revolution.
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Mar 12, 2007, 01:50 PM
 
Originally Posted by chikako View Post
If you want to create programs and you've been hung up on making software, what about Runtime Revolution? You can build apps on your mac, then deploy on Windows (98SE through Vista), Linux, Solaris and of course, its Universal Binary Mac.

Web languages are great, but not great if you want to make desktop applications.
Nobody has recommended a Web language. Also, what's with suddenly getting two recommendations for this obscure package that nobody uses? Did this thread get linked on the Runtime Revolution forums or what?
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
Tack
Fresh-Faced Recruit
Join Date: Jun 2006
Status: Offline
Reply With Quote
Mar 12, 2007, 04:38 PM
 
Originally Posted by Dark_Lotus View Post
I really really want to be able to right my own programs and know how to code, but I can't stick with it for some reason. I just want to know how you software developers went about becoming programming masters. Am I just not meant to be a programmer?
I'm good at programming now because I have a lot of occasion to use it (being a cs major). Up until my last year of high school, I was in your boat; really wanted to learn, didn't know how or why.

In retrospect, I should have picked a specific project I wanted to work on (like writing a game or a text editor) and just written it. Pick up a book and learn just enough to get something started, then scramble to get the rest of the pieces together as you need them. Google is a good friend.

Pick a language that works for you; the first is by far the hardest to learn.
     
rubaiyat
Dedicated MacNNer
Join Date: Feb 2006
Status: Offline
Reply With Quote
Mar 12, 2007, 05:54 PM
 
Nobody has spoken up for Apple's Xcode and Objective C. Nor for REALbasic which has to be the biggest programming community on Macs surely.

One thing that is significant with all the options is whether you can get supporting material, be it web based, CD tutorials, books and forums. Unfortunately this tends to be limited on the Mac, although older books on PC Virtual Basic are usefully close to REALbasic.

I have a feeling the original poster would like some more specific information than simply throwing lots of different languages at him which still leave him with no study syllabus, program or mentoring to get on with.

If he were to start with REALbasic all of these are available although as to the quality in actuality I can't vouch for. I have seen step by step tutorials for older versions of REALbasic which seemed very good, at REALbasic University, and if he followed them and could get through the mistakes, he would actually have a few working applications under his belt that actually did something useful.

In fact the 1st and simplest tutorial on REALbasic you create is a working Web Browser. It is surprisingly quick and easy.

But I would say with any language it would be important to have someone you can bounce questions and ideas off. Particularly if you have no experience and formal study on the subject, which is what seems to be the case here.

I remember when I started one of the most confounding parts was trying to determine in the tutorials, I was attempting to follow, was what were the authors' variables and functions and what were actually part of the language. It was very badly described along with a liberal studding of bugs which I was not as a beginner able to decipher.

In nearly all the books, after an initial attempt to explain the basic aspects of programming, the authors seem to rapidly get bored and leap into the deep end where they feel more comfortable and you as the beginner feel totally lost.

There still is a huge opening in publishing books on programming for one that takes the initial learner through the steps in fine detail, explaining exactly what is happening and why. Also one that explains tactical methods for achieving certain objectives at a level below the usual pattern books. eg how to create interaction in a game or determine collisions etc
( Last edited by rubaiyat; Mar 12, 2007 at 06:17 PM. )
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Mar 12, 2007, 06:17 PM
 
Originally Posted by rubaiyat View Post
Nobody has spoken up for Apple's Xcode and Objective C. Nor for REALbasic which has to be the biggest programming community on Macs surely.

One thing that is significant with all the options is whether you can get supporting material, be it web based, CD tutorials, books and forums. Unfortunately this tends to be limited on the Mac, although older books on PC Virtual Basic are usefully close to REALbasic.

I have a feeling the original poster would like some more specific information than simply throwing lots of different languages at him which still leave him with no study syllabus, program or mentoring to get on with.

If he were to start with REALbasic all of these are available although as to the quality in actuality I can't vouch for. I have seen step by step tutorials for older versions of REALbasic which seemed very good, at REALbasic University, and if he followed them and could get through the mistakes, he would actually have a few working applications under his belt that actually did something useful.

In fact the 1st and simplest tutorial on REALbasic you create is a working Web Browser. It is surprisingly quick and easy.

But I would say with any language it would be important to have someone you can bounce questions and ideas off. Particularly if you have no experience and formal study on the subject, which is what seems to be the case here.

I remember when I started one of the most confounding parts was trying to determine in the tutorials, I was attempting to follow, was what were the authors' variables and functions and what were actually part of the language. It was very badly described along with a liberal studding of bugs which I was not as a beginner able to decipher.

In nearly all the books, after an initial attempt to explain the basic aspects of programming, the authors seem to rapidly get bored and leap into the deep end where they feel more comfortable and you as the beginner feel totally lost.

There still is a huge opening in publishing books on programming for one that takes the initial learner through the steps in fine detail, explaining exactly what is happening and why. Also one that explains tactical methods for achieving certain objectives at a level below the usual pattern books. eg how to create interaction in a game or determine collisions etc
You haven't read the Poignant Guide, have you?
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
rubaiyat
Dedicated MacNNer
Join Date: Feb 2006
Status: Offline
Reply With Quote
Mar 12, 2007, 08:21 PM
 
Yes I have.

What's the guy smoking?
     
rubaiyat
Dedicated MacNNer
Join Date: Feb 2006
Status: Offline
Reply With Quote
Mar 12, 2007, 08:23 PM
 
Does it really help an already difficult subject to wrap it up in smoke, mirrors and hippy antics?

Hand written code examples. Wow! why hasn't anyone else thought of this before?

Now you don't have to just worry about the syntax and bugs, but whether you've read his hand writing correctly.
     
Chuckit
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Mar 12, 2007, 08:48 PM
 
Originally Posted by rubaiyat View Post
Does it really help an already difficult subject to wrap it up in smoke, mirrors and hippy antics?

Hand written code examples. Wow! why hasn't anyone else thought of this before?

Now you don't have to just worry about the syntax and bugs, but whether you've read his hand writing correctly.
Congrats, you're the first person I've ever known who hasn't both liked it and found themselves rapidly understanding the subject matter. It seems to me that different people learn differently and your criticism of particular routes is coming from a relatively limited viewpoint.
( Last edited by Chuckit; Mar 12, 2007 at 08:59 PM. )
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
rubaiyat
Dedicated MacNNer
Join Date: Feb 2006
Status: Offline
Reply With Quote
Mar 13, 2007, 03:44 AM
 
I have always thought of myself as unique. Nice at last to have it officially confirmed by scientifically verifiable statistical analysis.

Just count me as an exception to the vast "Dummy's…" book buying public. I like people to get to the point, not waffle, not fake it; not mispell it, and not smother it in sauce.
     
rubaiyat
Dedicated MacNNer
Join Date: Feb 2006
Status: Offline
Reply With Quote
Mar 13, 2007, 06:38 AM
 
Maybe this whole thread is irrelevant?
     
Tenacious
Fresh-Faced Recruit
Join Date: Mar 2007
Status: Offline
Reply With Quote
Apr 28, 2007, 01:23 AM
 
I, personally, started with C "C for dummies 2nd ed." The book was lame didnt go much farther than functions, but It is a really good, simple book. I was through it in about 2 maybe 3 weeks. If you really want to learn C I recomend it (email me I may be able to find my ebook).Now I'm on "C++ in 24 hours" (much harder), but it also is a very good book.
Powermac G4 quicksilver 2002
933 mhz, 1.5gb ram
80gb hdd


cursed3.com
     
ncmason
Guest
Status:
Reply With Quote
Apr 28, 2007, 06:50 AM
 
Apple has a good list of developer/programming articles on their developer website.
     
   
 
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 04:19 AM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,