[av_one_full first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-b4ly7o’]
[av_heading heading=’Our Articles’ tag=’h2′ style=’blockquote modern-quote’ size=” subheading_active=” subheading_size=’15’ padding=’10’ color=” custom_font=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-ayobmk’][/av_heading]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-auj598′]
This is our institutional website, but we share our knowledge and expertise on Tomassetti.me and SuperKotlin.com. There we talk about parsing, tools and libraries, natural language processing and Kotlin.
[/av_textblock]
[/av_one_full]

[av_section min_height=” min_height_px=’500px’ padding=’default’ shadow=’no-shadow’ bottom_border=’no-border-styling’ bottom_border_diagonal_color=’#333333′ bottom_border_diagonal_direction=’scroll’ bottom_border_style=’scroll’ scroll_down=” id=” color=’main_color’ custom_bg=” src=” attach=’scroll’ position=’top left’ repeat=’no-repeat’ video=” video_ratio=’16:9′ video_mobile_disabled=” overlay_enable=” overlay_opacity=’0.5′ overlay_color=” overlay_pattern=” overlay_custom_pattern=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av_element_hidden_in_editor=’0′ av_uid=’av-amqy2c’]
[av_one_full first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-agswtg’]

[av_heading tag=’h2′ padding=’10’ heading=’Parsing’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-2g5rss’][/av_heading]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-a63u5w’]
Parsing is the analysis of an input to organize the data according to the rule of a grammar.

There are a few ways to define parsing. However the gist remain the same: parsing means to find the underlying structure of the data we are given.
[/av_textblock]

[/av_one_full][av_one_half first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-a0hp5o’]

[av_heading tag=’h3′ padding=’10’ heading=’Getting Started with JavaParser’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-26kstg’][/av_heading]

