7

Acabo de ver una pregunta en el Stack Overflow en español cuyo título es:

Como pushear datos en un array vacio cada que vez que una funcion en disparada

Como "pushear" datos en un array vacío ...

Pushear es obviamente una mala traducción. Para quienes no lo sepan, el método push se utiliza para añadir un elemento al final de un array.

Mi pregunta es: ¿Cómo traducir push en el ámbito de la programación? Palabras cómo añadir o agregar no son lo bastante exactas, mientras que palabras como "pushear" son una mala traducción.

3
  • 3
    Para un array, yo usaría añadir o insertar, pero si fuera el "push" que se hace en git, por ejemplo, usaría "subir".
    – Diego
    Oct 25, 2018 at 15:14
  • I would have said there were distinct meaning of push in programming. If you have a stack you push a new item onto it and you pop an item off it. If you are talking about the flow of information you push something to someone as an alternative to them having to pull it from you. So e-mail is a push system, Twitter a pull one. Can you give a link to the question on SO in Spanish?
    – mdewey
    Oct 25, 2018 at 16:14
  • Thank you @murderofcrows unfortunately I do not speak javascript so not sure what it is doing but it looks like a stack is being used.
    – mdewey
    Oct 25, 2018 at 17:40

3 Answers 3

6

Coincido con @murderofcrows en que probablemente la pregunta a la que te refieres es esta

Sin ánimo de ofender a la persona que hacía la pregunta original, a mí el título me parece un engendro. "Como pushear datos en un array vacio cada que vez que una funcion en disparada".

Pero retomando el hilo de tu pregunta, la operación push se aplica sobre tipos abstractos de datos LIFO - Last In, First Out (Último dentro, primero fuera) -, comúnmente conocidos como pilas en castellano y stack en inglés. Las operaciones que puedes hacer sobre una pila son push y pop, que normalmente se traducen acertadamente como apilar y desapilar.

No son operaciones que normalmente se hagan sobre un array, tipo de datos que no tiene una traducción universal al castellano al contrario que pila. He llegado a leerlo como "arreglo". Yo lo traduciría como casillero, en cuanto que es un conjunto de casillas numeradas que pueden contener objetos.

La operación que se usa para poner objetos en una casilla o posición del array es la asignación. Se asigna un objeto a una posición determinada. Podrías emplear insertar también, pero no refleja fielmente lo que ocurre realmente, pues no se suelen emplear métodos put/insert sobre los arrays.

En el ejemplo, no se está haciendo la asignación directamente, se está empleando una envoltura (wrapper) que simula el comportamiento de una pila sobre un array, de forma que el programador se despreocupe de la gestión de posiciones del array. Por eso se emplea el método push. La acción no es pushear ni empujar ni nada parecido, la acción correcta es invocar el método push. El método se llama exactamente así "push", no es posible traducirlo al castellano porque no hay ningún método pushear ni apilar en ningún sitio.

Si el método se llamara pushAtTheEnd, los ingleses no usarían la expresión "do the pushAtTheEnding" o "execute the pushAtTheEnding", sino "invoke the method pushAtTheEnd".

Por último, las funciones se invocan, son los eventos los que se lanzan o disparan. Otra más de las traducciones incorrectas que aparecen en título y texto originales.

En el mundo de la programación, yo recomendaría aprender inglés antes que intentar traducir al castellano. Los lenguajes de programación tienen definidos sus objetos y métodos en inglés; la mayoría de la bibliografía, física y on-line, está en inglés; la mayoría de programadores e ingenieros es capaz de comunicarse en inglés y el mejor sitio para resolver dudas, el StackOverflow original y primigenio, está en inglés.

3
  • Sigo creyendo que tenemos que intentar a traducir al castellano, y creo que es posible hacerlo con una cierta elegancia.
    – enxaneta
    Oct 26, 2018 at 6:51
  • 1
    @enxaneta Es que es un campo bastante dificil. ¿Cómo traducirías "array", por ejemplo? Me parece bien que se intente traducir procedimientos y metodologías, pero no ciertas cosas como nombres propios de objetos y métodos. En algún libro de programación web tradujeron los nombres de las clases java core de ese módulo como HttpRequest y ya no se podían hacer los ejemplos.
    – RubioRic
    Oct 26, 2018 at 6:56
  • 1
    Reconozco que array no lo traduzco nunca, y los nombres de objetos y métodos tampoco. Es más cada vez que traduzco una cosa pruebo poner entre paréntesis el nombre utilizado en inglés. Tienes razón. Ës un campo difícil.
    – enxaneta
    Oct 26, 2018 at 7:05
3

Ya hay una respuesta aceptada. Lo que sigue es detalle.

Para dar un poco de contexto histórico a las operaciones de PUSH y POP, conviene referir a los procesadores PDP-6 y PDP-10 de la empresa digital de los EEUU. La PDP-6, introducida en 1963 y la PDP-10 introducida en 1968, fueron unas de las primeras máquinas con operaciones de PUSH y POP entre su juego de instrucciones.

Descripción en Wikipedia

