• 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: Where to include header files - relates to last question on variable scope
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Where to include header files - relates to last question on variable scope


  • Subject: Re: Where to include header files - relates to last question on variable scope
  • From: Don Arbow <email@hidden>
  • Date: Tue, 2 Nov 2004 08:33:04 -0800


On Oct 31, 2004, at 2:25 PM, Ole Voß wrote:
Yes, that does sound feasible but I would still have to re-include this header file in every class that I use it in?

I'm just spoilt because I've been programming Perl for over five years now and that language just does everything for you ;-)


Just to reiterate on this thread's point. If you've been programming Perl for that long, you must know that you need to 'require' or 'use' a CPAN module in a script before you can use any functions of that module. This is roughly equivalent to what you must do in C, C++, ObjC, (or Java for that matter). The big difference being that Perl doesn't have a separate header file, the module must be compiled into the script in order to know the names of the functions (yes, Perl can autoload routines whose names are unknown at compile time, but this slows down execution).

Sure, you can use something like a precompiled header file or just one uber header that declares everything. But, precompiled files are better suited for things like system headers (such as Foundation and AppKit) since they change much less frequently than your project's source files. As your project gets bigger, your compilation times will increase because just changing a semicolon in that one header causes every file in your project to have to be compiled, like starting from scratch each time. If your project only has a dozen or so files, it doesn't seem to be that big of a deal. But in mega projects, having to wait an hour to recompile after making a minor change is something that becomes tedious very quickly.

The concept of separate header files is something that you should embrace. It's not such a burden to have to include (import) the headers only where they will be used. Having separate header files is a good thing and cuts down on your compile, link, test times. I think it also helps to crystalize the project's design and guide you to thinking in a more object oriented modular way.

I'm not picking on you, but many times I see newbies come into an arena and declare "This is stupid", as if the people who came before them designed the system to purposefully confuse newbies. Remember, there are lots of smart people who have come before you and they have come up with these concepts in order to make their workflow much more productive.

Don

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Prev by Date: observing a controller for changes
  • Next by Date: Re: NSImage release crash
  • Previous by thread: Re: Where to include header files - relates to last question on variable scope
  • Next by thread: Re: Thread Cancelation
  • Index(es):
    • Date
    • Thread