• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Cocoa approachable by non-programmers ?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cocoa approachable by non-programmers ?


  • Subject: Re: Cocoa approachable by non-programmers ?
  • From: Oscar Morales Vivó <email@hidden>
  • Date: Mon, 24 Feb 2003 09:59:55 +0100

I have come to Cocoa through a far more convoluted route. After learning too many languages to bother mentioning through my never ending degree in computer science/engineering, I did learn C++ to face my masters project, and have come to Cocoa from it. Funnily enough I did not bother to learn C before C++, but as I had a background of several programming languages and most concepts of computing it wasn't that bad. Of course, the sheer size of C++ meant It took me far longer than expected to learn it and all its quirks (still uncovering some from time to time) but that's a problem for another list...

So the fact is that I use Cocoa as a front-end for my C++ code. I've developed a huge codebase in the last couple of years for geometry and 3D stuff and I can quickly build an interface for some of it. Personally I love it, as it's "the best tool for each job" approach. C for simple things that need efficiency in speed and/or size, C++ for more complex things where efficiency is still necessary, and Objective-C/Cocoa for the front end, which doesn't need low level efficiency but needs flexibility and easily going from concept to design to implementation.

So the problem might be that the easiness of building interfaces and small programs gets people without experience in low-level programming (that's C, folks) to try it. And that's good. For all those of you around learning Cocoa, consider C a necessary evil, and don't forget learning not only the hows, but the whys too.

I'd personally advocate using a sprinkling of C++ features (not the bloated stuff, thanks. Actually I think the ones I'm saying are being slowly integrated in base C ;). For example, I always use references instead of pointers for everything where a null value would make no sense (not for Objective-C objects, for obvious reasons). And being able to declare auxiliary variables on the fly actually helps make the code more readable (as everything, it has to be done with a modicum of reason to it). If only for those reasons all of my code files are .mm


On Monday, Feb 24, 2003, at 03:45 Europe/Madrid, publiclook wrote:

I have noticed a lot of questions that are not so much about Cocoa as about programming in general. I also notice a lot of questions that are really C questions rather than Cocoa questions.

Is this a result of the fact that Cocoa is seen as approachable by non-programmers or is it the result of a culture shift in programming / education ?

When I was learning to program (really not that long ago), universities usually used Pascal for introductory courses, but "serious" classes were taught in C and/or an assembly language. Hobbyist programmers learned C because it was the only ubiquitous portable language (to the extent it was portable), and it was necessary to stay close to the hardware for performance.

Fundamental issues about how a computer works and the use of stack and calling conventions and interrupt service routines and manual memory management were introductory material for both the hobbyist and budding professional. Those topics were necessary to write "real" programs.

Cocoa is built on top of a C foundation for better or worse. I get the impression that C and systems programming and low level issues like stack and why is it used are no longer taught or no longer seem important. For that matter, comparisons of languages and programming paradigms seems absent.

Is it goal of current culture that all software be written in Java?

I don't really have any information to base my impressions. They are completely subjective. I actually like Java too. In many/most cases, the value of portability and easy programming overcome the value of execution performance and the knowledge of what is really happening.

I guess I just think the the cultural values of Java are opposed to the (for better or worse) cultural values of C/Objective-C. Java is about idealized virtual machines and protecting or insulating programmers from the implementation details of what their code does. C is about access to the hardware using programming concepts and techniques supported directly by hardware. In most environments, it is very easy to visualize the hand full of machine instructions that will be generated for any particular C statement. C is a super-macro assembler with a few cross platform features.

Is there any future for Cocoa outside the Java world ? Is the fact that Cocoa is built on C a fatal flaw ? I don't think it is possible to build something like Cocoa in Java, and yet the very techniques that make Cocoa possible (IMHO) may make it unacceptable to a new generation of programmers who don't know what pointers are.

Is the programming culture really changing so much, or is it just the expectations of Cocoa newbies that is changing, or are my impressions off base ?
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

References: 
 >Cocoa approachable by non-programmers ? (From: publiclook <email@hidden>)

  • Prev by Date: OpenGL Troubles
  • Next by Date: Capturing key events
  • Previous by thread: Re: Cocoa approachable by non-programmers ?
  • Next by thread: Re: Cocoa approachable by non-programmers ?
  • Index(es):
    • Date
    • Thread