{"id":12,"date":"2014-02-12T23:28:06","date_gmt":"2014-02-12T23:28:06","guid":{"rendered":"https:\/\/www.thoughts.diysarah.com\/?p=12"},"modified":"2014-02-12T23:28:06","modified_gmt":"2014-02-12T23:28:06","slug":"beginning-programming-a-letter","status":"publish","type":"post","link":"https:\/\/www.thoughts.diysarah.com\/?p=12","title":{"rendered":"Beginning Programming: A letter"},"content":{"rendered":"<p>This is an odd post but I thought I&#8217;d share though I doubt anyone is reading. \u00a0I wrote this letter to my sister and brother-in-law. \u00a0He is contemplating learning a programming language and I wrote him a note to get him started.<\/p>\n<blockquote>\n<div>Bryson and Bekah,<\/div>\n<div><\/div>\n<div>I hear you are thinking about learning some programming. \u00a0Yay! \u00a0I am a firm believer that learning to program is learning to think slightly differently and I fully intend to teach my kids programming right along with reading when they are kids. \u00a0Learning to code just a little bit is like learning to read poetry. \u00a0Even if you don&#8217;t ever use the skills, they affects the way you see the world and expanding your view of the world is important.<\/div>\n<div><\/div>\n<div>As far as a first language, I thought this article did an excellent job explaining the different languages.<\/div>\n<div>http:\/\/lifehacker.com\/which-programming-language-should-i-learn-first-1477153665<\/div>\n<div><\/div>\n<div>\u00a0A class is nice though not necessary. \u00a0There are also plenty of online courses and even &#8220;open courseware&#8221; through MIT, Harvard and other places. \u00a0That being said, a &#8220;certificate&#8221; my look better on a resume though open courseware is gaining some grounds there.<\/div>\n<div><\/div>\n<div>There is also this program that I hear is super awesome though I haven&#8217;t used it yet. \u00a0http:\/\/www.codecademy.com\/<\/p>\n<div><\/div>\n<div>In fact, you have inspired me to refresh my C coding skills so I&#8217;m starting on this tutorial:<\/div>\n<div><\/div>\n<div>http:\/\/lifehacker.com\/which-programming-language-should-i-learn-first-1477153665<\/div>\n<div><\/div>\n<div>I&#8217;ll probably stop half way through and hopefully make a script that calculates the total sun exposure for any one spot based on the relation of the shade-obstructions and the sun over the course of the year.<\/div>\n<\/div>\n<div><\/div>\n<div>Something like this cool web app but probably without pictures, just enter GPS coordinates and &#8220;obstruction free&#8221; angles or something and receive a graph of hours of sun a day over the course of a year. \u00a0It would be easiest for me to do something like this in Matlab or even Python but I need to get more confident in my C so C it is.<\/div>\n<div><\/div>\n<div>http:\/\/www.suncalc.net\/<\/div>\n<div><\/div>\n<div>Java is very similar to C with a bit more of a wrapper on it. \u00a0It&#8217;s simplified C if you like. \u00a0It&#8217;s also not an Object Oriented Language which is the second big hurdle in learning to program. \u00a0The first is the understanding of the following:<\/div>\n<div><\/div>\n<div>i &lt;= i + 1;<\/div>\n<div><\/div>\n<div>Once you come to understand loops, you&#8217;ve got 90% of the understanding for non-object oriented programming so that&#8217;s where you should start.<\/div>\n<div><\/div>\n<div>Another thing to consider is that getting an environment set up is (for me) the most frustrating part of the endeavor. \u00a0Some languages, particularly teaching languages, have a whole environment you need in order to get started. \u00a0Matlab is like that. \u00a0Python needs to be installed in such a way that you can compile and run via commandline, and then you want to figure out your own workflow. \u00a0I can&#8217;t recommend notepad++ for Windows and I&#8217;m an emacs user in Linux. \u00a0I&#8217;m sure there are equivalents for Mac, find one that will highlight and change all the colors and really help you with the formatting and syntax. \u00a0Start with one that is intuitive (notepad++) before you go to something super complicated with strange keystrokes (emacs).<\/div>\n<div><\/div>\n<div>One more thing, Version Control! \u00a0Use it. \u00a0Use it. Use it. \u00a0I don&#8217;t know what there is for MACs but there is TortoiseSVN for windows which is a pretty wrapper that sits on top of SVN (Subversion). \u00a0There is also GIT which is the big new thing. \u00a0If you get version control set up, make sure you put it on your resume. \u00a0It&#8217;s a thing to know. \u00a0Old people don&#8217;t understand it though it really is very simple and logical.<\/div>\n<div><\/div>\n<div>OK, that&#8217;s all I have to say on the subject. \u00a0Let me know if you have any more questions.<\/div>\n<div><\/div>\n<div>Sarah<\/div>\n<div><\/div>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>This is an odd post but I thought I&#8217;d share though I doubt anyone is reading. \u00a0I wrote this letter to my sister and brother-in-law. \u00a0He is contemplating learning a programming language and I wrote him a note to get him started. Bryson and Bekah, I hear you are thinking about learning some programming. \u00a0Yay! &hellip; <a href=\"https:\/\/www.thoughts.diysarah.com\/?p=12\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Beginning Programming: A letter<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-12","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.thoughts.diysarah.com\/index.php?rest_route=\/wp\/v2\/posts\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thoughts.diysarah.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thoughts.diysarah.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thoughts.diysarah.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thoughts.diysarah.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12"}],"version-history":[{"count":1,"href":"https:\/\/www.thoughts.diysarah.com\/index.php?rest_route=\/wp\/v2\/posts\/12\/revisions"}],"predecessor-version":[{"id":13,"href":"https:\/\/www.thoughts.diysarah.com\/index.php?rest_route=\/wp\/v2\/posts\/12\/revisions\/13"}],"wp:attachment":[{"href":"https:\/\/www.thoughts.diysarah.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thoughts.diysarah.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thoughts.diysarah.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}