User Tag List

Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 24

Tema: pregunta MUY TONTA sobre php

  1. #1

    Fecha de ingreso
    Jun 2006
    Mensajes
    4,556
    Mencionado
    41 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,259
    Agradecer Thanks Received 
    698
    Thanked in
    Agradecido 425 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6

    pregunta MUY TONTA sobre php

    Hola. Tengo una pregunta de concepto sobre php. Es una solemne chorrada, pero he buscado por internet y no encuentro nada al respecto.

    Se trata de lo siguiente. ¿Por qué no se usa sintaxis de punto en los objetos creados con php? Es decir, ¿por qué se hace "objeto->metodo()" en lugar de "objeto.metodo()"?

    Estoy metido en php desde hace pocos dias, y me jode bastante que en cada lenguaje te cambien estos detalles cuando lo que deberían hacer es tratar que los operadores y la sintaxis en general fuesen lo más homogéneos posibles. Parece que lo hagan a aposta para confundir. Ahora estás con C++ o C# y te has de acordar de que tal operador no es como lo hacias en java, o tal cosa es así o asá según el lenguaje (sin que, a mi entender, esos cambios tengan razón de ser).

    Volviendo a mi pregunta, ya sé que quizá lo hacen porque en php ya se usa el punto para concatenar cadenas, pero esa es otra que no entiendo, si en todos los lenguajes que he visto concatenan con el operador "+".

    Qué ganas de hacer las cosas diferentes porque sí, j0der.

    Pues nada, gracias y perdonad semejante soplaflautez de pregunta.
    Última edición por akualung; 25/03/2010 a las 04:22

  2. #2

    Fecha de ingreso
    Mar 2005
    Mensajes
    3,143
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    29
    Thanked in
    Agradecido 19 veces en [ARG:2 UNDEFINED] posts
    Porque esa característica es una de las muchas heredadas de Perl, donde los métodos de los 'objetos' se acceden con -> y se concatena con .

    Saludos, Alex

  3. #3

    Fecha de ingreso
    Mar 2008
    Ubicación
    Aquí
    Mensajes
    2,205
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    15
    Cita Iniciado por PharaOnyx Ver mensaje
    Porque esa característica es una de las muchas heredadas de Perl, donde los métodos de los 'objetos' se acceden con -> y se concatena con .

    Saludos, Alex
    +1 me lo has quitado

    De todas formas, que más quisieramos muchos programadores que eso mismo que dices, que los lenguajes sean algo más uniformes en operadores etc.

  4. #4

    Fecha de ingreso
    Jun 2006
    Mensajes
    4,556
    Mencionado
    41 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,259
    Agradecer Thanks Received 
    698
    Thanked in
    Agradecido 425 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6
    Joer, qué rapidez en las respuestas, jeje. Muchas gracias a los dos por aclararme la duda.

    Yo pensaba que igual el "cambio" se debía a "matemáticos listillos" que hicieran piña para cambiar cosas. Me explicó un día un profesor que la razón por la que existe el operador de incremento (variable++) era porque muchos matemáticos se quejaron de que "variable = variable+1" era una incoherencia desde el punto de vista de las matemáticas y "chirriaba a la vista". No sé si me tomó el pelo, sólo reproduzco lo que él me dijo.

    Además, lo encuentro una chorrada, ya que si quieres incrementar la variable en un valor mayor a 1, tienes que seguir usando igualmente la igualación "proscrita", ya que hasta donde yo sé, no existe "variable++2", "variable++5" o "variable++40". Corregidme si me equivoco.
    Última edición por akualung; 25/03/2010 a las 04:23

  5. #5

    Fecha de ingreso
    Mar 2005
    Mensajes
    3,143
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    29
    Thanked in
    Agradecido 19 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por akualung Ver mensaje
    Además, lo encuentro una chorrada, ya que si quieres incrementar al variable en un valor mayor a 1, tienes que seguir usando igualmente la igualación "proscrita", ya que hasta donde yo sé, no existe "variable++2", "variable++5" o "variable++40". Corregidme si me equivoco.
    Yo al menos no lo he visto. Pero claro, con tantísimos lenguajes de programación sueltos por ahí... vete a saber x'D

    Para incrementar tienes los clásicos:

    $variable=$variable+1
    $variable+=1
    $variable++
    ++$variable

    Saludos, Alex

    edito: realmente $variable=$variable+1 y $variable++ no se procesan igual (por norma general), aunque el resultado sea el mismo

  6. #6

    Fecha de ingreso
    Jan 2007
    Ubicación
    Ciudad Catedral, Reino de Dick
    Mensajes
    3,638
    Mencionado
    7 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    151
    Agradecer Thanks Received 
    100
    Thanked in
    Agradecido 79 veces en [ARG:2 UNDEFINED] posts
    <never-mind>
    Última edición por Ñuño Martínez; 28/08/2009 a las 12:07 Razón: Tardé mucho en contestar y me lo han pisado.
    Proyectos actuales ----> MinGRo
    Entorno de desarrollo ----> FreePascal | Vim

  7. #7

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    10,568
    Mencionado
    93 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    442
    Agradecer Thanks Received 
    2,034
    Thanked in
    Agradecido 1,071 veces en [ARG:2 UNDEFINED] posts
    Pero sí existen "variable+=2", "variable+=5" o "variable+=40" en muchos lenguajes

    En otros muchos no existe variable++, por cierto.

  8. #8

    Fecha de ingreso
    Jan 2007
    Ubicación
    Ciudad Catedral, Reino de Dick
    Mensajes
    3,638
    Mencionado
    7 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    151
    Agradecer Thanks Received 
    100
    Thanked in
    Agradecido 79 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por PharaOnyx Ver mensaje
    edito: realmente $variable=$variable+1 y $variable++ no se procesan igual (por norma general), aunque el resultado sea el mismo
    Depende del lenguaje, el contexto y el nivel de optimización. Pasa algo parecido con
    Código:
    var2 = ++var1;
    y

    Código:
    var1++; var2 = var1;
    El resultado es el mismo, pero puede que se traduzca a distintos códigos máquina.
    Proyectos actuales ----> MinGRo
    Entorno de desarrollo ----> FreePascal | Vim

  9. #9

    Fecha de ingreso
    Jun 2006
    Mensajes
    4,556
    Mencionado
    41 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,259
    Agradecer Thanks Received 
    698
    Thanked in
    Agradecido 425 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6
    Cita Iniciado por juanvvc Ver mensaje
    Pero sí existen "variable+=2", "variable+=5" o "variable+=40" en muchos lenguajes

    En otros muchos no existe variable++, por cierto.
    DIOSSSS, ES VERDAD!!! Y además lo he usado un montón de veces. Ostia, mira que olvidarme. Jo, qué ridículo más espantoso, corramos un tupido velo, jeje.

    Merci por la puntualización, juanvvc

  10. #10

    Fecha de ingreso
    Mar 2005
    Mensajes
    3,143
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    29
    Thanked in
    Agradecido 19 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Ñuño Martínez Ver mensaje
    Depende del lenguaje, el contexto y el nivel de optimización. Pasa algo parecido con
    Código:
    var2 = ++var1;
    y

    Código:
    var1++; var2 = var1;
    El resultado es el mismo, pero puede que se traduzca a distintos códigos máquina.
    Claro, precisamente por eso puse 'por norma general' x'D

    Normalmente un $variable++ se traduce en un INC (que simplemente incrementa el contenido de una posición de memoria) y $variable=$variable+1 es un ADD (que crea otra variable para realizar la suma y luego copia el resultado en la primera variable)

    Saludos, Alex

  11. #11

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    24,950
    Mencionado
    296 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    6,627
    Agradecer Thanks Received 
    6,898
    Thanked in
    Agradecido 4,470 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    Cuanto sabio que hay por aqui :P

  12. #12

    Fecha de ingreso
    Aug 2003
    Mensajes
    14,380
    Mencionado
    49 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    116
    Agradecer Thanks Received 
    284
    Thanked in
    Agradecido 183 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    Pues si.

  13. #13

    Fecha de ingreso
    May 2008
    Ubicación
    A tu lado, en tus sueños
    Mensajes
    22,294
    Mencionado
    145 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    319
    Agradecer Thanks Received 
    553
    Thanked in
    Agradecido 425 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    3
    Cita Iniciado por akualung Ver mensaje

    Qué ganas de hacer las cosas diferentes porque sí, j0der.
    Si es para ser igual no veo razón de existir.
    En la diferencia esta lo bueno, para eso seguiriamos programando en Simula o Fortran.

  14. #14

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    24,950
    Mencionado
    296 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    6,627
    Agradecer Thanks Received 
    6,898
    Thanked in
    Agradecido 4,470 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1

  15. #15

    Fecha de ingreso
    May 2008
    Ubicación
    A tu lado, en tus sueños
    Mensajes
    22,294
    Mencionado
    145 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    319
    Agradecer Thanks Received 
    553
    Thanked in
    Agradecido 425 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    3
    Cita Iniciado por josepzin Ver mensaje
    O en BASIC :P
    No porque seria diferente del anterior (malditos autores que lo han echo distinto)

Página 1 de 2 12 ÚltimoÚltimo

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •