<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shubham Rattra</title>
    <description>The latest articles on DEV Community by Shubham Rattra (@shubhamrattra).</description>
    <link>https://dev.to/shubhamrattra</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F313905%2Fca47842f-0239-4387-9bac-a818424a2139.jpg</url>
      <title>DEV Community: Shubham Rattra</title>
      <link>https://dev.to/shubhamrattra</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shubhamrattra"/>
    <language>en</language>
    <item>
      <title>All you need to know about Hacktoberfest</title>
      <dc:creator>Shubham Rattra</dc:creator>
      <pubDate>Tue, 29 Sep 2020 19:41:32 +0000</pubDate>
      <link>https://dev.to/shubhamrattra/all-you-need-to-know-about-hacktoberfest-180k</link>
      <guid>https://dev.to/shubhamrattra/all-you-need-to-know-about-hacktoberfest-180k</guid>
      <description>&lt;p&gt;October's here and for all the programmers and open source contributors, this is a great time to contribute to open source or try something new because Hacktoberfest is here.&lt;/p&gt;

&lt;p&gt;For some who are new to programming or open-source might be thinking what is a Hacktoberfest or what is open-source.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Open-source&lt;/em&gt; refers to source code that is publicly accessible and allows anyone to inspect, modify, or learn from it. Open source projects encourage collaboration and the freedom to use the software for any purpose you wish.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Hacktoberfest&lt;/em&gt; is a celebration open to everyone in our global community. It is a month-long celebration of open source software run by DigitalOcean.&lt;/p&gt;

&lt;p&gt;Seven years ago, Hacktoberfest had kick-started the celebration along with 676 excited participants contributing to open source projects and earning a limited-edition T-shirt. Now, hundreds of thousands of developers participate in Hacktoberfest from 150 countries.&lt;/p&gt;

&lt;p&gt;If you want to contribute to open-source projects, but don't know where to start, Then Hacktoberfest is the perfect opportunity for you.&lt;/p&gt;

&lt;p&gt;Hacktoberfest is a month-long celebration of open source software sponsored by Digital Ocean, Intel, and DEV.&lt;/p&gt;

&lt;p&gt;The goal of the event is to encourage participation in the open-source community all across the globe. And the challenge is quite simple. Open four high-quality pull requests in October on any open source project to get some swags.&lt;/p&gt;

&lt;h3&gt;
  
  
  Some of you might be thinking that WHAT is a swag???????
&lt;/h3&gt;

&lt;p&gt;If you complete 4prs valid, you get a T-shirt, some stickers, a cup coaster(which I got last year, don't know if they'll be giving this year also).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Frud6e5wjwkjk14sqe3m8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Frud6e5wjwkjk14sqe3m8.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;They also introduced the option to plant a tree instead of receiving a T-shirt as a reward to reduce the environmental impact.&lt;/p&gt;

&lt;p&gt;So when completing four pull requests, you will have the option to choose either a Hacktoberfest shirt or the option to donate a tree. You don't have the option to choose both swag options.&lt;br&gt;
If you want to plant a tree on your own, you can do so by going here: &lt;a href="https://tree-nation.com/profile/digitalocean" rel="noopener noreferrer"&gt;https://tree-nation.com/profile/digitalocean&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But Hacktoberfest can get intimidating pretty fast as there's a lot to study, read, and learn. That's why Digital Ocean has deemed the month of September as #Preptember.&lt;/p&gt;

&lt;p&gt;To give the community more time to get ready for Hacktoberfest, officially announced September as the month for preparation. It has been a month full of learning, dedicated just to prepare for Hacktoberfest, how to make quality pull requests, and giving maintainers more time to groom their repositories.&lt;/p&gt;




