{"id":4034,"date":"2018-02-27T16:02:53","date_gmt":"2018-02-27T23:02:53","guid":{"rendered":"http:\/\/www.contrapositivediary.com\/?p=4034"},"modified":"2018-02-27T16:03:52","modified_gmt":"2018-02-27T23:03:52","slug":"new-revision-of-freepascal-from-square-one-is-now-up","status":"publish","type":"post","link":"http:\/\/www.contrapositivediary.com\/?p=4034","title":{"rendered":"New Revision of <i>FreePascal from Square One<\/i> Is Now Up"},"content":{"rendered":"<p>I just uploaded <a href= \"http:\/\/www.copperwood.com\/pub\/FreePascalFromSquareOne.pdf\" target= \"_blank\">a new, corrected and expanded PDF ebook edition of <em>FreePascal from Square One<\/em><\/a> to my website. It&#8217;s free, and (remarkably) it&#8217;s closing in on completion. It&#8217;s laid out for the A4 paper size, largely because there&#8217;s so much Pascal activity outside the US. You can read it on a screen, or else print it to paper to put in a binder. It&#8217;s currently at 294 pages, and when complete I hope to keep it under 325 pages, since that&#8217;s a <em>whole<\/em> lot of paper to print, punch, and bind.<\/p>\n<p>Still to be covered are the standard string functions, locality and scope, and simple file\/printer I\/O. That&#8217;s not a lot of material, and some of it has already been rewritten and edited.<\/p>\n<p>For those who haven&#8217;t heard of it before, let me describe the project: I&#8217;ve taken my 1993 book <em>Borland Pascal 7 from Square One<\/em> and heavily rewritten parts of it for FreePascal. <em>Borland Pascal 7 from Square One<\/em> was the fourth and last edition of my very first technical book, <em>Complete Turbo Pascal<\/em>, published in May, 1985. That title, by the way, was forced on me by the (now extinct) publisher. Its original manuscript title was <em>Turbo Pascal from Square One<\/em>. The four editions taken together were in print for almost ten years and sold about 125,000 copies back in the 80s and early 90s.<\/p>\n<p>The book&#8217;s mission is to be what <em>Assembly Language Step By Step<\/em> is to assembly language: An absolute beginner&#8217;s tutorial on programming in Pascal. This includes people who have not yet learned what programming is and have never written a line of code in their lives. I start by explaining the ideas of programming, and move from there to Pascal. FreePascal is my compiler of choice, largely because it&#8217;s free, but even more because it comes with the Lazarus IDE, which contains a superb GUI builder very similar to the one present in Delphi. <em>FreePascal from Square One<\/em> doesn&#8217;t cover Lazarus beyond installing it and using the code editor. Specifically, it doesn&#8217;t cover the GUI builder or Windows programming generally. The example programs all run in the console window.<\/p>\n<p>More than half of the original book explains things that no longer apply: DOS programming, overlays, the Borland Graphics Interface, tinkering the interrupt vector table, and so on. All of that is gone. I&#8217;ve made a decision to stop just before OOP, and will begin a Lazarus book with a thorough explanation of OOP and software components. I&#8217;m also leaving out pointers, since the topic is heavily intertwingled (to use a wonderful Ted Nelsonism) with OOP.<\/p>\n<p>I intend to keep writing books of new material about Lazarus as time allows, and will sell them as PDF ebooks and spiral-bound POD paperbacks. No timetable; I&#8217;m trying to write SFF novels mostly, and will work on Lazarus projects as time allows. We&#8217;ve spent the last couple of years working on our Scottsdale house, but that&#8217;s largely finished, and I expect a lot more free time in the next few years. So stay tuned. I may do one more &#8220;unfinished&#8221; upload, but after that I expect to put the wraps on it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I just uploaded a new, corrected and expanded PDF ebook edition of FreePascal from Square One to my website. It&#8217;s free, and (remarkably) it&#8217;s closing in on completion. It&#8217;s laid out for the A4 paper size, largely because there&#8217;s so much Pascal activity outside the US. You can read it on a screen, or else [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[17,90,32],"class_list":["post-4034","post","type-post","status-publish","format-standard","hentry","category-tutorials","tag-ebooks","tag-pascal","tag-programming"],"_links":{"self":[{"href":"http:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts\/4034","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4034"}],"version-history":[{"count":3,"href":"http:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts\/4034\/revisions"}],"predecessor-version":[{"id":4037,"href":"http:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts\/4034\/revisions\/4037"}],"wp:attachment":[{"href":"http:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4034"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4034"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}