<?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>Forem: The Nebula Developers</title>
    <description>The latest articles on Forem by The Nebula Developers (@thenebuladeveloper).</description>
    <link>https://forem.com/thenebuladeveloper</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%2F1213114%2Fc86a28fc-ecd4-4b47-a476-491e1c77a80d.jpeg</url>
      <title>Forem: The Nebula Developers</title>
      <link>https://forem.com/thenebuladeveloper</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/thenebuladeveloper"/>
    <language>en</language>
    <item>
      <title>Coding? Languages? Which to Pick?</title>
      <dc:creator>The Nebula Developers</dc:creator>
      <pubDate>Tue, 21 Nov 2023 21:32:46 +0000</pubDate>
      <link>https://forem.com/thenebuladeveloper/coding-languages-which-to-pick-2ibh</link>
      <guid>https://forem.com/thenebuladeveloper/coding-languages-which-to-pick-2ibh</guid>
      <description>&lt;p&gt;Continuing from last week, we at Nebula Developers aim to answer this burning question: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Out of so many programming languages, which one do we learn and master first?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you’re new: Hi! In this series of articles, we will analyze the top ten coding languages. Through dissecting their pros, cons and their overall purpose, we will make our recommendations such that you can learn the best language for you&lt;/p&gt;

&lt;p&gt;Like always, the best programming language for you will always be related to your purpose. Are you coding to make games? Or do you want to make websites? Maybe you want to be a data analyst? &lt;/p&gt;

&lt;p&gt;This week we are doing a deep dive into the world’s infamous coding language: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Javascript&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This coding language is the ultimate language when it comes to web development. Do you want a frontend programming language? Javascript. What about the backend? Javascript. Trying to show graphs on your website? Javascript. Creating useful API (plug-ins) for your website users? Javascript is your man. To summarize, Javascript is used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Front-end Development&lt;/li&gt;
&lt;li&gt;Back-end Development&lt;/li&gt;
&lt;li&gt;Data Visualisation&lt;/li&gt;
&lt;li&gt;APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The main benefit of learning Javascript is that it is extremely useful. Come on, all of us here would have used a website in their lives. Heck, you’re reading from one right now! So it comes with no surprise that Javascript is extremely useful in terms of a coding language. Theoretically, if you don’t count HTML or CSS as a programming language, Javascript is the only programming language you’ll need to code an entire website. &lt;/p&gt;

&lt;p&gt;Another benefit is its immense popularity. While Python has many modules to import from, Javascript takes that to the next notch. Besides the many imports that its developers have, it also has an array of frameworks to choose from Vue.js to Next.js. Within these frameworks, there are thriving communities that continuously improve while helping each other. So if you’re learning a framework for the first time, don’t be afraid to ask for help! &lt;/p&gt;

&lt;p&gt;Now, let’s go through its flaws. Starting with how Javascript mostly uses an Object Oriented Paradigm which has a higher learning curve when compared to other simpler ones. As a newcomer, this may cause lots of confusion when trying to pick up a language for the first time. For example, let say this is the first time you’re learning javascript, all is going well until you see this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  sayHello() {
    console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
  }
}
const person1 = new Person('Alice', 25);
const person2 = new Person('Bob', 30);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To explain it simply, we are creating a new ‘object’ called a Person who has two properties called name and age. In it, they also have a ‘method’ called sayHello() where they will say the string “Hello my name is {their name} and I am {their age} years old’. The last two lines just create two of such objects with the names ‘Alice’ and ‘Bob’. &lt;/p&gt;

&lt;p&gt;Confused? &lt;/p&gt;

&lt;p&gt;Yeah, this is a big portion of Javascript where you would need to interact with objects and use it to its fullest potential. Problem is that OOP has a high learning floor because for one to learn it, they must understand abstraction and encapsulation which are difficult concepts to learn for a beginner. &lt;/p&gt;

&lt;p&gt;Another problem is how it is weakly typed. Previously we discussed how dynamically typed causes a variable to be overridden if there’s another variable with the same name as it. But this is a little different. In programming, data types are the types of data that are present in your code. &lt;br&gt;
Some common examples are int (numbers), str (words), boolean (True/False). &lt;/p&gt;

&lt;p&gt;Dynamically typed refers to how variables can change their types and be overridden in the later code. While weak typed refers to how different data typed variables interact with each other which causes a lot of confusion. Take this for example: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;“123” - 1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Usually in other programming languages, since they are different data types (first one is a word while the other is a number), it will produce an error. However, Javascript allows this interaction by making the string into a number, the output is instead 122 (a number) Now try this: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;"123" + 1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you guessed 124, you are sadly wrong. The actual answer is instead “1231” treating the number as a string and combining both of them together. These are just some of the many quirks with Javascript which could cause various problems when trying to code. It also doesn’t have static typing, which is used to ensure that variables are only of a certain type. It was so bad that they made a new language called Typescript to fix this problem. &lt;/p&gt;

&lt;p&gt;Finally, another critical flaw with Javascript is how it handles errors. Unlike how a standard error message, javascript code can fail on its own and not be noticed. THis can be catastrophic later on in the project where a single error causes the whole website to fail.  &lt;/p&gt;

&lt;p&gt;In my personal experience, I don’t really like Javascript. I thought it was too confusing and overwhelming for me to learn with the number of frameworks there are. But if you are a passionate web developer, you must eventually learn this language for the front end at least. &lt;/p&gt;

