jueves, 29 de diciembre de 2016

LAS PERSONALIDADES QUE REVOLUCIONARON LA TECNOLOGÍA INFORMÁTICA Y LOS NEGOCIOS 



Las últimas 3 décadas fueron testigo de la revolución generada por los grandes nombres de la informática. Podemos destacar a Steve Jobs, Bill Gates y Larry Page, entre las personalidades provenientes de la tecnología que mas influyeron en el mundo de los negocios.
Les contaremos de donde vienen, que camino tomaron cada uno para ser una celebridad distinguida en el mundo de la tecnología, y cuales son los puntos en común que comparten


Steve Jobs: chico adoptado en una familia humilde, sus relaciones con el budismo, sus genialidades y el éxito

Nacido en Febrero de 1955, como fruto de la relación de padre sirio-musulmán y madre estadounidense, fue dado en adopción a una familia de clase media de apellido Jobs, con el único objetivo de que Steve desarrolle una carrera universitaria, que él nunca terminó.
Su adolescencia y sus estudios se desarrollaron en Mountain View, ciudad al sur de Palo Alto, “meca” de la Industria electrónica, donde conoció y deslumbró al mismísimo presidente de Hewlett-Packard, William Packard quien lo invitó a participar en una pasantía de verano en su empresa, luego trabajó en Atari como desarrollador de video juegos, y fue miembro de un grupo elitista llamado Homebrew Computer Club donde compartían ideas con Steve Wozniak, quien lo acompañaría en la fundación de su compañía Apple Computer, montando un taller en el garaje de su casa con una inversión inicial de U$S 1.300 para desarrollar una computadora personal, y llegar a convertirlo en el millonario más joven.
Siempre fue un mentor de sus ideas, que lo llevaron a grandes enfrentamientos con los que no compartían algunas de sus visiones empresariales, con consecuencias impensadas como su salida en el año 1985 de la compañía que el mismo fundó.
Las mismas ideas que lo llevaron a cumplir su sueño de unir la tecnología con el arte y fundar Pixar, y creando junto a Disney las películas animadas éxito a nivel mundal y ganadoras del Oscar como Toy Story, entre otras.
También invierte 7 millones de dólares para comprar Next Computer, una compañía de computadoras y sistemas que luego seria adquirida por Apple, dandole la posibilidad a Steve de convertirse en accionista mayoritario y marcando su regreso a Apple.
Esto marcó un nuevo ciclo de Steve Job en Apple, donde sus ideas llevadas a la práctica revolucionaron otra rama del arte, la música, con la creación y lanzamiento del iPod y el iTunes.
Otros proyectos como el iPhone, el iPad, el iCloud, marcaron los pasos de la tecnología en la última década.
Steve, curioso del budismo, que lo llevó a visitar la India para experimentar esa cultura durante su juventud, fue también vegetariano y de personalidad detallista en todos sus emprendimientos.
Su legado en Apple es seguido por su equipo de trabajo con Tim Cook a la cabeza, con el objetivo de que la tecnología simplifique la vida de las personas.


Bill Gates: familia acomodada, arrestos policiales, la fortuna personal más grande del mundo y filántropo

Nacido en Octubre de 1955 en Seattle, hijo de un destacado abogado y una profesora de la Universidad de Washington.
Cursó sus estudios en una escuela de Élite de Seattle que le permitió tener sus primeros contactos con la informática, al ser uno de las pocas instituciones formativas que tenían una computadora en 1968.
Durante sus estudios en Harvard, que abandonaría en 1976, creó la empresa Microsoft y desarrolló el lenguaje para computadoras llamado Basic, que en 1980 se lo vendería a IBM con el nombre de MS-DOS, y bajo una negociación beneficiosa para la empresa de Gates, Microsoft podría comercializar el Sistema Operativo a otras empresas.
Gates siempre tuvo un espítiru desafiante y alocado tanto en los negocios, como en su forma de vivir, que sumado a su pasión por los autos, lo llevó a ser detenido por la policía en 3 oportunidades por cometer excesos de velocidad .
Los desarrollos de Apple eran la amenaza mas fuerte para Bill Gates. El entorno gráfico de la Macintosh de Apple era el diseño con el cual Microsoft debía competir, y tras un acuerdo estratégico con Apple, Gates consiguió tecnología del entorno gráfico para crear el Sistema Operativo Windows que con el correr de los años se transformó en el Sistema Operativo con el cual funciona la mayoría de las computadoras personales del mundo.
Tras formár parte de una de las empresas mas poderosas y prestigiosas del mundo, Bill Gates se retira de las funciones ejecutivas de Microsoft en el año 2008, quedando como presidente honorario y se dedica a dirigir la fundación destinada a la caridad que creó junto a su esposa Melinda Gates llamada Bill and Melinda Gates Foundation. La fundación de los Gates es una de las fundaciones de caridad más importantes del mundo.
Bill Gates se transformó en uno de los hombres con mayor fortuna personal del mundo según la revista Forbes, y su pasión por la filantropía lo llevo a donar parte de su fortuna a través de la fundación que dirige junto a su esposa, sino se estima que hoy su fortuna personal seria de U$S 88.000 millones.