&lt;h2&gt;
  
  
  Before going further on how to start your Hacktoberfest journey here are some key terms that you need to know-
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Version Control&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;When developers work on a project together, oftentimes they'll need to work on the same code base. While they're working, each developer needs to know about what changes the other developer made, so they do not duplicate the work or write code over what has been done. &lt;br&gt;
A version control system serves as a saving program for code, where it assigns a version to a project and tracks changes made over time to each file in the project. In this way, developers can work together on a project by checking the latest version to check the changes made before working on their portion of the project.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Git and GitHub&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Git, a version control system used to manage a developer's projects of all sizes, was created to help developers contribute code and share code revisions in a way that was fast, efficient, and inexpensive. Git enables developers to edit, share, and publish code, facilitating collaboration and teamwork.&lt;br&gt;
GitHub is a cloud-based git repository hosting service that allows developers to take code that they've written on their local machines and share it with the world. It provides a way to share the version-tracked projects on the local computer publicly through repositories or, central file storage locations. Depending on the project's availability (it can be either a public or private repository), other developers can download the project to edit the code, provide insight, and more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3ulvz0hwdpsb2egdl0qp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F3ulvz0hwdpsb2egdl0qp.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, before you start contributing you should have some basic knowledge of working on GitHub and most importantly that what is forking a project, cloning a project, making a pull request.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to get started with your Hacktober journey?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Step 1: Sign Up&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;First, register at &lt;a href="https://hacktoberfest.digitalocean.com/" rel="noopener noreferrer"&gt;https://hacktoberfest.digitalocean.com/&lt;/a&gt;&lt;br&gt;
If you don't, DigitalOcean and GitHub won't know about you when they check for Pr's. So before starting your contribution do remember to register yourself.&lt;/p&gt;

&lt;p&gt;You can sign up anytime between October 1and October 31.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Step 2: Find a project that interests you and jump in!&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Search the Hacktoberfest label on GitHub. There are thousands of issues to choose from.&lt;/p&gt;

