0

Do you really need to?

I had no idea what C/C# was when I first started learning Objective-C, and I still don't feel comfortable with C/C#, but I am almost finished on my second iPhone App allready, without knowing C. I know that Objective-C is based on C/C# (deep down), but still.

Do you think you really need to learn C/C# before learning Objective-C?

Emil
  • 7,220
  • 17
  • 76
  • 135
  • Subjective and argumentative? Did anyone ever actually claim that? FWIW, you don’t need to know C in order to know C++, either. – Konrad Rudolph Jun 21 '10 at 11:20
  • I have seen many people claiming that you should learn C/C# before Objective-C for various reasons. – Emil Jun 21 '10 at 11:22
  • You don't need to know C#, a Microsoft .NET language, more like Java than C. – Douglas Jun 21 '10 at 11:24
  • 4
    You just completely changed the question by mentioning C#. Don't let the name fool you. C# is a lot more than half a note away from C. :) C# is a garbage-collected, object-oriented language with a huge class library. C is a relatively low-level language with manual memory management and a slim standard library. Also, "Do you really need to know C to code in Objective-C" and "Do you think you really need to learn C *before* learning Objective-C?" are different questions. Many would advocate learning them at the same time, since Objective-C is a true superset of C. – Matthew Flaschen Jun 21 '10 at 11:30
  • See also this similar [previous question](http://stackoverflow.com/questions/180549/learn-c-first-before-learning-objective-c). – Matthew Flaschen Jun 21 '10 at 11:30

3 Answers3

3

Well, if you are already developping applications in Objective-C without knowing C, I'd say you already know the answer to your question ;-)


Even if C is some kind of father for many languages, I don't really think it's necessary to learn C before learning those -- and, in fact, I know many people who code in PHP, JAVA, Objective-C, ... and are good at what they do... without knowing anything about C.

What matters is what you do ; C is just one language, and languages are generally not the important thing ; algorithms are quite often considered as more important, for example.

Pascal MARTIN
  • 395,085
  • 80
  • 655
  • 663
  • Has PHP got anything to do with C/C#? – Emil Jun 21 '10 at 11:22
  • 1
    @Emil : I'd say that, yes, PHP has something to do with C *(it has to do with Perl, C, Shell-script, ... ; and PHP is actually coded in C, and you have to know C to develop extensions to the PHP language)* – Pascal MARTIN Jun 21 '10 at 11:24
2

Since Objective-C is a strict superset of C, if you know Objective-C, you also know C. You may not have noticed learning it along the way, though.

Ole Begemann
  • 135,006
  • 31
  • 278
  • 256
1

It doesn't hurt to know C but since you developed 2 apps already, you answered the question yourself I think.

I never learned C but are familiar with a bunch of other languages (Perl, C#, VB.Net, Java) and never missed anything. But since my main task is to write database driven applications my point is: Who cares?

I don't want to think about freeing memory or using pointers. I just want to get the job done.

Jürgen Steinblock
  • 30,746
  • 24
  • 119
  • 189
  • Uh, just to broaden your perspective, it's not a bad thing to learn how to deal with pointers, freeing memory, etc. Or even writing codes in an assembly. It's OK to say your last sentence if you had already tried coding in C and other languages without GC :) – Yuji Jun 21 '10 at 15:34