<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Impressions from the iPhone Tech Talk in Berlin (kind of)</title>
	<atom:link href="http://blog.blinker.net/2008/11/11/impressions-from-the-iphone-tech-talk-in-berlin-kind-of/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.blinker.net/2008/11/11/impressions-from-the-iphone-tech-talk-in-berlin-kind-of/</link>
	<description>Computer Science, Mathematics, Games</description>
	<lastBuildDate>Mon, 14 Jun 2010 17:39:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: nikolaus heger</title>
		<link>http://blog.blinker.net/2008/11/11/impressions-from-the-iphone-tech-talk-in-berlin-kind-of/comment-page-1/#comment-172</link>
		<dc:creator>nikolaus heger</dc:creator>
		<pubDate>Mon, 01 Dec 2008 06:21:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.blinker.net/?p=15#comment-172</guid>
		<description>I am just now learning Objective-C - some of your criticism is unwarranted, some is half valid, and some is yes, 100% spot on.

Header files: The Objective C docs say that header files are &quot;the interface&quot;, the definition if you will. There are some arguments towards keeping that separate from the implementation. I am not 100% convinced by this, but code duplication is kept at a minimum. Variables are only defined in the header, for example. I still find it confusing to have two separate files for every object. So in the end the main reason for header files is probably that C had header files. A stupid reason if there ever was one.

Memory management: Yes. If you are used to garbage collection this feels like coming back to the stone age of computing. Am I programming a posix system from 1973 or the iPhone? There is no excuse. 

Pointers - that falls in the same category - it&#039;s stupid.I get the feeling that in Objective-C, you kinda sorta pretend the pointers don&#039;t exist. You pretend you are working with objects. But they are still there and no amount of denial makes them prettier. Along with alloc/retain/release it&#039;s a bit of a nightmare.

Some you didn&#039;t mention: Overhead. There is a lot of &quot;stuff&quot; all over an Objective-C class - compiler directives, header file fluff, and other things - to write a simple class you end up with two files with lots of things in them. That&#039;s all distracting from what you want to do: Define some objects and use them.

I must disappoint you regarding alternative languages - it&#039;s impossible to do unless Apple decides to wrap all libraries in some other language. There are many powerful frameworks in OS X and they are all in Obj-C. So if you used Ruby to program your stuff, you still have to know Obj-C in order to interact with the libraries. In the end most things you do have to do with libraries - you are very high up on the abstraction layer - a good thing - but the mountain of code you stand on is all through and through Obj-C, and some parts are even in C. The way I see it, Apple either implements an entire parallel universe of wrapped libraries, along with wrapped documentation - or Objective C. 

Losing the header files, pointers, and manual memory management could even make it into a modern language....

PS: JavaScript is a problem in and of itself, it should never be the &quot;solution&quot; to anything ;)</description>
		<content:encoded><![CDATA[<p>I am just now learning Objective-C &#8211; some of your criticism is unwarranted, some is half valid, and some is yes, 100% spot on.</p>
<p>Header files: The Objective C docs say that header files are &#8220;the interface&#8221;, the definition if you will. There are some arguments towards keeping that separate from the implementation. I am not 100% convinced by this, but code duplication is kept at a minimum. Variables are only defined in the header, for example. I still find it confusing to have two separate files for every object. So in the end the main reason for header files is probably that C had header files. A stupid reason if there ever was one.</p>
<p>Memory management: Yes. If you are used to garbage collection this feels like coming back to the stone age of computing. Am I programming a posix system from 1973 or the iPhone? There is no excuse. </p>
<p>Pointers &#8211; that falls in the same category &#8211; it&#8217;s stupid.I get the feeling that in Objective-C, you kinda sorta pretend the pointers don&#8217;t exist. You pretend you are working with objects. But they are still there and no amount of denial makes them prettier. Along with alloc/retain/release it&#8217;s a bit of a nightmare.</p>
<p>Some you didn&#8217;t mention: Overhead. There is a lot of &#8220;stuff&#8221; all over an Objective-C class &#8211; compiler directives, header file fluff, and other things &#8211; to write a simple class you end up with two files with lots of things in them. That&#8217;s all distracting from what you want to do: Define some objects and use them.</p>
<p>I must disappoint you regarding alternative languages &#8211; it&#8217;s impossible to do unless Apple decides to wrap all libraries in some other language. There are many powerful frameworks in OS X and they are all in Obj-C. So if you used Ruby to program your stuff, you still have to know Obj-C in order to interact with the libraries. In the end most things you do have to do with libraries &#8211; you are very high up on the abstraction layer &#8211; a good thing &#8211; but the mountain of code you stand on is all through and through Obj-C, and some parts are even in C. The way I see it, Apple either implements an entire parallel universe of wrapped libraries, along with wrapped documentation &#8211; or Objective C. </p>
<p>Losing the header files, pointers, and manual memory management could even make it into a modern language&#8230;.</p>
<p>PS: JavaScript is a problem in and of itself, it should never be the &#8220;solution&#8221; to anything <img src='http://blog.blinker.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
