Programación Genérica
Programación Genérica
Funciones Genericas
Polimorfismo parametrico
Las funciones polim´orficas trabajan exactamente de la misma manera sobre todas las instancias
del tipo polim´orfico.
length (x:xs) = 1 + length xs concat :: [[a]] -> [a] concat [] = [] concat (x:xs) = x ++ concat xs Prog.
Gene´rica - InCo 3
1. reusables
3. independientes de los datos sobre los que opera Normalmente los algoritmos genéricos son
utilizados sobre agregados de elementos (pilas, colas, listas, conjuntos. …)
La idea es generalizar lo más posible las funciones para que puedan ser empleadas múltiples
veces. Esto se puede lograr parametrizando lo más posible los algoritmos.
La programación genérica apareció en los setenta en lenguajes como CLU y Ada, y luego fue
adoptada por muchos lenguajes orientado a objeto como BETA, C++, D, Eiffel, Java, etc.
La programación genérica es implementada y soportada de formas diferentes en cada lenguaje de
programación.
Internacionalización
Razones de la Internacionalización:
Exportar porque el mercado externo es el mercado natural por escasez de estos productos
Acceder a un mercado más grande (mayor volumen) y así poder competir en un sector donde
otras firmas obtienen economías de escala a nivel mundial
Por la dura competencia en el mercado interno o como reacción ante el ataque de un competidor
internacional que amenaza su posición
Ventajas de la Internacionalización:
Producción
Economías de escala
Ventaja Competitiva
Los mercados globales son lucrativos. Vender tus aplicaciones en todo el mundo genera muchas
rentas e incrementa la cuota de mercado. Para tener éxito en el mercado internacional tus
aplicaciones deben soportar idiomas locales y convenciones para el formateo de datos. Tus
clientes no esperarán menos de tí. Por ejemplo, los Norteamericamos esperan sus mensajes en
Inglés, las fechas en el formato mm/dd/yy, y la moneda expresada en dólares ($). Los Alemanes
querrán sus mensajes en Alemán, las fechas en el formato dd.mm.yyyy, y la moneda expresada en
Marcos alemanes (DM).
http://www.siecan.org/index.php?option=com_content&view=article&id=360%3Ainternacionaliza
cion&Itemid=120&lang=es
http://programacion.net/articulo/internacionalizacion_de_programas_java_140
https://www.fing.edu.uy/inco/cursos/proggen/Transparencias/IntroduccionX2.pdf
[4] G. Hutton. A tutorial on the universality and expressiveness of fold. Journal of Functional
Programming, 9(4):355-372, 1999.
Existen diferentes definiciones para la palabra internacionalización. La que damos aquí es una
definición operativa de alto nivel para usar con los materiales de la Actividad de
internacionalización del W3C. Algunas personas utilizan otros términos para referirse al mismo
concepto, por ejemplo, "globalización".
Preparar el código para hacer frente a las preferencias locales, regionales, lingüísticas o culturales.
Por lo general, esto supone incorporar características y datos de localización predefinidos a partir
de bibliotecas existentes o de las preferencias del usuario. Algunos ejemplos son: formatos de
fecha y hora, calendarios locales, formatos y sistemas de números, ordenamiento y presentación
de listas, uso de nombres personales y formas de tratamiento, etc.
Separar del código o contenido fuente los elementos localizables, de modo que puedan cargarse o
seleccionarse alternativas localizadas según determinen las preferencias internacionales del
usuario.
Obsérvese que esta lista no incluye necesariamente la localización del contenido, la aplicación o el
producto hacia otro idioma; se trata más bien de prácticas de diseño y desarrollo que facilitan esa
migración en el futuro, pero que también pueden tener una utilidad considerable aunque la
localización jamás se produzca.
La palabra localización a veces se escribe "l10n", donde 10 es la cantidad de letras entre la ele y la
ene.