C (linguaxe de programación): Diferenzas entre revisións

Contido eliminado Contido engadido
*linguaxe ensamblador -> linguaxe ensambladora
Servando2 (conversa | contribucións)
Sen resumo de edición
Liña 5:
Existe un estándar [[ISO]] do [[1986]] denominado [[ANSI C]]. En teoría, unha linguaxe 100% [[ANSI C]] sería portable entre plataformas e/ou arquitecturas pero na práctica isto non é sempre certo.
 
== Vantaxes e inconvintesinconvenientes ==
* Vantaxes:
** É unha linguaxe moi eficiente posto que é posible utilizar as suassúas características de baixo nivel para realizar implementacionsimplementacións óptimas.
** A pesar do seu baixo nivel é [[portable]] sempre que no sistema final exista o [[compilador]] axeitado (con algunhas restriccionsrestricións).
** É unha linguaxe moi flexible que permite programar con múltiples estilos. Un dos máis empregados é o estruturado non levado ao extremo (permitindo certas licenzas rupturistas).
** Proporciona facilidades para realizar programas modulares e/uo utilizar código ou bibliotecas existentes.
 
* Inconvenientes:
* Inconvintes:
** A suasúa flexibilidade e/ou optimización excesiva pode xerar programas pouco lexibles e mantibles.
** Algunhas das suassúas posibilidades mal empregadas poden inducir a erros ou bugs difíciles de detectar e corrixir.
** Trátase dunha linguaxe complexa e complicada de aprender. O seu núcleo nativo é moi reducido (unicamente expresionsexpresións, sentenzas condicionais e bucles) mentres que a maior parte da funcionalidade proporcionase con bibliotecas externas (a maior parte bibliotecas estándar e as bibliotecas da API do sistema).
 
== Variantes ==
Desde a suasúa aparición da linguaxe surxironxurdiron varias ramas de evolución que xeraron varias novas linguaxes:
* '''[[Objetive-C]]''' é un primerprimeiro intento de proporcionar soporte á [[programación orientada a obxectos]] pero de escasa difusión.
* '''[[C máis máis|C++]]''' diseñadodeseñado por [[Bjarne Stroustrup]] proporciona [[Programación orientada a obxectos|orientación a obxectos]] e é a variante máis difundida e aceptada. Esta versión combina a flexibilidade e o acceso de baixo nivel de C coas características da programación orientada a obxectos como abstracción, encapsulación e ocultación.
* '''[[C Sharp|C#]]''' (pronunciado ''C Sharp'' en inglés e ''C almohadilla'' en castelancastelán, aindaaínda que sóesese soe usar a pronunciación inglesa) é unha linguaxe derivada de C/C++ e [[Java (linguaxe de programación)|Java]] desenvolvido por [[Microsoft]].
 
== Proceso de compilación ==
A [[compilador|compilación]] dun programa C realizase en varias fases que normalmente son automatizadas e ocultadas polos entornos de desenvolvemento:
# '''[[Preprocesado]]''' consistente en modificar o [[código fonte]] en C segundo unha serie de instruccionsinstrucións (denominadas [[directivas de preprocesado]]) simplificando de esta forma o traballo do [[compilador]]. Por exemplo, unha das accións máis importantes é a modificación das inclusionsinclusións (<code>#include</code>) polas declaracionsdeclaracións reais existentes no ficheiro indicado.
# '''[[Compilación]]''' que xeneraxera o [[código obxecto]] a partir do código xa preprocesado.
# '''[[Enlazado]]''' que une os [[código obxecto|códigos obxecto]] dos distintos módulos e bibliotecas externas (como as [[bibliotecas do sistema]]) para xerar o programa executable final.
 
Liña 44:
{{Wikibooks|C|C}}
===Outros artigos===
*[[Linguaxe de programación]].
*[[Linguaxe de alto nivel|Linguaxe de programación de alto nivel]].
*[[Linguaxe de programación B|B]] · [[C++]] · [[Linguaxe de programación D|D]] · [[Python]] · [[Ruby]] · [[Perl]].
 
===Ligazóns externas===