Page 1 of 1 [ 14 posts ] 

Qi
Raven
Raven

User avatar

Joined: 18 Sep 2008
Age: 37
Gender: Male
Posts: 107

15 Jun 2013, 12:41 pm

I'm trying to learn a programming language (Objective-C) but my progress is very slow. Whenever I try to read a guide, the language is just too complex for me to read through easily, which exhausts my brain. For example:

Quote:
The NSDictionary class declares the programmatic interface to objects that manage immutable associations of keys and values. Use this class or its subclass NSMutableDictionary when you need a convenient and efficient way to retrieve data associated with an arbitrary key.


The information provided here is simple, but provided in this way, it takes too long for me to process it. I'm a visual person, and trying to translate text like this into a mental image is too exhausting.

The way I see it, either I have to develop my reading skills, or find an alternative way of learning that doesn't involve too much reading. I need advice.



Robdemanc
Veteran
Veteran

User avatar

Joined: 30 May 2010
Age: 47
Gender: Male
Posts: 2,872
Location: England

15 Jun 2013, 1:05 pm

You are best off learning by example. Just go through tutorials to learn how to write programs.

When you feel you need more in depth information about particular concepts in a language then read about it.

Doing lots of programming makes you learn more than reading about it.



ObserverGirl_4
Yellow-bellied Woodpecker
Yellow-bellied Woodpecker

User avatar

Joined: 12 Jul 2012
Age: 27
Gender: Female
Posts: 64

15 Jun 2013, 4:03 pm

Codecademy has some simple tutorials. They don't have C, but they have other object oriented languages like javascript and ruby. Then you can at least learn some of the basic programming concepts, and can apply some of this knowledge, just using the syntax for C. And I agree with robdemanc, practise and learning by examples will help quite a bit, along with some trial and error :P


_________________
Questions are my favourite form of communication :D


Qi
Raven
Raven

User avatar

Joined: 18 Sep 2008
Age: 37
Gender: Male
Posts: 107

16 Jun 2013, 8:38 am

ObserverGirl_4 wrote:
And I agree with robdemanc, practise and learning by examples will help quite a bit, along with some trial and error :P


I'll keep that in mind.

Any tips on how to maintain my interest? I know if I get deep enough into it it might turn into an obsession (which is what I want), but I'm struggling in keeping my interest up while studying concepts and such.



Dib
Butterfly
Butterfly

User avatar

Joined: 15 Jun 2013
Gender: Male
Posts: 10

16 Jun 2013, 9:11 am

