{"id":516260,"date":"2022-09-02T14:39:30","date_gmt":"2022-09-02T13:39:30","guid":{"rendered":"https:\/\/www.devoteam.com\/expert-view\/what-is-scala\/"},"modified":"2022-09-02T14:39:30","modified_gmt":"2022-09-02T13:39:30","slug":"what-is-scala","status":"publish","type":"expert-view","link":"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/","title":{"rendered":"What is Scala?"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/shutterstock_1416503960-1-scaled.jpg\" alt=\"\" class=\"wp-image-17380\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.scala-lang.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Scala<\/a> is a programming language developed by Martin Odersky, a computer scientist and professor of programming methods at \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne in Switzerland. The language was designed to incorporate both object-oriented and functional programming paradigms. It is a strong statically typed language which strives to provide strong expressivity and runs on the JVM (Java Virtual Machine). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In its design, Scala provides language interoperability with Java to enable developers to leverage the existing java ecosystem. This does not imply that Scala has no rich ecosystem. On the contrary, there exist a lot of tools, frameworks and libraries for Scala ranging from big data processing frameworks (like<a href=\"https:\/\/spark.apache.org\/\"> Apache Spark<\/a>) to full stack web development frameworks (like<a href=\"https:\/\/www.playframework.com\/\" target=\"_blank\" rel=\"noreferrer noopener\"> Play<\/a>). Since Scala\u2019s first public release in 2003 the language has been continuously improved and reached 2022 its third major release (Scala 3).&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-new-overhauled-scala-3\">The new overhauled Scala 3<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In the newest major release (Scala 3.x ) substantial new changes were made that improve and ease working with the language. Its type inference was improved and new features like Opaque Types, Intersection and union types, dependent function types, polymorphic function types, match types, enumerations and more were included just to name a few.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Additionally, there were also improvements in the object-oriented part of the language. Just to mention a few of the new features. One new feature is Open classes. One problem in object-oriented programming occurs if classes are extended that are not designed for extension. In Scala 3 classes that are explicitly written to be extended the open soft modifier should be used. It&#8217;s simple but helps to keep track of which classes can be extended and which should not. Another new feature that further supports Composition over inheritance is the<a href=\"https:\/\/docs.scala-lang.org\/scala3\/reference\/other-new-features\/export.html\" target=\"_blank\" rel=\"noreferrer noopener\"> export clause<\/a> feature. Export clauses define aliases for members of an object to ease composition.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The last update in Scala 3 ships new powerful tools for metaprogramming. Especially, the new<a href=\"https:\/\/docs.scala-lang.org\/scala3\/guides\/macros\/inline.html\" target=\"_blank\" rel=\"noreferrer noopener\"> inline<\/a> feature optimizes performance.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After jumping directly to the new features and getting a glimpse of the changes in Scala 3 let us jump back to the start and introduce Scala 3.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Back to the roots: \u2018Hello World!\u2019<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First to install Scala please follow the installation instruction at<a href=\"https:\/\/docs.scala-lang.org\/getting-started\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\"> Scala\u2019s getting started section<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In Scala 3 a Hello World program can be written like:<\/p>\n\n\n\n<pre>@main def hello() = println(\"Hello, world!\") <\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Let us decompose the code snippet to get a better understanding. The keyword def defines a function. In our specific case the function name is hello and contains no parameters. After the closing brackets of the parameters, a shorthand notation is used. Usually,<\/p>\n\n\n\n<pre>def hello() = {  println(\"Hello, world!\") }<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">would require curly brackets after the equal sign, but you can omit them if you only have one expression (which is the println(&#8230;) call). The last command println(&#8230;) prints hello world after the hello() function is called. New in Scala 3 is the <strong>@main <\/strong>which helps identify which function is the main function. In Scala 2 this hello world snippet was more verbose and a special Trait named App was needed:<\/p>\n\n\n\n<pre>object Hello2 extends App {\n&nbsp;&nbsp;&nbsp;&nbsp;println(\"Hello, world\")\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The first code snippet can be compiled with a tool <em>scalac<\/em> (similar to <em>javac<\/em>). Let&#8217;s assume you wrote the code <strong>@main<\/strong> <strong>def<\/strong> <strong>hello<\/strong>() = println(&#8220;Hello, world!&#8221;) in a file called HelloWorld.scala. You can now compile the file with the following command in the terminal:<\/p>\n\n\n\n<pre>scalac HelloWorld.scala<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This will generate the known .class bytecode files that can be run in the JVM. The Scala compiler also generates files ending by .tasty.<a href=\"https:\/\/docs.scala-lang.org\/scala3\/guides\/tasty-overview.html\" target=\"_blank\" rel=\"noreferrer noopener\"> TASTy<\/a> is a high-level interchange format for Scala 3 which stands for Typed abstract Syntax Trees and represents all your source code. This format helps to tackle the type erasure problem of .class files. If you generate a simple List of Integers for example in Scala:<\/p>\n\n\n\n<pre>val myIntList: List[Int] = List(1, 2, 3)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The resulting .class file would end up looking like this (this can be done with the <em>javap<\/em> command):<\/p>\n\n\n\n<pre>public scala.collection.immutable.List myIntList();<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">As one can see the List lost its Integer type. TASTy enables a separate compilation, and recompilation for different JVM versions by just compiling first the scala code into tasty and afterwards into .class bytecode format. The TASTy helps to keep all the code information without the need for the original source code. If a compilation of different JVM versions are needed the TASTy format can be used to recompile them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What tools are available for Scala?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is a non-comprehensive list of Scala Tools and material that are interesting and helpful.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/get-coursier.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Coursier:<\/a>&nbsp; A Scala application and artefact manager that helps to set up your Scala development environment<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/ammonite.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Ammonite:<\/a> Helps using Scala as a script or in a REPL (Read-Eval-Print-Loop)&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.scala-sbt.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">sbt:<\/a> I a simple build tool (sbt) for Scala and Java.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.scala-lang.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Scala-doc:<\/a> The Scala documentation contains general guides, migration guides, language reference and more information.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/scalameta.org\/metals\/\" target=\"_blank\" rel=\"noreferrer noopener\">Metals:<\/a> A scala language server with rich IDE features. You can even try it online.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How can I learn more?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This article is a part of a greater series centred around the technologies and themes found within the first edition of the TechRadar by Devoteam. To read further into these topics, please download&nbsp;<a href=\"https:\/\/devoteam.info\/techradar\/\" target=\"_blank\" rel=\"noreferrer noopener\">the TechRadar by Devoteam  <\/a>.<\/p>\n\n\n\n<div class=\"wp-block-columns alignfull is-layout-flex wp-container-core-columns-is-layout-4b1fd674 wp-block-columns-is-layout-flex\" style=\"margin-top:var(--wp--preset--spacing--medium);margin-bottom:var(--wp--preset--spacing--medium)\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-container-core-column-is-layout-969dc29d wp-block-column-is-layout-flow\" style=\"padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;flex-basis:100%\">\n<div class=\"wp-block-cover is-light\"><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim\" style=\"background-color:#8476bb\"><\/span><img decoding=\"async\" class=\"wp-block-cover__image-background wp-image-8279\" alt=\"\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/digital-solutions.jpg\" data-object-fit=\"cover\"\/><div class=\"wp-block-cover__inner-container has-global-padding is-layout-constrained wp-block-cover-is-layout-constrained\">\n<p class=\"has-text-align-center has-large-font-size wp-block-paragraph\"><\/p>\n<\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-stretch has-gray-light-background-color has-background is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-group has-main-color has-gray-light-background-color has-text-color has-background has-link-color wp-elements-1 is-layout-flow wp-container-core-group-is-layout-23162e80 wp-block-group-is-layout-flow\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--medium);padding-right:var(--wp--preset--spacing--large);padding-bottom:var(--wp--preset--spacing--medium);padding-left:var(--wp--preset--spacing--large)\">\n<div class=\"wp-block-group is-vertical is-content-justification-left is-layout-flex wp-container-core-group-is-layout-4a15ae55 wp-block-group-is-layout-flex\" style=\"min-height:0px\">\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-text-align-left has-main-color has-text-color has-medium-font-size wp-container-content-42c95ffb wp-block-paragraph\">Want to learn more about Scala?<\/p>\n\n\n\n<p class=\"has-text-align-left has-main-color has-text-color has-link-color has-base-font-size wp-elements-2 wp-block-paragraph\">Check out TechRadar by Devoteam to see what our experts say about its viability in the market.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-left is-layout-flex wp-container-core-buttons-is-layout-5446dffb wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/techradar.devoteam.com\/\">Discover more<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Scala is a programming language developed by Martin Odersky, a computer scientist and professor of programming methods at \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne in Switzerland. The language was designed to incorporate both object-oriented and functional programming paradigms. It is a strong statically typed language which strives to provide strong expressivity and runs on the JVM [&hellip;]<\/p>\n","protected":false},"featured_media":0,"template":"","categories":[887],"tags":[],"industry":[2475],"class_list":["post-516260","expert-view","type-expert-view","status-publish","hentry","category-cloud-native-app-development-me","industry-education-me"],"acf":[],"cards":"\n\t<div class=\"single-post-card\">\n\n\t\t\n\n\t\t\n\t\t<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-43282307 wp-block-group-is-layout-flex\">\n\t<p style=\"font-style:normal;font-weight:700\" class=\"has-link-color wp-elements-4 wp-block-lp-post-type has-text-color has-primary-color has-small-font-size\">Expert View<\/p>\n\n\t\t\n\t\t<h3 style=\"font-style:normal;font-weight:400\" class=\"wp-block-post-title has-base-font-size\"><a href=\"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/\" target=\"_self\" >What is Scala?<\/a><\/h3><\/div>\n\t\t\n\t<\/div>\n\n","yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>What is Scala? | Devoteam<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is Scala?\" \/>\n<meta property=\"og:description\" content=\"Scala is a programming language developed by Martin Odersky, a computer scientist and professor of programming methods at \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne in Switzerland. The language was designed to incorporate both object-oriented and functional programming paradigms. It is a strong statically typed language which strives to provide strong expressivity and runs on the JVM [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/\" \/>\n<meta property=\"og:site_name\" content=\"Devoteam\" \/>\n<meta property=\"og:image\" content=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/Screenshot-2021-12-07-101714.png\" \/>\n\t<meta property=\"og:image:width\" content=\"295\" \/>\n\t<meta property=\"og:image:height\" content=\"294\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/me\\\/expert-view\\\/what-is-scala\\\/\",\"url\":\"https:\\\/\\\/devoteam.info\\\/me\\\/expert-view\\\/what-is-scala\\\/\",\"name\":\"What is Scala? | Devoteam\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/me\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/me\\\/expert-view\\\/what-is-scala\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/me\\\/expert-view\\\/what-is-scala\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/shutterstock_1416503960-1-scaled.jpg\",\"datePublished\":\"2022-09-02T13:39:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/me\\\/expert-view\\\/what-is-scala\\\/#breadcrumb\"},\"inLanguage\":\"en-SA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/devoteam.info\\\/me\\\/expert-view\\\/what-is-scala\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-SA\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/me\\\/expert-view\\\/what-is-scala\\\/#primaryimage\",\"url\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/shutterstock_1416503960-1-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/shutterstock_1416503960-1-scaled.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/me\\\/expert-view\\\/what-is-scala\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/devoteam.info\\\/me\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expert View\",\"item\":\"https:\\\/\\\/devoteam.info\\\/me\\\/expert-view\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"What is Scala?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/me\\\/#website\",\"url\":\"https:\\\/\\\/devoteam.info\\\/me\\\/\",\"name\":\"Devoteam\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/devoteam.info\\\/me\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-SA\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What is Scala? | Devoteam","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/","og_locale":"en_US","og_type":"article","og_title":"What is Scala?","og_description":"Scala is a programming language developed by Martin Odersky, a computer scientist and professor of programming methods at \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne in Switzerland. The language was designed to incorporate both object-oriented and functional programming paradigms. It is a strong statically typed language which strives to provide strong expressivity and runs on the JVM [&hellip;]","og_url":"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/","og_site_name":"Devoteam","og_image":[{"width":295,"height":294,"url":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/Screenshot-2021-12-07-101714.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/","url":"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/","name":"What is Scala? | Devoteam","isPartOf":{"@id":"https:\/\/devoteam.info\/me\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/#primaryimage"},"image":{"@id":"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/#primaryimage"},"thumbnailUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/shutterstock_1416503960-1-scaled.jpg","datePublished":"2022-09-02T13:39:30+00:00","breadcrumb":{"@id":"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/#breadcrumb"},"inLanguage":"en-SA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/"]}]},{"@type":"ImageObject","inLanguage":"en-SA","@id":"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/#primaryimage","url":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/shutterstock_1416503960-1-scaled.jpg","contentUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/09\/shutterstock_1416503960-1-scaled.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/devoteam.info\/me\/expert-view\/what-is-scala\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devoteam.info\/me\/"},{"@type":"ListItem","position":2,"name":"Expert View","item":"https:\/\/devoteam.info\/me\/expert-view\/"},{"@type":"ListItem","position":3,"name":"What is Scala?"}]},{"@type":"WebSite","@id":"https:\/\/devoteam.info\/me\/#website","url":"https:\/\/devoteam.info\/me\/","name":"Devoteam","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devoteam.info\/me\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-SA"}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Syeda Saana Hashmi","author_link":"https:\/\/devoteam.info\/me\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"Scala is a programming language developed by Martin Odersky, a computer scientist and professor of programming methods at \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne in Switzerland. The language was designed to incorporate both object-oriented and functional programming paradigms. It is a strong statically typed language which strives to provide strong expressivity and runs on the JVM&hellip;","_links":{"self":[{"href":"https:\/\/devoteam.info\/me\/wp-json\/wp\/v2\/expert-view\/516260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devoteam.info\/me\/wp-json\/wp\/v2\/expert-view"}],"about":[{"href":"https:\/\/devoteam.info\/me\/wp-json\/wp\/v2\/types\/expert-view"}],"version-history":[{"count":0,"href":"https:\/\/devoteam.info\/me\/wp-json\/wp\/v2\/expert-view\/516260\/revisions"}],"wp:attachment":[{"href":"https:\/\/devoteam.info\/me\/wp-json\/wp\/v2\/media?parent=516260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devoteam.info\/me\/wp-json\/wp\/v2\/categories?post=516260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devoteam.info\/me\/wp-json\/wp\/v2\/tags?post=516260"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/devoteam.info\/me\/wp-json\/wp\/v2\/industry?post=516260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}