Después de haber tenido una carrera de investigación en física y una carrera de ingeniería de software para aplicaciones técnicas, tuve que lidiar con este problema y darme cuenta de que uno debe tener en cuenta el contexto y el propósito.
La buena notación es su amiga y puede ayudar enormemente, pero lo que constituye una buena notación depende en gran medida del contexto y de lo que sea posible.
El desarrollo de software y el análisis físico tienen dos objetivos diferentes y dos anotaciones diferentes disponibles.
- En el concepto de multiverso, ¿por qué los físicos consideran los universos como pompas de jabón?
- ¿Puedo ser útil para una banda de rock como físico?
- ¿Elizabeth Muller cree / siente el mismo Dios que Richard Muller?
- ¿Qué campo de estudio debería seguir, si quiero ser físico?
- Sociólogo vs físico, ¿quién es más inteligente?
Metas:
El objetivo del físico es usar ecuaciones para hacer manipulación algebraica, reorganizar ecuaciones, realizar la sustitución de un lado de una ecuación por otro lado de una ecuación en una segunda ecuación, etc. Las expresiones son diferenciadas, integradas, enrevesadas y manipuladas de otro modo. Todo esto se hace simbólicamente, no numéricamente, hasta que uno necesite obtener una respuesta numérica real. Para un físico, escribir mc ² = E es tan bueno como escribir E = mc ²: manipulan de la misma manera. A los físicos no les importan mucho los valores numéricos; en cambio, prefieren principios e interrelaciones. ¿Qué le sucede a una cantidad cuando doblo otra cantidad? ¿Se duplica, se cuadruplica, se reduce a la mitad o hay una relación logarítmica …? Es mucho más esclarecedor, cuando se le da un problema de tarea en un libro de texto que se describe en un contexto muy específico con valores numéricos, resolver el problema del caso general sustituyendo las variables por los valores numéricos, haciendo la manipulación algebraica necesaria (y observando un un montón de información irrelevante se cancela reduciendo la cantidad de esfuerzo final de cálculo de números, lo que ahorra tiempo y reduce el riesgo de error), evaluando la expresión formulada para la cantidad solicitada en el problema en términos de las cantidades conocidas que buscan la cordura [o locura] de resultado al verificar casos extremos (objeto 1 con una masa mucho mayor que el objeto 2, y luego al revés), proporciones esperadas y análisis dimensional. Luego sustituya los números por las variables para responder la pregunta específica del libro de texto. Si, en cambio, va directamente a la calculadora y conecta los valores numéricos solo para hacer la tarea, es mucho más difícil saber si su respuesta está en el estadio correcto y no ha obtenido una visión física.
El objetivo del desarrollador de software es, por otro lado, desarrollar algoritmos, tal vez con la ayuda de un experto en el dominio de la aplicación, e implementarlos en una computadora para que, cuando se le den valores numéricos para las entradas, se procesen los números de acuerdo con salen fórmulas o algoritmos programados y números. Todo esto es manipulación de números, no de ecuaciones. Si se supone que debo programar la capacidad de determinar, dado el número de kilogramos para una masa y saber la velocidad de la luz es 299 782 458 m / s, el número de julios de energía equivalente, entonces E = m * c ** 2 no es una ecuación en este contexto, sino una declaración de asignación que dice extraer el valor de lo que está almacenado en una ubicación de memoria que se llama m, extraer el valor de una ubicación de memoria llamada c (que siempre debe tener el valor 299_792_458. 0), cuadra el último y multiplica por el primero, y almacena el resultado numérico en una ranura de memoria llamada E. Está prohibido sintácticamente reescribir esto como m * c ** 2 = E como puedes hacer con una ecuación, porque esto no es una ecuación para la manipulación, sino simplemente una notación para dirigir una cierta secuencia de cálculos y almacenar el resultado en una ranura de memoria etiquetada por lo que está en el lado izquierdo de =. Una acción común necesaria en un programa de computadora es contar eventos o recorrer los elementos de una matriz, por lo que uno necesita incrementar este contador en 1, lo que se hace en un programa de computadora como n = n + 1 (y, sí, para Programadores de C, C ++ y Java, sé que tienes ++ n y n ++, pero otros lenguajes no y el procesador de lenguaje generalmente ejercitará las mismas instrucciones que n = n + 1 y, lo más importante, ++ n no comunicar mi punto) Para un físico, n = n + 1 tiene la sintaxis de algo que puede manipular algebraicamente como una ecuación, pero si intenta hacerlo, obtendrá el resultado obviamente erróneo de que 0 es igual a 1.
Es una tarea completamente diferente que los físicos están tratando de lograr con ecuaciones que lo que los desarrolladores de software están tratando de lograr con las asignaciones. Es mucho más fácil ver que hay un valor idéntico en el numerador de una fracción que en el denominador de la fracción que se puede cancelar, simplificando la ecuación que se manipula, cuando la notación de las cantidades es corta y simple que los nombres largos . Con símbolos cortos, una ecuación probablemente encajará en una o, como máximo, dos líneas, mientras que los nombres de variables largos pueden desencadenar seis o siete líneas de expresión, lo que puede ocultar efectivamente el uso repetido de nombres. Los desarrolladores de software generalmente reciben las fórmulas adecuadas para usar y ya están simplificados, por lo que los desarrolladores no tienen necesidad de buscar duplicados o posibles simplificaciones.
Notación:
Los físicos tienen disponible una amplia variedad de técnicas para distinguir múltiples significados para nombres muy similares. Se utiliza la mayor parte del alfabeto inglés y gran parte del alfabeto griego, evitando rigurosamente las letras griegas que, en el mejor de los casos, apenas se distinguen de las letras inglesas en apariencia. Por ejemplo, las letras griegas Α, Β, Ε, Ζ, Η, Ι, Κ, Μ, Ν, Ο, Ρ, Τ, y Χ nunca se usarían para símbolos, pero eso todavía deja un poco del alfabeto griego disponible. Además de eso, importa si una letra es mayúscula versus minúscula, en cursiva o vertical, negrita o peso normal, y en algunos casos si se usan o no serif. (S como la unidad de medida de conductancia siemens, s como la unidad de medida segundo, s como la medida de una longitud de arco, S como área de superficie, S como el vector de Poynting para la propagación de potencia electromagnética, etc., todos estos son potencialmente utilizados en un libro de texto de física o incluso en un artículo de revista de física, y todos se mantienen rectos.) Muchos símbolos son bastante estándar al menos dentro de una rama de la física y serían familiares para los investigadores en ese campo; Los símbolos inusuales (y en algunos casos también los símbolos comunes) se explican típicamente en algún lugar del libro de texto o artículo de revista. y fácil de entender por el lector típico. Se pueden aplicar numerosos signos diacríticos sobre las letras, como barras, puntos, circunflejos, etc. para proporcionar un símbolo diferente con un significado diferente. La escritura (a mano o en publicación) de fórmulas físicas permite el uso de estructuración vertical para que las fórmulas se expresen en dos dimensiones: superíndices versus subíndices, fracciones que usan el vinculo (barra horizontal) con el numerador físicamente arriba y el denominador físicamente debajo. Además, los físicos pueden usar nuevos símbolos para nuevos operadores: en un artículo de revista, simplemente declararán que están definiendo tal y tal símbolo para significar tal y tal operación en tal y tal conjunto. Los físicos usan numerosos nombres no alfabéticos para operadores como +, -, ×, ∙, /, ∗,!, ±, ∓, ∆, ∇, ∑, ∏ y muchos otros. Cuando se eligen bien, los símbolos pueden transmitir impresiones al lector que los guían a la interpretación correcta correcta muy rápidamente.
Los programadores de computadoras están muy restringidos en cómo pueden formatear el código fuente. Históricamente, el código fuente tenía que escribirse usando solo caracteres ASCII (lo que está disponible en los teclados estadounidenses, señalando más, nada menos); La capacidad de usar caracteres de otros alfabetos (como el griego o el cirílico) en el código fuente ha ido creciendo a lo largo de los años. Los operadores, por otro lado, todavía deben ser caracteres ASCII y solo lo que el lenguaje define como operador con algunos idiomas que permiten definiciones definidas por el usuario para esos operadores. Una dificultad es que los símbolos matemáticos estándar × y · no están disponibles en el teclado, por lo que * fue sustituido en la mayoría de los lenguajes de programación, aunque * tiene un significado bastante diferente en matemáticas. El código fuente es estrictamente lineal: el único uso de la estructuración vertical es alinear las cosas en diferentes líneas para fines de legibilidad humana, y no hay forma de crear fracciones verticales como [math] \ frac {x} {y} [/ math] . No hay capacidad para usar subíndices o superíndices en el sentido de notación matemática y física. Si tiene una matriz (como para un vector o una matriz), no puede escribir código como [math] v_1 [/ math] para acceder al elemento # 1 del vector v ; en su lugar, deberá escribir algo como v (1), v [1] o nombrar individualmente cada elemento como v_1 (notación LaTeX para indicar un subíndice). En el mejor de los casos, el lenguaje de programación considerará dos identificadores que difieren solo en el uso de minúsculas versus mayúsculas como identificadores distintos (C, C ++, Java) y muchos ni siquiera lo hacen (Ada, Fortran). Los lenguajes de programación no permiten distinguir los caracteres en cursiva de los verticales, los caracteres de negrita versus los de peso normal en los identificadores o cualquier otra característica de fuente. Por lo tanto, si está tratando de escribir un programa basado en fórmulas dadas en un diario de física que tiene S, s, s , S y S , como máximo puede usar un identificador S y un identificador s; Para manejar los otros elementos, se necesitan letras totalmente diferentes o nombres de identificación más largos. Además, los programas de computadora pueden durar muchos años y, a menudo, habrá un cambio de personas que los mantienen y actualizan, a menudo trayendo nuevas personas que no son expertas en el dominio de la aplicación; por lo tanto, los identificadores breves serían más difíciles de entender para ellos, justificando nombres más largos y con más palabras.
En pocas palabras: los símbolos breves tienen muchas ventajas para los físicos en contraste con los desarrolladores de software para los cuales los identificadores más largos tienen muchas ventajas. Esto surge debido a los diferentes propósitos de las ecuaciones para el análisis en física versus las fórmulas para el cálculo y la asignación, así como las diferentes habilidades para anotar y formatear para facilitar la comprensión y la manipulación.