Your para you quote is talking about object oriented style of programming which is pretty hard.
Why don't you start off with a simpler language and after mastering a simple language , go on to learn more complex ones?
I don't know what your goal is or why you're learning but for most current rapid development environments like Microsoft Visual studio understanding Object orientation might not be as important( depending on what you're coding) as it was in past.

I am a hobbyist coder who taught myself , first Pascal than Delphi now I code in VB,NET. I have taught myself Object orientation but I have never really needed it. Of course its better to learn it but it's not a must but surely a plus.

I have coded many commercial quality softwares and never needed to do OO myself.

Sorry for my bad English.



Qi
Raven
Raven

User avatar

Joined: 18 Sep 2008
Age: 37
Gender: Male
Posts: 107

16 Jun 2013, 11:55 am

Dib wrote:
Your para you quote is talking about object oriented style of programming which is pretty hard.
Why don't you start off with a simpler language and after mastering a simple language , go on to learn more complex ones?
I don't know what your goal is or why you're learning but for most current rapid development environments like Microsoft Visual studio understanding Object orientation might not be as important( depending on what you're coding) as it was in past.

I am a hobbyist coder who taught myself , first Pascal than Delphi now I code in VB,NET. I have taught myself Object orientation but I have never really needed it. Of course its better to learn it but it's not a must but surely a plus.

I have coded many commercial quality softwares and never needed to do OO myself.

Sorry for my bad English.
My goal is to develop for iOS, and I already have a good background in OOP, so it shouldn't be too hard.



pezar
Veteran
Veteran

User avatar

Joined: 5 Apr 2008
Age: 49
Gender: Male
Posts: 2,432

17 Jun 2013, 10:31 am

You need to start with basic concepts. Computer logic, what happens internally when the computer executes a program, flowcharting, etc. If you try to just jump in to coding you WILL fail, I know this from experience, the college I went to just threw CS students into coding w/o any background and everybody flunked. You might try a book called Practical Programming with Python, if you can wait a new edition comes out in October.



peterd
Veteran
Veteran

User avatar

Joined: 25 Dec 2006
Age: 71
Gender: Male
Posts: 1,347

18 Jun 2013, 2:46 am

The hard part with objective c is that there are so many ways things can be done. Each tutorial encapsulates one or more of those ways, usually in a dialect appropriate to when it was written. Even Apple's examples do this. It makes the whole thing very confusing.



Loyd16
Butterfly
Butterfly

User avatar

Joined: 26 May 2013
Gender: Male
Posts: 9

01 Jul 2013, 1:42 am

That is normal,learning any kind of programming language is really hard not everyone start in easy just don't give up.Me before i use to manage a crm in Finland country i made a lot of studying about it so that i could not do any mistake on doing it even though many are saying that is easy thing to do.



bj0rn
Emu Egg
Emu Egg

User avatar

Joined: 2 Jul 2013
Age: 35
Gender: Male
Posts: 7

03 Jul 2013, 12:28 pm

Have you tried studying the grammar. Sometimes reading the BNF grammar of the language can be very helpful, the grammar is often very precise and easy to understand. Then when fully understanding the grammar, you may try to understand important classes and library methods. Personally, I think this is the best way to learn a new language.



sppp
Tufted Titmouse
Tufted Titmouse

User avatar

Joined: 16 Jul 2013
Age: 29
Gender: Male
Posts: 28

17 Jul 2013, 4:47 pm

I think that's a terrible way for a non-programmer to get started. I don't even think it's very good for someone who knows several languages. Just figure out progressively more complex examples, and you will soon develop a feel for the language, at which point you will be in a good position to learn more theory, which will propel you toward more complex programs. And so on.



jerry00
Toucan
Toucan

User avatar

Joined: 28 Apr 2013
Age: 43
Gender: Male
Posts: 269

19 Jul 2013, 6:05 pm

I feel the same way. The way I did it was more of a brute force approach. By reading a lot of different guides and not really understanding any of them, eventually the common themes and language will shine through all the BS and crap they write. And you will begin to understand how computers work and how to program them.



sppp
Tufted Titmouse
Tufted Titmouse

User avatar

Joined: 16 Jul 2013
Age: 29
Gender: Male
Posts: 28

20 Jul 2013, 3:35 am

Another thing: don't forget to experiment. It's one thing to read and feel like you understand, but another thing entirely to prove your understanding by successfully executing your own variations on an example.



Tomatoes
Toucan
Toucan

User avatar

Joined: 25 Jun 2012
Gender: Male
Posts: 264

21 Jul 2013, 1:36 am

What I have read is that Objective C is the normal C language expanded with some smalltalk to make it more object oriented.
Also Objective C is more dynamic than C++.

There is a difference between the language and its libraries. NS* objects are not part of the language. They are part of Nextstep.
iOS is derived from MacOS X, itself derived from Next.

Sometimes technical documentation is made too verbose. It is possible they make it simpler for people who have a lot of experience.
Also when they first made Nextstep the target demographic was people who programmed on Unix already.

About keywords. In NSDictionary there's Dictionary. Try finding information on dictionary from python and other languages.
In scripting languages something some features are part of the syntax. In Objective C there is a small syntax and everything else is a function/struct/object.
Everything is similar to everything else but with a different interface.
By everything I mean the same idea used in different languages.