<?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: Bhargab B</title>
    <description>The latest articles on DEV Community by Bhargab B (@bhargablinx).</description>
    <link>https://dev.to/bhargablinx</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1548919%2F519bca4f-6938-43e7-857b-4640ec534f6e.png</url>
      <title>DEV Community: Bhargab B</title>
      <link>https://dev.to/bhargablinx</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bhargablinx"/>
    <language>en</language>
    <item>
      <title>The Frontend UI Library Landscape Explained for Developers</title>
      <dc:creator>Bhargab B</dc:creator>
      <pubDate>Tue, 09 Jun 2026 11:42:39 +0000</pubDate>
      <link>https://dev.to/bhargablinx/the-frontend-ui-library-landscape-explained-for-developers-lan</link>
      <guid>https://dev.to/bhargablinx/the-frontend-ui-library-landscape-explained-for-developers-lan</guid>
      <description>&lt;p&gt;The frontend ecosystem has evolved far beyond writing plain CSS files. Today, developers can choose from a variety of UI libraries and frameworks, each solving different problems.&lt;/p&gt;

&lt;p&gt;If you're new to frontend development or wondering why there are so many UI libraries, here's a simple breakdown.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Raw CSS: The Original Approach
&lt;/h2&gt;

&lt;p&gt;Raw CSS is where everything starts.&lt;/p&gt;

&lt;p&gt;It gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complete control over styling&lt;/li&gt;
&lt;li&gt;Unlimited customization&lt;/li&gt;
&lt;li&gt;A deeper understanding of how the web works&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The downside? As projects grow, managing CSS can become messy and difficult. That's why most production applications use some form of abstraction on top of CSS.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tailwind CSS: CSS, But Better
&lt;/h2&gt;

&lt;p&gt;Tailwind doesn't give you components—it gives you utility classes that make styling faster and more maintainable.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"bg-blue-500 text-white px-4 py-2 rounded"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  Click Me
&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You're still working with native HTML elements, but without constantly jumping between CSS files.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Developers Like Tailwind
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Uses native HTML elements&lt;/li&gt;
&lt;li&gt;Keeps styles close to components&lt;/li&gt;
&lt;li&gt;Highly customizable&lt;/li&gt;
&lt;li&gt;Doesn't impose a design system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Think of Tailwind as an unopinionated layer on top of CSS.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Material UI (MUI): Pre-Built Components
&lt;/h2&gt;

&lt;p&gt;MUI takes the opposite approach.&lt;/p&gt;

&lt;p&gt;Instead of styling everything yourself, it provides ready-made React components:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt; &lt;span class="na"&gt;variant&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"contained"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  Submit
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This speeds up development significantly, but customization can sometimes feel restrictive.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pros
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fast development&lt;/li&gt;
&lt;li&gt;Consistent UI&lt;/li&gt;
&lt;li&gt;Large component ecosystem&lt;/li&gt;
&lt;li&gt;Accessibility built in&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cons
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Highly opinionated&lt;/li&gt;
&lt;li&gt;Custom designs may require additional styling solutions like Emotion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Think of MUI as a highly opinionated UI framework that prioritizes productivity.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Radix UI: Logic Without Design
&lt;/h2&gt;

&lt;p&gt;Some UI components are difficult to build correctly.&lt;/p&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Modals&lt;/li&gt;
&lt;li&gt;Dropdowns&lt;/li&gt;
&lt;li&gt;Tooltips&lt;/li&gt;
&lt;li&gt;Accordions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These components require:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accessibility support&lt;/li&gt;
&lt;li&gt;Keyboard navigation&lt;/li&gt;
&lt;li&gt;Focus management&lt;/li&gt;
&lt;li&gt;Complex interaction logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Radix handles all of that for you while leaving the styling completely up to you.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Makes Radix Different?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;No built-in styling&lt;/li&gt;
&lt;li&gt;Accessibility-first&lt;/li&gt;
&lt;li&gt;Focuses only on component behavior&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Radix handles the functionality, not the appearance.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Chakra UI: The Middle Ground
&lt;/h2&gt;

&lt;p&gt;Chakra UI sits somewhere between Tailwind and MUI.&lt;/p&gt;

