2009-02-11 23 views
34

Programmatically. (alt. programmically)¿Qué significa hacer/determinar algo "programáticamente"?

Nunca lo he usado, pero lo veo mucho en las preguntas, es decir, "Cómo determinar mediante programación [inserte la tarea aquí]". Firefox inmediatamente me dice que ninguna de estas dos palabras es real (al menos, no las reconoce). Tampoco los he visto usar en ninguna otra parte más que aquí.

1) ¿Qué significa hacer/determinar algo "programáticamente"?

2) ¿Por qué tanta gente pregunta cómo hacer/determinar algo "programáticamente"? ¿No es asumido que, si está preguntando cómo hacer algo en una placa de ayuda de programación, está preguntando cómo hacerlo "programáticamente"?

3) ¿Por qué nunca he visto la palabra "programáticamente" en ningún otro lado?

+8

Me pregunto por qué alguien enumeró esto como ofensivo ... – Uri

+1

Yo también tenía el mismo pensamiento Uri. ¿¿¿Por qué??? –

+0

La razón por la que los usuarios explícitamente dicen "programáticamente" es para reafirmar que están haciendo preguntas de "código de programación" y no de "estilo de TI", algo de lo que Jeff Atwood se quejó en uno de los primeros podcasts de SO. – willc2

Respuesta

57

Hacer algo programáticamente generalmente significa que puede hacerlo utilizando el código fuente, en lugar de a través de la interacción directa del usuario o una macro.

Por ejemplo, considere el problema de cambiar el tamaño de las columnas para que quepan en Excel.

Puede hacerlo manualmente haciendo doble clic entre las columnas, pero eso requiere la interacción del usuario.

Puede usar el grabador de macros Excel, pero eso es bastante complicado.

O bien, podría usar VBA para escribir el código que lo haría.

Dudo que esté realmente en el diccionario.

+1

De acuerdo. Esto es como cuando preguntas sobre el cambio de los atributos de un archivo mediante programación en Windows, sí, puedes hacer clic derecho en el archivo y acceder a Propiedades, pero también puedes hacerlo a través del código, que es la distinción dada por la palabra. – CloudyMusic

+2

Oye, las macros también son código, ya sabes. +1 de todos modos. – paxdiablo

+2

Quise decir las macros de Excel de estilo antiguo antes de que te permitieran ver el VBA subyacente. ¿Recuerdas esa cosa? Divertidísimo. – Uri

1
  1. Para lograrlo con un programa/en el código. Ejemplo: comer un sándwich programáticamente significaría que escribiría un programa que se come un sándwich.
  2. Estoy de acuerdo.
17

Programmatically is a real word. De otro diccionario al azar: Compact OED online.

+9

Llámame anticuado, pero estar en el diccionario en línea X no necesariamente hace que algo sea una palabra en inglés real. –

+1

Sí, utilizo ask.com como mi deidad cuando se trata de definir palabras. ¿Quién necesita el OED? También evito Brittanica a favor de Wikipedia. Pfft! :-) – paxdiablo

+4

Chris Lutz: ¿qué tal un diccionario en línea de Oxford? http://www.askoxford.com/concise_oed/programmatic?view=uk – Chris

1

Creo que las personas (yo incluido) usan el término 'programáticamente' para referirse a una función realizada en código fuente (por ejemplo, C#), a diferencia de algo hecho declarativamente (por ejemplo, XAML).

5
  1. Para ejecutar el código que lo hace. Previamente haber escrito el código está implícito.
  2. Probablemente en la mayoría de los casos es algo relativamente fácil de hacer para un ser humano, con el desafío de automatizarlo. La suposición que describes puede o no aplicarse.
  3. No tengo ni idea. Lo he visto muchas veces y en muchas circunstancias. A propósito, niego categóricamente la idea de que una palabra tenga que estar en la lista de alguien en alguna parte para ser una 'palabra real', especialmente cuando es una construcción clara de raíces bien conocidas, como en el caso de 'programáticamente'.
0

Como han dicho otros, significa pedir una solución para un problema en particular en forma de código. Esto es particularmente relevante en la era moderna donde las GUI están en todas partes y los sistemas operativos son cosas grandes, extensas e innumerables.Puede ser increíblemente fácil encontrar una determinada información o realizar una determinada acción manualmente como humano, pero cómo hacerlo ya que el código es menos obvio y requiere investigación.

Por ejemplo, considere cómo eliminar un archivo y moverlo a la papelera de reciclaje en Windows. Manualmente, esto es trivial, selecciona el archivo en el explorador y presiona eliminar. O arrastre el archivo a la papelera de reciclaje. En el código, no es remotamente intuitivo cómo se realiza esta acción.

7
0

Los desarrolladores suelen tratar de exponer la cuestión con la mayor precisión posible. Intentan establecer el entorno, el lenguaje, cualquier otra cosa que ya sepan. Cuanto más precisa es la pregunta, más precisa es la respuesta. Pero cuando no pueden declarar nada (como si solo quisieran saber si hay una llamada API para hacer algo) simplemente preguntan cómo hacerlo mediante programación.

2

1) ¿Qué significa hacer/determinar algo "programáticamente"?

