Reminds me of the Zen saying: "In the beginner's mind there are many possibilities. In the expert's mind there are few." -----Original Message----- >From: Justin Coyne <[log in to unmask]> >Sent: Feb 21, 2013 11:59 AM >To: [log in to unmask] >Subject: Re: [CODE4LIB] You are a *pedantic* coder. So what am I? > >Ian, I have to caution against taking the attitude "we only code in what we >already know". Of course you are going to be able to hit the ground >running faster in what you are expert in. Putting on the blinders is a >great way to become irrelevant in the technology sphere. If you want to be >a better coder, there is no better way than to learn a new language, and >actually do a project in it. The insights you find in doing this will make >you a better coder when your go back to doing whatever it was you were >doing before. > >-Justin > > >On Thu, Feb 21, 2013 at 11:53 AM, Ian Walls <[log in to unmask]>wrote: > >> Agreed. Each language has its own strengths and weaknesses. Pick the one >> that works best for your situation, factoring in not only what the >> application needs to do, but your and your team's level of experience, and >> the overall community context in which the project will live. The >> peculiarities of a given languages truth tables, for example, can easily >> get washed out of the calculation when you consider what languages you know >> and what platforms your institution supports. >> >> >> -Ian >> >> -----Original Message----- >> From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of >> Ethan Gruber >> Sent: Thursday, February 21, 2013 12:45 PM >> To: [log in to unmask] >> Subject: Re: [CODE4LIB] You are a *pedantic* coder. So what am I? >> >> Look, I'm sure we can list the many ways different languages fail to meet >> our expectations, but is this really a constructive line of conversation? >> >> -1 >> >> >> On Thu, Feb 21, 2013 at 12:40 PM, Justin Coyne >> <[log in to unmask]>wrote: >> >> > I did misspeak a bit. You can override static methods in Java. My >> > major issue is that there is no "getClass()" within a static method, >> > so when the static method is being run in the context of the >> > inheriting class it is unaware of its own run context. >> > >> > For example: I want the output to be "Hi from bar", but it's "Hi from >> foo": >> > >> > class Foo { >> > public static void sayHello() { >> > hi(); >> > } >> > public static void hi() { >> > System.out.println("Hi from foo"); >> > } >> > } >> > >> > class Bar extends Foo { >> > >> > public static void hi() { >> > System.out.println("Hi from bar"); >> > } >> > } >> > >> > class Test { >> > public static void main(String [ ] args) { >> > Bar.sayHello(); >> > } >> > } >> > >> > >> > -Justin >> > >> > >> > >> > On Thu, Feb 21, 2013 at 11:18 AM, Eric Hellman <[log in to unmask]> wrote: >> > >> > > OK, pedant, tell us why you think methods that can be over-ridden >> > > are static. >> > > Also, tell us why you think classes in Java are not instances of >> > > java.lang.Class >> > > >> > > >> > > On Feb 18, 2013, at 1:39 PM, Justin Coyne >> > > <[log in to unmask]> >> > > wrote: >> > > >> > > > To be pedantic, Ruby and JavaScript are more Object Oriented than >> > > > Java because they don't have primitives and (in Ruby's case) >> > > > because classes >> > > are >> > > > themselves objects. Unlike Java, both Python and Ruby can properly >> > > > override of static methods on sub-classes. The Java language made >> > > > many compromises as it was designed as a bridge to Object Oriented >> > programming >> > > > for programmers who were used to writing C and C++. >> > > > >> > > > -Justin >> > > > >> > > >> > >>