&lt;p&gt;If you enjoyed reading so far, do consider joining us at The Nebula Devs. We are a passionate community of aspiring developers and graphic designers. Joining us will allow you to have a friendly environment where you can nurture, learn and grow. We will also have several paid services such as web development and discord bot development. &lt;/p&gt;

&lt;p&gt;Click &lt;a href="https://discord.gg/uM4fD3bzQu"&gt;here&lt;/a&gt; to join our discord! &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
If you want to build and design websites, I highly recommend picking Javascript as your first language before moving onto Typescript. Its overwhelming popularity and prevalence in the web development industry are nothing to scoff at. However, the weak typing, error handling and object oriented paradigm would be a difficult challenge to overcome.&lt;/p&gt;

&lt;p&gt;Regardless, if you had enough of Javascript’s quirks, you could always switch to Typescript and continue your web development journey! &lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>javascript</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Coding? Languages? Which to Pick?</title>
      <dc:creator>The Nebula Developers</dc:creator>
      <pubDate>Sat, 18 Nov 2023 15:48:58 +0000</pubDate>
      <link>https://forem.com/thenebuladeveloper/coding-languages-which-to-pick-4e7k</link>
      <guid>https://forem.com/thenebuladeveloper/coding-languages-which-to-pick-4e7k</guid>
      <description>&lt;p&gt;&lt;em&gt;As a developer, we all have this burning question within us once in our lives:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Out of so many programming languages, which one do we learn and master first?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this series of articles, we at The Nebula Devs will analyze the top ten coding languages. We will be going through their purpose, evaluating them based on their merits and drawbacks using facts and our personal experiences with them.&lt;/p&gt;

&lt;p&gt;Most importantly, the best programming language for you will always be related to your purpose. Is it because you have a passion for creating games? Or do you want to become a professional website developer? Maybe you have an interest in machine learning and A.I and would like to pursue it?&lt;/p&gt;

&lt;p&gt;The possibilities are endless and so it is critical to choose the best language to suit your own personal needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Python?&lt;/strong&gt; &lt;br&gt;
Starting with the most popular language, we have Python. It is the go-to answer when new programmers ask the question. And for good reason too. Python has countless uses in this technological era, this includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A.I Development&lt;/li&gt;
&lt;li&gt;Back-end of a Website&lt;/li&gt;
&lt;li&gt;Data Analysis and Visualization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And many more. Even I learnt Python when first starting out!&lt;/p&gt;

&lt;p&gt;One benefit of learning Python is that it is easy to pick up. Since the key words are all readable in English, new coders will be accustomed to the language quickly. For example when talking about displaying something in the terminal, we would use the key word "print" which mirrors its real life counterpart.&lt;/p&gt;

&lt;p&gt;Another benefit is its popularity. This means that there will be lots of community support surrounding the language which allows you to get help more easily. This also comes with many useful modules that others have coded before. Additionally there are many job prospects if you do choose to master this language.&lt;/p&gt;

&lt;p&gt;Last but not least, the final benefit is that Python is multi-paradigm. This means that it can be coded in many different ways. If you want Object Oriented Programming, Python has classes. Functional Programming? Python has functions. We could even go imperative or procedural if that is your cup of tea. This allows it to be a jack of all trades, which can be adjusted to fit your needs.&lt;/p&gt;

&lt;p&gt;Of course, there are also flaws in this language. One of them includes how it's dynamically typed. This means that variables with the same name can be easily altered. For example let say you wrote:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;x = 2
x = 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The second line will override the first line thus the variable x is now 3, causing many unintended side effects when trying to scale your project.&lt;/p&gt;

&lt;p&gt;Another problem is its slow speed. If you have seen any coding memes on the Internet, you will know that Python is the snail of the coding world. Due to how it compiles the whole code written instead of interpreting the code when it runs, its speed will be one of its biggest drawbacks.&lt;/p&gt;

&lt;p&gt;Lastly, Python is messy. When coding python, it is imperative to have indentation to signal which code is which other codes. For example in the following code, the statement a=2 is inside the while statement while the a=3 is outside of it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;while True: 
  a = 2

a = 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this simple example, it doesn't look that messy but when you have code like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def addition():
  ans = 2
  for i in range(5): 
    anns +=1
    if ans != 6: 
      # Imagine there's more code.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Yeah, the code above may be nonsense but this is just an example of how messy it will look when mishandled. So as a coder, you must ensure that the code is organized else you'll have a headache looking at it again.&lt;/p&gt;

&lt;p&gt;In my personal experience, Python is my favorite coding language by far. It's easy and relevant to my field of study in data analysis and thus, I use it on a day to day basis.&lt;/p&gt;

&lt;p&gt;If you enjoyed reading so far, do consider joining us at The Nebula Devs. We are a passionate community of aspiring developers and graphic designers. Joining us would allow you to have a friendly environment where you can nurture, learn and grow. We will also have several paid services such as web development and discord bot development.&lt;/p&gt;

&lt;p&gt;Click &lt;a href="https://discord.com/invite/uM4fD3bzQu"&gt;here&lt;/a&gt; to join our discord!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
If you enjoy the versatility, popularity and the low skill floor that Python provides, you should definitely consider Python as your first language. Yes, there are some drawbacks like how it has a messy syntax with its nesting and how slow it is but those are minor in comparison to its benefits.&lt;/p&gt;

&lt;p&gt;Of course, it always comes back to your purpose. If you have interest in Python’s Machine Learning capabilities or its ability to visualize data clearly, I highly recommend picking this as your first language!&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>python</category>
      <category>help</category>
    </item>
  </channel>
</rss>
