Tanto Pascal como C son lenguajes procedurales, lo que significa quedebe tomarse en cuenta el orden en que se
escriben las instrucciones de un programa. Loslenguajes procedurales tienen un
conjunto de instrucciones que de manera general y segúnel concepto de programación estructurada de Edsger Dijkstra,pueden considerarsecomunes. La diferencia entonces la encontramos en
la sintaxis de cada lenguaje, aunque enmuchos casos son muy parecidas.
LENGUAJE C
·
C es un lenguaje de programación creado
en 1972 por Dennis M. Ritchie encambio
· Es un lenguaje orientado a la implementación
de Sistemas Operativos,
concretamente Unix. C es
apreciado por la eficiencia del código que produce
y es el lenguaje de programación más popular para crear software de sistemas, aunque
también se utiliza para crear aplicaciones.
· 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. Los
compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar
código enensamblador con
código C o acceder directamente a memoria o dispositivos periféricos.
·
En C, el compilador hace el mejor esfuerzo
para dar una interpretación a casi todo tipo de asignaciones.
·
El lenguaje C es conocido como un lenguaje
compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados
son aquellos que necesitan del código fuente para funcionar y los compilados convierten el código fuente en un fichero objeto y éste en un fichero
ejecutable.
·
Proporciona facilidades para realizar
programas modulares y/o utilizar código o bibliotecas existentes.
·
Su objetivo era crear un lenguaje que
facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y
estructuración de datos.
LENGUAJE PASCAL
·
Pascal es un lenguaje de programación desarrollado
por el profesor suizo Niklaus Wirth entre
los años 1968 y 1969 y publicado en 1970.
·
Pascal se caracteriza por ser un lenguaje de
programación estructurado fuertemente tipado. Esto implica que:
1. El código está dividido en porciones fácilmente
legibles llamadas funciones o
procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en
oposición al antiguo estilo de programación
monolítica.
2.
El tipo
de dato de todas las variables debe ser declarado previamente para
que su uso quede habilitado.
·
En Pascal, el tipo de una variable se fija en
su definición; la asignación a variables de valores de tipo incompatible no está
autorizadas
·
Sus programas tienen definidos dos partes:
decalrativa y ejecutiva. EN la primera debe aparecer todo lo que se usará en la
segunda, de lo contrario se detecta como desconocido y evita ciertas
incompresiones.
·
A diferencia del lenguaje C. PACAL utiliza el
símbolo :═ para la asignación en vez
de =.
POR OTRO LADO DEBEMOS TOMAR EN CUENTA LO
SIGUIENTE:
¿QUÉ SE GANA EN PASCAL CON RESPECTO A LENGUAJE C?
1. Limpieza
2. Rapidez
de compilación (FreePascal es 9 veces más rápido que GCC compilando).
3. Facilidad
4. Mejor
gestión de librerías y sus dependencias
5. Un
entorno de programación gráfica (Lazarus y Delphi) sencillo y efectivo
6. Mejor
mantenibilidad del código
7. Mejor
gestión de los ficheros de código (no es necesario usar make incluso para proyectos grandes)
8. Mejor
portabilidad
¿Y QUÉ SE PIERDE EN PASCAL CON RESPECTO A C?
Realmente poca cosa, excepto
quizá:
1.- Código generado ligeramente más lento, en torno al
10%.
2.- Esto no es debido a las capacidades de Pascal de ser
rápido, sino a que GCC es un proyecto que gracias a su fama está mantenido por
más gente. Aun así, y teniendo en cuenta la diferencia de presupuestos, es
sorprendente que C genere código solo un 10% más rápido. Nota: en la prueba se
ha puesto la optimización al máximo en ambos compiladores, no es normal usar
opciones tan agresivas en ambos compiladores, por lo que al final la diferencia
en la velocidad de proceso es casi descartable.
3.-Acceso más directo a las librerías del sistema. En
FreePascal es fácil usar librerías del sistema, pero hay que declarar las
funciones previamente.
4.-Aritmética de punteros (no es lo mismo que uso de
punteros). Algo que todo programador debería evitar. Pascal tiene punteros, y
es posible la aritmética en los mismos con algunos trucos, pero no se
recomienda.
BIBLIOGRAFÍA:
http://es.wikipedia.org/wiki/C_(lenguaje_de_programación)#Propiedades
http://www.docstoc.com/docs/21087843/Caracter%C3%ADsticas-del-Lenguaje-C
http://es.wikibooks.org/wiki/Programación_en_Pascal/Porqué_Pascal
http://es.scribd.com/doc/7260491/De-Pascal-a-C