Print

Print


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
>> > > >
>> > >
>> >
>>