domingo, 26 de julio de 2009

this, self, Me y Yo!!!

this en un puntero a el mismo objeto. Bueno puntero en c++, para ser más generico es una referencia a si mismo, a nuestro mismo objeto. Por ejemplo:

this.hacerAlgo()

Es lo mismo que decir yo hago algo.
Este puntero a si mismo es muy útil. Ya que en un lenguaje no totalmente orientado a objeto. Como se que estoy llamando un método que esta dios sabe donde esta, o es un método que esta dentro de la clase. Con this queda mucho más claro.

Bueno this es en C++, java, php, javascript; es decir todos los derivados de c++.
self es en object pascal, simula, smalltalk y ruby.
Me es en visual Basic.

La verdad creo que es la primera (y va a ser la única) vez que diga que la gente de vb hizo bien las cosas. Me me parece más intuitivo, bueno self también esta bueno pero son 4 caracteres, mucho para escribir. Me es el ganador sin duda, intuitivo y corto.

Auque no entiendo porque ningún lenguaje uso I, es intuitivo y corto. Si programáramos en castellano seria “yo” que a mi por ser de lengua española me gusta más.
Por ejemplo podría escribir:

yo.voyAHacerAlgo();

Y ustedes, ¿que piensan cual es la palabra que les gusta más para referirse a nuestro mismo objeto? ¿this, self o Me?

8 comentarios:

  1. Para mi... está mejor "self" o "this". Por el hecho de que hace referencia a un objeto, no a una persona.
    En un lenguaje de programación orientado a personas quedaría mejor "I" o "me". Pero ese es un mundo aún inexplorado. Imagino que en ese paradigma serían válidas sentencias como:
    - you.tocateUnTango()
    - you.andaALaEsquinaAVerSiLlueve()
    Mientras tanto, de mi parte, todo bien con "this" y "self".

    ResponderBorrar
  2. Jajajajja, dejen de tomar muchachos!!!
    Es muy lunes para este tipo de reflexiones!
    ...Igual los entiendo :$ y estoy de acuerdo con el ruso :p

    Saludos!!!
    PD: you.tocateUnTango() :O

    ResponderBorrar
  3. Es todo dependiendo de como lo veas, ya que para el objeto es el mismo. tengo un objeto persona, la persona dice yo.voyAtocarUnTango(); si tuvieras un objeto auto el va a decir yo.voyAAcelerar();

    Saludos!!!

    ResponderBorrar
  4. comparto con el ruso tmb...El único caso de que "yo.voyAAcelerar()" sea válido, es que te consigas el auto fantástico!!!...."yo.voyAAcelerar(Persona michaelKnight)" jajajaja

    ResponderBorrar
  5. son objetos, por eso me gusta mas la idea del this. da la idea de cosa, objeto, por eso estoy mas identificado con la primera opinion.
    estar programando y poner Me me refiero a mi. No me gusta. Tampoco me gusta VB.

    ResponderBorrar
  6. Viendo la leyenda del blog, vuelvo a caer en cuenta que no es trivial pensar bien qué palabra está bien usar. Una palabra mal elegida podría hacer que cambie la semántica.
    Ejemplos:
    Si en VB se cambiara "me" por "I", la leyenda sería "Blog de tecnología y de yo!", lo cual suena medio mapuche.
    Si lo escribiéramos en Java (que usa "this") sería: "Blog de tecnología y de este!" o "Blog de tecnología y de esta!", lo cual puede llegar a sonar bastaaante ordinario.

    ResponderBorrar
  7. jeje!!
    Muy buen ejemplo Román!!!
    Vos decis que cambie el nombre a :
    Blog de tecnología y de this!

    ResponderBorrar
  8. "Me", sin duda. Me gano la vida con VB, así que más vale que me guste.

    ResponderBorrar