Asumo desde su segunda pregunta que la respuesta a esto ya se conoce a usted;.) *

2) ¿Por qué tanta gente se pregunta cómo hacer/determinar algo "programación"? ¿No se supone que, si está preguntando cómo hacer algo en una placa de ayuda de programación, está preguntando cómo hacerlo "programáticamente"?

Sí, pero no hay daños por usar la palabra!

3) ¿Por qué nunca he visto la palabra "programáticamente" en ningún otro lado?

¡No estás buscando lo suficiente! http://www.google.com/search?q=programmatically

1
  1. hacer algo mediante programación está haciendo algo por ejecutar código de programa
  2. no asuma. Hace un A ** de U y ME :) lo que pasa es que muchas personas pueden hacer preguntas que no están relacionadas con la programación (por ejemplo, "¿cómo sobrescribir un archivo de solo lectura en Linux?")
  3. Suele ser claro por el contexto si las cosas se hacen programáticamente o no. Por lo tanto, la palabra a menudo es redundante y no se usa. Aquí, las personas quieren asegurarse de que se entiendan, y su pregunta no se responde de forma incorrecta ("¿cómo sobrescribir un archivo de solo lectura en Linux?" Provocará un tipo de respuesta diferente a la de 2). .)
9

En .NET, "programáticamente" generalmente significa hacer algo en código en lugar de en una plantilla, marcado, configuración o xml.

Por ejemplo, en una página ASP.NET puede agregar un cuadro de texto en el marcado ASPX:

<asp:TextBox runat="server" /> 

O puede agregar el control mediante programación en el código subyacente aspx.cs:

this.Controls.Add(new TextBox()); 

Del mismo modo, puede cambiar la configuración manualmente editando el xml en el archivo App.config, o puede escribir código que modifique la configuración mediante programación.

1

La forma en que uso "programáticamente" oa veces "proceedurally" se describe mejor mediante el siguiente código:

int[] arr = new int[] { 1, 2, 3, 4, 5 }; 

a hacer lo mismo mediante programación sería:

int[] arr = new int[5]; 
for (int i = 1; i < 6; i++) 
    arr[i] = i + 1; 

Ahora mientras que una Ejemplo muy limitado, ¿qué prefieres escribir si la matriz contiene cientos o miles de elementos? En situaciones del mundo real, generalmente hay pros y contras de cuál es el mejor para usar a la vez, pero para operaciones complicadas, generalmente las cosas son más eficientes si se hacen "programáticamente".

Quizás un mejor ejemplo de esto es el valor de alt Pi. Simplemente podría ingresar el número 3.141592653589793238, pero sería muy difícil escribirlo si necesitara alt Pi con una precisión de 100 decimales. En cambio, utilizaría una función, tal vez algo así como alt function.

** Wikipedia Referencia http://en.wikipedia.org/wiki/Pi *

+0

Depende de cómo se mide la "eficiencia". Por ejemplo, si cincela una gran matriz en código en lugar de rellenarla programáticamente, está inmediatamente disponible y no tiene que crearse primero. – foraidt

0

Yo sobre todo utilizar la palabra en el contexto davogenes y ash explicarlo.

Sin embargo, me gustaría añadir que, en este caso, un sinónimo sería "dinámicamente" porque puede agregar elementos de control en tiempo de ejecución y aún no en tiempo de diseño.

0

Para mí es la diferencia entre trabajar en el diseñador o en el código (tiempo de ejecución).

Puede hacer muchas cosas en designmode, establecer una fuente de datos en una cuadrícula de datos y diseñar las columnas y establecer colores y muchas otras cosas sin hacer una sola línea de código. Si quiero saber cómo hacerlo en código en lugar de configurarlo en el modo de diseño, preguntaría cómo hacerlo "programáticamente".

Mis 5 centavos.

1

En el caso del desarrollo de un iPhone, programáticamente básicamente significa no utilizar el Interface Builder.