&lt;p&gt;It provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pre-built components&lt;/li&gt;
&lt;li&gt;Accessibility by default&lt;/li&gt;
&lt;li&gt;Easier customization than MUI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If MUI feels too restrictive and Tailwind feels too low-level, Chakra often strikes a nice balance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Think of Chakra as a flexible component library with sensible defaults.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Bootstrap: The OG Framework
&lt;/h2&gt;

&lt;p&gt;Before Tailwind became popular, Bootstrap dominated frontend development.&lt;/p&gt;

&lt;p&gt;It made building responsive websites much easier through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Components&lt;/li&gt;
&lt;li&gt;Grid systems&lt;/li&gt;
&lt;li&gt;Utility classes&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why Bootstrap Was So Popular
&lt;/h3&gt;

&lt;p&gt;Developers could quickly create polished interfaces without writing much CSS.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why It's Less Common Today
&lt;/h3&gt;

&lt;p&gt;Modern applications often require more customization, while Bootstrap tends to produce similar-looking UIs out of the box.&lt;/p&gt;

&lt;p&gt;Still, it's a solid choice for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prototypes&lt;/li&gt;
&lt;li&gt;Internal tools&lt;/li&gt;
&lt;li&gt;Legacy applications&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Shadcn: The Modern Approach
&lt;/h2&gt;

&lt;p&gt;Shadcn has quickly become one of the most popular choices in the React ecosystem.&lt;/p&gt;

&lt;p&gt;What's interesting is that it's not really a component library.&lt;/p&gt;

&lt;p&gt;Instead, it combines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Radix UI&lt;/strong&gt; for behavior&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS&lt;/strong&gt; for styling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And copies the component source code directly into your project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Developers Love Shadcn
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Full ownership of component code&lt;/li&gt;
&lt;li&gt;No vendor lock-in&lt;/li&gt;
&lt;li&gt;Easy customization&lt;/li&gt;
&lt;li&gt;Production-ready patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A simple way to think about it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Shadcn = Radix + Tailwind + Full Ownership&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Quick Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Library&lt;/th&gt;
&lt;th&gt;What It Solves&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Raw CSS&lt;/td&gt;
&lt;td&gt;Complete control&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tailwind&lt;/td&gt;
&lt;td&gt;Cleaner CSS workflow&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MUI&lt;/td&gt;
&lt;td&gt;Fast development with pre-built components&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Radix&lt;/td&gt;
&lt;td&gt;Accessible component logic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Chakra UI&lt;/td&gt;
&lt;td&gt;Flexible pre-built components&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bootstrap&lt;/td&gt;
&lt;td&gt;Rapid UI development&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shadcn&lt;/td&gt;
&lt;td&gt;Modern, customizable component system&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;The biggest mistake developers make is comparing all UI libraries as if they solve the same problem.&lt;/p&gt;

&lt;p&gt;Each tool serves a different purpose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind&lt;/strong&gt; helps you write CSS more efficiently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MUI&lt;/strong&gt; and &lt;strong&gt;Chakra UI&lt;/strong&gt; provide pre-built components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Radix UI&lt;/strong&gt; provides accessibility and interaction logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bootstrap&lt;/strong&gt; offers a complete UI framework.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shadcn&lt;/strong&gt; combines Radix and Tailwind into a modern development experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you understand the problem each library solves, choosing the right one becomes much easier.&lt;/p&gt;

</description>
      <category>tailwindcss</category>
      <category>shadcn</category>
      <category>mui</category>
      <category>radix</category>
    </item>
    <item>
      <title>What is Execution Context In JavaScript?</title>
      <dc:creator>Bhargab B</dc:creator>
      <pubDate>Sat, 08 Jun 2024 08:02:38 +0000</pubDate>
      <link>https://dev.to/bhargablinx/what-is-execution-context-in-javascript-4k5g</link>
      <guid>https://dev.to/bhargablinx/what-is-execution-context-in-javascript-4k5g</guid>
      <description>&lt;h2&gt;
  
  
  JavaScript Execution Context - Internal Working of JS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  In Simple Terms
&lt;/h3&gt;

&lt;p&gt;In simple terms when you run a JavaScript program, the whole program runs inside a container or box, and remember this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Everything in JavaScript happens inside an Execution Content"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Look at the diagram again! Yes, execution context in javascript has two components: memory; and code component.&lt;/p&gt;