Larry Page: La base del estudio, la innovación y el perfil bajo

Nacido en 1973 en Lansing, Michigan, hijo de padres profesores en el campo de la Ciencia Informática de la Universidad de Michigan.
Su entorno familiar asociado con el estudio de los Sistemas Informáticos, lo llevó a despertar su interés en este campo a tal punto que se recibió con honores en la Universidad de Michigan como licenciado en ingeniería informática.
Pero su vocación por el aprendizaje y el perfeccionamiento lo condujo a realizar un Doctorado en Ciencias Informáticas en la Universidad de Stanford donde Page conoció a Sergey Brin, quien junto a él, seria el artífice en el desarrollo de la empresa Google.
Larry Page y Sergei Brin no tenían muchas cosas en común, de hecho, disentían en la mayoría de los temas que trataban en la Universidad hasta que sin darse cuenta, encontraron un punto de coincidencia, y fue en el tema referido a la recuperación de información de grandes conjuntos de datos.
Ambos escribieron lo que se considera su mayor contribución en la universidad, un documento llamado "The Anatomy of a Large-scale Hypertextual Web Search Engine" (Anatomía de un gran Motor de búsqueda Híper-textual de internet). Que es el décimo artículo científico más visitado en la Universidad de Stanford.
Este documento fue la base para desarrollar lo que hoy se reconoce como el motor de búsqueda en internet mas grande del mundo y fundar la empresa Google, la cual seria dirigida por Page y Brin.
Google se transformó en un gigante de la tecnología, primero basándose en planes de publicidad para empresas a través de su buscador y luego diversificando su oferta de productos a tal punto que Android, su Sistema Operativo para smartphone y tablets, es uno de los líderes del mercado junto al IOS de Apple.
En el año 2001Larry deja el puesto de CEO a Eric Schmidt, tras declarar que había detalles del trabajo de jefe que no concordaban con su personalidad.
Pero a mediados del 2011Page retorna sus tareas como CEO de Google y dirigir la empresa para enfrentar la dura competencia con las Redes Sociales (Facebook y Twitter) y liderar la “Era de los sistemas operativos móviles” (con su competidor el IOS de Apple).


Algunos números sobre las empresas y los proyectos liderados por Jobs, Gates y Page:

· Apple ha vendido mas de 100 millones de iPhones15 millones de iPads y tiene mas de 200 millones de cuentas activas de itunes
· 29.000 millones es el número de aplicaciones descargadas por terminales Android
· Mas de U$S 60.000 millones es lo que factura Microsoft cada año

La clave : INNOVACION

Si analizamos las biografías de cada uno, encontraremos que el desarrollo familiar y estudios de estos personajes son disímiles. También no se encuentran similitudes en sus personalidades a la hora de dirigir cada una de sus empresas para guiarlas hacia el éxito.
Entonces, ¿Como 3 personas tan diferentes dentro de una misma ciencia pueden alcanzar el éxito?, la respuesta la encontramos en el espíritu innovador y en la inteligencia que tiene cada uno por desarrollar aquellas herramientas que faciliten la vida del hombre.
Jobs, Gates y Page han encontrado en la INNOVACION, los secretos para desarrollar productos que no solo sean rentables, sino que se destaquen cambiando el futuro de la tecnología y la forma de hacer negocios.
Ellos han reinventado sus empresas, han trazado los lineamientos necesarios para seguir desarrollando productos que trascienden lo conocido hasta el momento.
La discusión sobre cual de los 3 es el más destacado por su legado se puede establecer, pero creemos que sin saberlo o admitirlo, Jobs, Gates y Page han necesitado el uno del otro para desarrollar aun mas su espiritu innovador generando en la “competencia” un desafío superador.

¿COMO SE CREO EL INTERNET?


Internet es un conjunto descentralizado de redes de comunicación interconectadas que utilizan la familia de protocolos TCP/IP, garantizando que las redes físicas heterogéneas que la componen funcionen como una red lógica única, de alcance mundial. Sus orígenes se remontan a 1969, cuando se estableció la primera conexión de computadoras, conocida como ARPANET, entre tres universidades en California y una en Utah, Estados Unidos. 
En el mes de julio de 1961 Leonard Kleinrock publicó desde el MIT el primer documento sobre la teoría de conmutación de paquetes. Kleinrock convenció a Lawrence Roberts de la factibilidad teórica de las comunicaciones vía paquetes en lugar de circuitos, lo cual resultó ser un gran avance en el camino hacia el trabajo informático en red. El otro paso fundamental fue hacer dialogar a los ordenadores entre sí. Para explorar este terreno, en 1965, Roberts conectó una computadora TX2 en Massachusetts con un Q-32 en California a través de una línea telefónica conmutada de baja velocidad, creando así la primera (aunque reducida) red de computadoras de área amplia jamás construida. 

