{"id":209464,"date":"2014-01-22T20:05:02","date_gmt":"2014-01-22T16:05:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=209464"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=209464","title":{"rendered":"<span class=\"post_title\">Objective-D \u2014 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 \u0438\u043b\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a Objective-C<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \tObjective-C, \u043f\u043e-\u043c\u043e\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u0435, \u2014 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u0441\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c. \u041d\u043e \u043c\u044b \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d\u044b \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0434 iOS \u043d\u0430 \u044d\u0442\u043e\u043c \u044f\u0437\u044b\u043a\u0435. \u042f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0434\u0440\u0443\u0433\u043e\u0439 \u044f\u0437\u044b\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043e\u0434 Objective-C. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u044d\u0442\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043b\u0435\u0433\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u044b Objective-C \u0438 C \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0412\u044b \u0442\u0430\u043a\u0436\u0435 \u043b\u0435\u0433\u043a\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0432 \u043a\u043e\u0434\u0435 Objective-C. \u0422\u0430\u043a \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u0435\u0441\u0442\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441\u0440\u0430\u0437\u0443 \u043d\u0430 \u0434\u0432\u0443\u0445 \u044f\u0437\u044b\u043a\u0430\u0445. \u042f \u043d\u0430\u0437\u0432\u0430\u043b \u044d\u0442\u043e\u0442 \u044f\u0437\u044b\u043a Objective-D.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0414\u043e\u043b\u0436\u0435\u043d \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442. \u042f \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b \u044d\u0442\u043e\u0442 \u044f\u0437\u044b\u043a \u043f\u043e\u0434 \u0441\u0432\u043e\u0438 \u043d\u0443\u0436\u0434\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u043d\u0435\u043c \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043c\u043d\u043e\u0433\u043e \u0431\u0430\u0433\u043e\u0432 \u0438 \u043d\u0435\u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043e\u043a. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u044f\u0437\u044b\u043a\u0430 \u044f \u0432\u0435\u043b \u043d\u0430 <a href=\"http:\/\/www.haskell.org\">Haskell<\/a> \u0438 \u044d\u0442\u043e \u0431\u044b\u043b \u043c\u043e\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 \u043e\u043f\u044b\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u044d\u0442\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448 \u0438 \u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<h4>\u0424\u0438\u0447\u0438<\/h4>\n<h5>\u0421\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441<\/h5>\n<p>\u0417\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u044f \u0432\u0437\u044f\u043b \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 <a href=\"http:\/\/www.scala-lang.org\/\">Scala<\/a>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e Scala \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u043e\u043c \u0438 \u043c\u043d\u0435 \u044d\u0442\u043e \u043d\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0446\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439:  <\/p>\n<pre><code class=\"scala\">class Foo(bar : int) {     val baz = 1 \/\/constant     var qux = 0 \/\/mutable variable     def twiceBar = bar * 2 \/\/function } <\/code><\/pre>\n<p>  <\/p>\n<h5>\u0424\u0443\u043d\u043a\u0446\u0438\u0438<\/h5>\n<p>\u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432 Objective-C. \u042d\u0442\u043e \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442 \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u044c \u043a\u043e\u0434\u0430.  <\/p>\n<pre><code class=\"scala\">def foo(p1 : int, p2 : int) : int = p1 * p2 def bar = foo(p1 = 1, 2) <\/code><\/pre>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e, \u0438\u043d\u043e\u0433\u0434\u0430 \u0438\u043c\u0435\u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438\u0437\u043b\u0438\u0448\u043d\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 Objective-D \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c.  <\/p>\n<pre><code class=\"scala\">def foo(bar : int) = bar * 326 val bar = 1 foo(bar = bar) foo(bar) <\/code><\/pre>\n<p>  <\/p>\n<h5>\u041a\u043b\u0430\u0441\u0441\u044b-\u0437\u0430\u0433\u043b\u0443\u0448\u043a\u0438<\/h5>\n<p>\u042d\u0442\u0438 \u043a\u043b\u0430\u0441\u0441\u044b \u043d\u0443\u0436\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Objective-C \u043a\u043b\u0430\u0441\u0441\u044b \u0438\u043b\u0438 C \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0432 Objective-D. \u041e\u043d\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442 \u043c\u0435\u0442\u043e\u0434\u044b \u0438 \u043f\u043e\u043b\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u0438\u043b\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440.  <\/p>\n<pre><code class=\"scala\">stub class XMLElement {     def name : string     def text : string     def parent : XMLElement?     def children : [XMLElement] } <\/code><\/pre>\n<p>  <\/p>\n<h5>\u041e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h5>\n<p>\u0423\u0436\u0430\u0441\u043d\u043e, \u0447\u0442\u043e Objective-C \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0434\u0436\u0435\u043d\u0435\u0440\u0438\u043a\u0438 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 <a href=\"http:\/\/ru.wikipedia.org\/wiki\/\u0423\u0442\u0438\u043d\u0430\u044f_\u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u044f\">\u0443\u0442\u0438\u043d\u0443\u044e \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u044e<\/a>. \u0412 Objective-D \u044f \u0432\u043d\u0435\u0434\u0440\u0438\u043b \u0434\u0436\u0435\u043d\u0435\u0440\u0438\u043a\u0438 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e <a href=\"http:\/\/ru.wikipedia.org\/wiki\/\u0421\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f_\u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u044f\">\u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u044e<\/a>.  <\/p>\n<pre><code class=\"scala\">class Foo {     var array = MutableArray&lt;Bar&gt;() } <\/code><\/pre>\n<p>  <\/p>\n<h5>\u0412\u044b\u0432\u043e\u0434 \u0442\u0438\u043f\u043e\u0432<\/h5>\n<p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u0438\u043f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0438\u043b\u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.  <\/p>\n<pre><code class=\"scala\">var i = 0 var i : int = 0 \/\/\u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 <\/code><\/pre>\n<p>  <\/p>\n<h5>\u0422\u0438\u043f\u0430\u0436\u0438 (Traits)<\/h5>\n<p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441 \u043e\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0442\u0438\u043f\u0430\u0436\u0435\u0439, \u043d\u043e <a href=\"http:\/\/ru.wikipedia.org\/wiki\/\u0422\u0438\u043f\u0430\u0436_(\u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u0439_\u0442\u0438\u043f)\">\u0442\u0438\u043f\u0430\u0436<\/a> \u2014 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u041e\u043d \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043f\u043e\u043b\u044f \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0422\u0438\u043f\u0430\u0436 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044b.  <\/p>\n<pre><code class=\"scala\">trait Foo {     def foo = 1 } trait Bar {     var bar = 0 } class Baz extends Foo with Bar <\/code><\/pre>\n<p>  <\/p>\n<h5>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/h5>\n<p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0431\u0443\u0434\u0443\u0442 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 C \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 C \u0444\u0443\u043d\u043a\u0446\u0438\u0438.  <\/p>\n<pre><code class=\"scala\">struct Vec2(x : float, y : float) {     def dot(vec2 : Vec2) : float = x*vec2.x + y*vec2.y } <\/code><\/pre>\n<p>  <\/p>\n<h5>\u041f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0430 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432<\/h5>\n<p>\u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 (add, sub, div, mul). \u041d\u043e \u044f \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:  <\/p>\n<pre><code class=\"scala\">struct Vec2(x : float, y : float) {     def +(vec2 : Vec2) : float = Vec2(x + vec2.x, y + vec2.y) } <\/code><\/pre>\n<p>  <\/p>\n<h5>\u0411\u043b\u043e\u043a\u0438<\/h5>\n<p>\u041f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0431\u043b\u043e\u043a\u043e\u0432 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445:  <\/p>\n<pre><code class=\"scala\">def filter(predicate : T -&gt; bool) : [T] val array = [4, 3, 5, 1] array.filter{item : int -&gt; item &gt; 3} \/\/ [4, 5] array.filter{item -&gt; item &gt; 3 } \/\/ [4, 5] array.filter(_ &gt; 3) \/\/ [4, 5] <\/code><\/pre>\n<p>  \u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 item \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d \u043f\u043e \u0434\u0436\u0435\u043d\u0435\u0440\u0438\u043a\u0430\u043c, \u0442\u0430\u043a \u0447\u0442\u043e \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c.<\/p>\n<h5>\u0421\u0442\u0440\u043e\u043a\u0438<\/h5>\n<p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440:  <\/p>\n<pre><code>val a = 1 val b = 2 val s = &quot;a = $a          b = $b&quot; <\/code><\/pre>\n<p>  <\/p>\n<h5>\u041a\u043e\u0440\u0442\u0435\u0436\u0438<\/h5>\n<p>\u041a\u043e\u0440\u0442\u0435\u0436\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0446\u0438\u0438 \u043a\u043b\u0430\u0441\u0441\u0430. \u0418\u043d\u043e\u0433\u0434\u0430 \u0438\u0445 \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043a\u0430\u043a \u0432\u043e\u0437\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.  <\/p>\n<pre><code class=\"scala\">val tuple = (1, &quot;foo&quot;, &quot;bar&quot;) tuple.a == 1 tuple.b == &quot;foo&quot; <\/code><\/pre>\n<p>  <\/p>\n<h5>\u041b\u0435\u043d\u0438\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/h5>\n<p>\u042d\u0442\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f.  <\/p>\n<pre><code class=\"scala\">class Foo(bar : int) {     lazy val barSquare = bar * bar } <\/code><\/pre>\n<p>  <\/p>\n<h5>\u0421\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 \u043e\u0431\u0440\u0430\u0437\u043e\u043c<\/h5>\n<p>\u0421\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u2014 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0442\u0435\u043c\u0430 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u044b\u0439 \u0438 \u0447\u0438\u0441\u0442\u044b\u0439 \u043a\u043e\u0434.  <\/p>\n<pre><code class=\"scala\">def foo(bar : (int, int)) : int = case(bar) {     (a, 1) -&gt; a     (0, _) -&gt; 1     _ -&gt; 0 } <\/code><\/pre>\n<p>  <\/p>\n<h5>\u041f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f<\/h5>\n<p>\u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432 Java, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0445\u043e\u0436\u0435\u0435 Objective-D.  <\/p>\n<pre><code class=\"java\">enum Foo(bar : int) {     baz(1)     qux(2) } <\/code><\/pre>\n<p>  <\/p>\n<h5>\u041f\u0430\u043a\u0435\u0442\u044b<\/h5>\n<p>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u2014 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 Objective-C, \u0438 \u043c\u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u044b \u043a\u043b\u0430\u0441\u0441\u043e\u0432.   <\/p>\n<pre><code class=\"scala\">package com.foo import com.baz.ParticularClass import com.bar._ <\/code><\/pre>\n<p>  \u041d\u043e \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0432 Objective-C, \u0442\u0430\u043a \u0447\u0442\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u043f\u0430\u043a\u0435\u0442\u0430 \u0432 Objective-D \u0432 \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0435. \u042d\u0442\u043e\u0442 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043a \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u043a\u043b\u0430\u0441\u0441\u0430\u043c \u0438 \u0444\u0430\u0439\u043b\u0430\u043c. \u0412 \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043e\u0431\u0449\u0438\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043f\u0430\u043a\u0435\u0442\u0430.  <\/p>\n<pre><code class=\"scala\">package com object foo {     import com.bar._     val prefix = &quot;FOO&quot; } <\/code><\/pre>\n<p>  <\/p>\n<h4>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/h4>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u044f \u043d\u0430\u0447\u0438\u043d\u0430\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c Raildale \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b <a href=\"http:\/\/cocos2d-iphone.org\/\">Cocos2D<\/a> \u0438 Objective-C. \u041f\u043e\u0437\u0436\u0435 \u044f \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043e\u0442 Cocos2D \u0438 \u043f\u0435\u0440\u0435\u0448\u0435\u043b \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430 OpenGL, \u0442\u0430\u043a \u043a\u0430\u043a \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443. \u0415\u0441\u043b\u0438 \u0431\u044b \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b OpenGL \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430, \u044f \u043c\u043e\u0433 \u0431\u044b \u0432\u044b\u0431\u0440\u0430\u0442\u044c C++ \u0432\u043c\u0435\u0441\u0442\u043e Objective-C.<\/p>\n<p>  \u0427\u0435\u0440\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044f \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e Objective-C \u043d\u0430\u0447\u0430\u043b \u043c\u0435\u043d\u044f \u0440\u0430\u0437\u0434\u0440\u0430\u0436\u0430\u0442\u044c. \u041f\u0435\u0440\u0432\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439 \u0441\u0442\u0430\u043b\u043e, \u0447\u0442\u043e \u0442\u0430\u043c \u043d\u0435\u0442 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439. \u042f \u0438\u043c\u0435\u044e \u0432\u0432\u0438\u0434\u0443 \u043f\u0435\u0440\u0435\u0447\u0435\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u043a\u0430\u043a \u0432 Java \u0438\u043b\u0438 \u0447\u0435\u0433\u043e-\u043d\u0438\u0431\u0443\u0434\u044c, \u0447\u0442\u043e \u043c\u043e\u0433\u043b\u043e \u0431\u044b \u044d\u0442\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c. \u042f \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043a\u0430\u043a \u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443, \u043d\u043e \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u042f \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u043a\u0440\u043e\u0441\u044b, \u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0443 \u043c\u0435\u043d\u044f \u0442\u0430\u043a \u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c.<\/p>\n<p>  \u0418 \u044f \u0440\u0435\u0448\u0438\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439, \u0447\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u043e\u0439 \u0432 \u044f\u0437\u044b\u043a\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438. \u042d\u0442\u043e \u0431\u044b\u043b\u0430 \u043f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c Objective-D:  <\/p>\n<pre><code class=\"java\">enum RailConnector(x : int, y : int, angle : int) {     left(-1, 0, 0)     bottom(0, -1, 90)     top(0, 1, 270)     right(1, 0, 180) } <\/code><\/pre>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u044f \u0432\u044b\u0431\u0438\u0440\u0430\u043b \u0438\u0437 \u0442\u0440\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439: <a href=\"http:\/\/www.jetbrains.com\/mps\/\">JetBrains MPS<\/a>, <a href=\"http:\/\/www.scala-lang.org\/\">Scala<\/a> \u0438 <a href=\"http:\/\/www.haskell.org\/\">Haskell<\/a>. \u042f \u0432\u044b\u0431\u0440\u0430\u043b Haskell, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0442\u0430\u043c \u0435\u0441\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430(<a href=\"http:\/\/book.realworldhaskell.org\/read\/using-parsec.html\">Parsec<\/a>), \u0438 \u044f \u043d\u0435 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b Haskell \u0434\u043e \u044d\u0442\u043e\u0433\u043e. \u0414\u043e\u043b\u0436\u0435\u043d \u0441\u043a\u0430\u0437\u0430\u0442\u044c Haskell \u2014 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u044b\u0439 \u044f\u0437\u044b\u043a.<\/p>\n<p>  \u042f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e. \u0418 \u0442\u0443\u0442 \u044f \u043f\u043e\u0434\u0443\u043c\u0430\u043b, \u0447\u0442\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0437\u0434\u043e\u0440\u043e\u0432\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u043c \u043b\u0430\u043a\u043e\u043d\u0438\u0447\u043d\u043e\u043c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0435, \u0438 \u044d\u0442\u043e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c. \u0418 \u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f. \u041f\u043e\u0442\u043e\u043c \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0444\u0438\u0447\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Raildale. \u0422\u0430\u043a\u0436\u0435 \u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043f\u043b\u0430\u0433\u0438\u043d \u0434\u043b\u044f <a href=\"http:\/\/www.jetbrains.com\/objc\/\">AppCode<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0438. \u041d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 Objective-D \u043a \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u043c\u0443 \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u044f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b 230 \u0447\u0430\u0441\u043e\u0432.<\/p>\n<h4>\u041a\u0430\u043a \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c Objective-D<\/h4>\n<p>  \u042f \u0431\u044b\u043b \u0431\u044b \u0440\u0430\u0434, \u0435\u0441\u043b\u0438 \u0431\u044b \u043a\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b Objective-D, \u044f \u043f\u043e\u043c\u043e\u0433\u0443 \u0438 \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0449\u0438\u0435 \u0443 \u0432\u0430\u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u0415\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0437\u0430\u0445\u043e\u0447\u0435\u0442 \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435, \u0431\u0443\u0434\u0443 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0434.  <\/p>\n<ol>\n<li><a href=\"https:\/\/github.com\/antonzherdev\/objd\/releases\">\u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435 Objective-D<\/a> \u0438 \u0440\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0443\u0439\u0442\u0435;  <\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 XCode;  <\/li>\n<li>\u0421\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u043f\u0430\u043f\u043a\u0443 <em>ObjDLib<\/em> \u0432 \u0432\u0430\u0448 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 m-files \u0432 \u0432\u0430\u0448\u0443 \u0446\u0435\u043b\u044c;  <\/li>\n<li>\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 Build phase \u0432 \u0432\u0430\u0448\u0443 \u0446\u0435\u043b\u044c (Editor-&gt;Add Build Phase-&gt;Add Run Script Build Phase) \u0438 \u0432\u044b\u0437\u043e\u0432\u0438\u0442\u0435 <em>ObjD<\/em> \u0444\u0430\u0439\u043b \u0432 \u043f\u0430\u043f\u043a\u0443 <em>bin<\/em>:\n<pre>$OBJD_HOME$\/bin\/ObjD<\/pre>\n<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c <em>od<\/em> \u0438 \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0442\u0443\u0434\u0430 Objective-D \u043a\u043e\u0434. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<br \/> \n<pre><code class=\"scala\">package test   class Foo(bar : int) <\/code><\/pre>\n<p>  <\/li>\n<li>\u0421\u043e\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0442. h-\u0444\u0430\u0439\u043b and m-\u0444\u0430\u0439\u043b \u0431\u0443\u0434\u0443\u0442 \u0441\u0433\u0435\u043d\u0435\u043d\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u0442\u043e\u0439 \u0436\u0435 \u043f\u0430\u043f\u043a\u0435, \u0447\u0442\u043e \u0438 od-\u0444\u0430\u0439\u043b. \u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u044d\u0442\u0438 \u0444\u0430\u0439\u043b\u044b \u043a \u0432\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0443.  <\/li>\n<\/ol>\n<p>  \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 <a href=\"https:\/\/github.com\/antonzherdev\/objd-idea-plugin\/releases\"> \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u043b\u0430\u0433\u0438\u043d<\/a> \u0434\u043b\u044f <a href=\"http:\/\/www.jetbrains.com\/objc\/\">AppCode<\/a>.<\/p>\n<h4>\u041f\u043b\u0430\u043d \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f<\/h4>\n<p>  <\/p>\n<ul>\n<li>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0432 Java \u2014 \u044f \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0441\u044c \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c Raildale \u043d\u0430 Android;  <\/li>\n<li>\u0423\u0431\u0440\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043f\u043e\u043b\u044f, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u043c\u0435\u043d\u0438\u0432 \u0438\u0445 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u044b;  <\/li>\n<li>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u043a, \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0431\u043e\u043b\u0435\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439;  <\/li>\n<li>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043b\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.  <\/li>\n<\/ul>\n<p>  <\/p>\n<h4>\u0421\u0441\u044b\u043b\u043a\u0438<\/h4>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/antonzherdev\/objd\/releases\">\u0421\u043a\u0430\u0447\u0430\u0442\u044c Objective-D<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/antonzherdev\/objd-idea-plugin\/releases\">\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u043b\u0430\u0433\u0438\u043d \u0434\u043b\u044f AppCode<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/antonzherdev\/objd\">\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/antonzherdev\/objd\">\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0434\u043b\u044f AppCode<\/a><\/li>\n<\/ul>\n<p>  P.S. \u042d\u0442\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043c\u043e\u0435\u0439 \u0436\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430. \u041e\u0444\u043e\u0440\u043c\u043b\u044f\u043b, \u044d\u0442\u043e \u043d\u0435 \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u0432\u043e\u0434, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u0445 \u0441\u0430\u0439\u0442\u0430 \u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u044f \u043d\u0435 \u043c\u043e\u0433\u0443 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0441\u0430\u0439\u0442 \u0432 \u0441\u0442\u0430\u0442\u044c\u044e, \u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0432 \u0431\u043b\u043e\u0433\u0435 \u00ab\u042f \u043f\u0438\u0430\u0440\u044e\u0441\u044c\u00bb. \u0421\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u043b \u043e \u0442\u0430\u043a\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0443 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0441\u0430\u0439\u0442\u0430, \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u0442\u0430\u043a \u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b. \u0422\u0430\u043a \u0447\u0442\u043e \u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0435\u0448\u0438\u043b \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c.    \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/209464\/\"> http:\/\/habrahabr.ru\/post\/209464\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \tObjective-C, \u043f\u043e-\u043c\u043e\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u0435, \u2014 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u0441\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c. \u041d\u043e \u043c\u044b \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d\u044b \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0434 iOS \u043d\u0430 \u044d\u0442\u043e\u043c \u044f\u0437\u044b\u043a\u0435. \u042f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0434\u0440\u0443\u0433\u043e\u0439 \u044f\u0437\u044b\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043a\u043e\u0434 Objective-C. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u044d\u0442\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043b\u0435\u0433\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u044b Objective-C \u0438 C \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0412\u044b \u0442\u0430\u043a\u0436\u0435 \u043b\u0435\u0433\u043a\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u0432 \u043a\u043e\u0434\u0435 Objective-C. \u0422\u0430\u043a \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u0435\u0441\u0442\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441\u0440\u0430\u0437\u0443 \u043d\u0430 \u0434\u0432\u0443\u0445 \u044f\u0437\u044b\u043a\u0430\u0445. \u042f \u043d\u0430\u0437\u0432\u0430\u043b \u044d\u0442\u043e\u0442 \u044f\u0437\u044b\u043a Objective-D.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-209464","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/209464","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=209464"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/209464\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=209464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=209464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=209464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}