{"id":8,"date":"2012-06-07T17:47:00","date_gmt":"2012-06-07T17:47:00","guid":{"rendered":"http:\/\/blog.blackgecko.com\/?p=8"},"modified":"2012-06-07T17:47:00","modified_gmt":"2012-06-07T17:47:00","slug":"writing-your-own-programming-language","status":"publish","type":"post","link":"http:\/\/blog.blackgecko.com\/?p=8","title":{"rendered":"Writing your own Programming Language"},"content":{"rendered":"<p>Every now and then I get the urge to write my own programming language. One of the problems I have run into time and time again is &#8220;How do you write an <strong>Object Oriented Language<\/strong>?&#8221; I&#8217;ve found lots of books on writing C like programming languages but very few actually talk about implementing the object oriented part of the language. When I talk to people that should know this kind of thing often the response is &#8220;Well that&#8217;s easy. You just create these structures and <em>magic magic magic<\/em>\u00a0and you&#8217;re all set.&#8221; It&#8217;s the <em>magic, magic, magic <\/em>part that I want to understand.<\/p>\n<p>More recently, and I don&#8217;t mean last week or last month, I got back onto this kick of writing my own language again but something different happened this time. I came across a book called <em>Object Oriented Programming in ANSI C<\/em>\u00a0written by\u00a0Axel-Tobias Schreiner back in 1994. While the book is long out of print it seems that a <a title=\"PDF\" href=\"http:\/\/www.planetpdf.com\/codecuts\/pdfs\/ooc.pdf\">PDF<\/a> of the book is available.<\/p>\n<p>The book is an interesting especially if you want to\u00a0understand\u00a0the interworking of object oriented programming languages. It&#8217;s especially interesting when you notice that the way in which the book describes implementing object oriented programming is remarkably simular to the way in which Objective-C is implemented.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Every now and then I get the urge to write my own programming language. One of the problems I have run into time and time again is &#8220;How do you write an Object Oriented Language?&#8221; I&#8217;ve found lots of books &hellip; <a href=\"http:\/\/blog.blackgecko.com\/?p=8\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,8],"tags":[],"class_list":["post-8","post","type-post","status-publish","format-standard","hentry","category-objective-c","category-programming"],"_links":{"self":[{"href":"http:\/\/blog.blackgecko.com\/index.php?rest_route=\/wp\/v2\/posts\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.blackgecko.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.blackgecko.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.blackgecko.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.blackgecko.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8"}],"version-history":[{"count":2,"href":"http:\/\/blog.blackgecko.com\/index.php?rest_route=\/wp\/v2\/posts\/8\/revisions"}],"predecessor-version":[{"id":10,"href":"http:\/\/blog.blackgecko.com\/index.php?rest_route=\/wp\/v2\/posts\/8\/revisions\/10"}],"wp:attachment":[{"href":"http:\/\/blog.blackgecko.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.blackgecko.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.blackgecko.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}