Distribución de software
¿Que es la manera de distribución de software? La manera de darlo al público.
Tenemos diferente tipo de software (entendiendo como tal el que podemos descargar sin pago, los programas propietarios los veremos después).
Shareware → Programa de distribución de prueba para la evaluación del usuario Suele haber dos tipos.
- Programa completo con licencia de duración determinada
- Programa con funcionalidades bloqueadas
Freeware → Software gratuito por diversos motivos.
- Te pueden entregar su producto para que compruebes su funcionamiento.
- O de un desarrollador que lo quiere compartir.
- Normalmente el freeware autoriza la distribución del software, pero no
Adware → Software gratuito completo, pero con anuncios incorporados. Por ejemplo uTorrent, o casi todas las aplicaciones del Play Store que son gratis.
No es una clasificación muy estricta. Por ejemplo uTorrent también puede ser mclasificado como Shareware, ya que permite pagar por una versión sin anuncios, o algunos que sirven para desbloquear más opciones.
Según licencias, tenemos dos tipos de software.
Libre →Es un tipo de licencia en la que el autor cede una serie de libertades para que lo use el usuario.
- Tiene código abierto. Permite estudiar como funciona el programa por dentro (y modificarlo).
- Que pueda compartir el programa
- No necesariamente tiene que ser gratuito
Propietario → Tiene el código cerrado. Podemos utilizar el programa pero no vamos a ver como esta realizado.
Software de dominio público → Programas de los que se desconoce su autoría.
Software que no tiene un propietario porque nadie sabe quien lo ha hecho o no está reconocido por su autor.
Si queremos hacer una licencia de software libre, la más utilizada es GPL.
Han salido tres versiones de la licencia GPL, que vienen entregan más o menos derechos al autor y más o menos permisividad de uso al usuario.
La versión 1 permite modificar el código del programa y distribuirlo de nuevo.
La versión 2 imponía que cualquier modificación de ese software debía llevar las mismas restricciones. Es decir, si alguien modificaba un programa con licencia GPL y posteriormente lo distribuía con otra licencia, se le podía denunciar.
La versión 3 añade un poco más de libertad al programador. Se puede indicar que todo lo que se distribuye bajo esa licencia debe nombrar al autor y la fuente de desarrollo.
Podemos seguir usando cualquiera de estas licencias. Las licencias GPL obligan a distribuir el código fuente entendible y modificable para un ser humano. Es decir, si sólo queremos distribuir el código binario no podremos usar una de estas licencias.
Clasificación de los lenguajes de programación
Vamos a clasificar los lenguajes de programación según su nivel de abstracción. Es decir, si colocamos al usuario arriba y a la maquina abajo, los lenguajes van de un nivel más alto de abstracción si son más entendibles para el usuario, y más bajos si son más entendibles para el código máquina.
Alto nivel JAVA, C#, C++, FORTRAN, BASIC, ....
Nivel medio C → Acceso directo a recurso de la máquina. Se usa para programar Sistemas Operativos. Ej. Linux (Android)
Bajo nivel Código ensamblador → MOV R1, R2; SUM R2, R3;
Código máquina → 01111011101111101
Los lenguajes de más bajo nivel son los que trabajamos más con lenguaje binario, entrada y salida de dispositivos, etc. Cuanto más cerca nos acercamos a la maquina, más en cuenta hay que tener el tipo de maquina que estamos empleando. No es lo mismo programar para una raspberry que para un AMD, ya que cuando se compila se hace para un procesador en concreto.
Los lenguajes de nivel medio permite introducir el uso de direccionamiento de memoria.
Con C podemos programar también a bajo nivel, lo que permite que se comentan más errores. Cuanto más bajo sea el nivel, más fácil es equivocarse al escribir el código,
Los lenguajes de alto nivel permiten un alto nivel de abstracción y su programación es mucho más cercana a la realidad. Es decir, podemos declarar variables que sean personas, y que estás tengan sus datos. Lo leemos y básicamente lo entendemos. Con C aunque lo leamos si no sabemos no lo entenderemos.
VIM
Imagina que se tiene este pseudocódigo:
function restar (a,b) devuelve entero es
resultado:=a-b;
devuelve resultado;
fin function
Ese espacio que se tabula para indicar que estamos en un subgrupo se llama IDENTACIÓN.
0 comentarios:
Publicar un comentario