&lt;p&gt;Let's understand both components and then we can at last we will combine all these pieces and we will be able to understand JavaScript Execution Context.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzvebcn508dgtrdw1hel.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzvebcn508dgtrdw1hel.png" alt="What is Execution Context In JavaScript" width="700" height="700"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Memory Component&lt;/strong&gt;&lt;br&gt;
This is the section where all the variables and functions we declare in our program are stored. These variables are stored as key-value pairs i.e., &lt;code&gt;key: value&lt;/code&gt;. This memory component is also known as the variable environment&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code Component&lt;/strong&gt;&lt;br&gt;
This is the section where the codes are executed line by line (one line at a time). There is a fancy name for it &lt;strong&gt;Thread of Execution&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Phases of the JavaScript Execution Context
&lt;/h3&gt;

&lt;p&gt;When you execute a &lt;code&gt;JS&lt;/code&gt; code, it goes through 2 phases in order:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;These are not official terminology, I am using them to make you understand Execution Context In JavaScript.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scanning Phase&lt;/strong&gt;: In this phase, the &lt;code&gt;JS&lt;/code&gt; engine creates the container that we discussed earlier (Execution Context). It allocates memory for the variables and functions in the memory component. The variables are assigned the value of &lt;code&gt;undefined&lt;/code&gt; and the functions are directly copied from the code to the memory component.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Execution phase&lt;/strong&gt;: In this phase, the magic happens and the &lt;code&gt;JS&lt;/code&gt; engine executes the code one line at a time. You remember in the scanning phase it assigns the value of &lt;code&gt;undefined&lt;/code&gt; to the variables, and in the execution phase the &lt;code&gt;undefined&lt;/code&gt; is replaced with the value that is declared in our code.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let's understand with the help of a simple program:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt; &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

 &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;addOne&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the scanning phase:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn0h3e9dt6zrbdymzaify.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn0h3e9dt6zrbdymzaify.png" alt="Creation or Scanning Phase" width="700" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the execution phase:&lt;br&gt;
That &lt;code&gt;undefined&lt;/code&gt; is replaced with the actual value, which we assign in our code &lt;code&gt;10&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This as a whole is known as the Execution Context In JavaScript.&lt;br&gt;
I hope you understand it clearly, but if not then below is a real-life example that will help you understand it even more!&lt;/p&gt;

&lt;h3&gt;
  
  
  JavaScript Execution Context With Real Life Example
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Imagine You're at a Restaurant
&lt;/h4&gt;

&lt;p&gt;Think of &lt;code&gt;JS&lt;/code&gt; as a restaurant, where different chefs (functions) are preparing meals (executing code).&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Execution Context&lt;/strong&gt; is like the kitchen workspace that each chef uses to prepare their meal.&lt;/p&gt;

&lt;p&gt;When the restaurant opens, the head chef (JavaScript engine) sets up the Global Execution Context. This is the main kitchen workspace where everything starts. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ingredients (variables and functions) that are available to all chefs.&lt;/li&gt;
&lt;li&gt;Utensils (methods and objects) that everyone can use.&lt;/li&gt;
&lt;li&gt;Recipes (global functions) that any chef can follow.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;makeSalad&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ingredient&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;dressing&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Olive Oil&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Using ingredient: &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;ingredient&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; with &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;dressing&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nf"&gt;makeSalad&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Lettuce&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When the function makeSalad("Lettuce") is called, the following happens:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Creation&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The workspace (Execution Context) is set up.&lt;/li&gt;
&lt;li&gt;Local ingredients (variables and functions) are declared.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ingredient&lt;/code&gt; is set to "Lettuce".&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dressing&lt;/code&gt; is declared but not yet defined.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Execution Phase:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Local ingredients are assigned values.&lt;/li&gt;
&lt;li&gt;The function's code runs using these local items.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Execution Context (EC) is created by &lt;code&gt;js&lt;/code&gt; engine whenever a code is run&lt;/li&gt;
&lt;li&gt;EC contains two phases: creation, and execution phase&lt;/li&gt;
&lt;li&gt;When a variable is declared or a function is created, and completely new EC is created inside the global EC.&lt;/li&gt;
&lt;li&gt;The EC is the chef's workspace.&lt;/li&gt;
&lt;li&gt;The Global Execution Context is the main kitchen setup.&lt;/li&gt;
&lt;li&gt;Each Function Execution Context is a new chef's workspace, created and stacked as needed.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>jsengine</category>
      <category>developers</category>
      <category>fundamentals</category>
    </item>
    <item>
      <title>Pseudocode: Everything you need to know</title>
      <dc:creator>Bhargab B</dc:creator>
      <pubDate>Sun, 02 Jun 2024 10:00:33 +0000</pubDate>
      <link>https://dev.to/bhargablinx/pseudocode-everything-you-need-to-know-3lj2</link>
      <guid>https://dev.to/bhargablinx/pseudocode-everything-you-need-to-know-3lj2</guid>
      <description>&lt;h2&gt;
  
  
  The Ultimate Pseudocode Guide | How to use it effectively
