{"id":42,"date":"2004-01-16T23:29:33","date_gmt":"2004-01-16T23:29:33","guid":{"rendered":"http:\/\/localhost:8000\/?p=42"},"modified":"2004-01-16T23:29:33","modified_gmt":"2004-01-16T23:29:33","slug":"language-book-intros","status":"publish","type":"post","link":"https:\/\/blog.gwadej.org\/programmer-musings\/2004\/01\/language-book-intros\/","title":{"rendered":"Language Book Intros"},"content":{"rendered":"<p>In the past year, I&#8217;ve had to move my Java programming skills from <em>recognize the language at twenty paces<\/em> to <em>professional Java programmer<\/em>. In the process, I&#8217;ve been reading a number of books on the language. This has been my approach to learning every language I&#8217;ve ever worked with.<\/p>\n<p>Almost all of the Java books have seemed to have a chapter or section in common that I haven&#8217;t seen anywhere else. Does anyone know for certain if it is mandatory that every Java book has a <em>bash the other languages<\/em> chapter?<\/p>\n<p>Maybe I&#8217;ve just had bad luck in picking books, but it does seem that almost every one that I have read has a chapter like this. They harp on <em>obviously inherently insecure C<\/em>, <em>dangerous, convoluted C++<\/em>, <em>lowly scripting languages like Perl<\/em>, and many other real or imagined flaws of other languages.<\/p>\n<p>Now I do understand that programmers can become quite passionate about their favorite language. Ask almost any programmer about which language is best, or most powerful, and you can expect a <em>lively<\/em> discussion. But, I really don&#8217;t recall this kind of diatribe in any other language books that I&#8217;ve read.<\/p>\n<p>When I was first learning the C++ programming language (nine or ten years ago), some books devoted space to how C++ allowed for better abstractions and potentially more maintainable code than C. But, this information wasn&#8217;t in every book and it was not an attack on C. It framed more as enhanced features for solving different kinds of problems.<\/p>\n<p>When I was first learning the Perl programming language (over ten years ago), most of the books talked about ability to get work done and programmer efficiency. I do remember discussions of using Perl instead of combinations of AWK, sed, and shell scripting. But, I don&#8217;t recall any attacks on other languages.<\/p>\n<p>When I was learning the C programming language (over fifteen years ago), there was almost no mention of other languages in the books I read. There was a lot of talk of solving problems and a strong impression that you could solve any kind of program with C.<\/p>\n<p>Even when I was learning the Forth programming language, there was a lot of talk in the books about the <em>Forth way of solving problems<\/em>, but other languages were not attacked.<\/p>\n<p>The same holds true for every other computer language I have learned including Fortran, Lisp, Basic, and x86 assembler. No books on any of these languages spent much time on the flaws of other languages, they focused on getting a job (or all jobs) done using this language.<\/p>\n<p>One of my biggest gripes about this approach is the waste of space I end up paying for when I buy the book. If I&#8217;m buying a book on a particular programming language, I&#8217;ve already made the decision that I will be using the language (at least for the current project). At this point, I wish to learn syntax, idioms, tools, and approaches to solving problems with the language. I am not looking to be convinced that this language is the embodiment of <em>the One, True Way<\/em> to program.<\/p>\n<p>I&#8217;m not looking for <em>the One, True Way<\/em> to program. I have many languages in my toolkit. I try to use the best one for each job.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the past year, I&#8217;ve had to move my Java programming skills from recognize the language at twenty paces to professional Java programmer. In the process, I&#8217;ve been reading a number of books on the language. This has been my approach to learning every language I&#8217;ve ever worked with. Almost all of the Java books\u2026 <span class=\"read-more\"><a href=\"https:\/\/blog.gwadej.org\/programmer-musings\/2004\/01\/language-book-intros\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[43,50,53,61,62,142,162,182,189,196],"_links":{"self":[{"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/posts\/42"}],"collection":[{"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/comments?post=42"}],"version-history":[{"count":0,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/posts\/42\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/media?parent=42"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/categories?post=42"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/tags?post=42"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}