tag:blogger.com,1999:blog-20633170.post7937130337095305853..comments2023-11-03T10:08:09.830+00:00Comments on Graeme Rocher's Blog: Why is Bruce Eckel arguing about typing?Graeme Rocherhttp://www.blogger.com/profile/12301973191113958910noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-20633170.post-52946255995576195482006-11-24T12:02:00.000+00:002006-11-24T12:02:00.000+00:00The difference is that sure, you get something fro...The difference is that sure, you get something from static typing... but you can't always have it anyway and nobody seems to be interesting in providing a solution to these corner-cases in Java. I.e. a ton of markup, JDBC SQL or JPQL which is heavily used on any enterprise backend, is not type checked in any way, shape or form: <br /><br />SELECT [Everything in the universe] from [Every possible tablename in the universe]<br /><br />And what about the half-hearted implementation of generics? The type information is lost so good luck getting assistance from reflection/introspection on these.<br /><br />The dynamic camp argues that a quick write-run-debug cycle (compared to having to wait for an app server, compilation etc.) and unittests achieves the same but faster. After all, people did program before we had these very fancy IDE's. I like the productivity of dynamic languages and have more trust in these (Groovy, Grails, F3 etc.) than Java itself on the JVM. Especially if the JRE is modualized down to a headless core and gets a package management system for the rest a la gems/cpan.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-20633170.post-1034128967976342522006-11-21T17:49:00.000+00:002006-11-21T17:49:00.000+00:00Specifically:
'come from' (CTRL+SHIFT+H in mac bi...Specifically:<br /><br />'come from' (CTRL+SHIFT+H in mac bindings eclipse): Find all places in the entire project which might call on this code.<br /><br />'follow' (CMD+CLICK): Where is this identifier defined/take me to this method or class description.<br /><br />'auto-complete' (CTRL+SPACE): Given this expression, what kinda things can I do with this?<br /><br />'javadoc popup (MOUSE-OVER): What's this method actually supposed to do?<br /><br /><br />These tools are invaluable. The all-objects-are-maps tactics used by e.g. Ruby, Python and Javascript make all of that fundamentally impossible to do right.<br /><br />I hear a lot of python folk state that auto-complete 'sort of works', but how could it?<br /><br />def someFunction(someParameter):<br /> someParameter(press CTRL+SPACE here)<br /><br />now what? There's no way to figure out what someParameter could be - halting problem being what it is.<br /><br />I don't really get the care given to Bruce's arguments. Anyone who thinks static typing is there to help you avoid your local language's equivalent of the ClassCastException is clearly an idiot. I know that's harsh language, but, if you've used java for so many years, and you never realized the fancy stunts you can pull with all that typing information, you just Fail It.<br /><br />Am I missing something?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-20633170.post-35460223133480785512006-11-14T17:09:00.000+00:002006-11-14T17:09:00.000+00:00I agree with your thought that Groovy will become ...I agree with your thought that Groovy will become the dynamic language of choice because it allows you to skip the verbosity for a good deal of the tasks, but at the same time use and build on all of the tools and projects that have come out for java. <br /><br />And lets not forget Grails....translucent_eyehttps://www.blogger.com/profile/00216737416086651915noreply@blogger.comtag:blogger.com,1999:blog-20633170.post-74772042593589069882006-11-10T15:28:00.000+00:002006-11-10T15:28:00.000+00:00If you have the option (tech insight, product oppe...If you have the option (tech insight, product oppertunity and mandate by management) surely go for the right tool for the job! <br /><br />However in my experiences, this is rarely the norm. The words "Here we program in Java" coming from an authority acts as a law/standard which weighs heavier than everyday productivity and programmer happiness (which usually requires a succeedingly better medium of expression).<br /><br />And didn't Java set out to achive exactly this, one language to rule them all? In the browser, on the server, on the desktop and in embedded devices.<br /><br />Bruce Eckel has moved on from Java, as have indeed many other revolutionary "hacking personalities". I myself am at a frustrating Java lock-in and is trying to come togehter with the fact that the neat language/API I got to know as Java 1.2 with ~4000 classes is now a monster of ~16.000 classes and being patched up in various half-hearted ways.Anonymousnoreply@blogger.com