<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>languages Archives | Programming Zen</title>
	<atom:link href="https://programmingzen.com/tag/languages/feed/" rel="self" type="application/rss+xml" />
	<link>https://programmingzen.com/tag/languages/</link>
	<description>Meditations on programming, startups, and technology</description>
	<lastBuildDate>Fri, 05 Dec 2014 12:30:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
<site xmlns="com-wordpress:feed-additions:1">1397766</site>	<item>
		<title>Learn New Programming Languages with Project Euler</title>
		<link>https://programmingzen.com/learn-new-programming-languages-with-project-euler/</link>
					<comments>https://programmingzen.com/learn-new-programming-languages-with-project-euler/#comments</comments>
		
		<dc:creator><![CDATA[Antonio Cangiano]]></dc:creator>
		<pubDate>Tue, 02 Dec 2014 16:09:05 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[beginners]]></category>
		<category><![CDATA[exercises]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[project-euler]]></category>
		<guid isPermaLink="false">http://programmingzen.com/?p=1573</guid>

					<description><![CDATA[<p>Lately I&#x2019;ve been thinking a lot about beginners and the very understandable struggle to grasp programming that many of them face. This post is mostly aimed at those who currently find themselves in this position. When it comes to creating, there is no substitute for hands-on experience and the same rings true for programming as well. If you can spend three months reading a 1,000 page reference book on a given programming language, you&#x2019;ll almost certainly walk away with some theoretical knowledge. Useful, but not very practical on its own. You&#x2019;ll get the big picture, no doubt, but you won&#x2019;t </p>
<p>The post <a href="https://programmingzen.com/learn-new-programming-languages-with-project-euler/">Learn New Programming Languages with Project Euler</a> appeared first on <a href="https://programmingzen.com">Programming Zen</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Lately I’ve been thinking a lot about beginners and the very understandable struggle to grasp programming that many of them face. This post is mostly aimed at those who currently find themselves in this position.</p>
<p>When it comes to creating, there is no substitute for hands-on experience and the same rings true for programming as well.</p>
<p>If you can spend three months reading a 1,000 page reference book on a given programming language, you’ll almost certainly walk away with some theoretical knowledge. Useful, but not very practical on its own. You’ll get the big picture, no doubt, but you won’t be productive or have much confidence in your newfound knowledge until you actually start writing code.</p>
<p>To me this is akin to reading a large DYI book cover to cover. I won’t be an expert on mending a fence, turning a table leg on lathe, or putting up storm drains simply because I know how such things are done in theory. It’s possible, nay, likely that when the first problem arises, I won’t know how to handle it, save for employing common sense. I’ll have to figure things out, try, make mistakes, and (hopefully) ultimately fix them. It is in this struggle that real skill is developed, honed, and ultimately mastered.</p>
<p>For that reason, I’m a huge fan of seeing beginners get their hands dirty. To this day even, when I’m learning a new programming language or framework, I like to solve practical problems as a way to quickly get acquainted with the ins and outs of said language.</p>
<p>Being passionate about mathematics, my go-to place when I’m learning a new programming language is <a href="https://projecteuler.net">Project Euler</a>. <a id="fnref:1" class="footnote" title="see footnote" href="#fn:1">[1]</a></p>
<div style="text-align: center;">
<div id="attachment_1574" style="width: 310px" class="wp-caption aligncenter"><a href="https://i0.wp.com/programmingzen.com/wp-content/uploads/2014/12/project-euler.png?ssl=1" target="_blank"><img data-recalc-dims="1" fetchpriority="high" decoding="async" aria-describedby="caption-attachment-1574" class="wp-image-1574 size-medium" src="https://i0.wp.com/programmingzen.com/wp-content/uploads/2014/12/project-euler-300x257.png?resize=300%2C257&#038;ssl=1" alt="Project Euler" width="300" height="257" srcset="https://i0.wp.com/programmingzen.com/wp-content/uploads/2014/12/project-euler.png?resize=300%2C257&amp;ssl=1 300w, https://i0.wp.com/programmingzen.com/wp-content/uploads/2014/12/project-euler.png?resize=1024%2C877&amp;ssl=1 1024w, https://i0.wp.com/programmingzen.com/wp-content/uploads/2014/12/project-euler.png?w=1066&amp;ssl=1 1066w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-1574" class="wp-caption-text">Click for a larger image</p></div>
</div>
<p>I like the approach that it presents for for several reasons:</p>
<ul>
<li>The self-contained problems go from extremely obvious to fairly hard. The progression is gradual.</li>
<li>In the process of solving problems, you will, out of necessity, end up learning about numbers, string manipulation, files, conditionals, functions, classes, etc. All of the basics that you should master in order to get started on real projects will be exercised to some degree.</li>
<li>The emphasis is on getting the result, but many problems will not be solvable with naive algorithms, particularly when using scripting languages like Ruby and Python. This is an opportunity to learn more about algorithms (if you are a beginner) or more about optimizing code in a given language (if you are learning that language, but are otherwise an experienced programmer).</li>
<li>You can look at other people’s solutions, which are often posted in a forum that’s accessible to those who have solved the problem themselves. You’ll learn about algorithms, more elegant ways to accomplish the same result, and even discover new languages you haven’t heard of before.</li>
<li>There is an element of gamification. It’s fun to see yourself go up in the leaderboard as you solve more problems.</li>
</ul>
<p>The only downside is that it’s quite math heavy and that can scare away some beginners. If this doesn’t put you off tough, I highly recommend giving it a shot. <a id="fnref:2" class="footnote" title="see footnote" href="#fn:2">[2]</a> Be forewarned though, it can be rather addictive. 🙂</p>
<p><strong>UPDATE</strong>: Follow up post about alternative<a href="https://programmingzen.com/2014/12/04/10-programming-challenges-sites/"> programming challenges sites</a>.</p>
<div class="footnotes">
<hr />
<ol>
<li id="fn:1">They got hacked at some point, so I no longer have my existing account. I created a brand new one while writing this post. <a class="reversefootnote" style="text-decoration: none;" title="return to article" href="#fnref:1">^</a></li>
<li id="fn:2">Of course, Project Euler isn’t exactly unknown at this point. So if you’re an existing programmer, your reply to this might be “duh!”. <a class="reversefootnote" style="text-decoration: none;" title="return to article" href="#fnref:2">^</a></li>
</ol>
</div>
<p>The post <a href="https://programmingzen.com/learn-new-programming-languages-with-project-euler/">Learn New Programming Languages with Project Euler</a> appeared first on <a href="https://programmingzen.com">Programming Zen</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingzen.com/learn-new-programming-languages-with-project-euler/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1573</post-id>	</item>
		<item>
		<title>3 Upcoming Languages That Are Worth Exploring</title>
		<link>https://programmingzen.com/3-upcoming-languages-that-are-worth-exploring/</link>
					<comments>https://programmingzen.com/3-upcoming-languages-that-are-worth-exploring/#comments</comments>
		
		<dc:creator><![CDATA[Antonio Cangiano]]></dc:creator>
		<pubDate>Tue, 25 Nov 2014 21:22:05 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[elixir]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[go]]></category>
		<category><![CDATA[julia]]></category>
		<category><![CDATA[languages]]></category>
		<guid isPermaLink="false">http://programmingzen.com/?p=1568</guid>

					<description><![CDATA[<p>Being at the forefront of technology is something that I&#x2019;ve always sincerely enjoyed. For example I was one of the first C# programmers in Italy back when C# was still in beta, and I was there in the early days of Rails as well (just a few months after its initial release). Over the years I&#x2019;ve dared to risk and have made some educated bets on technology that have served my career well. I share this as a way of illuminating the&#xA0;fact that there is a reward to be had if you enjoy keeping up with technology and the programming </p>
<p>The post <a href="https://programmingzen.com/3-upcoming-languages-that-are-worth-exploring/">3 Upcoming Languages That Are Worth Exploring</a> appeared first on <a href="https://programmingzen.com">Programming Zen</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Being at the forefront of technology is something that I’ve always sincerely enjoyed. For example I was one of the first C# programmers in Italy back when C# was still in beta, and I was there in the early days of Rails as well (just a few months after its initial release). Over the years I’ve dared to risk and have made some educated bets on technology that have served my career well.<a id="fnref:1" class="footnote" title="see footnote" href="#fn:1">[1]</a></p>
<p>I share this as a way of illuminating the fact that there is a reward to be had if you enjoy keeping up with technology and the programming world &#8211; and it’s a payoff that goes hand-in-hand with the sheer fun of exploring and using new cool technologies.</p>
<p>We live in a world that moves quickly, with significant innovations being introduced every couple of years and entire tectonic shifts coming along every decade or so.</p>
<p>This doesn’t just apply to programming languages either &#8211; we’re talking databases (e.g., NoSQL), paradigms (e.g., parallelism and concurrency), new approaches (e.g., Big Data in the Cloud), new frameworks (e.g., Meteor), and many other corners of this vast field.</p>
<p>In the programming world, in order to stay competitive, you can not ever stop learning. If you’re not leading the pack, you apt to be left in the dust.<a id="fnref:2" class="footnote" title="see footnote" href="#fn:2">[2]</a></p>
<p>One way to keep up is to never stop experimenting, playing with new languages and technologies in your spare time and applying them to non-mission critical projects. That’s the strategy I have grown accustom to at least, and again, no complaints from me when it comes to taking such an approach.</p>
<p>Wayne Gretzky, arguably &#8211; if not flat out &#8211; the best hockey player of all time, has a great quote that applies to hockey as much as it does to life in general.</p>
<blockquote><p>I skate to where the puck is going to be, not where it has been.</p></blockquote>
<p>Damn, Gretzky was good on the ice. Anyway, back to the topic. Some developers might consider R or Node.js to be the future. In reality, that’s where the puck is now.</p>
<p>Where will the puck be in three, five, or ten years? We’ll have to wait and see to know for sure. Meanwhile, I encourage you to explore three programming languages that might very well be headed in the same direction of that most iconic of Canadian sports equipment, the humble yet mighty, puck.</p>
<ul>
<li><strong><a href="https://golang.org/">GO</a></strong>: A fast, truly cross-platform, concurrent language that resembles a modern C on steroids.</li>
<li><strong><a href="https://julialang.org/">Julia</a></strong>: A very high level language that’s aiming to be the future of scientific computing and data science, including integrating with existing solutions such as Python scientific packages. Think of it like a modern Fortran on steroids.</li>
<li><strong><a href="https://elixir-lang.org/">Elixir</a></strong>: This language fully leverages the power, reliability, and concurrent nature of the Erlang VM, but does so with an elegant Ruby-like syntax. It’s Ruby taking steroids in the gym she goes to seven times a week.</li>
</ul>
<p>I make no promises or guarantees that these languages will pick up massive momentum over time. What I can promise you is that you’ll enjoy and learn from them in the moment. Each one is not only promising, but already delivering and is well worth checking out, if you haven’t already.</p>
<p>Let me know where the puck is headed for you.</p>
<div class="footnotes">
<hr />
<ol>
<li id="fn:1">I also saw Node.js coming from a mile away, but I didn’t have a strong need for it, so I played with and used it, but never really got too involved. <a class="reversefootnote" title="return to article" href="#fnref:1">&#8593;</a></li>
<li id="fn:2">Yes, some people specialized in a particular enterprise solution 20 or 30 years ago and still make a living by relying on it, however this might not hold true in the future. As an industry, we are moving faster and faster away from that approach. <a class="reversefootnote" title="return to article" href="#fnref:2">&#8593;</a></li>
</ol>
</div>
<p>The post <a href="https://programmingzen.com/3-upcoming-languages-that-are-worth-exploring/">3 Upcoming Languages That Are Worth Exploring</a> appeared first on <a href="https://programmingzen.com">Programming Zen</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingzen.com/3-upcoming-languages-that-are-worth-exploring/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1568</post-id>	</item>
	</channel>
</rss>
