{"id":10451,"date":"2006-09-05T15:16:37","date_gmt":"2006-09-05T12:16:37","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/"},"modified":"2006-09-05T15:16:37","modified_gmt":"2006-09-05T12:16:37","slug":"your-own-compiler-should-you-or-should-you-not","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/","title":{"rendered":"Your own compiler &#8211; should you or should you not?"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>Joel Spolsky <a href=\"http:\/\/www.joelonsoftware.com\/items\/2006\/09\/01b.html\">shares<\/a> why they have their own compiler and how long it took them to write it.<\/p>\n<blockquote><p>Most people don&#8217;t realize that writing a compiler like this is only about 2 months work for one talented person who read the Dragon book.<\/p><\/blockquote>\n<p>While compilers seem like a thing of the past for many in the industry, I find it not to be so.  Recently, I was participating in one project that had to do a lot with web, and web data aggregating.  Somehow, we almost ended up writing our own compiler.  The problem was tough and there seemed no other way to solve it.  Unfortunately, the project took a different path and died later.<\/p>\n<p>Also, looking around with a bit wider open eyes, I&#8217;ve realized that there are quite a few people working on compilers now.  One of the big companies is, of course, Google.  They&#8217;ve recently released their tool which takes Java code and compiles it into AJAX-ified HTML, CSS, and JavaScript.  And although I haven&#8217;t tried using it yet, it sounds like a really really really neat solution.  Developing in AJAX is a pain.  Coverting all the pain into machine&#8217;s work seems like a sensible idea.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Joel Spolsky shares why they have their own compiler and how long it took them to write it. Most people don&#8217;t realize that writing a compiler like this is only about 2 months work for one talented person who read the Dragon book. While compilers seem like a thing of the past for many in &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Your own compiler &#8211; should you or should you not?<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,18,62],"tags":[],"keyring_services":[],"class_list":["post-10451","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Joel Spolsky shares why they have their own compiler and how long it took them to write it. Most people don&#039;t realize that writing a compiler like this is only about 2 months work for one talented person who read the Dragon book. While compilers seem like a thing of the past for many in\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Your own compiler \u2013 should you or should you not? - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"Joel Spolsky shares why they have their own compiler and how long it took them to write it. Most people don&#039;t realize that writing a compiler like this is only about 2 months work for one talented person who read the Dragon book. While compilers seem like a thing of the past for many in\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2006-09-05T12:16:37+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2006-09-05T12:16:37+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Your own compiler \u2013 should you or should you not? - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Joel Spolsky shares why they have their own compiler and how long it took them to write it. Most people don&#039;t realize that writing a compiler like this is only about 2 months work for one talented person who read the Dragon book. While compilers seem like a thing of the past for many in\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/09\\\/05\\\/your-own-compiler-should-you-or-should-you-not\\\/#blogposting\",\"name\":\"Your own compiler \\u2013 should you or should you not? - Leonid Mamchenkov\",\"headline\":\"Your own compiler &#8211; should you or should you not?\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/09\\\/05\\\/your-own-compiler-should-you-or-should-you-not\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"},\"datePublished\":\"2006-09-05T15:16:37+02:00\",\"dateModified\":\"2006-09-05T15:16:37+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":5,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/09\\\/05\\\/your-own-compiler-should-you-or-should-you-not\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/09\\\/05\\\/your-own-compiler-should-you-or-should-you-not\\\/#webpage\"},\"articleSection\":\"All, Programming, Technology\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/09\\\/05\\\/your-own-compiler-should-you-or-should-you-not\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"position\":3,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/09\\\/05\\\/your-own-compiler-should-you-or-should-you-not\\\/#listItem\",\"name\":\"Your own compiler &#8211; should you or should you not?\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/09\\\/05\\\/your-own-compiler-should-you-or-should-you-not\\\/#listItem\",\"position\":4,\"name\":\"Your own compiler &#8211; should you or should you not?\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/09\\\/05\\\/your-own-compiler-should-you-or-should-you-not\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/09\\\/05\\\/your-own-compiler-should-you-or-should-you-not\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/09\\\/05\\\/your-own-compiler-should-you-or-should-you-not\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/09\\\/05\\\/your-own-compiler-should-you-or-should-you-not\\\/\",\"name\":\"Your own compiler \\u2013 should you or should you not? - Leonid Mamchenkov\",\"description\":\"Joel Spolsky shares why they have their own compiler and how long it took them to write it. Most people don't realize that writing a compiler like this is only about 2 months work for one talented person who read the Dragon book. While compilers seem like a thing of the past for many in\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/09\\\/05\\\/your-own-compiler-should-you-or-should-you-not\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2006-09-05T15:16:37+02:00\",\"dateModified\":\"2006-09-05T15:16:37+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Your own compiler \u2013 should you or should you not? - Leonid Mamchenkov","description":"Joel Spolsky shares why they have their own compiler and how long it took them to write it. Most people don't realize that writing a compiler like this is only about 2 months work for one talented person who read the Dragon book. While compilers seem like a thing of the past for many in","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/#blogposting","name":"Your own compiler \u2013 should you or should you not? - Leonid Mamchenkov","headline":"Your own compiler &#8211; should you or should you not?","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"},"datePublished":"2006-09-05T15:16:37+02:00","dateModified":"2006-09-05T15:16:37+02:00","inLanguage":"en-US","commentCount":5,"mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/#webpage"},"articleSection":"All, Programming, Technology"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","position":3,"name":"Programming","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/#listItem","name":"Your own compiler &#8211; should you or should you not?"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/#listItem","position":4,"name":"Your own compiler &#8211; should you or should you not?","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/","name":"Your own compiler \u2013 should you or should you not? - Leonid Mamchenkov","description":"Joel Spolsky shares why they have their own compiler and how long it took them to write it. Most people don't realize that writing a compiler like this is only about 2 months work for one talented person who read the Dragon book. While compilers seem like a thing of the past for many in","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2006-09-05T15:16:37+02:00","dateModified":"2006-09-05T15:16:37+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"Your own compiler \u2013 should you or should you not? - Leonid Mamchenkov","og:description":"Joel Spolsky shares why they have their own compiler and how long it took them to write it. Most people don't realize that writing a compiler like this is only about 2 months work for one talented person who read the Dragon book. While compilers seem like a thing of the past for many in","og:url":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2006-09-05T12:16:37+00:00","article:modified_time":"2006-09-05T12:16:37+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"Your own compiler \u2013 should you or should you not? - Leonid Mamchenkov","twitter:description":"Joel Spolsky shares why they have their own compiler and how long it took them to write it. Most people don't realize that writing a compiler like this is only about 2 months work for one talented person who read the Dragon book. While compilers seem like a thing of the past for many in","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"10451","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-19 20:04:37","updated":"2026-01-15 02:48:46","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tYour own compiler \u2013 should you or should you not?\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Programming","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/"},{"label":"Your own compiler &#8211; should you or should you not?","link":"https:\/\/mamchenkov.net\/wordpress\/2006\/09\/05\/your-own-compiler-should-you-or-should-you-not\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":7800,"url":"https:\/\/mamchenkov.net\/wordpress\/2004\/08\/13\/catalog-of-free-compilers-and-interpreters\/","url_meta":{"origin":10451,"position":0},"title":"Catalog of Free Compilers and Interpreters","author":"Leonid Mamchenkov","date":"August 13, 2004","format":false,"excerpt":"Catalog of Free Compilers and Interpreters is an unbelievably large list of tools that can help human beings to make computers do things. All tools are also split into categories such as logic programming languages, document formatting languages, databases, and much more. Make sure you check this list before you\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9314,"url":"https:\/\/mamchenkov.net\/wordpress\/2005\/08\/07\/development-fun\/","url_meta":{"origin":10451,"position":1},"title":"Development fun","author":"Leonid Mamchenkov","date":"August 7, 2005","format":false,"excerpt":"I almost forgot how much fun it can be to have different versions of compiler\/interpreter between production and development servers. Even more fun is forgetting which of the two machines is running an older version.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":11163,"url":"https:\/\/mamchenkov.net\/wordpress\/2008\/04\/21\/thou-shalt-not-ignore-warnings\/","url_meta":{"origin":10451,"position":2},"title":"Thou shalt not ignore warnings","author":"Leonid Mamchenkov","date":"April 21, 2008","format":false,"excerpt":"Here is a quote from a wise comment in the discussion of the \"Linux system programming\" book review: Build your code with -Wall -Werror (or your compiler's equivalent). Once you clean up all the crud, that pops up, crank it up with -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith. Once there \u2014\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10134,"url":"https:\/\/mamchenkov.net\/wordpress\/2006\/05\/22\/daily-del-icio-us-bookmarks\/","url_meta":{"origin":10451,"position":3},"title":"Daily del.icio.us bookmarks","author":"Leonid Mamchenkov","date":"May 22, 2006","format":false,"excerpt":"Shared bookmarks for del.icio.us user tvset on 2006-05-21 Google Groups: perl.perl6.compiler Tagged as: compiler perl PrlMnks.org -- Excellent addition to PerlMonks website (RSS feeds for nodes, etc). Tagged as: feed perl perlmonks rss syndication","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":7772,"url":"https:\/\/mamchenkov.net\/wordpress\/2004\/08\/06\/groovy-a-java-like-scripting-language\/","url_meta":{"origin":10451,"position":4},"title":"Groovy, a Java-like Scripting Language","author":"Leonid Mamchenkov","date":"August 6, 2004","format":false,"excerpt":"By means of Linux Weekly News, I came across Groovy. Groovy is a Java-like scripting language. It is JRE compliant, has Java syntax, supports existing Java objects and libraries, has dynamically-types variables, and some more. It has templating system, simplified interface to JavaBeans, works with SQL, and can be used\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10064,"url":"https:\/\/mamchenkov.net\/wordpress\/2006\/04\/21\/daily-del-icio-us-bookmarks\/","url_meta":{"origin":10451,"position":5},"title":"Daily del.icio.us bookmarks","author":"Leonid Mamchenkov","date":"April 21, 2006","format":false,"excerpt":"Shared bookmarks for del.icio.us user tvset on 2006-04-20 The LEX & YACC Page Tagged as: bison code compiler development flex gnu language lex links parser programming scripting software syntax technology tools translation unix work yacc","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/10451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=10451"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/10451\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=10451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=10451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=10451"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=10451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}