簡體   English   中英

Objective-C:高級語言?

[英]Objective-C: High-level language?

到目前為止,我已經設法避免使用C和C ++(除了一些HelloWorlds),而是使用更高級別的語言。 我曾經工作過VB6,然后是Java,然后是C#,然后是ActionScript,現在是Ruby。

我最近對IPod Touch / IPhone的編程感到好奇。 雖然我已經看到了避免使用ObjectiveC的一些可能性(比如Mono for IPhone ),但我對Objective C感到好奇。主要是:它是否需要開發人員處理垃圾收集和管理指針等等?

編輯:我完全接受我的高級和低級語言概念不正確或誤導的可能性。

垃圾收集:是的,但不如C或C ++差。 一旦你理解了Objective-C垃圾收集,它就很容易了。 學習或掌握也不需要那么長時間。

就指針而言 - 你將使用指針遠遠少於在C或C ++中使用指針。 是的,關於指針的一些知識是有用的(知道聲明NSString *NSString之間的區別),但這也不是那么復雜。

就個人而言,我會避免出現在iPhone開發中出現的所有“更高級”語言。 它們實際上只消除了學習Objective-C的需要,但仍然迫使您使用本機框架(Cocoa Touch)。 它們增加了懶惰的復雜性。 Objective-C可以在一周內學習,調試框架的細微差別需要更長的時間。 但話說回來,這只是我的觀點。

編輯:

如果沒有正確完成,C#內存管理也會很痛苦。 是的,有很多垃圾收集器適用於很多情況。 但是,還有一些對象需要處理,而不正確處理它們會導致內存泄漏。 如果您不能100%確定Disposing序列的順序,那么創建自己的IDisposable對象也會很棘手。 我見過很多開發人員錯誤的項目。 基本上我所說的是Objective-C內存管理並不比C#/ .NET中的Dispose鏈更復雜或技術上更困難

Objective-C有垃圾收集,但iPhone沒有,即如果你為iPhone編寫軟件,你必須自己處理內存,但這不是一般的Objective-C問題。

“主要是:它是否需要開發人員處理垃圾收集和管理指針等等?” - 在iPhone上,是的。

它不像C#和Java,IMO那樣“高級”,但它仍然被認為是一種高級語言,就像C ++一樣,是的,C語言。

Objective C確實有垃圾收集,但iPhone Object C卻沒有。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM