Saltar al contenido principal
LibreTexts Español

1.6: Redacción de Código para Computación Científica

  • Page ID
    113251
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    Mira hacia atrás en la lista de requisitos para proyectos de Computación Científica. Una regla general es usar un lenguaje informático que sepa que funcionará bien para esas tareas. Por lo general, la mayoría de los estudiantes han aprendido uno o dos idiomas y no están muy seguros de cuál usar. En la mayoría de los casos no importa qué usar, pero para problemas complejos va a importar.

    Uno de los mejores lenguajes para la computación científica ha sido Matlab en las últimas 3 o 4 décadas. Se utiliza ampliamente en firmas de ingeniería de todo el mundo (y la sede se encuentra en la cercana Natick, MA). Aunque no usaremos Matlab aquí. Una de las cosas buenas de tomar una clase es explorar nuevos idiomas. Aquí usaremos Julia, que es un lenguaje muy nuevo que a mucha gente en computación científica le entusiasma. Daremos ejemplos usando Julia, pero las ideas aquí deberían ser aplicables a otros idiomas.

    Julia fue diseñada como un lenguaje informático científico, pero en definitiva es un lenguaje moderno. Hay una serie de aspectos que hacen de julia un buen lenguaje para esto. Julia es

    • un lenguaje de scripting con tipos dinámicos. Esto significa que puede comenzar de inmediato, no hay necesidad de aprender sobre la compilación, y puede crear prototipos de cosas rápidamente.
    • un lenguaje con compilación justo a tiempo. La mayoría de las veces los lenguajes de scripting son lentos, sin embargo, con las herramientas modernas bajo el capó, los lenguajes se pueden compilar sobre la marcha para crear tiempos de ejecución muy rápidos. Hay una página web sobre puntos de referencia comparando julia con otros idiomas estándar.
    • código abierto. Aunque a menudo el código abierto implica libre pero no de alta calidad, la parte libre se mantiene, pero lo más importante es que cualquiera pueda contribuir al código. La comunidad Julia se compromete a crear una pieza de software de alta calidad y muchas discusiones giran en torno a escribir código que mejorará la velocidad u otros aspectos. Esto es muy opaco y poco claro si sucede con software comercial.
    • fácil de usar. La sintaxis de julia es similar a la de python, un lenguaje muy popular, y a menudo es intuitiva.
    • una alegría de usar. Adicionalmente, la estructura del lenguaje facilita el inicio, pero a medida que los proyectos se vuelven más complejos, se puede escribir de una manera sencilla.

    This page titled 1.6: Redacción de Código para Computación Científica is shared under a CC BY-NC-SA license and was authored, remixed, and/or curated by Peter Staab.