Reviewing some of the fine points of Java, I noted some things. - TopicsExpress



          

Reviewing some of the fine points of Java, I noted some things. First and foremost, from a pedagogic standpoint, Java makes no sense. For instance, type promotion, while reasonable in certain limited instances like evaluating expressions with mixed types, is simply NONSENSE in other, more common instances: if you work with basic types byte, char, or short, they are automatically promoted to integer types; thus, for working with bytes, a common task, you have to explicitly CAST the evaluated term BACK to bytes; if you are working with char (characters), you have to explicitly cast them back to characters from integers - where you work with, lets say x, y, z, these would automatically become 88, 89, 90 - why? Unless explicitly coded, this promotion should actually be removed altogether, since characters used in expressions to stand for variables are obviously variables - and if they were not, if they were used as characters, explicitly using them with a concatenation operation would likewise be obvious. Thus, from a pedagogic standpoint, because of things like this, which ABOUND in Java, the learning curve is unnecessarily rough due to built-in unintuitive design features. There is no getting AROUND Java. It runs on 20 million+ computers. You buy a computer, its already IN there, running your internet. It does its job excellently, user end; and yet, the need for CODER-end simplicity is obviated by the fact that Hickey created Clojure to run on the JVM and moreso by the fact that Odersky, who was actually ON the initial Java team, doing work on the Javac - the compiler - and on the language committee, left that project only to create Scala, which is basically a logical upgrade of the Java implementation. Where Clojure provides low ceremony and the elegance of Lisp, Scala provides the familiar FEEL of Java, with low ceremony and more sane features. You dont have to explicitly end expressions with semicolons in Scala, for instance, and your use of brackets/parentheses turns features on and off - these features are cutting-edge, too, taking either the most sensible of object orientation, OR - more important to the JVM - taking the contemporary features from the functional paradigm of coding: list comprehensions, optional mutability, etc. Oderskys creation is sweet in the way that Haskell is - that is, it feels more like a machine, where you turn things on and off INLINE - you neednt declare cryptic statements in your initial code, such as the strange ceremony of public static void main. Its relevant updates being important to the JVM include better thread handling and generally altogether better safety for creating bytecode that takes advantage of contemporary multi-core chips. Scala, unlike Clojure, is still imperative-style in its required explicit ordering of expressions, so it[s not such a cognitive leap for all the tons of coders used to that way of thinking, but it offers them some cool shit they probably arent hip to without knowing something like Scheme or Common Lisp. Altogether, regardless of which language you choose - and all can be mixed, where Clojure or Scala code can call Java libraries - the bytecode will come out being readable by the Java Virtual Machine (a virtual machine that really changed the way we think about portability, and a virtual machine constantly improving - which it BETTER, considering the brilliance the LLVM is showing itself to possess!). The fundamental huge bonus of learning these three languages all at once is that the concepts of each are solidified in the mind through comparison - each language stands in relief to the others so that as you input code to do this or that thing, you find yourself saying, Ahhh! The JVM becomes a better understood machine through the commonality between the three that it enforces, as well. For me personally, strangely enough, Haskell, which I havent picked up in months, actually makes more sense through these other languages, since the fourth-gen languages (Scala and Clojure) share many features which differ only in the idiomatic grammars implemented. In fact, Id venture to say that in the long run, the lefty method of madness, where chaotically, different languages are taken up as a study in comparison of particular global concepts, develops the neophyte into a complete coder, a true hacker rather than an expert in one language or paradigm. Striving to know PROGRAMMING and not just a language, will eventually allow the mature coder to: 1) possess a very rare skillset that is easily marketable - like being multi-lingual in a workplace allows you to manage a multi-lingual team or multi-national open source project, understanding coding as a global concept and knowing how to make that paradigmatic shift allows you empathy, an ability to see the project through various team members eyes, transforms the project into perhaps pieces where the various paradigms come in handy, say client-side/server-side; 2) analyze algorithms according to which languages would most efficiently EXPRESS those algorithms - coding is an art, not some dry robotic enterprise, and like knowing that Latin has been informed by the Roman talent for administration and thus appears to be more logically the language of law and biology, whereas the Greek gift for allegory and imaginative symbolic thought in general makes Greek the language of the arts and, say, psychology (who, for instance, was the inspiration for the word psyche?), allows one a preeminence in spelling bees, for instance (my 6th grade secret weapon), so understanding the fascinating linguistic family trees of code makes one not just an expert of the science of coding but also a philosopher of a humanistic discipline, where code is certainly an anthropological instance of important tool-making advances where the shift from manual tool to cerebral tool will more certainly effect the evolution of a planet, from a cultural AND biological standpoint than any other technological advance since the wheel. By fooling the mind into seeing THIS as the ultimate goal in meditation (meditation - the first form of programming - is so powerful that it makes the mind malleable enough to alter its function and ability), learning coding is really a trivial pursuit. When your peruse Youtube for various topics relating to technology startups, inventions and innovations - often but not always from press releases and lectures given at top universities worldwide - you get to meet these people who are so much MORE than distracted abstract thinkers out of touch with humanity - as if ANY pursuit a human undertakes could be divorced from what is considered humanism. Few but da Vinci understood what the hell da Vinci was up to in is own time, where we take for granted much of his work now - and yet we do not separate him from the humanistic movement known as the Renaissance - thus it is that popular approval and understanding of a pursuit does not validate it in all instances. What you meet with in watching these lectures at M.I.T. or CalTech or Edinburgh or Glasgow are passionate personable polyglots, as quick to make comparisons of their work with Mozart or Miles as with Schoedinger or Euler. This is no arbitrary choice of examples, with whole textbooks being devoted to, say, non-deterministic methods of coding improvising agents in computer music - by a jazz pianist whose day gig is teaching computer science, no less! These are the kinds of people at the forefront of so many exciting things (and if you jazz cats out there scoff at computer music, consider the uses of intelligent agents able to comp under your solo as you try out a few bars of some composition you might be writing - an agent, say, capable of trying out various voicings and chord substitutions - randomly - while a human might not sit and tirelessly put up with such noodling all night, well, a computer might outplay YOU, running random experiments over your input chord sequencing while you sleep - and recording it all for your review when you wake up!). At any rate, the most exciting, intriguing, and stimulating intellectual foment exists within the unprecedented ubiquity of humanitys most strange tool: the computer. I almost believe it alters the brain, pruning and grafting synaptic connections by forcing the student [lifelong process] to juggle seemingly disparate ways of thinking. There are no doubt psychologists working on just such ruminations. Two cents for the caffeine.
Posted on: Thu, 20 Mar 2014 19:30:45 +0000

Trending Topics



ref="http://www.topicsexpress.com/Joe-Black-Autographed-Hand-Signed-Baseball-I-wish-you-big-topic-331373940335758">Joe Black Autographed/Hand Signed Baseball I wish you big
▷▷▷ Cyber Monday Deals JVC HD52G787 100 Watt TV Lamp
Well, St. Paul...clearly, the joke is on us. Yesterday, I silently
Hehehe!!!!! ✻ღϠ₡ღ✻ SHARE TO SAVE
LAWS OF TRINIDAD AND TOBAGO THE CONSTITUTION OF THE REPUBLIC OF
New jobs updated on Loker365.COM SHIMANO BATAM, PT

Recently Viewed Topics




© 2015