* 1969: La primera red interconectada nace el 21 de noviembre de 1969, cuando se crea el primer enlace entre las universidades de UCLA y Stanford por medio de la línea telefónica conmutada, y gracias a los trabajos y estudios anteriores de varios científicos y organizaciones desde 1959 (ver: Arpanet). El mito de que ARPANET, la primera red, se construyó simplemente para sobrevivir a ataques nucleares sigue siendo muy popular. Sin embargo, este no fue el único motivo. Si bien es cierto que ARPANET fue diseñada para sobrevivir a fallos en la red, la verdadera razón para ello era que los nodos de conmutación eran poco fiables, tal y como se atestigua en la siguiente cita: 

A raíz de un estudio de RAND, se extendió el falso rumor de que ARPANET fue diseñada para resistir un ataque nuclear. Esto nunca fue cierto, solamente un estudio de RAND, no relacionado con ARPANET, consideraba la guerra nuclear en la transmisión segura de comunicaciones de voz. Sin embargo, trabajos posteriores enfatizaron la robustez y capacidad de supervivencia de grandes porciones de las redes subyacentes. (Internet Society, A Brief History of the Internet) 

* 1972: Se realizó la Primera demostración pública de ARPANET, una nueva red de comunicaciones financiada por la DARPA que funcionaba de forma distribuida sobre la red telefónica conmutada. El éxito de ésta nueva arquitectura sirvió para que, en 1973, la DARPA iniciara un programa de investigación sobre posibles técnicas para interconectar redes (orientadas al tráfico de paquetes) de distintas clases. Para este fin, desarrollaron nuevos protocolos de comunicaciones que permitiesen este intercambio de información de forma "transparente" para las computadoras conectadas. De la filosofía del proyecto surgió el nombre de "Internet", que se aplicó al sistema de redes interconectadas mediante los protocolos TCP e IP. 

* 1983: El 1 de enero, ARPANET cambió el protocolo NCP por TCP/IP. Ese mismo año, se creó el IAB con el fin de estandarizar el protocolo TCP/IP y de proporcionar recursos de investigación a Internet. Por otra parte, se centró la función de asignación de identificadores en la IANA que, más tarde, delegó parte de sus funciones en el Internet registry que, a su vez, proporciona servicios a los DNS. 

* 1986: La NSF comenzó el desarrollo de NSFNET que se convirtió en la principal Red en árbol de Internet, complementada después con las redes NSINET y ESNET, todas ellas en Estados Unidos. Paralelamente, otras redes troncales en Europa, tanto públicas como comerciales, junto con las americanas formaban el esqueleto básico ("backbone" de Internet).


* 1989: Con la integración de los protocolos OSI en la arquitectura de Internet, se inició la tendencia actual de permitir no sólo la interconexión de redes de estructuras dispares, sino también la de facilitar el uso de distintos protocolos de comunicaciones. 

En el CERN de Ginebra, un grupo de físicos encabezado por Tim Berners-Lee creó el lenguaje HTML, basado en el SGML. En 1990 el mismo equipo construyó el primer cliente Web, llamado WorldWideWeb (WWW), y el primer servidor web. 

* 2006: El 3 de enero, Internet alcanzó los mil cien millones de usuarios. Se prevé que en diez años, la cantidad de navegantes de la Red aumentará a 2.000 millones. 

Muchos utilizan la Internet para descargar música, películas y otros trabajos. Hay fuentes que cobran por su uso y otras gratuitas, usando los servidores centralizados y distribuidos, las tecnologías de P2P. Otros utilizan la red para tener acceso a las noticias y el estado del tiempo. 

La mensajería instantánea o chat y el correo electrónico son algunos de los servicios de uso más extendido. En muchas ocasiones los proveedores de dichos servicios brindan a sus afiliados servicios adicionales como la creación de espacios y perfiles públicos en donde los internautas tienen la posibilidad de colocar en la red fotografías y comentarios personales. Se especula actualmente si tales sistemas de comunicación fomentan o restringen el contacto de persona a persona entre los seres humanos.[cita requerida] 

En tiempos más recientes han cobrado auge portales como YouTube o Facebook, en donde los usuarios pueden tener acceso a una gran variedad de videos sobre prácticamente cualquier tema. 

nicialmente Internet tenía un objetivo claro. Se navegaba en Internet para algo muy concreto: búsquedas de información, generalmente. 

Ahora quizás también, pero sin duda alguna hoy es más probable perderse en la red, debido al inmenso abanico de posibilidades que brinda. Hoy en día, la sensación que produce Internet es un ruido, una serie de interferencias, una explosión o cúmulo de ideas distintas, de personas diferentes, de pensamientos distintos de tantas y tantas posibilidades que, en ocasiones, puede resultar excesivo. 

El crecimiento o más bien la incorporación de tantas personas a la red hace que las calles de lo que en principio era una pequeña ciudad llamada Internet se conviertan en todo un planeta extremadamente conectado entre sí entre todos sus miembros. 

