Imagen de avatar anacareaga
Ana Lilia Careaga

C, C++ y C# : Lenguajes en tonalidad de Do Mayor y Do sostenido Mayor

Ana Lilia Careaga Mercadillo,   Septiembre  de 2015

Abstract

In Music, tonality is the principle of organizing compositions around a central note or tonic; so it consequently refers to the relationship between notes. Every tonality has its own special group of notes called a scale. The scale is a specific arrangement of notes. The arrangement of these notes is how we’re able to identify a scale, both aurally and visually. The two most common tonalities in Western music are the major tonality and the minor tonality.  Tonality tells our ear if we are listening to cheerful, positive, joyful music or sad, dark, emotional music. C major is one of the most common key signatures used in western music. C major scale has no flats or sharps (#) and consists of all seven pitches C (Do), D(Re), E(Mi), F(Fa), G(Sol), A(La) and B(Si). On the other hand, in Information Technologies, C, C++ and C# are programming languages inspired in music notation.


Introducción


CATEDRAL METROPOLITANA DE LA CIUDAD DE MÉXICO

Fuente: Archivo Capitular de Administración Diocesana

Los que trabajamos en alguna oficina del Centro Histórico de la Ciudad de México somos privilegiados porque podemos deleitarnos diariamente de todo tipo de arte, sobre todo de la arquitectura porque nos encontramos rodeados de  los mejores ejemplos de las corrientes arquitectónicas que nos dejaron como legado tanto  la antigua Tenochtitlán como  la Nueva España. Aquí, en el Centro Histórico, como lo llamamos ahora a pesar de que por varios siglos fue en sí la Ciudad de México, se alzan construcciones que trazaron los genios artistas  sobreponiendo diferentes capas de materiales  con técnicas constructivas que definen la sublime estética del corazón de nuestra ciudad.  Los espacios urbanos creados en el primer cuadro que llamamos zócalo son en sí un muestrario de la expresión arquitectónica que reflejan el quehacer de sus habitantes a lo largo de un período de varios siglos. Dicen que cada expresión arquitectónica “es hija de su tiempo” por lo que para poder apreciarla mejor es conveniente revisar lo que ocurría en la sociedad en ese momento determinado. Al finalizar la Conquista, los españoles decidieron demoler la soberbia  arquitectura de Tenochtitlán a pesar de  que a su llegada  quedaron atónitos por su belleza comparable a la  de Venecia. Sobre las ruinas que quedaron de estos majestuosos templos mexicas, los españoles trazaron lo que ahora es nuestra ciudad. En principio, una plaza central tipo romana alrededor de la cual se edificarían los recintos de los poderes políticos y religiosos. Este plan urbanístico incluyó también hospitales y escuelas y  se iría repitiendo de manera similar en todas las colonias españolas de América. Dado que la principal actividad importante fue de carácter religioso debido al plan de evangelización necesario para consolidar el poderío español, no es de extrañar que los esfuerzos estéticos y presupuestales fueron dedicados a la arquitectura secular y en particular a la construcción de la Catedral Metropolitana, la cual por haber durado 240 años en su construcción con la participación de 21 arquitectos, ahora constituye una especie de resumen de todo el arte colonial . Manuel Toussaint [1]hace una formidable  descripción de la Catedral Metropolitana, el edificio más importante de la arquitectura virreinal,   en su libro “La Catedral de México y el Sagrario Metropolitano, su historia, su tesoro, su arte” , publicado en 1948 donde el investigador reunió un documental con el que  es posible reconstruir la historia artística de la Catedral “…desde las bóvedas ojivales de sus primeros tiempos, el severo herreriano y la sacristía hasta el neoclásico de Ortiz de Castro y el Luis XVI de Tolsá, pasando por el barroco de las demás portadas y el churrigueresco coruscante del altar de los Reyes…”.

Entre 1524 y 1532 se construyó una primera catedral en el espacio que hoy es el atrio, pero pronto fue demolida porque resultó de poca importancia para esta ciudad. Gracias al  gran patrocinio que hubo por parte de la Corona Española así como de la disposición del trabajo de los indígenas, fue posible edificar esta  obra arquitectónica, encomendada  a Claudio Arciniega[2] por el virrey Luis  de Velasco[3] quien además lo nombró “obrero mayor en la Nueva España”.  En el año 1573 Arciniega restauró el edificio viejo e hizo la traza de lo que hoy es nuestra catedral, tomando como modelo la catedral de la Asunción en Jaen, España. En principio, las edificaciones se fueron construyendo con material de tezontle y despojos de la antigua Tenochtitlán pero dado que esta zona es lodosa y sísmica, las técnicas constructivas tuvieron que cambiar después de la gran inundación del siglo XVII. En el siglo XVII, el estilo impuesto por el Manierismo y el Herreriano fue  siendo desplazado por el Barroco y la columna salomónica fue empleada no sólo como elemento decorativo sino como elemento de soporte. Sin embargo, ya para el siglo XVIII, después de haber sido terminada la Academia de San Carlos, el repudio por el estilo Barroco Churrigueresco se hizo evidente y las nuevas construcciones se fueron convirtiendo en neoclásicas, marcando este nuevo estilo el fin del periodo virreinal.  Este periodo de construcción le fue asignado al arquitecto Damián Ortiz de Castro (1750-1793) quien se encargó principalmente de construir las torres del campanario; un  reto desafiante dadas las condiciones del suelo y la sismicidad el cual resolvió  no solo  con estructuras que dieron la firmeza necesaria sino con una aportación estilística formidable. Las torres las decoró posteriormente Manuel Tolsá, uno de los grandes arquitectos del arte novohispano,  y  se terminaron de construir en 1791, dos años antes de la muerte de Ortiz de Castro.[4]

Si reflexionamos en la historia de la construcción de esta gran obra arquitectónica es inevitable sentirse impresionados al saber que la Catedral de México es en sí una escuela de las diferentes corrientes artísticas más relevantes durante cuatro siglos ya que mientras se iba construyendo, diversas escuelas y movimientos artísticos se fueron desarrollando. Así, de esta manera, podemos decir que nuestra catedral contiene 400 años de cultura utilizando todo tipo de material constructivo, desde el tezontle y la piedra hasta el mármol, estuco y madera abarcando desde un estilo Gótico tardío que se observa en las nervaduras de sus  bóvedas y columnas hasta un estilo Neoclásico pasando antes por la sobriedad de los vitrales estilo Herreriano[5] y la decoración excesiva del Barroco y Churrigueresco. La Catedral de México en la actualidad mide en su interior 109 metros de largo  por 54 metros  de ancho;  consta de cinco naves y 14 capillas laterales, siete de cada lado de la nave central, la cual sobresale por estar techada con bóvedas de cañón con lunetos[6].  En su fachada se observan tres relieves de mármol blanco hechos por Manuel Tolsá; en el central se representa la Asunción de la Virgen María, a quien está dedicada esta catedral,  a su lado derecho se representa la Barca de la Iglesia y a la izquierda la entrega de las llaves del Cielo a San Pedro. Por su parte,  las torres de la Catedral,  diseñadas por Ortiz de Castro,  proporcionan   dos funciones;  por   un lado le dan a la catedral presencia urbana y por el otro albergan sus campanas. Poseen una altura de 64 y 67 metros  respectivamente y están terminadas en forma de campana como símbolo de la comunicación con Dios. La capacidad para albergar campanas asciende a 56 distribuidas entre las dos torres pero en la actualidad solo se tienen 30. La campana más antigua data de 1578 y tiene el nombre de Santa María Guadalupe y la más reciente se instaló en 2002 con motivo a la canonización de Juan Diego y fue bendecida por el papa Juan Pablo II.

Indudablemente, la Catedral Metropolitana es nuestro centro místico y simbólico alrededor del  cual se va desarrollando la vida cotidiana de nuestra ciudad; no solo su estética exterior nos enaltece el corazón, sino que en su interior se encuentra lo mejor,  lo más solemne y espiritual  en la decoración de su Altar Principal, en su Altar del Perdón y sobre todo, en su Altar de los Reyes pero también en su música y sus coros  que se escuchan durante varias horas al día tras sonar las campanas.  En realidad los altares en su conjunto constituyen un monumento dentro de otro monumento y nadie puede negar,  cualquiera que sea su creencia o religión, que al entrar en su interior experimenta algo extraordinario, algo inexplicable y Divino. Recuerdo cuando ahí se organizaban las visitas guiadas bajo el nombre de “Voces de Catedral”, tuve la oportunidad de realizar una visita nocturna. Además de observar con gran curiosidad cada uno de los detalles de la estética interior de este recinto y escuchar con atención la historia narrada con efectos de luz y sonido, hubo algo que me impresionó especialmente: los órganos gemelos que se ubican justo dentro del Coro atrás del Altar del Perdón. En Arquitectura se denomina Coro al espacio reservado para el clero menor y para los cantores de los oficios. Normalmente se encuentra atrás del altar, más próximo a la reunión de los feligreses y está caracterizado por contar con una sillería de  madera  de caoba distribuida en  dos niveles perpendiculares a los órganos. Los órganos en esta catedral, llamados  Evangelio y Epístola,  están situados uno frente al otro y constituyen una riqueza artística de gran envergadura porque con ellos se pudo reflejar el alto estándar de relevancia y prestigio de esta Catedral. El contar con órganos gemelos en la Catedral Metropolitana representó un adelanto de más de 40 años respecto a otras catedrales construidas en esa época. Los dos órganos se conservaron adecuadamente desde el siglo XVIII pero en 1967 el incendio que quemó parte del Altar del Perdón alcanzó a llegar a los órganos y se tuvieron que realizar grandes esfuerzos para su restauración. Afortunadamente los dos órganos ya se encuentran completamente restaurados y en esa visita tuvimos la oportunidad de apreciar no solo esa sillería tallada y adornada con vides que se impregnan a través de sus columnas salomónicas  sino también de algunos preludios y fugas de Bach interpretados por el organista de esta catedral a la vez que contemplábamos  algunas   pinturas de tonos azulados justo atrás del muro del Altar del Perdón.

En la vida todo ocurre con una enorme sencillez, de una forma muy distinta de lo que imaginamos. Recuerdo muy bien cómo la superposición de notas resonando como acordes en el majestuoso órgano de la Epístola de la Catedral de la Ciudad de México me produjeron una reacción deliciosamente bella. La larguísima nota conclusiva y el timbre de algunos registros estimularon  en mí, además del disfrute que produce escuchar en vivo una música monumental  como la de Johann Sebastian Bach, mi más intensa experiencia sonora con la armonía y el contrapunto. Las composiciones de Bach son tan perfectas en su armonía, que dan la impresión que solo tienen esta solución perfecta porque cada sonido, cada acorde ocupa su lugar único en su conjunto de forma inigualable, perfecta. Cuando estudié teoría musical solía confundir el contrapunto con la armonía pero al escuchar estas piezas musicales para órgano, comprendí al fin que el contrapunto posee mayor énfasis en su desarrollo horizontal en las distintas melodías; mientras que la armonía se ocupa de las relaciones verticales entre las notas, es decir  de sus intervalos. Contrapunto y armonía son inseparables ya que se complementan mutuamente. Volver al mundo sensible de la música cuando se escucha interpretar lo que hay en el alma de Bach es el rasgo más noble de la existencia humana, una nobleza que es impuesta por Dios. Y en esta experiencia nocturna, la belleza, la armonía eterna de las fuerzas creadoras que en forma de piedras, líneas, tonos, colores y sonidos se integró en una obra maestra que se eleva de la miseria terrenal…..Seguían miles de notas, cada una en su sitio exacto, cada una con un sentido y un compás propio . Los arrebatos de un presto, del allegro y del agitato se escuchaban junto con  los truenos profundos y secretos de esta arquitectura milenaria. Pero tuvo que llegar necesariamente el momento del desenlace. Algo similar a lo que debe sentir un piloto cuando su avión comienza a elevarse y  deja atrás la tierra para explorar los cielos del universo; el concierto se acabó junto con esta visita nocturna, sin embargo cuando ya estaba en mi casa, a mis anchas, volví a escuchar la música de Bach y  percibí cómo la fuerza de la música te hace volar hacia paisajes maravillosos, como los que podría observar aquél mismo piloto que elevó su nave. Como bien dicen, el arte es el arte del detalle y Bach no solo es el todo que te conmueve y llega a la médula sino es también la suma de todas las tonalidades y sus estructuras perfectas y minúsculos elementos que las componen. Y para apreciarlo mejor decidí, entonces, escuchar  una vez más algunos preludios y fugas del “Clave bien Temperado” que escuché en la Catedral. Esta ingeniosa obra de Bach constituida por dos volúmenes de obras compuestas en fechas diferentes pero que en su totalidad contienen 48 preludios y 48 fugas que abarcan todas las tonalidades mayores y menores del círculo cromático. En realidad el preludio no es solo una simple pieza musical de introducción como se conoció en el siglo XIX sino surgió como consecuencia de una improvisación que surgía mientras los músicos afinaban sus instrumentos. La afinación que se empleó en un inicio fue la afinación pitagórica, pero ésta solo sirvió para interpretar obras muy sencillas. Al paso del tiempo, los instrumentistas trataron de buscar una afinación o un “temperamento” que pudiera “destemplar” algunos intervalos de tercer grado y con ello poder ampliar las tonalidades como las que conocemos ahora. La propuesta de Bach en cuanto afinación se refiere la muestra en esta obra en donde la octava la divide en doce intervalos  iguales logarítmicamente llamándola “temperamento igual”, que es la que empleamos actualmente. Bach nos mostró, a partir de esta obra, que sí es posible afinar un instrumento de teclado para que “suene bien” en todas sus escalas. De esta manera, es fácil comprender que el primer preludio y fuga está escrita en tonalidad de Do Mayor, el segundo en Do Menor, el tercero en Do Sostenido Mayor, el cuarto en Do Sostenido Menor….y así sucesivamente. Sin embargo, la nomenclatura que empleó Bach de las notas musicales fue la anglosajona y numeró cada par preludio-fuga con un número propio que va del 846 al 869 indicando la tonalidad  iniciando con la tonalidad en Do Mayor que corresponde a  “C Dur” en nomenclatura anglosajona. Y este primer preludio y fuga  en Do Mayor o en “C Dur”, como se dice en alemán me hizo recordar no solo aquéllas clases de música donde aprendí que si haces sonar todas y cada una de las notas blancas de un piano puedes obtener una melodía muy familiar para todo el mundo no importando si las tocas ascendente o descendentemente sino todos los lenguajes de programación que surgieron a partir del “C”, del “Do Mayor del software”. Do Mayor fue la primera escala musical que aprendí y también el primer lenguaje de programación que utilicé profesionalmente. Con el tiempo, al igual que en la música  hubo más tonalidades que aprender y también fue necesario explorar otros “temperamentos” y aprender a programar en lenguajes como C Sharp (C#) y C++.

¿Quieres saber más sobre los lenguajes de programación escritos en Do?


Continúa leyendo…

………………………………………………………………………………………………

Comenzando con lo básico:  ¿qué es un lenguaje de programación?

Una computadora no hace nada si no tiene instrucciones exactas que le expliquen paso a paso lo que debe hacer. Esas instrucciones le son dadas a través de un software escrito a través de un lenguaje de programación.

Un lenguaje de programación es:

  • Un idioma artificial diseñado para expresar cálculos que pueden ser llevadas a cabo por máquinas (computadoras)
  • Está formado por símbolos y reglas sintácticas y semánticas

Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.

Los lenguajes de programación son lenguajes formales porque poseen un conjunto de reglas (sintácticas y semánticas), notaciones, símbolos y/o caracteres que permiten a un programador poder expresar el procesamiento de datos y sus estructuras en una computadora. Mediante los lenguajes de programación,  el ser humano puede comunicarse con una computadora y decirle qué es lo que tiene que hacer y, al mismo tiempo, sirven para comunicarse con otros seres humanos y expresarles qué es lo que se quiere que haga una computadora.

Los lenguajes de programación están clasificados en:

►   Lenguajes de bajo nivel

►   Lenguajes de alto nivel

Los lenguajes de bajo nivel son esencialmente los lenguajes de máquina y el Ensamblador.

Los lenguajes de máquina se caracterizan por ser:

►   Serie de 0’s y 1’s

►   Programación larga, difícil y tediosa

►   La corrección de errores es complicada

►   No hay trans-portabilidad

Y las principales características del Ensamblador son:

►   Utiliza una serie de códigos o mnemónicos

►   Específico de cada procesador

►   Difícil aprendizaje

Por otra parte, los lenguajes de Alto Nivel son:

►   Instrucciones escritas en palabras similares a lenguajes humanos

►   Fácil aprendizaje

►   Los programas son transportables

►   Deben ser traducidos a lenguaje de máquina, a través de los traductores de lenguaje (compiladores e intérpretes)

►   Algunos de ellos son:  Basic, Cobol, Fortran, Pascal, Java, C, C++ , C#, etc.

Ada Byron

Los primeros lenguajes de Máquina y Ensamblador nacieron  con las primeras computadoras como la de Charles Babbage. Un dato curioso es que la primera programadora fue mujer: Ada Byron (Lovelace), hija de Lord Byron esposa de  Charles Babbage (por eso el nombre del lenguaje Ada)  y como era matemática fue conocida como “Enchantress of Numbers”, “ La encantadora de los números ”.Otros lenguajes de Bajo Nivel importante lo fue el Shortcode.

A continuación una tabla que resumen los principales lenguajes de programación:

Conceptos importantes alrededor de la Programación

Algunos conceptos importantes que se relacionan con la Programación se resumen a continuación:

►   Programa: es un conjunto de instrucciones escritas en un lenguaje de programación que indican a la computadora la secuencia de pasos, para resolver un problema.

►   Programa o código fuente: Programa escrito en algún lenguaje y que no ha sido traducido a lenguaje  de máquina.

►   Programa o código objeto: Programa que ya se encuentra en lenguaje de máquina y que ya es ejecutable

►   Traductor: Programa que traduce instrucciones en lenguaje de alto nivel a lenguaje de máquina.  Pueden ser compiladores o intérpretes.

►   Compilador: Traduce todo el programa y genera un código  listo para funcionar

►   Intérprete: toma una instrucción del programa, la traduce y la ejecuta.

Paradigmas de la Programación[7]

En el contexto de las ciencias de la computación, los paradigmas de programación fue aplicado por primera vez por Robert Floyd [8] (eminente científico de las Ciencias de la Computación, reconocido por haber desarrollado el algoritmo gráfico que lleva su nombre) en coautoría con Richard Beigel en donde se definió el concepto de Paradigma de Programación como un proceso de diseño que va más allá de una gramática, semántica y algoritmos, sino que es un conjunto de métodos sistemáticos aplicables en todos los niveles de diseño de programas. Actualmente existen una gran variedad de paradigmas de programación, pero una clasificación general podría ser la siguiente[9]:

FUENTE: Zárate Rea , Héctor: “Paradigmas de la Programación”

La Programación Declarativa está basada en el desarrollo de programas especificando o “declarando” un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. La solución es obtenida mediante mecanismos internos de control, sin especificar exactamente cómo encontrarla, por ejemplo Prolog y Lisp.

La Programación Imperativa es la más común y más conocida. Los programas imperativos son un conjunto de instrucciones que le indican a la computadora cómo realizar una tarea. Está representada por C, Basic, Fortran, etc.

La Programación Funcional es la que emplea un lenguaje matemáticamente elegante, empleando principalmente funciones aritméticas y pertenece también al grupo de lenguajes declarativos; algunos ejemplos son Haskell, Miranda y Scheme.

La Programación Lógica permite formalizar hechos del mundo real y forma parte de los programas declarativos. El lenguaje lógico por excelencia es Prolog, que a la vez es declarativo.

La Programación Orientada a Objetos intenta simular el mundo real a través del significado de objetos que contiene características y funciones. Los lenguajes orientados a objetos se clasifican como lenguajes de quinta generación y forman parte de la programación imperativa. Se basa en la idea de un objeto, que es una combinación de variables locales y procedimientos llamados métodos que juntos conforman una entidad de programación. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos. Ejemplos de estos lenguajes son C++, C#, Java, Smalltalk, Ruby on Rails,  Python y JavaScript, entre muchos otros.

Lenguaje de Programación C


C es un lenguaje de programación desarrollado en 1971, por Dennis Ritchie y Ken Thompson mientras trabajaban para los Laboratorios Bell. Desde su creación estuvo pensado para emplearse con los sistemas operativos, particularmente para UNIX y fue el desarrollo que evolucionó de otro lenguaje llamado “B”. El principal objetivo de C fue el emplear pocas instrucciones en lenguaje ensamblador para traducir cada código del lenguaje y así disminuir el tiempo de ejecución. Por otra parte, como también es posible programar en C con bajo nivel de abstracción, se considera un lenguaje intermediario entre los demás. De esta manera, es posible desarrollar compiladores de C con facilidad en un amplio rango de plataformas y aplicaciones por lo que ahora se considera un lenguaje de propósito general. Sus principales características y ventajas son las siguientes:

  • Características avanzadas tales como variables dinámicas, multitarea, manejo de interrupciones, forking [10] y un poderoso manejo entrada/salida de bajo nivel.
  • Núcleo (kernel) simple con funcionalidades matemáticas y manejo de archivos en bibliotecas.
  • Flexibilidad porque permite programar con diferentes estilos.
  • Debido a esto,  C es comúnmente usado para programación a nivel de sistema en UNIX, Linux y Mac.
  • Dispone de las estructuras típicas de los lenguajes de alto nivel pero a su vez dispone de construcciones del lenguaje que permiten un control a muy bajo nivel; por lo que se le considera un nivel intermedio.
  • Permite que los datos se relacionen a través de struct.
  • Destaca su gran riqueza de operadores y expresiones.

Desventajas

  • Aprendizaje más difícil que otros lenguajes similares como Pascal.
  • Requiere experiencia previa en programación.
  • Generación de basura nativa, pero es posible emplear el  recolector de basura de Sun Microsystems llamada “libgc” disponible en sus bibliotecas.
  • No soporta programación orientada a objetos, aunque para ello se desarrolló C++.

Ejemplo de programación “Hola Mundo”

#include <stdio.h>

int main()

{

printf(“Hola mundo”);

return 0;

}

Lenguaje de Programación C++

A finales de los 70’s y principio de los 80’s un nuevo modelo de  programación fue desarrollado, la programación orientada a objetos. La idea básica es que los objetos sean piezas de código auto-contenidas y reusables. Bjarne Stroustroup, también de los Laboratorios Bell, desarrolló un nuevo lenguaje basado en el entonces muy popular C que aplica los conceptos de la programación orientada a objetos, inicialmente lo  llamó “C con clases”, para posteriormente tomar su nombre definitivo C++ cuando fue publicado en 1983. Actualmente cuenta con un estándar ISO y es muy popular en la programación de aplicaciones. El objetivo inicial de C++ fue llevar a C a un nuevo paradigma de clases y objetos, acercándose así a una mayor compresión humana.

Características Principales de C++

  • Lenguaje de Programación Orientado a Objetos.
  • Gran rango de aplicaciones; desde el “Hello World” hasta desarrollo de sistemas operativos.
  • Tiene un  completo conjunto de instrucciones de control.
  • Posibilidad de  agrupar  instrucciones.
  • Uso de puntero (variable que posee la dirección de otra variable).
  • Los argumentos de  funciones pueden transferirse por su valor.
  • Biblioteca de funciones.
  • Compilación independiente por módulos.
  • Tamaño pequeño. 
  • Uso extensivo de las llamadas a  funciones. 
  • “Poco tecleo” ; comandos breves.
  • Lenguaje estructurado. 
  • Programación de bajo nivel y alto nivel.
  • Uso extensivo de apuntadores para arreglos, funciones, estructuras y memoria.
  • Portabilidad.
  • Didáctico; existen muchos tutoriales.
  • Al aprender a programar en C++ es muy fácil migrar a otros lenguajes como C#, Java, Javasript, Visual Basic , PHP, entre otros.

Desventajas C++

  • Uso de DLLs (librerías dinámicas) muy complejo. Java y .Net han evolucionado estos conceptos manipulando las DLLs mediante los frameworks que proveen. En cambio, en el caso de  C++ el desarrollador debe encargarse de cargar y liberar de memoria  estas librerías
  • C++ tiene un buen soporte y es robusto pero si existen errores en su codificación todo se viene abajo.
  • Manejo de punteros y memoria complicado.
  • No es recomendable para desarrollo de páginas Web. 
  • Existen muchos entornos de programación para C++ pero no existen estándares para ello. De manera que puedes encontrar C++ para Unix/Linux, Windows y para MacOS, lo que complica el desarrollo de una aplicación multiplataforma. Además, en cada SO  tiene diferentes IDEs de desarrollo.

Ejemplo de programación “Hola Mundo”

#include< iostream>

using namespace std;

int main(int argc, char *argv[]) {
std::cout << “Hola mundo” << endl;
return 0;
}

Lenguaje de Programación C# (C Sharp)


Inspirado en la notación musical, C# o “C Sharp” en inglés y “C sostenido” en español, este lenguaje de programación orientado a objetos  desarrollado por Microsoft dentro de su plataforma .Net, sugiere, justo por la notación musical (el sostenido o # es un semitono más alto que la nota anterior, en este caso del Do), que este lenguaje es superior al C y C++. Sin embargo, su sintaxis básica deriva directamente del C y C++ utilizando objetos .Net de manera muy similar a Java.

C# fue desarrollado por Anders Hejlsberg en 1999 cuando formó un equipo de trabajo llamado Cool (que significa C orientado a objetos).

C# es simple, flexible y eficaz; orientado a objetos y con seguridad de tipos. Las numerosas innovaciones de C# permiten desarrollar aplicaciones rápidamente y mantener la expresividad y elegancia de los lenguajes de estilo de C. Por su parte, VisualC# es la implementación del lenguaje C# de Microsoft que tiene compatibilidad con VisualStudio.

Características Principales de C#

  • C# es un lenguaje de programación simple pero eficaz, diseñado para escribir aplicaciones empresariales.
  • Es una evolución de los lenguajes C y C++. Utiliza muchas de las características de C++ en las áreas de instrucciones, expresiones y operadores.
  • Innovaciones y  mejoras  en seguridad de tipos, control de versiones, eventos y recolección de elementos no utilizados (liberación de memoria).
  • Proporciona acceso a los tipos de API más comunes: .NET Framework, COM.
  • Automatización y estilo C. Asimismo, admite el modo  unsafe, en el que se pueden utilizar punteros para manipular memoria que no se encuentra bajo el control del recolector de elementos no utilizados.
  • Muy similar a Java y C++ por lo que es fácil hacer migraciones.

Desventajas C#

  • Principal desventaja deriva de que es necesario adquirir primero la última versión de Visual Studio .NET.
  • Requerimientos mínimos de cómputo.
  • Contar con Windows NT 4 o superior.
  • C# tiene que cargar el Framework .Net y el el CLR (Common Language Infrastructure) cada vez que se ejecute un programa en C#, por lo que si el programador requiere velocidad es mejor que opte por C o C++.

Ejemplo de programación “Hola Mundo”

// Hello1.cs
public class Hello1
{
   public static void Main()
   {
      System.Console.WriteLine("Hello, World!");
   }
}

Conclusiones

C es un lenguaje de software libre pero estandarizado por la ISO que admite programación estructurada (la de toda la vida), nada más. Útil en programación de microchips, sistemas operativos, drivers y programación web.

C++ es también  un lenguaje de software  libre estandarizado por la  ISO que admite tanto la  Programación estructurada como la totalidad de la POO (programación orientada a objetos: herencia simple, herencia múltiple, polimorfismo, upcasting, downcasting, RTTI, interfaces, clases abstractas, clases amigas, operadores, sobrecarga, etc.). También admite programación genérica (plantillas,  conceptos de contenedores, estructuras de datos genéricas, etc.). Es un lenguaje de uso general que tiene otras características más avanzadas como los punteros inteligentes, programación lambda y programación “física”. Se usa para cualquier tipo de desarrollo, desde sistemas operativos hasta los juegos 3D de última generación pasando por aplicaciones para servidores y las típicas aplicaciones de escritorio como  Office u OpenOffice. También se ha empleado en el desarrollo de reproductores multimedia como  WinAMP y Windows Media Player, en diversos  navegadores web (Internet Explorer, Mozilla Firefox…) y una infinidad de aplicaciones.

C# es un invento de Microsoft (lenguaje propietario) que mezcla las características básicas de C++ (menos avanzadas) simplificándolas al estilo Java ofreciendo un framework (VisulaStudio) El problema es que  solo corre en plataforma .Net, y deja de ser código nativo/portable pero es muy fácil de programar tareas comunes, al igual que Java. Por ello se genera el debate ¿Java o C#? Su funcionalidad viene a ser parecida aunque .Net es más nativo y Java más virtual.


[1] Manuel Toussaint y Ritter ( Ciudad México 1890-NY 1955) fue un historiador del arte, escritor y académico mexicano.

[2] Toussaint, “La Catedral de México” Porrúa, México 1973 págs 31-33 Se ha discutido mucho sobre el arquitecto autor de la traza de la catedral. En el acta fechada 19 mayo 1616  quedó establecido de modo irrefutable que los autores de la actual Catedral de México fueron Claudio de Arciniega en la traza y Juan Miguel de Agüero en el alzado.

[3] Citado en http://www.analesiie.unam.mx/index.php/analesiie/article/view/1893/2986

[4] Citado en http://www.catedralmetropolitanademexico.mx/apps/publications/info/?a=24&z=6

[5] El herreriano es un estilo llamado así por el arquitecto Juan de Herrera a quien se le debe este estilo cuyo mejor ejemplo es el Escorial (a. 1584) y cuyo trabajo estuvo a las órdenes del Rey Felipe II (1552-1584)

[6] La bóveda de cañón o también bóveda de medio cañón es un tipo de bóveda que posee una sección semicircular, generada por la prolongación de un arco de medio punto a lo largo de un eje longitudinal. El luneto se refiere a los cruces perpendiculares que se tienen por otras bóvedas de menor altura dando lugar a formas triangulares curvas.

[7] Citado textualmente por Careaga , Ana Lilia en http://comunidad.ingenet.com.mx/anacareaga/2010/08/24/paradigmas-de-la-programacion-javascript-y-python/

[8] Floyd  Robert, Beigel, Richard The Language of Machines: an Introduction to Computability and Formal Languages (1994, W.H. Freeman and Company)

[9] Citado por  González Álvarez Joaquín en “ Temas Escogidos sobre Física y el Concepto de  Realidad” UNAM

[10] En el contexto del desarrollo de software, forking es  la creación de un proyecto en una dirección distinta de la principal u oficial tomando el  código fuente del proyecto ya existente.

Una respuesta para “C, C++ y C# : Lenguajes en tonalidad de Do Mayor y Do sostenido Mayor”

  1. MARTA AURORA SOLANO ORTIZ dice:

    No me sorprende tu inteligencia, Ana Lilia. Desde
    El cole, demostraste una sobresaliente
    Capacidad de investigación y análisis. Te
    Felicito por haber tenido la oportunidad de
    Desarrollarlos, y me congratulo de poder
    Seguir aprendiendo de talentos cómo tú.
    Dios te bendice.

Deja un comentario