<?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: Benjamin Calderon</title>
    <description>The latest articles on DEV Community by Benjamin Calderon (@benjcal).</description>
    <link>https://dev.to/benjcal</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%2F94469%2Fe7fca37c-9275-45a3-b8ae-d4eb116398f5.jpeg</url>
      <title>DEV Community: Benjamin Calderon</title>
      <link>https://dev.to/benjcal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/benjcal"/>
    <language>en</language>
    <item>
      <title>On learning GO and code that grows nicely</title>
      <dc:creator>Benjamin Calderon</dc:creator>
      <pubDate>Wed, 17 Apr 2019 18:53:50 +0000</pubDate>
      <link>https://dev.to/benjcal/on-learning-go-and-code-that-grows-nicely-1ak2</link>
      <guid>https://dev.to/benjcal/on-learning-go-and-code-that-grows-nicely-1ak2</guid>
      <description>&lt;p&gt;A few days ago I decided to learn GO because I'm falling in love with typed and compiled languages (i.e. Rust too) but with GO you can make a http server with the std library in a few lines!? and deployment is just running a binary on the server, no need to install dependencies or production environment? I was sold.&lt;/p&gt;

&lt;p&gt;But for whatever reason (I'd dare to say experience) when I started learning GO instead of learning the traditional string methods and loops and syntax I was interested in code organization, microservices, deployment and test and such... came across DDD and other ideas for software architecture. This wasn't really related to GO but GO seems to push to to write code than can grow without becoming a &lt;em&gt;unworkable blob of stuff&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And then I picked up a project last Sunday and oh boy do I love GO! Writing GO, testing GO and adding code that it's easy to plug in new features... and then I had to write Python for a helper script... ugh! programming is scary, don't go out there without a compiler buddy to help you along and without structures that tell you what certain data does and how is that data shaped.&lt;/p&gt;

&lt;p&gt;Anyways, just a quick post to share some of my excitement learning a new language and thinking a little more like a software architect for the first time!&lt;/p&gt;

&lt;p&gt;So if you wanna learn Go just Go and do it! (sorry, it's physically impossible to write about Go without including a pun!)&lt;/p&gt;

</description>
      <category>ddd</category>
      <category>go</category>
    </item>
    <item>
      <title>When you want to learn C in 2019</title>
      <dc:creator>Benjamin Calderon</dc:creator>
      <pubDate>Tue, 12 Feb 2019 20:30:33 +0000</pubDate>
      <link>https://dev.to/benjcal/when-you-want-to-learn-c-in-2019-33f0</link>
      <guid>https://dev.to/benjcal/when-you-want-to-learn-c-in-2019-33f0</guid>
      <description>

&lt;p&gt;How many of us have those fond memories of daring to write more than 20 lines of code without compiling just to get a taunting blinking cursor of bash right below &lt;code&gt;segmentation fault&lt;/code&gt;. Oh, the nostalgia! &lt;/p&gt;

&lt;p&gt;But for real, C seems to work against you! It lures you with its minuscule 32 keywords and then it shoots you on the back with &lt;code&gt;*&lt;/code&gt; and &lt;code&gt;&amp;amp;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I don't know if it's because I like pain or I still idolize the time of &lt;code&gt;vi&lt;/code&gt; running on Slackware back in the day of Kernel 2.2 and ext2 constantly breaking but I finally decided to take the jump into C.&lt;/p&gt;

&lt;p&gt;What I've been "discovering" is that the beauty of C is that it doesn't try to hide many details from the system you are running the program. It assumes you know what you are doing, and my that, you know what things can be stored on L1 or in RAM! I guess it is true that with greater power comes greater responsibility.&lt;/p&gt;

&lt;p&gt;The reason why I'm learning C (I'm a web dev in love with JS and React, and Rust makes my heart flutter!) is because Linux. I have used Linux for years and now I want to go deeper, syscalls and kernel and such. And even in higher levels we are still C territory with gstreamer and Glib and Gtk+ and libssl, and readline and wayland and...&lt;/p&gt;

&lt;p&gt;C is still King and Lord in many low level Linux world.&lt;/p&gt;

&lt;p&gt;Learning it in 2019 seems kind of like a challenge since you seems to find two camps, one says "C is Punk Rock" (21st Century C) while the other camps says to not dare a keyboard before reading K&amp;amp;R2. One wants you to develop high-level stuff with C and a bunch of libraries, while the other tells you how to store things on L1, which is 200x to RAM.&lt;/p&gt;

&lt;p&gt;Anyways, I'm really enjoying learning more about systems from the amazing tlpi book. Any suggestions, ideas or resources would be more than welcome!&lt;/p&gt;

&lt;p&gt;Thanks for reading :-)&lt;/p&gt;


</description>
      <category>linux</category>
      <category>c</category>
      <category>systemprogramming</category>
    </item>
  </channel>
</rss>
