{"id":186,"date":"2005-12-30T22:17:00","date_gmt":"2005-12-31T02:17:00","guid":{"rendered":"http:\/\/www.kosmo.com\/blogs\/techno\/?p=186"},"modified":"2005-12-30T22:17:00","modified_gmt":"2005-12-31T02:17:00","slug":"the-perils-of-javaschools","status":"publish","type":"post","link":"https:\/\/www.kosmo.com\/blogs\/techno\/?p=186","title":{"rendered":"The Perils of JavaSchools"},"content":{"rendered":"<p>As per usual another <a href=\"http:\/\/www.joelonsoftware.com\/articles\/ThePerilsofJavaSchools.html\">excellent article<\/a> by Joel Spolsky:<\/p>\n<blockquote dir=ltr style=\"MARGIN-RIGHT: 0px\">\n<p>Instead what I&#39;d like to claim is that Java is not, generally, a hard enough programming language that it can be used to discriminate between great programmers and mediocre programmers. It may be a fine language to work in, but that&#39;s not today&#39;s topic. I would even go so far as to say that the fact that Java is not hard enough is a feature, not a bug, but it does have this one problem.<\/p>\n<p>If I may be so brash, it has been my humble experience that there are two things traditionally taught in universities as a part of a computer science curriculum which many people just never really fully comprehend: pointers and recursion.<\/p>\n<\/blockquote>\n<p dir=ltr>When I went to University, we were never taught a language. We were expected to already know it or learn it overnight to do an assignment. Depending on what theories they were teaching we&#39;d use any number of languages like Cobol (maybe one assignment), Fortran, Pascal, Lisp, Prolog, Ada, and &#8220;C&#8221; (I&#39;m probably missing a few). Of course anything serious in later years was programmed in &#8220;C&#8221;&nbsp;(with Assembler where required).<\/p>\n<p dir=ltr>This next paragraph from Joel brings back just way too many memories. I wouldn&#39;t want to try and figure out how many hours in my University life were spent chasing down the all too familiar &#8220;segmentation fault&#8221;:<\/p>\n<blockquote dir=ltr style=\"MARGIN-RIGHT: 0px\">\n<p dir=ltr>The lucky kids of JavaSchools are never going to get weird segfaults trying to implement pointer-based hash tables. They&#39;re never going to go stark, raving mad trying to pack things into bits. They&#39;ll never have to get their head around how, in a purely functional program, the value of a variable never changes, and yet, it changes all the time! A paradox!<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>As per usual another excellent article by Joel Spolsky: Instead what I&#39;d like to claim is that Java is not, generally, a hard enough programming language that it can be used to discriminate between great programmers and mediocre programmers. It may be a fine language to work in, but that&#39;s not today&#39;s topic. I would [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-186","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/www.kosmo.com\/blogs\/techno\/index.php?rest_route=\/wp\/v2\/posts\/186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kosmo.com\/blogs\/techno\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kosmo.com\/blogs\/techno\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kosmo.com\/blogs\/techno\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kosmo.com\/blogs\/techno\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=186"}],"version-history":[{"count":0,"href":"https:\/\/www.kosmo.com\/blogs\/techno\/index.php?rest_route=\/wp\/v2\/posts\/186\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.kosmo.com\/blogs\/techno\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kosmo.com\/blogs\/techno\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kosmo.com\/blogs\/techno\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}