El hecho de que Internet haya aumentado tanto implica una mayor cantidad de relaciones virtuales entre personas. Conociendo este hecho y relacionándolo con la felicidad originada por las relaciones personales, es posible concluir que cuando una persona tenga una necesidad de conocimiento popular o de conocimiento no escrito en libros, puede recurrir a una fuente más acorde a su necesidad. Como ahora esta fuente es posible en Internet, dicha persona preferirá prescindir del obligado protocolo que hay que cumplir a la hora de acercarse a alguien personalmente para obtener dicha información y, por ello, no establecerá, para ese fin, una relación personal sino virtual. Este hecho implica la existencia de un medio capaz de albergar soluciones para diversa índole de problemas. 

Como toda gran revolución, Internet augura una nueva era de diferentes métodos de resolución de problemas creados a partir de soluciones anteriores. Algunos sienten que Internet produce la sensación que todos han sentido sin duda alguna vez; produce la esperanza que es necesaria cuando se quiere conseguir algo. Es un despertar de intenciones que jamás antes la tecnología había logrado en la población mundial. Para algunos usuarios Internet genera una sensación de cercanía, empatía, comprensión y, a la vez, de confusión, discusión, lucha y conflictos que los mismos usuarios consideran la vida misma. 
MANEJO DE ARCHIVOS
Una de las principales funciones de un Sistema Operativo es la administración del almacenamiento de información, para lo cual es necesario contar con un “Sistema de Archivos”. Con este término se hace referencia, por un lado, a los mecanismos y estructuras que el sistema operativo utiliza para organizar la información en medios físicos tales como discos y diskettes (aspecto físico del sistema de archivos), y por otro a la visión que es ofrecida al usuario para permitir la manipulación de la información almacenada (una abstracción, o perspectiva lógica del sistema de archivos).
Se ofrece a continuación una descripción sintética de los aspectos lógicos del sistema de archivos de Linux.

ARCHIVOS Y DIRECTORIOS
El sistema de archivos de Linux está organizado en archivos y directorios. Un archivo es una colección de datos que se almacena en un medio físico y a la cual se le asigna un nombre. Los archivos, a su vez, están agrupados en conjuntos llamados directorios. Un directorio puede tener subdirectorios, formándose así una estructura jerárquica con la forma de un árbol invertido. El directorio inicial de esa jerarquía se denomina directorio raíz y se simboliza con una barra de división (/).
El sistema de archivos de un sistema Linux típico está formado por los siguientes directorios bajo el directorio raíz:

/bin Contiene los programas ejecutables que son parte del sistema operativo Linux. Muchos comandos de Linux como cat, cp, ls, more y tar están ubicados en este directorio.
/boot Contienen el kernel (o núcleo) de Linux y otros archivos necesarios para el administrador de inicio LILO, que realiza la carga inicial del sistema operativo cuando la computadora se enciende.
/dev Contienen todos los archivos de acceso a dispositivos. Linux trata cada dispositivo (terminales, discos, impresoras, etc.) como si fuera un archivo especial.
/etc. Contiene archivos de configuración del sistema y los programas de inicialización.
/home Contiene los directorios HOME de los usuarios. El directorio HOME el directorio inicial en el que se encuentra posicionado un usuario al ingresar al sistema, por lo que también se conoce como directorio de logín de conexión.
/lib Contiene los archivos de biblioteca utilizados por las aplicaciones y utilidades del sistema, así también como las librerías pertenecientes a diferentes lenguajes de programación.
/lost+found Directorio para archivos recuperados por el proceso de reparación del sistema de archivos, que se ejecuta luego de una caída del sistema y asegura su integridad luego de que el equipo haya sido apagado de manera inapropiada.
/mnt Es un directorio vacío que se usa normalmente para montar dispositivos como disquetes y particiones temporales de disco.
/proc Contiene archivos con información sobre el estado de ejecución del sistema operativo y de los procesos.
/root Es el directorio HOME para el usuario root (administrador del sistema).
/sbin Contienen archivos ejecutables que son comandos que se usan normalmente para la administración del sistema.
/tmp Directorio temporal que puede usar cualquier usuario como directorio transitorio.
/usr Contiene archivos de programa, de datos y de librerías asociados con las actividades de los usuarios.
/var Contiene archivos temporales y de trabajo generados por programas del sistema. A diferencia de /tmp, los usuarios comunes no tienen permiso para utilizar los subdirectorios que contiene directamente, sino que deben hacerlo a través de aplicaciones y utilidades del sistema.

PERMISOS DE ARCHIVOS Y DIRECTORIOS