Las operaciones de PUSH y POP operaban sobre un vector (array) utilizando un puntero de pila en un acumulador para localizar el extremo de una pila. Pero en idioma de MACRO-10 había que reservar el espacio para la pila como si fuera un vector (array). Yo diría que era un vector utilizada como una pila.

En Wikipedia, la palabra "vector" se define como "matriz unidimensional". Me parece que esto es un "array".

Si se entiende las operaciones como verbos, "push" y "pop" vienen a ser "apilar" y "desapilar". En la respuesta aceptada, éstos se llaman métodos en vez de operaciones. Esto se introdujo cuando se inventó la programación orientada en objetos.

Entre 1975 y 1978, yo dicté cursillos de MACRO-10 en Bolivia y Venezuela para la empresa digital y sus clientes. Lamento decir que los estudiantes y yo utilizábamos "spanglish" con abandono. Las materias escritas estaban todas en inglés.

Me parece que la programación está bastante ligada al inglés por razones históricas. Pero la informática no. Hay palabras castellanas para todos los conceptos de la informática. Es cuestión de aprenderlas. Lamento decir que yo no las he aprendido.

9
  • ¡¡Fantástica respuesta con gran fondo histórico!! Y qué bueno seria leer tus impresiones personales sobre tu experiencia en ¿Existe algún término para “ordenador” y “computadora” que se entienda en todos los países?
    – fedorqui
    Nov 2, 2018 at 12:03
  • Muchísimas gracias gracias por su respuesta!
    – enxaneta
    Nov 2, 2018 at 12:08
  • Mis impresiones personales ya son antiguas, de 1975 hasta 1989. Y se limitan a Bolivia, Venezuela, México, y Puerto Rico. La palabra "computadora" se entendía en todos eso lugares y en aquella época. En el presente y en los demás países, yo no sabría decir. Nov 2, 2018 at 13:06
  • La primera vez que usé la palabra "computadora" había alguien con nombre Dora presente. No es necesario repetir los chistes que resultaron. Nov 2, 2018 at 13:10
  • Gran aporte, sin duda. Entre las múltiples traducciones de "array" conocía la de "vector" que apuntas. La cual no tiene mucho sentido y desconozco su origen, ya que un array no es un vector como se entiende comúnmente en el ámbito ciéntifico, un segmento de línea con dirección y sentido. Quizás la más adecuada sea matriz, que también apuntas pero nótese que la palabra inglesa matrix no es la que se emplea para nombrar la estructura de datos array, de ahí que no suela traducirse como tal tampoco.
    – RubioRic
    Nov 8, 2018 at 7:09
1

No se traduce, normalmente. Si te pones en site:.es [España] + programación sale un montón de:hacer push o hacer pull.

Traducciones posibles para push data to an array:

  • añadir datos en un array con el método push

  • usar push para añadir dados a un array

  • hacer push de los dados al array

Seguramente, habrá otras también.

Son solo posibilidades. La informática es una especialidad y el español utiliza los términos del inglés directamente o de manera modificada.

Se ve, por ejemplo, una explicación sobre JavaScript en el siguiente texto:

Ejemplos de que es y como usar push en un ARRAY en javascript

el método push permite añadir un elemento al final de un array

Como puedes ver en el siguiente ejemplo he creado una función que se llama mifuncion que se ejecuta al pulsar en el botón

Y en otro sitio:

Pues cuando hagamos push puede fallarnos, por lo que siempre antes de hacer un push debemos hacer un pull para tener siempre los ultimos cambios antes de subir los nuestros. [del sitio escrito por un programador en España]

Claro, push es empujar. A veces se puede poner este verbo. También sale PUSH como comando.

También vi: apilar o empujar (para push a stack) en una tesis. Esta tesis trata a fondo de esta pregunta y también dice:

push: Apilar (empujar) una pila encima de otra.

O en JavaScript arrays:

array: en Javascript, es un ejemplo del uso del término array

What is an Array? An array is a special variable, which can hold more than one value at a time. If you have a list of items (a list of car names, for example), storing the cars in single variables could look like this: [...]An array can hold many values under a single name, and you can access the values by referring to an index number.

Aquí tenemos la explicación en español: arrays explicado en español

Un array es un medio de guardar un conjunto de objetos de la misma clase. Se accede a cada elemento individual del array mediante un número entero denominado índice. 0 es el índice del primer elemento y n-1 es el índice del último elemento, siendo n, la dimensión del array. Los arrays son objetos en Java y como tales vamos a ver los pasos que hemos de seguir para usarlos convenientemente

  • Declarar el array
  • Crear el array
  • Inicializar los elementos del array
  • Usar el array.

Yo soy traductora en estos temas. Claro, solo hacia el inglés. Hacer push se ve mucho.

[Los enlaces dan las referencias de los autores]

2
  • sí, nunca oí nada que no fuera pull o push al trabajar con Git.
    – fedorqui
    Jun 12, 2019 at 19:55
  • Gracias a los que hicieran desaparecer los números negativos. :)
    – Lambie
    Jun 12, 2019 at 20:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.