<?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: Rosebella Wandere</title>
    <description>The latest articles on DEV Community by Rosebella Wandere (@bwandere).</description>
    <link>https://dev.to/bwandere</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%2F4032039%2F9831f7ba-10db-4e22-9260-009062aa9933.png</url>
      <title>DEV Community: Rosebella Wandere</title>
      <link>https://dev.to/bwandere</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bwandere"/>
    <language>en</language>
    <item>
      <title>What Happens Behind the Code?</title>
      <dc:creator>Rosebella Wandere</dc:creator>
      <pubDate>Mon, 10 Aug 2026 06:28:43 +0000</pubDate>
      <link>https://dev.to/bwandere/what-happens-behind-the-code-d27</link>
      <guid>https://dev.to/bwandere/what-happens-behind-the-code-d27</guid>
      <description>&lt;h2&gt;
  
  
  Compilers vs. Interpreters: What Really Happens Behind the Code?
&lt;/h2&gt;

&lt;p&gt;As developers, we spend a lot of time writing code, but how often do we stop to think about what actually happens after we write it?&lt;/p&gt;

&lt;p&gt;Understanding how computers work behind the scenes is not just theoretical knowledge. It can help us understand why programs behave the way they do, where errors come from, and how to approach debugging more effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  Compiler vs. Interpreter
&lt;/h2&gt;

&lt;p&gt;At a high level, both compilers and interpreters help a computer understand and execute the code we write, but they do it differently.&lt;/p&gt;

&lt;p&gt;A compiler translates the entire program into machine code before the program is executed.&lt;/p&gt;

&lt;p&gt;An interpreter, on the other hand, translates and executes the program as it runs, rather than producing the complete machine-code program beforehand.&lt;/p&gt;

&lt;h2&gt;
  
  
  A simple way to understand it
&lt;/h2&gt;

&lt;p&gt;Imagine you have a book written in French, but you only understand English.&lt;/p&gt;

&lt;p&gt;With a compiler, you would translate the entire book first. Once the translation is finished, you can sit down and read the English version without having to stop and translate every sentence.&lt;/p&gt;

&lt;p&gt;With an interpreter, you would translate the book sentence by sentence while reading it. You translate one sentence, read it, then move on to the next sentence.&lt;/p&gt;

&lt;p&gt;The first approach requires more preparation upfront, but once the translation is complete, reading can be much faster.&lt;/p&gt;

&lt;p&gt;This is a simple analogy for why compiled programs can generally have better execution performance as much of the translation work has already been done before the program runs.&lt;/p&gt;

&lt;p&gt;Understanding this distinction has become particularly interesting to me as a go lang beginner. &lt;br&gt;
Go is a compiled language. When I write Go code, the Go compiler translates the source code into machine code that the computer can execute.&lt;br&gt;
For example:&lt;br&gt;
&lt;code&gt;go build main.go&lt;/code&gt;&lt;br&gt;
This compiles the Go program and produces an executable file.&lt;br&gt;
I can then run that compiled program without having to translate the source code every time it executes.&lt;br&gt;
Compared with an interpreted language, this gives compiled languages some important advantages:&lt;/p&gt;

&lt;p&gt;Faster execution: The translation into machine code happens before execution.&lt;br&gt;
Early error detection: The compiler can catch many errors before the program runs.&lt;br&gt;
Efficient execution: The computer executes compiled machine code directly rather than repeatedly interpreting the source code.&lt;br&gt;
Standalone executables: Go can compile programs into executable binaries that can be distributed and run on compatible systems.&lt;/p&gt;

&lt;p&gt;Interpreted languages also have their own advantages, particularly when it comes to flexibility and rapid development. However, because interpretation happens during execution, there can be additional runtime overhead compared with already-compiled code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does This Matter to Developers?
&lt;/h2&gt;

&lt;p&gt;Understanding concepts such as compilation, interpretation, memory, processes, and execution gives developers a better mental model of what happens between writing code and seeing the result.&lt;/p&gt;

&lt;p&gt;This can make debugging easier because instead of treating errors as random problems, we can start reasoning about where and why something went wrong.&lt;/p&gt;

&lt;p&gt;Learning to code is not just about learning syntax or memorizing functions.&lt;br&gt;
I am beginning to realize that becoming a better developer also means understanding what happens underneath the code we write.&lt;br&gt;
As I continue learning Go, concepts like compilers and interpreters are helping me connect the code I write with what the computer is actually doing behind the scenes.&lt;br&gt;
And I think that understanding is just as important as knowing how to write the code itself.&lt;/p&gt;

</description>
      <category>coding</category>
      <category>computerscience</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Git is Much bigger than I ever Imagined</title>
      <dc:creator>Rosebella Wandere</dc:creator>
      <pubDate>Wed, 29 Jul 2026 08:40:07 +0000</pubDate>
      <link>https://dev.to/bwandere/git-is-much-bigger-than-i-ever-imagined-2i7m</link>
      <guid>https://dev.to/bwandere/git-is-much-bigger-than-i-ever-imagined-2i7m</guid>
      <description>&lt;p&gt;Over the past few days, I've been diving deep into Git, and one thing surprised me the most:&lt;/p&gt;

&lt;p&gt;Git is much bigger than I thought.&lt;/p&gt;

&lt;p&gt;Like many beginners, I used to think Git was mainly about commands like:&lt;br&gt;
&lt;code&gt;git clone&lt;/code&gt;&lt;br&gt;
&lt;code&gt;git pull&lt;/code&gt;&lt;br&gt;
&lt;code&gt;git push&lt;/code&gt;&lt;br&gt;
&lt;code&gt;git branch&lt;/code&gt;&lt;br&gt;
&lt;code&gt;git merge&lt;/code&gt;&lt;br&gt;
&lt;code&gt;git status&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;They're important, but they're only scratching the surface.&lt;br&gt;
Working through a comprehensive Git project pushed me beyond the everyday commands. I learned about branching strategies, merge conflicts, rebasing, tags, remotes, bare repositories, reflog and even explored what actually lives inside the .git directory.&lt;/p&gt;

&lt;p&gt;One of the biggest eye-openers was exploring the .git folder. Before this project, it was just a hidden directory I never paid attention to. Now I understand it's the heart of every Git repository. It stores commits, trees, blobs, references, configuration, and everything Git needs to track a project's history.&lt;/p&gt;

&lt;p&gt;Another fascinating discovery was &lt;code&gt;Git Reflog&lt;/code&gt;. I had no idea Git keeps a record of where your branches and HEAD have been, making it possible to recover work that seems "lost." That completely changed how I think about mistakes in Git.&lt;/p&gt;

&lt;p&gt;One of my biggest takeaways was realizing how Git enable teams to collaborate efficiently. Understanding merges, rebases, conflict resolution, branch tracking, remotes and shared repositories has given me much greater confidence in contributing to collaborative software projects.&lt;/p&gt;

&lt;p&gt;This journey reminded me that learning Git isn't about memorizing a handful of commands. It's about understanding how Git works under the hood and knowing which tool to use for different situations.&lt;/p&gt;

&lt;p&gt;I'm still learning, but I can already see how this knowledge will make me a better developer and teammate.&lt;/p&gt;

&lt;p&gt;What's one Git feature you discovered much later than you wish you had?&lt;/p&gt;

</description>
      <category>git</category>
      <category>opensource</category>
      <category>learning</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
