<?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: Wairimu Mashell</title>
    <description>The latest articles on DEV Community by Wairimu Mashell (@mr_wairimu).</description>
    <link>https://dev.to/mr_wairimu</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%2F3051402%2Febcde50a-a9d9-44c4-9535-8c8651f686d4.jpg</url>
      <title>DEV Community: Wairimu Mashell</title>
      <link>https://dev.to/mr_wairimu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mr_wairimu"/>
    <language>en</language>
    <item>
      <title>Programming Fundamentals</title>
      <dc:creator>Wairimu Mashell</dc:creator>
      <pubDate>Tue, 15 Apr 2025 00:15:06 +0000</pubDate>
      <link>https://dev.to/mr_wairimu/programming-fundamentals-j2k</link>
      <guid>https://dev.to/mr_wairimu/programming-fundamentals-j2k</guid>
      <description>&lt;h3&gt;
  
  
  What Is Programming?
&lt;/h3&gt;

&lt;p&gt;People talk about “programming” all the time, but what does it actually mean? At its core, programming is the process of giving a computer a set of instructions to follow to have an action done or obtain a response.&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Concepts
&lt;/h3&gt;

&lt;p&gt;Regardless of the programming language, certain concepts are foundational:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Variables&lt;/strong&gt; store data that your program can use and manipulate.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Functions&lt;/strong&gt; are reusable blocks of code that perform specific tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Conditionals&lt;/strong&gt; (like &lt;code&gt;if&lt;/code&gt; and &lt;code&gt;else&lt;/code&gt;) allow your program to make decisions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Constant&lt;/strong&gt; store fixed value for the program.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you understand these fundamentals, learning new programming languages becomes easier.&lt;/p&gt;

&lt;h3&gt;
  
  
  How Computers Understand Code
&lt;/h3&gt;

&lt;p&gt;Computers don’t understand human languages — they only understand binary (1s and 0s). When you write code, it gets translated into this binary format by a &lt;strong&gt;compiler&lt;/strong&gt; or an &lt;strong&gt;interpreter&lt;/strong&gt;. These tools convert high-level code into machine code so your computer can execute it.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Trade-Offs in Programming
&lt;/h3&gt;

&lt;p&gt;Writing code often involves balancing different priorities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Should the code run as fast as possible?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Should it use less memory?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Should it be easier for others to read and maintain?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is rarely a perfect answer. Good programming often means finding the right trade-off for your specific use case.&lt;/p&gt;

&lt;h3&gt;
  
  
  High-Level vs. Low-Level Languages
&lt;/h3&gt;

&lt;p&gt;When you’re new to coding, all programming languages can feel the same. Over time, you’ll notice the differences:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;High-level languages&lt;/strong&gt; like Python handle many details for you. They’re easier to write and read.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Low-level languages&lt;/strong&gt; like C give you more control, but you need to manage more complexity.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Understanding both helps you write better, more efficient code and gives you insight into how things work at a deeper level.&lt;/p&gt;

&lt;h3&gt;
  
  
  Programming Is About Problem-Solving
&lt;/h3&gt;

&lt;p&gt;Programming isn’t about writing code — it’s about solving problems. The most effective developers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Understand the user’s needs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Break complex problems into smaller, manageable tasks&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Communicate clearly and explain technical topics in simple terms&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Starting My Journey with Go
&lt;/h3&gt;

&lt;p&gt;I’m just getting started with programming and chose Go (Golang) as my first programming language. I will be documenting my journey — including the wins and mistakes on Medium. Next I will set up GitHub and learn Git.&lt;/p&gt;

&lt;p&gt;If you’re also learning, or if you have been doing this for a while, I will be glad to hear from you.&lt;/p&gt;

&lt;p&gt;Thank you.&lt;/p&gt;

&lt;p&gt;You can connect with me on X: &lt;a href="https://x.com/mr_wairimu" rel="noopener noreferrer"&gt;https://x.com/mr_wairimu&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>tutorial</category>
      <category>softwareenginering</category>
    </item>
  </channel>
</rss>