En cualquier sistema multiusuario, es preciso que existan métodos que impidan a un usuario no autorizado copiar, borrar, modificar algún archivo sobre el cual no tiene permiso.
En Linux las medidas de protección se basan en que cada archivo tiene un propietario (usualmente, el que creó el archivo). Además, los usuarios pertenecen a uno o mas grupos, los cuales son asignados por el Administrador dependiendo de la tarea que realiza cada usuario; cuando un usuario crea un archivo, el mismo le pertenece también a alguno de los grupos del usuario que lo creó.
Así, un archivo en Linux le pertenece a un usuario y a un grupo, cada uno de los cuales tendrá ciertos privilegios de acceso al archivo. Adicionalmente, es posible especificar que derechos tendrán los otros usuarios, es decir, aquellos que no son el propietario del archivo ni pertenecen al grupo dueño del archivo.
En cada categoría de permisos (usuario, grupo y otros) se distinguen tres tipos de accesos: lectura (Read), escritura (Write) y ejecución (eXecute), cuyos significados varían según se apliquen a un archivo o a un directorio.
En el caso de los archivos, el permiso R (lectura) habilita a quién lo posea a ver el contenido del archivo, mientras que el permiso W (escritura) le permite cambiar su contenido. El permiso X (ejecución) se aplica a los programas y habilita su ejecución.
Para los directorios, el permiso R permite listar el contenido del mismo (es decir, “leer” el directorio, mientras que el W permite borrar o crear nuevos archivos en su interior (es decir, modificar o “escribir” el directorio). El permiso X da permiso de paso, es decir, la posibilidad de transformar el directorio en cuestión en el directorio actual (ver comando cd).
En los listados de directorio, los permisos se muestran como una cadena de 9 caracteres, en donde los primeros tres corresponden a los permisos del usuario, los siguientes tres a los del grupo y los últimos, a los de los demás usuarios. La presencia de una letra (r, w o x) indica que el permiso está concedido, mientras que un guión (-) indica que ese permiso está denegado.
Los permisos de un archivo o directorio pueden cambiarse desde el administrador de archivos KFM utilizando la ventana de propiedades o utilizando el comando chmod.
PROGRAMAS PARA CREAR PROGRAMAS

Indudablemente, la informática desde hace un largo tiempo ha venido ocupando e introduciéndose en cada aspecto de nuestra vida, tanto en el hogar como en el ámbito laboral.  En este último, es absolutamente imposible pensar en desarrollar una tarea sin que haya una computadora cerca, en cualquiera de sus formas. 
En este punto, la oferta de software, el medio utilizado para que las computadoras trabajen en lo que nosotros queremos, es abrumadora, y podemos encontrar una aplicación que se adapte a nuestras necesidades prácticamente sin ningún tipo de problemas.
Sin embargo, existen casos específicos en donde hallar un programa para que haga exactamente lo que queremos es imposible, sobre todo cuando tenemos requisitos fuera de lo común, o el trabajo que realizamos es poco conocido o practicado.
En este punto, hacer nuestros propios programas es una de las alternativas más idóneas, tanto para aquellos profesionales o responsables de un microemprendimiento o PYME que necesitan una herramienta que le aporte a su empresa tecnología y valor agregado. Si bien estas herramientas exigen un grado bastante alto de conocimientos para poder sacarles el mejor provecho, lo cierto es que ya no son tan difíciles de operar como en otros tiempos, lo que nos ofrece la oportunidad, con una curva de aprendizaje relativamente suave, de crear y poner en funcionamiento nuestro propio software.
Para crear nuestros propios programas de computadoras existen muchas alternativas, cada una de ellas con sus propias ventajas, desventajas y curva de aprendizaje, sólo es cuestión de conocerlas y elegir la que creemos que será la más adecuada a nuestras necesidades. En este artículo conoceremos algunas de las herramientas de programación, es decir los programas que sirven para hacer programas, más extendidos y populares del mercado.

Microsoft Visual Studio.NET

Básicamente, Microsoft Visual Studio.NET es un entorno de desarrollo integrado (IDE, en inglés) desarrollado para crear aplicaciones para el sistema operativo Windows. Este entorno es capaz de ofrecer soporte a múltiples lenguajes de programación como Visual C++, Visual C#, Visual J#, y Visual Basic .NET. Del mismo modo, ofrece soporte a entornos de desarrollo web como ASP.NET.

Los mejores programas para crear programas

Con Visual Studio se pueden desarrollar múltiples proyectos, incluyendo aplicaciones de escritorio y aplicaciones y servicios  web, y asimismo permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web para distintas versiones de Windows, incluyendo Windows Phone 8 y Windows Azure. También es posible desarrollar juegos, aplicaciones 3D y software de negocios.
Si quieres conocer más información acerca de Microsoft Visual Studiopuedes hacerlo pulsando sobre este enlace.
Java SDK
Java es un lenguaje de programación diseñado para que el producto desarrollado con el lenguaje pueda ser interpretado y ejecutado independientemente del sistema operativo en el que se utilice mediante una máquina virtual Java (JVM).
La principal característica de Java es que fue diseñado para tener la menor cantidad de dependencias posibles, lo que favorece que los desarrolladores, ya que sólo tendrán que escribir el programa una sola vez, sin necesidad de tener que recompilarlo para otras plataformas o sistemas operativos.

Los mejores programas para crear programas

Esto es debido a que las aplicaciones generadas con Java funcionan dentro de las llamadas “Máquinas Virtuales Java”, permitiéndoles también ser ejecutadas en prácticamente cualquier tipo de dispositivo.
Si lo deseas, puedes obtener más información sobre Java SDK

NetBeans

Básicamente, NetBeans es un entorno de desarrollo integrado (IDE) libre con el cual el desarrollador podrá diseñar sus aplicaciones de escritorio usando el lenguaje Java a partir de un conjunto de componentes llamados “Módulos”.
En el caso de que quieras obtener más información acerca de la interrelación entre Java y NetBeans,

Delphi

Delphi es un entorno de desarrollo de software orientado a la programación general con un marcado hincapié en la programación visual. Utilizando Object Pascal como lenguaje, es posible desarrollar programas para Windows y el sistema operativo Linux.

Los mejores programas para crear programas

Algunos de los usos más comunes en los que se utiliza Delphi es el desarrollo de bases de datos cliente-servidor y multicapas, aplicaciones de consola, aplicaciones y servicios web incluyendo CGI, ISAPI, NSAPI, servicios COM y DCOM y servicios de sistema operativo.
En el caso de que desees conocer más acerca de Delphi

Ruby on Rails

Ruby on Rails es un framework específicamente diseñado para trabajar en conjunto con el lenguaje de programación Ruby. Ruby es un lenguaje de programación orientado a objetos que le brinda a los desarrolladores una sintaxis similar a Perl, y cuya principal característica es la facilidad y velocidad con que se pueden desarrollar aplicaciones web.

Los mejores programas para crear programas

La velocidad con que se pueden desarrollar aplicaciones en Ruby on Rails se debe principalmente a la reutilización de código ya existente. En este punto es primordial entender la filosofía detrás de Ruby: “Don't repeat yourself”, es decir, “No te repitas”. Lo que significa que no necesitaremos repetir lo que ya ha definido en otro lugar, lo que hace a las aplicaciones creadas mediante Ruby muy compactas y ligeras.
Si lo deseas, puedes obtener más información acerca de Ruby on Rails

Velneo

Velneo es un entorno de desarrollo para aplicaciones de negocios sobre bases de datos como CRM y ERP. Se trata de un entorno de programación totalmente visual y muy potente. Además, la curva de aprendizaje es bastante suave, lo que permite que incluso aquellos que no tienen conocimientos profundos en el ámbito de la programación puedan desarrollar aplicación en poco tiempo.

Los mejores programas para crear programas

Básicamente, Velneo se encuentra conformado por el entorno de desarrollo propiamente dicho, llamado vDevelop, un conjunto de plantillas empresariales y un almacén de objetos.
Si deseas conocer más acerca de este interesante entorno de desarrollo

GeneXus

GeneXus es una herramienta de desarrollo multiplataforma, en la cual se hace hincapié en la capacidad para el diseño de aplicaciones orientadas a la plataforma Windows en escritorio, smartphones, tablets y web empresariales.

Los mejores programas para crear programas

La característica sobresaliente de este entorno es que el desarrollador sólo tiene que escribir el código de alto nivel, ya que GeneXus se encargará de generar el código necesario para correr las aplicaciones en múltiples plataformas y lenguajes, incluyendo Windows, iSeries, Web, dispositivos móviles, Cobol, RPG, Visual Basic, Visual FoxPro, Ruby, C#, Java para móviles, el sistema operativo para móviles de Google Android, Blackberry, y Objective-C para dispositivos Apple. Además se ofrece soporte para los DBMSs más populares como Microsoft SQL Server, Oracle, IBM DB2, Informix, PostgreSQL y MySQL.
También puedes tener más información acerca de GeneXus

WinDev

WinDev es un entorno de desarrollo integrado que permite crear aplicaciones basadas en un motor de ejecución. Del mismo modo que los lenguajes de programación Java, Visual Basic o C#, el código obtenido con Windev se precompila e interpreta en la ejecución por el framework, lo que convierte al producto desarrollado mediante el entorno en completamente independiente de la plataforma o sistema operativo empleado en su ejecución.

Los mejores programas para crear programas

La mejor característica de WinDev es que es una herramienta desarrollada principalmente para obtener resultados en forma rápida, y en eso tiene mucho que ver el lenguaje de programación empleado, W-Language, un lenguaje de 4ta. Generación extremadamente flexible.
Además, WinDev ofrece un editor de UIs que permite crear interfaces de usuario gráficas por medio del mecanismo de  “drag & drop”, y muchas otras interesantes funcionalidades.
PROGRAMA INFORMÁTICO

Un programa informático o programa de computadora es una secuencia de instrucciones, escritas para realizar una tarea específica en una computadora. Este dispositivo requiere programas para funcionar, por lo general, ejecutando las instrucciones del programa en un procesador central. El programa tiene un formato ejecutable que la computadora puede utilizar directamente para ejecutar las instrucciones. El mismo programa en su formato de código fuente legible para humanos, del cual se derivan los programas ejecutables (por ejemplo, compilados), le permite a un programador estudiar y desarrollar sus algoritmos. Una colección de programas de computadora y datos relacionados se conoce como software.
Generalmente, el código fuente lo escriben profesionales conocidos como programadores de computadora. Este código se escribe en un lenguaje de programación que sigue uno de los siguientes dos paradigmas: imperativo o declarativo, y que posteriormente puede ser convertido en un archivo ejecutable (usualmente llamado un programa ejecutable o un binario) por un compilador y más tarde ejecutado por una unidad central de procesamiento. Por otra parte, los programas de computadora se pueden ejecutar con la ayuda de un intérprete, o pueden ser empotrados directamente en hardware.
De acuerdo a sus funciones, los programas informáticos se clasifican en software de sistema y software de aplicación. En las computadoras de 2015, al hecho de ejecutar varios programas de forma simultánea y eficiente, se lo conoce como multitarea.
La programación de computadoras es el proceso iterativo de escribir o editar código fuente. Dicha edición implica probar, analizar y perfeccionar, y, a veces, coordinar con otros programadores, en el caso de un programa desarrollado en conjunto. Una persona que practica esta técnica se le conoce como programador de computadoras, desarrollador de software, o codificador. El proceso, a veces a largo plazo, de programación de computadoras normalmente se lo conoce como desarrollo de software. El término ingeniería de software se está convirtiendo en muy popular, ya que esta actividad es vista como una disciplina de ingeniería.

Paradigmas

Los programas de ordenador se pueden clasificar según el paradigma del lenguaje de programación utilizado para producirlos. Dos de los principales paradigmas son imperativos y declarativos.
Los programas escritos con un lenguaje imperativo especifican un algoritmo utilizando declaraciones, expresiones e informes. Una declaración asocia un nombre de variable a un tipo de datos. Por ejemplo: var x: integer; . Una expresión produce un valor. Por ejemplo: 2 + 2 produce 4. Por último, una declaración puede asignar una expresión a una variable o usar el valor de una variable para alterar las estructuras de control del programa. Por ejemplo: x := 2 + 2; if x = 4 then hacer_algo();Una crítica de los lenguajes imperativos es el efecto secundario de una sentencia de asignación en una clase de variables llamadas variables no locales.
Los programas escritos en un lenguaje declarativo especifican las propiedades que tienen o que deben cumplirse para la salida. No especifican detalles expresados ​​en términos de flujo de control de la máquina de ejecución pero sí de las relaciones matemáticas entre los objetos declarados y sus propiedades. Los lenguajes funcionales y lógicos son dos amplias categorías de lenguajes declarativos. El principio detrás de los lenguajes funcionales (como Haskell) es el de no permitir efectos secundarios, lo que hace que sea más fácil para razonar sobre los programas como si se tratasen de funciones matemáticas. El principio detrás de los lenguajes lógicos (como Prolog) es definir el problema a ser resuelto - la meta - y dejar la solución detallada al propio sistema Prolog. El objetivo se define proporcionando la lista de sub-objetivos. Luego, cada subobjetivo se define más arriba, proporcionando la lista de sus sub-objetivos, etc. Si la ruta de sub-objetivos no encuentra una solución, entonces ese subobjetivo se retrocede y otra vía se intenta sistemáticamente.
La forma en que se crea el programa puede ser textual o visual. En un programa de lenguaje visual, los elementos en vez de ser textualmente especificados son manipulados gráficamente.

Compilado o interpretando

Un programa de computadora bajo la forma de lenguaje de programación de computadoras legible por un humano, se lo llama código fuente. Dicho código fuente se puede convertir en una imagen ejecutable por un compilador o ejecutarse inmediatamente con la ayuda de un intérprete.
Cualquiera de los programas compilados o interpretados pueden ser ejecutados en un proceso por lotes sin intervención humana, pero los programas interpretados le permiten al usuario escribir comandos en una sesión interactiva. En este caso, los programas son los comandos separados, cuya ejecución se produce secuencialmente, y por lo tanto simultáneamente. Cuando se utiliza un lenguaje para dar órdenes a una aplicación de software (como un shell de Unix u otra interfaz de línea de comandos), se le llama un lenguaje de scripts.
Los compiladores se utilizan para traducir el código fuente de un lenguaje de programación, ya sea en código objeto o código máquina. El código objeto de objeto necesita procesamiento adicional para convertirse en código máquina, y el código máquina es el código nativo de la unidad central de procesamiento, listo para su ejecución. Los programas de computadora compilados se conocen comúnmente como ejecutables, imágenes binarias, o simplemente como binarios — una referencia al formato de archivo binario utilizado para almacenar el código ejecutable.
Los programas de computadora — interpretados en un lote o una sesión interactiva — o bien se descodifican y luego ejecutados inmediatamente o se decodifican en alguna representación intermedia eficiente para la ejecución futura. BASIC, Perl y Python son ejemplos de programas de computadora ejecutados inmediatamente. Por otra parte, los programas de computadora de Java se compilan antes de tiempo y se almacena como un código independiente de la máquina llamado bytecode. Entonces, dicho bytecode es ejecutado a petición de un intérprete llamado máquina virtual.
La principal desventaja de los intérpretes es que los programas de computadora corren más lento que cuando son compilados. La interpretación de código resulta más lenta que la ejecución de la versión compilada porque el intérprete debe decodificar cada declaración cada vez que se carga y luego realizar la acción deseada. Sin embargo, el desarrollo de software puede ser más rápido usando un intérprete porque la prueba es inmediata cuando se omite el paso de la compilación. Otra desventaja de los intérpretes es que debe estar presente al menos uno en la computadora durante la ejecución del programa de computadora. Por el contrario, los programas de computadora compilados no necesitan compilador presente durante la ejecución.
No se requieren propiedades de un lenguaje de programación si se está compilado exclusivamente o interpretándose exclusivamente. Por lo general, la clasificación refleja el método más popular de ejecución del lenguaje. Por ejemplo, BASIC se considera un lenguaje interpretado y C un lenguaje compilado, a pesar de la existencia de compiladores de BASIC e intérpretes de C. Algunos sistemas utilizan compilación en tiempo de ejecución (JIT) mediante la cual las secciones de la fuente se compilan 'sobre la marcha' y se almacenan para ejecuciones posteriores.

Programas que se auto-modifican

Un programa informático en ejecución normalmente es tratado como algo diferente de los datos con los cuales opera. Sin embargo, en algunos casos ésta distinción es ambigua, especialmente cuando un programa se modifica a sí mismo. El programa modificado es ejecutado secuencialmente como parte del mismo programa. En el caso de programas escritos en código máquina, lenguaje ensamblador, Lisp, C, COBOL, PL/1 y Prolog y JavaScript (la función eval), entre otros, es posible tener código que se auto-modifica.

Ejecución y almacenamiento de los programas

Típicamente, los programas se almacenan en una memoria no volátil (por ejemplo un disco), para que luego el usuario de la computadora, directa o indirectamente, solicite su ejecución. Al momento de dicha solicitud, el programa es cargado en la memoria de acceso aleatorio o RAM del equipo, bajo el control del software llamado sistema operativo, el cual puede acceder directamente al procesador. El procesador ejecuta (corre) el programa, instrucción por instrucción hasta que termina. A un programa en ejecución se le suele llamar también proceso. Un programa puede terminar su ejecución en forma normal o por causa de un error, dicho error puede ser de software o de hardware.

Programas empotrados en hardware

Algunos programas están empotrados en el hardware. Una computadora con arquitectura de programas almacenados requiere un programa inicial almacenado en su ROM para arrancar. El proceso de arranque es para identificar e inicializar todos los aspectos del sistema, desde los registros del procesador, controladores de dispositivos hasta el contenido de la memoria RAM. Seguido del proceso de inicialización, este programa inicial carga al sistema operativo e inicializa al contador de programa para empezar las operaciones normales. Independiente de la computadora, un dispositivo de hardware podría tener firmware empotrado para el control de sus operaciones. El firmware se utiliza cuando se espera que el programa cambie en raras ocasiones o nunca, o cuando el programa no debe perderse cuando haya ausencia de energía.

Programas cargados manualmente

Históricamente, los programas eran cargados al procesador central de forma manual mediante interruptores. Una instrucción se representaba por una configuración de estados de interruptores de abierto o cerrados. Después de establecer la configuración, se ejecutaba un botón de ejecución. Este proceso era repetitivo. Asimismo, los programas se cargaban manualmente mediante una cinta de papel o tarjetas perforadas. Después de que se cargaba el programa, se establecía la dirección de inicio mediante interruptores y se presionaba el botón de ejecución.


Programas generados automáticamente

La programación automática es un estilo de programación que crea código fuente mediante clases genéricas, prototipos, plantillas, aspectos, y generadores de código para aumentar la productividad del programador. El código fuente se genera con herramientas de programación tal como un procesador de plantilla o un IDE. La forma más simple de un generador de código fuente es un procesador macro, tal como el preprocesador de C, que reemplaza patrones de código fuente de acuerdo a reglas relativamente simples.
Un motor de software da de salida código fuente o lenguaje de marcado que simultáneamente se vuelve la entrada de otro proceso informático. Podemos pensar como analogía un proceso manejando a otro siendo el código máquina quemado como combustible. Los servidores de aplicaciones son motores de software que entregan aplicaciones a computadoras cliente. Por ejemplo, un software para wikis es un sevidor de aplicaciones que permite a los usuarios desarrollar contenido dinámico ensamblado a partir de artículos. Las Wikis generan HTML, CSS, Java, y Javascript los cuales son interpretados por un navegador web.