[av_image src=’http://strumenta.wpengine.com/wp-content/uploads/2017/12/java_jp_512.jpg’ attachment=’534′ attachment_size=’full’ align=’center’ styling=” hover=” link=’manually,https://tomassetti.me/getting-started-with-javaparser-analyzing-java-code-programmatically/’ target=’_blank’ caption=” font_size=” appearance=” overlay_opacity=’0.4′ overlay_color=’#000000′ overlay_text_color=’#ffffff’ animation=’no-animation’ admin_preview_bg=” av_uid=’av-9p8nd8′][/av_image]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-9imues’]
The best Java library for parsing Java is JavaParser. In fact we contribute to it and we created JavaSymbolSolver, a library built on top of it. In this article we explain how you can start using in your own projects.
[/av_textblock]

[/av_one_half][av_one_half min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-xfexg’]

[av_heading tag=’h3′ padding=’10’ heading=’A Guide to Parsing: Algorithms and Terminology’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-223onw’][/av_heading]

[av_image src=’http://strumenta.wpengine.com/wp-content/uploads/2017/12/A-Guide-To-Parsing_-Algorithms-And-Terminology.jpg’ attachment=’530′ attachment_size=’full’ align=’center’ styling=” hover=” link=’manually,https://tomassetti.me/guide-parsing-algorithms-terminology/’ target=’_blank’ caption=” font_size=” appearance=” overlay_opacity=’0.4′ overlay_color=’#000000′ overlay_text_color=’#ffffff’ animation=’no-animation’ admin_preview_bg=” av_uid=’av-9063us’][/av_image]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-8tbzik’]
A long-form explanation of the principles of parsing: the terms, the grammar formats, the algorithms.

We also create shorter articles to explain other important concepts related to parsing, such as the the difference between a compiler and an interpreter.
[/av_textblock]

[/av_one_half][av_one_full first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-8n9cdg’]

[av_heading tag=’h2′ padding=’10’ heading=’Domain Specific Languages’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-1xuex0′][/av_heading]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-8dquwc’]
Domain specific languages are languages meant for one thing, but they do it perfectly: think HTML, which is designed to write web pages. This is in contrast with general programming languages, that can do anything, but require more effort.

They can massively increase your productivity and allow non-programmers to write code in a language that they understand.
[/av_textblock]

[/av_one_full][av_one_half first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-877rxo’]

[av_heading tag=’h3′ padding=’10’ heading=’The complete guide to (external) Domain Specific Languages’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-1ppdj8′][/av_heading]

[av_image src=’http://strumenta.wpengine.com/wp-content/uploads/2017/12/Domain-Specific-Languages.jpg’ attachment=’551′ attachment_size=’full’ align=’center’ styling=” hover=” link=’manually,https://tomassetti.me/domain-specific-languages/’ target=’_blank’ caption=” font_size=” appearance=” overlay_opacity=’0.4′ overlay_color=’#000000′ overlay_text_color=’#ffffff’ animation=’no-animation’ admin_preview_bg=” av_uid=’av-7v3ov0′][/av_image]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-7ozgmc’]
This guide will show you:

  • the what: after a definition we will look into 19 examples of DSLs
  • the why: what are the concrete benefits you can achieve using DSLs
  • the how: we will discuss the different ways to build a DSLs and what are the success factors

[/av_textblock]

[/av_one_half][av_one_half min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-7jzp64′]

[av_heading tag=’h3′ padding=’10’ heading=’Recognizing hand-written shapes programmatically’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-1ktdvw’][/av_heading]

[av_image src=’http://strumenta.wpengine.com/wp-content/uploads/2017/12/Recognizing-hand-written-shapes-programmatically_-find-the-key-points-of-a-rectangle-1.png’ attachment=’558′ attachment_size=’full’ align=’center’ styling=” hover=” link=’manually,https://tomassetti.me/recognizing-hand-written-shapes-programmatically-find-the-key-points-of-a-rectangle/’ target=’_blank’ caption=” font_size=” appearance=” overlay_opacity=’0.4′ overlay_color=’#000000′ overlay_text_color=’#ffffff’ animation=’no-animation’ admin_preview_bg=” av_uid=’av-7668zo’][/av_image]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-70z43w’]
What if you wanted to define programs by sketching on a whiteboard? You could use your sketches to define programs in a high level domain specific language, and the first step would be to recognize hand-written shapes.
[/av_textblock]

[/av_one_half][av_one_full first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-6sr5sc’]

[av_heading tag=’h2′ padding=’10’ heading=’Tools And Libraries’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-1f2m7o’][/av_heading]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-6j4rvo’]
The right tool can make your life easier and improve your productivity, we share the ones we know and explain our readers how to use them.
[/av_textblock]

[/av_one_full][av_one_half first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-6c18t0′]

[av_heading tag=’h3′ padding=’10’ heading=’Parsing: Tools And Libraries’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-1acxf0′][/av_heading]

[av_image src=’http://strumenta.wpengine.com/wp-content/uploads/2017/12/Parsing-in-Python_-Tools-and-Libraries.png’ attachment=’531′ attachment_size=’full’ align=’center’ styling=” hover=” link=’manually,https://tomassetti.me/parsing-in-python/’ target=’_blank’ caption=” font_size=” appearance=” overlay_opacity=’0.4′ overlay_color=’#000000′ overlay_text_color=’#ffffff’ copyright=” animation=’no-animation’ av_uid=’av-61cuuc’ admin_preview_bg=”][/av_image]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-5ur1vw’]
We have created a series of articles on the libraries and tools used for parsing in 4 languages: Java, C#, Python and JavaScript. These ranges from the big industry-ready tools, like ANTLR, to simpler libraries that are as easy to use as common regular expressions, but more powerful.
[/av_textblock]

[/av_one_half][av_one_half min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-5oyp44′]

[av_heading tag=’h3′ padding=’10’ heading=’The ANTLR Mega Tutorial’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-10q6e4′][/av_heading]

[av_image src=’http://strumenta.wpengine.com/wp-content/uploads/2017/12/ANTLR-Mega-Tutorial.jpg’ attachment=’535′ attachment_size=’full’ align=’center’ styling=” hover=” link=’manually,https://tomassetti.me/antlr-mega-tutorial/’ target=’_blank’ caption=” font_size=” appearance=” overlay_opacity=’0.4′ overlay_color=’#000000′ overlay_text_color=’#ffffff’ animation=’no-animation’ admin_preview_bg=” av_uid=’av-5gc1h0′][/av_image]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-597z3w’]
A complete tutorial that explains everything you need to know to use ANTLR, a very powerful (and our favorite) parsing generator. It is written in Java, but it can create parsers also in C#, Python, JavaScript, Go, etc.
[/av_textblock]

[/av_one_half][av_one_full first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-53437o’]

[av_heading tag=’h2′ padding=’10’ heading=’Programming Languages’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-xsqv8′][/av_heading]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-4nznoc’]
Many programmers think about creating their own programming language. You can read these articles to know how to get started. If you want a practical guide on the subject we have also wrote a book: How to create pragmatic, lightweight languages.
[/av_textblock]

[/av_one_full][av_one_half first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-4l0ymk’]

[av_heading tag=’h3′ padding=’10’ heading=’68 Resources To Help You To Create Programming Languages’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-2m6tw’][/av_heading]

[av_image src=’http://strumenta.wpengine.com/wp-content/uploads/2017/12/68-Resources-To-Help-You-To-Create-Programming-Languages.png’ attachment=’533′ attachment_size=’full’ align=’center’ styling=” hover=” link=’manually,https://tomassetti.me/resources-create-programming-languages/’ target=’_blank’ caption=” font_size=” appearance=” overlay_opacity=’0.4′ overlay_color=’#000000′ overlay_text_color=’#ffffff’ animation=’no-animation’ admin_preview_bg=” av_uid=’av-47b3b0′][/av_image]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-43qvkc’]
To create the best work for our clients we have to keep updated on how to design and create software. In this article we share the resources we have found to create programming languages: from the design to the presentation.
[/av_textblock]

[/av_one_half][av_one_half min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-3vdcmk’]

[av_heading tag=’h3′ padding=’10’ heading=’The difference between a compiler and an interpreter’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-jxr4s’][/av_heading]

[av_image src=’http://strumenta.wpengine.com/wp-content/uploads/2017/12/The-difference-between-a-compiler-and-an-interpreter.png’ attachment=’548′ attachment_size=’full’ align=’center’ styling=” hover=” link=’manually,https://tomassetti.me/difference-between-compiler-interpreter/’ target=’_blank’ caption=” font_size=” appearance=” overlay_opacity=’0.4′ overlay_color=’#000000′ overlay_text_color=’#ffffff’ animation=’no-animation’ admin_preview_bg=” av_uid=’av-3k4wfw’][/av_image]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-3g7crg’]
Understanding the difference between compilers and interpreters is a common issue for many developers. In this article we explain the main practical differences between the two.
[/av_textblock]

[/av_one_half][av_one_full first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-35u0y4′]

[av_heading tag=’h2′ padding=’10’ heading=’Natural Language Processing’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-erino’][/av_heading]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-2wmwf8′]
Natural language processing is the equivalent of parsing for the languages we use in our everyday life. It is the field that want to understand and analyze the words we wrote and speak.
[/av_textblock]

[/av_one_full][av_one_half first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-2rwixo’]

[av_heading tag=’h3′ padding=’10’ heading=’Guide to Natural Language Processing’ color=” style=’blockquote modern-quote’ custom_font=” size=” subheading_active=” subheading_size=’15’ custom_class=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” margin=” av_uid=’av-bqc3o’][/av_heading]

[av_image src=’https://strumenta.com/wp-content/uploads/2018/06/Guide-to-Natural-Languages.jpg’ attachment=’922′ attachment_size=’full’ align=’center’ styling=” hover=” link=’manually,https://tomassetti.me/guide-natural-language-processing/’ target=’_blank’ caption=” font_size=” appearance=” overlay_opacity=’0.4′ overlay_color=’#000000′ overlay_text_color=’#ffffff’ copyright=” animation=’no-animation’ av_uid=’av-2dtcg4′ admin_preview_bg=”][/av_image]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-80hfg’]
A long-form overview of the field of Natural Language Processing: from explaining the simplest algorithms to presenting the most advanced libraries used to understand and analyze natural languages.
[/av_textblock]

[/av_one_half]
[/av_section]

[av_section min_height=” min_height_px=’500px’ padding=’default’ shadow=’no-shadow’ bottom_border=’no-border-styling’ bottom_border_diagonal_color=’#333333′ bottom_border_diagonal_direction=’scroll’ bottom_border_style=’scroll’ scroll_down=” id=” color=’main_color’ custom_bg=” src=” attach=’scroll’ position=’top left’ repeat=’no-repeat’ video=” video_ratio=’16:9′ video_mobile_disabled=” overlay_enable=” overlay_opacity=’0.5′ overlay_color=” overlay_pattern=” overlay_custom_pattern=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av_element_hidden_in_editor=’0′ av_uid=’av-21921g’]

[av_one_full first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-1z59n8′]

[av_heading heading=’Kotlin’ tag=’h2′ link=” link_target=” style=’blockquote modern-quote’ size=” subheading_active=” subheading_size=’15’ margin=” padding=’10’ color=” custom_font=” custom_class=” id=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=”][/av_heading]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-5m338′]
On SuperKotlin.com we talk about a language that we love: Kotlin. We help people learn about it by showing the most popular resources, talking about community and showing where you can use it.

Kotlin is a productive and modern language that runs on the JVM, can be transpiled to JavaScript and even be compiled to native platforms. It is popular on Android.

These articles are some of the most popular ones we wrote.
[/av_textblock]

[/av_one_full][av_one_half first min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-522es’]

[av_heading heading=’Kotlin vs Scala: Which Problems Do They Solve?’ tag=’h4′ link=” link_target=” style=’blockquote modern-quote’ size=” subheading_active=” subheading_size=’15’ margin=” padding=’10’ color=” custom_font=” custom_class=” id=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=”][/av_heading]

[av_image src=’http://strumenta.wpengine.com/wp-content/uploads/2017/12/Kotlin-vs-Scala_-Which-Problems-Do-They-Solve.png’ attachment=’540′ attachment_size=’full’ align=’center’ styling=” hover=” link=’manually,https://superkotlin.com/kotlin-vs-scala/’ target=’_blank’ caption=” font_size=” appearance=” overlay_opacity=’0.4′ overlay_color=’#000000′ overlay_text_color=’#ffffff’ animation=’no-animation’ admin_preview_bg=” av_uid=’av-11zbe4′][/av_image]

[av_textblock size=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” font_color=” color=” id=” custom_class=” av_uid=’av-wq6r0′ admin_preview_bg=”]
Scala and Kotlin are the two contenders for the Java throne. At the very least they are the two main languages to consider using in a JVM based application.

They aim to solve the same problem: providing a better Java but they do it in a very different way. In this article, we are going to compare Kotlin and Scala mostly for their uses, not their technical features. We are just going to make a general overview of the features of these two languages, and we are mostly concentrating on what they are designed for.
[/av_textblock]

[/av_one_half][av_one_half min_height=” vertical_alignment=” space=” custom_margin=” margin=’0px’ padding=’0px’ border=” border_color=” radius=’0px’ background_color=” src=” background_position=’top left’ background_repeat=’no-repeat’ animation=” mobile_breaking=” mobile_display=” av_uid=’av-tkp3o’]

[av_heading heading=’100+ Resources To Learn Kotlin The Right Way’ tag=’h4′ link=” link_target=” style=’blockquote modern-quote’ size=” subheading_active=” subheading_size=’15’ margin=” padding=’10’ color=” custom_font=” custom_class=” id=” admin_preview_bg=” av-desktop-hide=” av-medium-hide=” av-small-hide=” av-mini-hide=” av-medium-font-size-title=” av-small-font-size-title=” av-mini-font-size-title=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=”][/av_heading]

[av_image src=’http://strumenta.wpengine.com/wp-content/uploads/2017/12/Resources-To-Learn-Kotlin-The-Right-Way.png’ attachment=’541′ attachment_size=’full’ align=’center’ styling=” hover=” link=’manually,https://superkotlin.com/resources-learn-kotlin/’ target=’_blank’ caption=” font_size=” appearance=” overlay_opacity=’0.4′ overlay_color=’#000000′ overlay_text_color=’#ffffff’ animation=’no-animation’ admin_preview_bg=” av_uid=’av-65uk’][/av_image]

[av_textblock size=” font_color=” color=” av-medium-font-size=” av-small-font-size=” av-mini-font-size=” admin_preview_bg=” av_uid=’av-bq0j0′]
A long-form overview of the field of Natural Language Processing: from explaining the simplest algorithms to presenting the most advanced libraries used to understand and analyze natural languages.
[/av_textblock]

[/av_one_half][/av_section]