&lt;/h2&gt;

&lt;p&gt;Before understanding how to use pseudocode, you must understand what it is and its importance. Let's get right onto it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Introduction
&lt;/h3&gt;

&lt;p&gt;Pseudocode is a way of describing how a computer program should work using a human-readable language, generally English. In other words, it's a simplified version of programming code written in plain English before implementing it in a specific programming language. Think of it as a bridge between how humans think and how computers operate.&lt;/p&gt;

&lt;p&gt;Pseudocode can also be referred to as a syntactical representation of a program and lacks strict syntax since it only represents the programmer's thinking process.&lt;/p&gt;

&lt;h3&gt;
  
  
  Importance of Pseudcode
&lt;/h3&gt;

&lt;p&gt;Here are the points why pseudocode is important&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Language Agnostic&lt;/strong&gt;: Pseudocode helps programmers understand and write code because it is language agnostic and allows them to focus on solving the problem at hand without getting bogged down in the exact syntax of a programming language. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visualization&lt;/strong&gt;: It also enables visualization of the entire solution to an algorithmic problem and helps break down large problems into smaller, manageable pieces.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplicity&lt;/strong&gt;: It uses simple, everyday words and phrases, avoiding the complex syntax and strict rules of programming languages.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to use pseudocode effectively?
&lt;/h3&gt;

&lt;p&gt;Here is the step-by-step guide for using pseudocode effectively:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Understand the Problem in Depth&lt;/strong&gt;: Ensure you thoroughly understand the problem without worrying about edge cases initially.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Identify the Approach for Solving It&lt;/strong&gt;: Plan your approach and outline the steps needed to solve the problem.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start Writing&lt;/strong&gt;: Focus on the logic rather than syntax. Write down the steps in plain English.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use Consistent Formatting&lt;/strong&gt;: Maintain a consistent format throughout your pseudocode. Avoid using technical jargon.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Iterate and Refine&lt;/strong&gt;: Review your pseudocode, refine it, and check for potential bugs.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Examples
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Example 1: Making a Cup of Tea
&lt;/h4&gt;

&lt;p&gt;Imagine you want to write a program that makes a cup of tea. Here’s how you might write the pseudocode for that:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Boil water
2. Place a tea bag in a cup
3. Pour the boiling water into the cup
4. Let the tea steep for a few minutes
5. Remove the tea bag
6. Add sugar or milk if desired
7. Stir the tea
8. Serve the tea
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Example 2: Finding the Largest Number in a List
&lt;/h4&gt;

&lt;p&gt;Imagine you want to write a program that finds the largest number in a list of numbers. Here’s how you might write the pseudocode for that:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Start with an empty list of numbers
2. Initialize a variable 'largest' to be the first number in the list
3. For each number in the list:
    a. If the current number is greater than 'largest':
        i. Update 'largest' to be the current number
4. After checking all the numbers, 'largest' will hold the largest number in the list
5. Print or return 'largest'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Pseudocode is a valuable tool for programmers to understand, write, and solve coding problems. By following suggested guidelines for writing pseudocode and practicing regularly, programmers can develop a personalized style that makes sense to them and improves their overall programming skills.&lt;/p&gt;

</description>
      <category>coding</category>
      <category>pseudocode</category>
      <category>dsa</category>
      <category>problemsolving</category>
    </item>
  </channel>
</rss>
