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

Contido eliminado Contido engadido
SieBot (conversa | contribucións)
Xqbot (conversa | contribucións)
m bot Engadido: mg:Fiteny C; cambios estética
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 inconvintes ==
* Vantaxes:
** É unha linguaxe moi eficiente posto que é posible utilizar as suas características de baixo nivel para realizar implementacions óptimas.
** A pesar do seu baixo nivel é [[portable]] sempre que no sistema final exista o [[compilador]] axeitado (con algunhas restriccions).
** É 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.
 
* Inconvintes:
** A sua flexibilidade e/ou optimización excesiva pode xerar programas pouco lexibles e mantibles.
** Algunhas das suas 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 expresions, 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 sua aparición da linguaxe surxiron varias ramas de evolución que xeraron varias novas linguaxes:
* '''[[Objetive-C]]''' é un primer intento de proporcionar soporte á [[Programación orientada a obxectos|programación orientada a obxectos]] pero de escasa difusión.
* '''[[C máis máis|C++]]''' diseñ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_SharpC Sharp|C#]]''' (pronunciado ''C Sharp'' en inglés e ''C almohadilla'' en castelan, ainda que sóese 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 instruccions (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 inclusions (<code>#include</code>) polas declaracions reais existentes no ficheiro indicado.
# '''[[Compilación]]''' que xenera 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.
 
== Exemplo de Código C ==
Segue o clásico exemplo "Ola mundo!" en C:
 
Liña 41:
}
 
== Véxase tamén ==
{{Wikibooks|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 ===
* [http://www.faqs.org/docs/artu/c_evolution.html C evolution]: En [[Lingua inglesa|inglés]].
 
 
[[Categoría:Linguaxes de programación|C]]
Liña 102 ⟶ 101:
[[lt:C (kalba)]]
[[lv:C (programmēšanas valoda)]]
[[mg:Fiteny C]]
[[mk:C (програмски јазик)]]
[[ml:സി (പ്രോഗ്രാമിങ് ഭാഷ)]]