&lt;p&gt;If this is your first time then you might want to either pick a language with which you are comfortable with (so you're not learning a new language and figuring out what help is needed) or pick some documentation.&lt;/p&gt;

&lt;p&gt;Check for labels like beginners only, first-timers-only,beginners-friendly, good first-time issue, Great for new contributors, Good First Issues as these are for beginners or for those contributing in open source for the first time.&lt;/p&gt;

&lt;p&gt;Remember quality contributions are encouraged.&lt;/p&gt;

&lt;p&gt;If you are maintaining a repo then-&lt;br&gt;
Create issues or label existing ones with Hacktoberfest on your GitHub projects to help new contributors know what to work on.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Step 3: Make your first PR&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Then, submit at least four pull requests to any public GitHub repository and wait for it to be verified.&lt;br&gt;
&lt;em&gt;Note- It may take about 14 days to be verified. Earlier it used to be 7 days but recently, they increased the numbers of days to 14 maybe so that the owner of the repo would have more time to verify the pull request, and there would be fewer spams.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Step 4: Celebrate!!!🥳🥳🥳&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Congrats for completing your first Hacktoberfest and you'll be getting your swags in a month or two(depending on where you live).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7bjk7lp37rwtzksm4gur.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7bjk7lp37rwtzksm4gur.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h4&gt;
  
  
  &lt;em&gt;If you've…..&lt;/em&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;never contributed to open-source software on GitHub,&lt;/em&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;been excited to learn and play with a new programming language,&lt;/em&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;been too overwhelmed to attend a developer hack night,&lt;/em&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;waited all year long to celebrate open-source software and earn a limited edition T-shirt,&lt;/em&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;em&gt;Hacktoberfest is here to make all the above possible.&lt;/em&gt;
&lt;/h4&gt;

&lt;h3&gt;
  
  
  For more details, check here-
&lt;/h3&gt;

&lt;p&gt;official site- &lt;a href="https://hacktoberfest.digitalocean.com/" rel="noopener noreferrer"&gt;https://hacktoberfest.digitalocean.com/&lt;/a&gt;&lt;br&gt;
FAQs- &lt;a href="https://hacktoberfest.digitalocean.com/faq/" rel="noopener noreferrer"&gt;https://hacktoberfest.digitalocean.com/faq/&lt;/a&gt;&lt;br&gt;
Here is a list of communities and their swag list &lt;a href="https://hacktoberfestswaglist.com/" rel="noopener noreferrer"&gt;https://hacktoberfestswaglist.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>github</category>
      <category>git</category>
    </item>
    <item>
      <title>Everything you need to know about GitHub Arctic Code Vault</title>
      <dc:creator>Shubham Rattra</dc:creator>
      <pubDate>Tue, 21 Jul 2020 12:48:24 +0000</pubDate>
      <link>https://dev.to/shubhamrattra/everything-you-need-to-know-about-github-arctic-code-vault-2pec</link>
      <guid>https://dev.to/shubhamrattra/everything-you-need-to-know-about-github-arctic-code-vault-2pec</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4Lju7epX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/d23i0wr2sflysupngxnp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4Lju7epX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/d23i0wr2sflysupngxnp.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;You might have recently seen something like this in your GitHub account or other GitHub account and be wondering what is this all about.&lt;br&gt;
So let’s take a look at what is an Arctic Code Vault Contributor and who are the ones who gets this batch.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;GitHub, the world’s largest open-source platform for software and programs has safely locked the data of huge value and magnitude in a coal mine in Longyearbyen’s Norwegian town in the Arctic region.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kdZnBGV6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8rc14wpkz01ekpygyp32.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kdZnBGV6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/8rc14wpkz01ekpygyp32.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Back in November 2019, GitHub Arctic Code Vault was first announced.&lt;br&gt;
The GitHub Arctic Code Vault is a data repository preserved in the Arctic World Archive (AWA), a very-long-term archival facility 250 meters deep in the permafrost of an Arctic mountain. The archive is located in a decommissioned coal mine in the Svalbard archipelago, closer to the North Pole than the Arctic Circle.&lt;br&gt;
Last year, GitHub said that it plans to capture a snapshot of every active public repository on 02/02/2020 and preserve that data in the Arctic Code Vault.&lt;br&gt;
The project began on February 2, when the firm took a snapshot of all of GitHub’s active public repositories to store them in the vault. They initially intended to travel to Norway and personally escort the world’s open-source technology to the Arctic but their plans were derailed by the global pandemic. Then, they had to wait until 8 July for the Arctic Data Vault data to be deposited.&lt;br&gt;
GitHub announced that the code was successfully deposited in the Arctic Code Vault on July 8, 2020. Over the past several months, GitHub worked with its archive partners Piql to write the 21TB of GitHub repository data to 186 reels of piqlFilm (digital photosensitive archival film).&lt;br&gt;
GitHub’s strategic software director, Julia Metcalf, has written a blog post on the company’s website notifying the completion of GitHub’s Archive Program on July 8th. Discussing the objective of the Archive Program, Metcalf wrote “Our mission is to preserve open-source software for future generations by storing your code in an archive built to last a thousand years.”&lt;br&gt;
The Arctic Code Vault is only a small part of the wider GitHub Archive Program, however, which sees the company partner with the Long Now Foundation, Internet Archive, Software Heritage Foundation, Microsoft Research, and others.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QxqWXNSo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/lg9fosfnd7mvazfbb4a8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QxqWXNSo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/lg9fosfnd7mvazfbb4a8.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How the cold storage will last 1,000 years?
&lt;/h2&gt;

&lt;p&gt;Svalbard has been regulated by the international Svalbard Treaty as a demilitarized zone. Home to the world’s northernmost town, it is one of the most remote and geopolitically stable human habitations on Earth.&lt;br&gt;
The AWA is a joint initiative between Norwegian state-owned mining company Store Norske Spitsbergen Kulkompani (SNSK) and very-long-term digital preservation provider Piql AS. AWA is devoted to archival storage in perpetuity. The film reels will be stored in a steel-walled container inside a sealed chamber within a decommissioned coal mine on the remote archipelago of Svalbard. The AWA already preserves historical and cultural data from Italy, Brazil, Norway, the Vatican, and many others.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vSU90oJB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tmov024rmaoz0ks2i5x8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vSU90oJB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tmov024rmaoz0ks2i5x8.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s in the 02/02/2020 snapshot?
&lt;/h2&gt;

&lt;p&gt;The 02/02/2020 snapshot archived in the GitHub Arctic Code Vault will sweep up every active public GitHub repository, in addition to significant dormant repos.&lt;br&gt;
The snapshot will include every repo with any commits between the announcement at GitHub Universe on November 13th and 02/02/2020, every repo with at least 1 star and any commits from the year before the snapshot (02/03/2019–02/02/2020), and every repo with at least 250 stars.&lt;br&gt;
The snapshot will consist of the HEAD of the default branch of each repository, minus any binaries larger than 100KB in size — depending on available space, repos with more stars may retain binaries. Each repository will be packaged as a single TAR file. For greater data density and integrity, most of the data will be stored QR-encoded and compressed. A human-readable index and guide will itemize the location of each repository and explain how to recover the data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aA5amlF7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/y4pwgqzvmqdjvepezzvj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aA5amlF7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/y4pwgqzvmqdjvepezzvj.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The company further shared that every reel of the archive includes a copy of the “Guide to the GitHub Code Vault” in five languages, written with input from GitHub’s community and available at the Archive Program’s own GitHub repository.&lt;br&gt;
The archive will also include human-readable reel which documents the technical history and cultural context of the archive’s contents, which the company calls as the Tech Tree. It will primarily consist of the existing works, selected to provide a detailed understanding of modern computing, open-source and its applications, modern software development, popular programming languages, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the reason for doing this?
&lt;/h2&gt;

&lt;p&gt;This project aims to preserve open-source software for future generations by storing it in an archive built to last a thousand years.&lt;br&gt;
They hope that one day, the open-source data can be used by historians or future civilizations to understand the dawn of computing: the present.&lt;br&gt;
In addition to the repositories, GitHub also saved a few classic works of humanity and an introductory letter in case it’s discovered after an apocalypse, or by aliens, or by something that doesn’t know much about present humanity. “This archive, the GitHub Code Vault, was established by the GitHub Archive Program, whose mission is to preserve open-source software for future generations”.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who gets this batch?
&lt;/h2&gt;

&lt;p&gt;The snapshot included any public repository that had at least 250 stars, that had at least one star and had been updated in the past year, or that had no stars but had been updated in the previous eighty days. If you’ve ever uploaded to GitHub, you probably had got your name and a creation stored in the arctic. Clicking on the Arctic Code Vault Contributor badge in the highlights section of a profile will reveal which of a user’s projects were saved in this snapshot.&lt;br&gt;
GitHub created the Arctic Code Vault Badge to honor the millions of developers worldwide who contributed to the open-source project. This badge is displayed in the highlights section of the developer’s GitHub profile.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PrBK4spj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kezx75tin41611kbyej6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PrBK4spj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kezx75tin41611kbyej6.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;So if you have the Arctic Code Vault Contributor badge then congratulations your code or project will be safe for 1000years at least and hopefully, someone in those times would find it useful.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Have a look at this video and see where your code/project is stored and how they are stored-&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?time_continue=2&amp;amp;v=fzI9FNjXQ0o&amp;amp;feature=emb_title"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nuLcxjhi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.youtube.com/watch%3Ftime_continue%3D2%26v%3DfzI9FNjXQ0o%26feature%3Demb_title" alt="IMAGE ALT TEXT HERE"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>opensource</category>
      <category>githubarcticcodevault</category>
      <category>opensourcecontribution</category>
    </item>
    <item>
      <title>Kotlin VS Java</title>
      <dc:creator>Shubham Rattra</dc:creator>
      <pubDate>Sun, 26 Jan 2020 10:58:41 +0000</pubDate>
      <link>https://dev.to/shubhamrattra/kotlin-vs-java-35a3</link>
      <guid>https://dev.to/shubhamrattra/kotlin-vs-java-35a3</guid>
      <description>&lt;p&gt;When you think about Android development, chances are one programming language immediately springs to mind and that is Java.&lt;br&gt;
Ever since Google announced Kotlin as the official language for Android development at Google IO in 2017, programmers who want to become Android developers are in a dilemma.&lt;br&gt;
The big question in front of them is whether they should learn Kotlin or Java.&lt;br&gt;
So let's see about the two languages&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HEcqo--w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/dp6hy8s5eqrh2v5z17hu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HEcqo--w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/dp6hy8s5eqrh2v5z17hu.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Java
&lt;/h1&gt;

&lt;p&gt;Java is the favorite of many developers when it comes to android app development mainly because Android itself was written in Java. Developed by Sun Microsystems (now property of Oracle), Java is an object-oriented programming language that boasts the title of the second most active language on GitHub. And no wonder — it’s been around for over 20 years, and its popularity only seems to grow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pros of Java :-
&lt;/h2&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;• Easy to learn and understand; 
• Flexible – you can run it in a browser window or a virtual machine. This comes in handy when you reuse code and update software; 
• A good choice for cross-platform apps; 
• Android relies on Java – the Android SDK contains many standard Java libraries; 
• Java has a large open-source ecosystem, partly as a result of Google's adoption of the Java Virtual Machine (JVM) for Android; 
• Accelerated assembly within Gradle – we're all thankful for it when assembling large projects; 
• Java apps are more compact – in comparison to Kotlin, Java apps tend to be lighter (even in full analogue); a Kotlin app that includes complex computing processes in its code can turn out to work slowly on user devices with low technical specs, if built by inexperienced developers; 
• Top development speed – Java ensures faster build process than Kotlin. 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  Cons of Java:-
&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;• Java has limitations that cause problems with Android API design; 
• As a verbose language, Java requires writing more code, which carries a higher risk of errors and bugs; 
• It’s slower in comparison to many other languages and requires a lot of memory.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XOsAdIHg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/i9gqecc6h2t8moca9f48.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XOsAdIHg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/i9gqecc6h2t8moca9f48.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Kotlin
&lt;/h1&gt;

&lt;p&gt;Kotlin was designed by programmers from JetBrains (the guys behind integrated development environments) to add some modern features to Java that come in handy in mobile development. Kotlin is an open source, statically typed language based on Java Virtual Machine (JVM), but you can also compile it to JavaScript or Native for building code that can run on iOS. All it takes is installing the Kotlin Plugin and letting it configure your project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pros of Kotlin:-
&lt;/h2&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;• Got a lot of traction in Android development, but it’s also being used in backend projects such as Spring 5; 
• Switching from Java to Kotlin is easy – just install the Kotlin plugin, add it to the Gradle build files, and click 'Convert'; 
• Includes smart extension functions to help devs build clean APIs; 
• Has null in its type system – nullability problems are a common pain point in Java, and since Android often uses null to represent the absence of a value, Kotlin solves it by placing null directly in its type system; 
• It's way more concise than Java, which means fewer opportunities for errors; 
• Inter operable with Java – you can write new modules in Kotlin and be sure they will work alongside the existing Java code; Kotlin is compatible with all Java libraries and frameworks, the JVM, and can integrate with the Gradle or Maven build systems; 
• Devs can benefit from the Anko library and over 2000 Kotlin projects on Github; 
• Adopting Kotlin doesn't cost anything (except for learning and training). 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  Cons of Kotlin:-
&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;• Rather steep learning curve when switching entire teams to Kotlin due to the language's concise syntax (both a blessing and a challenge); 
• Slower compilation speed than Java (though Kotlin was shown to beat Java in some cases); 
• Small developer community, which means limited learning resources and difficulty in finding answers to questions; one look at Stackoverflow will give you a rough idea – there are only around 8000 questions tagged with Kotlin against 1.37 million questions about Java; 
• Experienced Kotlin devs are still a rarity, so finding a mentor for your team might be tricky; 
• Android Studio’s auto-complete and compilation tends to run slower in comparison to pure Java project.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;So lets come to the main question&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Will Kotlin replace Java for Android app development?
&lt;/h3&gt;

&lt;p&gt;There is a lot of arguments online after Kotlin was released. Some people said Kotlin will totally replace Java in the Android native app development. In my point of view, NO, even though I really prefer it and I like the way it does. But I think it won’t totally replace Java for Android app development.&lt;br&gt;
Firstly, after having announced to make Kotlin a first-class language for writing Android apps, Google noted in a later keynote that this is only an additional language, not a replacement for its existing Java support.&lt;br&gt;
Secondly, let’s review the official blog of Kotlin support on Android.&lt;br&gt;
Today, at the Google I/O keynote, the Android team announced first-class support for Kotlin.&lt;br&gt;
The keyword is “first-class”. What should we correctly understand this word? I think it just means Kotlin became one of the top-class language support for Android (so theoretically, at least, Kotlin should not overtop Java on Android app development).&lt;br&gt;
Thirdly, the code base of Android Framework Layer is developed by Java. It is nearly impossible for Android team to port the whole framework on Kotlin. In the meantime, Java interacts with C/C++ through JNI (Java Native Interface), and Kotlin does the same way by far.&lt;br&gt;
Lastly, even Kotlin has the ability or shows the trending of replacing Java, it should be a long long way to go. But it’s always not bad for our developers to learn new interesting technologies, let alone such an excellent programming language like Kotlin.&lt;/p&gt;

&lt;h3&gt;
  
  
  Are there any differences using Kotlin or Java?
&lt;/h3&gt;

&lt;p&gt;The new Android language helps to write safer, because with less work it´s possible to write a more reliable code. Of course, for the UX this translates into apps with less bugs and crashes.&lt;br&gt;
Although Java and Kotlin are both languages for Android development, there are several comparison between both programming languages. However, Kotlin is a clean slate in many ways and it adds a lot of great features for app creators.&lt;br&gt;
One interesting characteristic of this Google language acquisition is that Kotlin will continue to be developed and supported by JetBrains. Actually, both companies are currently trying to set up a nonprofit Kotlin foundation to look after the language.&lt;br&gt;
&lt;em&gt;Aaaaannnd before ending this&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Kotlin for beginners, intermediate or advanced
&lt;/h3&gt;

&lt;p&gt;Should an Android developer use Java or Kotlin? &lt;br&gt;
This is recently a constant question app developers ask, but here are some tips you must take into consideration.&lt;br&gt;
Firstly, if you already decided to become an android developer probably the best thing to do is to start or continue learning java.&lt;br&gt;
At this moment, the resources for learning Kotlin are scarce, compared to Java. Keep learning about Java and eventually you will become more confident to use Kotlin later.&lt;br&gt;
Secondly, if you feel confident enough, you should try out Kotlin and start enjoying the benefits of creating less code and other advantages from this new language.&lt;br&gt;
Even if you´re not planning to use it any time soon, at least try to inform yourself about it, by participating in communities and eventually start implementing it into your projects.&lt;br&gt;
And thirdly, if you’re an advanced developer you should be already into it! You find yourself in a stage where both languages are at your disposal and you have the knowledge enough to take the most out of them.&lt;br&gt;
Advanced or not, every Android developer should give Kotlin a try. Until now, Java continues to be the most popular language app for development, however, keep an eye on Kotlin too, since is definitely going to play a determinant role in a short future.&lt;/p&gt;

&lt;h3&gt;
  
  
  So Java or Kotlin
&lt;/h3&gt;

&lt;p&gt;In all fairness, chances are that you have people on your team who are already familiar with Java. Switching the entire team to Kotlin at a time can be a bit of a shock, so it is important to do this transition slowly, one person at a time. Having said that, Kotlin is the new official language and owing to its modern nature, it will become widely adopted in the future, so learning it and starting development with it right now would be a good idea. Though Java will continue to be a popular language for a long time and isn’t likely to be entirely replaced. So take your time and make the switch gently.&lt;br&gt;
At the end of the day, it’s all about what you feel comfortable with. Like I said in the beginning, to be a true blood Androidian, you will need to have a working knowledge of Java. But if you already do have that, Kotlin is the language of the future, so you might as well spend some time getting better at it.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aIVFE7iB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/8ep4e0ylqq1xb787zmby.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aIVFE7iB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/8ep4e0ylqq1xb787zmby.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>android</category>
      <category>kotlin</category>
      <category>java</category>
    </item>
  </channel>
</rss>
