-Bill Gates
‘
WorldProgramming Edicion Especial
Un autómata es cualquier mecanismo capaz de realizar un trabajo de forma autónoma (un reloj,
una caja de música, la cisterna del WC, un radiador con termostato).
Todos estos aparatos tienen en común que, una vez conectados, pueden realizar su función sin
más intervención externa. También comparten el hecho de que son bastante simples.
Unos autómatas más exibles serían un organillo, un video, una lavadora, ya que al menos su
repertorio de acciones posibles es más variado. El ejemplo del organillo es revelador ya que en él
aparecen las mismas fases que en el desarollo de un programa: una pieza de música es
"diseñada" por un composistor, codicada en un soporte físico y ejecutada por una máquina.
Así, un ordenador es probablemente el más exible de los autómatas, ya que la tarea a ejecutar
puede ser descrita por cualquier algoritmo que el usuario esté dispuesto a codicar.
‘
WorldProgramming Edicion Especial
Un Poco de
Historia Acerca de
La Programación
La historia de la Programación está relacionada directamente con la aparición de los computadores, que ya desde el siglo XV tuvo sus inicios con la construcción de una máquina que realizaba
operaciones básicas y raíces cuadradas (Gofried Wilheml von Leibniz); aunque en realidad la primera gran inuencia hacia la creación de los computadores fue la máquina diferencial para el
cálculo de polinomios, proyecto no concluido de Charles Babbage (1793-1871) con el apoyo de Lady Ada Countess of Lovelace (1815-1852),
primera persona que incursionó en la programación y de quien proviene el nombre del lenguaje de programación ADA creado por el DoD (Departamento de defensa de Estados Unidos) en la
década de 1970..................................................................................................................
Luego los avances en las ciencias informáticas han sido muy acelerados, se reemplazó los tubos al vacío por
transistores en 1958 y en el mismo año, se sustituyeron por circuitos integrados, y en 1961 se miniaturizaron
en chips de silicio. En 1971 apareció el primer microprocesador de Intel; y en 1973 el primer sistema operativo CP/M. El primer computador
personal es comercializado por IBM en el año 1980...-----............................----....-..................
De acuerdo a este breve viaje por la historia, la programación está vinculada a la aparición de los computadores, y los lenguajes tuvieron también su evolución. Inicialmente se
programaba en código binario, es decir en cadenas de 0s y 1s, que es el lenguaje que entiende directamente el computador, tarea extremadamente difícil; luego
se creó el lenguaje ensamblador, que aunque era lo mismo que programar en binario, al estar en letras era más fácil de recordar. Posteriormente aparecieron
lenguajes de alto nivel, que en general, utilizan palabras en inglés, para dar las órdenes a seguir, para lo cual utilizan un proceso intermedio entre el lenguaje
máquina y el nuevo código llamado código fuente, este proceso puede ser un compilador o un intérprete....................
..................
Un compilador lee todas las instrucciones y genera un resultado; un intérprete ejecuta y genera resultados línea a línea.
En cualquier caso han aparecido nuevos lenguajes de programación, unos denominados estructurados y en la actualidad en cambio los lenguajes orientados a
objetos y los lenguajes orientados a eventos...............................................................................
En los cincuenta, los tres primeros lenguajes de programación modernos, cuyos descendientes aún continúan siendo utilizados, son:
- FORTRAN (1955), creado por John Backus................ .......... ............... .......... ............... .......... ............... ..........
- LISP (1958), creado por John McCary............................................................................
- COBOL (1959), creado por el Short Range Commiee, altamente inuenciado por Grace Hopper..........................
Otro hito a nales de 1950 fue la publicación, por un comité Americano y Europeo de cientícos de la computación, de un nuevo “lenguaje para algoritmos”; el Reporte de ALGOL 60 ("ALGOrimic Language").
Este reporte consolidó muchas ideas que estaban circulando en aquel entonces, y proporcionó dos innovaciones importantes para los lenguajes de programación:
Estructuras de bloques anidadas: las secuencias de código y las declaraciones asociadas se pueden agrupar en bloques sin tener que pertenecer explícitamente a procedimientos separados;
Ámbito léxico: un bloque puede tener sus propias variables, procedimientos y funciones, invisible al código fuera de dicho bloque, por ejemplo, ocultamiento de información.
‘
WorldProgramming Edicion Especial
La historia de la programacion avanzaba con las computadoras asi:
Personaje Aporte Año
Gottfried Wilheml von Leibniz Máquinas de operaciones básicas XV
Charles Babbage Máquina diferencial para el cálculo de polinomios XVII
Lady Ada Countess of Lovelace Almacenamiento en tarjetas perforadas XVII
Herman Hollerit Creador de un sistema para automatizar la pesada tarea del censo 1890
Alan Mathison Turing Máquina de Turing - una máquina capaz de resolver problemas - Aportes 1943
de Lógica Matemática - Computadora con tubos de vacío
George Boole Contribuyó al algebra binaria y a los sistemas de circuitos de computadora 1854
(álgebra booleana).
John Vincent Atanasoff Primera computadora digital electrónica patentada - Atanasoff Berry 1942
Computer (ABC)
Howard Aiken En colaboración con IBM desarrolló el Mark 1, una computadora 1944
electromecánica de 16 metros de largo y más de dos de alto que podía
realizar las cuatro operaciones básicas y trabajar con información
almacenada en forma de tablas.
John W. Mauchly Junto a John Presper Eckert desarrolló una computadora electrónica 1946
completamente operacional a gran escala llamada Electronic Numerical
Integrator And Computer (ENIAC).
Johann Ludwig Von Neumann Propuso guardar en memoria no solo la información, sino también los 1945
programas, acelerando los procesos.
‘
WorldProgramming Edicion Especial
Programación para Niños Con Scratch
Scratch: Es un lenguaje de programación visual desarrollado por el
Instituto Tecnológico de Massachuses (MIT) para enseñar a
programar a niños y adolescentes de entre 8 y 16 años.......................
Está pensado para que los jóvenes aprendan a pensar creativamente,
razonar sistemáticamente, y trabajar en grupo. Habilidades esenciales para
desenvolverse y encontrar un trabajo en el siglo XXI...............................
Scratch es tan divertido, fácil de usar y versátil que lo usan millones de personas en todo el mundo, no sólo niños: adultos,
profesores, académicos, etc. Con Scratch puedes crear presentaciones, historias interactivas, vídeos musicales, grácas
animadas, juegos, programas, arte digital, y otro contenido que puedes compartir con otras personas.
Además está disponible en español...............................................................................
La primera versión de Scratch se presentó en 2005, y desde entonces ha ido perfeccionándose y ampliándose, hasta conseguir
crear un lenguaje de programación versátil y muy sencillo de utilizar. Es importante darse cuenta de que, efectivamente,
ha sido diseñado para que hasta un niño pueda usarlo, pero también lo utilizan millones de adultos para crear
animaciones interactivas en su web, historias, música, etc. Muchos profesores elaboran grácas animadas y lecciones
interactivas para sus alumnos. No estamos hablando, por tanto, de un lenguaje infantil.............................................
Así funciona Scratch . Basta con coger piezas que contienen condiciones u órdenes, y encajarlas entre sí para
crear juegos, programas, animaciones, bailes, grácas interactivas, etc. Con Scratch no sólo resulta muy sencillo crear
programas. Aunque no quieras dedicarte a la programación sirve para aprender a pensar de forma creativa, a razonar de forma sistemática,
y a trabajar en grupo (pues muchos programas se crean con otras personas, o se comparten). Aptitudes que son esenciales en todos los trabajos modernos.
Además Scratch emplea los mismos fundamentos que otros lenguajes más profesionales como C+ o Java, así que es una excelente
forma de comenzar si en el futuro vas a crear aplicaciones en serio,o a cursar una carrera de informática. Existe además una variante llamada ScratchJr,
aún más sencilla, pensada para niños de entre 5 y 7 años.............................................
Se trata de una app para tablets iOS y Android con bloques más sencillos que funcionan arrastrando con el dedo. El sistema ideal para los niños que aún
no han aprendido a manejar el ratón...................................................................
‘
WorldProgramming Edicion Especial
Habilidades de aprendizaje para el Siglo XXI
con Scratch
Habilidades de información y comunicación
Habilidades de Información y Alfabetismo en Medios:...................................................................................................................
Mediante el trabajo con proyectos de Scratch, los estudiantes aprenden a seleccionar, crear y manejar múltiples formas de medios; incluyendo texto, Imágenes, animaciones y grabaciones de Audio.
A medida que los estudiantes ganan experiencia creando con medios, se vuelven más receptivos y críticos en el análisis de los que tienen a su alcance en el mundo que los rodea.
Habilidades de Comunicación:.................................................................................................................................
La comunicación efectiva hoy en día requiere mucho más que la habilidad para leer y escribir textos. Scratch compromete a los jóvenes en la escogencia, manipulación e interacción con una variedad
de medios para poderse expresar de manera creativa y persuasiva.....................................................................................................
‘
WorldProgramming Edicion Especial
¿ Existe el Perl perfecto
en un
Programador?
Experiencias previas:
Responsabilidades: Diseñar, desarrollar, probar, implementar, mantener y
mejorar software
Requisitos de conocimientos en
programación:
Domine más de 1 lenguaje
Debe conocer varios frameworks no solo uno
‘
WorldProgramming Edicion Especial
Competencias:
Aptitudes para la comunicación verbal y escrita.
Aptitudes para redactar informes.
Bien organizado.
Capacidad de análisis.
Capacidad para concentrarse.
Prueba y mejora programas.
Mente inquisitiva.
Instala, personaliza y mantiene sistemas operativos
Conocimientos especializados en informática.
Conocimientos en sistemas informáticos, redes,
hardware y software.
Mente inquisitiva.
Sensato.
Utiliza códigos, herramientas y lenguajes de
programación.
Programá
Destrezas en informática.
Habilidad para la programación.
Investiga, diseña y desarrolla programas de sistemas.
Capaz de mantenerse al día de los avances tecnológicos.
‘
WorldProgramming Edicion Especial
10 Consejos
Para ser
Buen
Programador
3 Especializate
‘ ‘
WorldProgramming Edicion Especial
{}
</>
6 Aporta tu granito a la comunidad
8 Aprende el negocio
10 Persevera, no te rindas
‘
WorldProgramming Edicion Especial
10MásErrores
Comunes
De un Programador
Web
2 Ignorar la portabilidad
5 Actualizaciones erroneas
‘ ‘
WorldProgramming Edicion Especial
{}
</> C#
Obtener o almacenar datos en la Base
6 de Datos en varias llamadas
8 Manejo de errores.
‘
WorldProgramming Edicion Especial
Entornos de
Desarrollo
Integrado
IDE
1.. Eclipse Es uno de los entornos más conocidos y utilizados por los programadores, ya que se trata de
un entorno de programación de código abierto y multiplataforma.
2.. NetBeans
Es un entorno de programación muy utilizado por los programadores. Se trata de otro entorno multilenguaje y
multiplataforma en el cual podemos desarrollar software de calidad. Con él podemos crear aplicaciones web y de
escritorio, además de contar con plugins para trabajar en Android.
El lenguaje que mejor soporta es Java, ya que fue creado por Oracle y su creación fue para ser el IDE de Java..
4.. JetBrain
No es un entorno concreto, es una compañía que crea entornos de programación, es libre y crean entornos para
multitud de lenguajes como son Java, Ruby, Pyon, PHP, SQL, Objective-C, C++ y JavaScript. También están
desarrollando IDE’s para C# y GO
5.. QtCreator
Es un entorno de programación para C++ usan el framework de QT, es un entorno
amigable. También es un entorno multiplataforma programado en C++, JavaScript y
QML.
6.. CodeLite
Es un IDE de código abierto y libre bajo la licencia GNU (General Public License) y para diversos sistemas
operativos, el entorno de desarrollo integrado usa wxWidgets para su interfaz gráca, ya que al cumplir con la
losofía de código abierto usa herramientas completamente libres.
‘ ‘
WorldProgramming Edicion Especial
Top 5 de
Lenguajes de
Programación
2018
1.. Javascript
De los más populares es Javascript, gracias a ser multiplataforma, permitiendo
desarrollar programas para ordenador, o aplicaciones web y móviles.
2.. Java
Java es uno de los más demandados y uno de los más populares, sobre todo porque todas las aplicaciones de
Android lo utilizan, mientras que miles de empresas lo utilizan para el backend en sus servidores, así como
también en la industria nanciera y bancaria por su velocidad y seguridad
3.. Pyon
Pyon ha aumentado en popularidad entre los más jóvenes, y uno de los mejores para iniciarse.
De propósito general y orientado a objetos, este lenguaje se centra en facilitar la creación de un código
legible y fácil de entender. Webs como Instagram, YouTube o Reddit lo usan.
4.. SQL
SQL sigue siendo el más demandado en el mercado. Aunque no es un lenguaje de programación, sino un
lenguaje informático, se utiliza para gestionar grandes bases de datos en sus múltiples variantes como
MySQL o Microsoft SQL.
5.. C++
C++ es uno de los lenguajes de programación más complicados para aprender, pero a cambio ofrece un
gran rendimiento permitiendo crear programas para casi cualquier propósito..
‘
WorldProgramming Edicion Especial
Herramientas de Programación Infantil
Maravillando desde pequeños
5.. Alice
Ambiente de programación creado en Carnegie Mellon University, donde los niños pueden contar historias animadas
con bloques 3D: "para la próxima generación de cientícos de la programación.
6.. Kids wi Ruby
Es un software interactivo para aprender programación con el lenguaje Ruby: unos de los más bellos lenguajes,
si me permiten decirlo, que podrán encontrar. Como dijo Yukihiro Matsumoto, creador de Ruby, "espero
ayudar a que cada programador en el mundo sea productivo, disfrute y sea feliz programando. Este es el
principal propósito del lenguaje Ruby".
‘ ‘
WorldProgramming Edicion Especial
7.. LEGO MindStorms NXT
Son robots programables, ya sea con el NXT Intelligent Brick para programas relativamente sencillos, o con
alguno de entre cincuenta lenguajes de programación disponibles.
8.. Hackety Hack
Sin experiencia previa en programación, por supuesto, Hackety Hack es un software ya clásico para enseñar
a programar con Ruby, una lección a la vez. Creado por el no menos famoso hacker _why, Hackety Hack
incluso obedece a un manifesto que en una de sus últimas líneas dice que "es libre y se mantendrá así en adelante".
‘
laicepsE noicidE gnimmargorPdlroW
Programación en el Futuro
Sabias que cientícos del Instituto de Tecnología Karlsruke (KIT), están trabajando en
un programa que directamente traduzca las oraciones en lenguaje natural, en el que hablamos, pues, a código
de máquina. De esta manera, losusuarios podrían generar sus propias aplicaciones con un par de oraciones. El reto
es el manejar lo que la gente no describe casi nunca, es decir, los detalles de los procesos y el orden en
que deben de ser ejecutados. Una nueva herramienta de análisis, desarrollada por KIT, busca ordenar automáticamente los
procesos para traducirlos a comandos y que puedan entonces ser ejecutados por la computadora.
“Queremos quitar las complicadas reglas a los usuarios, que son precisamente los lenguajes de programación,
hacia computadoras inteligentes que puedan dialogar con nosotros, tomará algún tiempo no solamente operar un software de
esta naturaleza, sino el poderlo programar en lenguaje natural”, dice Maias Landhäußer, cientíco del KIT.
Pero la realidad es que los seres humanos lidiamos con un mundo poco preciso, lleno de ambigüedades, donde conocemos
hechos que a la máquina hay que darlos explícitamente y que en términos generales, hablan
de este conocimiento que tenemos del mundo exterior, del entorno. Las máquinas no saben nada de eso y hay que dárselos
para que entiendan. En el fondo ése es quizás el peor problema que enfrentan los investigadores en este tema.
Sabias que segun los estudios sobre el mercado de trabajo muestran que la oferta de ingenieros con conocimientos en
programación no esta ni siquiera cerca de satisfacer la demanda. Esto es cierto tanto en los Estados
Unidos como en el resto del mundo. Las empresas, sin importar su tamaño, necesitan de personas con conocimientos
en programación que les ayuden a desarrollar los sistemas de información que les permitan crecer en sus mercados.
“All you need is code” (“todo lo que necesitas es programar”). Ése es el eslogan que la Unión Europea ha escogido para Code.org,
una nueva plataforma cuya misión es promover y conseguir que la gente se anime a aprender a programar.
En dicho proyecto, que forma parte de la European Coding Initiative, cuentan con la ayuda de varias
compañías tecnológicas líderes en sus sectores, como lo son Microsoft, Facebook, Rovio o SAP.
La noticia llega en plena celebración de la Semana europea de la programación, que comenzó el pasado 11 de octubre y
terminará el día 17. Durante este periodo de tiempo, la Unión Europea está organizando más de 1.500 eventos con el n de “llevar vida al mundo digital”.
Desde la Unión Europea también destacan cómo se está convirtiendo en asignatura obligatoria en varios países.
Concretamente, citan los casos de Bulgaria, Chipre, República Checa, Grecia, Polonia, Portugal y Reino Unido.
En otros lugares es opcional, como Dinamarca, Estonia, Irlanda, Italia y Lituania.
‘ ‘
WorldProgramming Edicion Especial
El mundo del desarrollo del software está irreconocible si lo comparamos con lo que era
hace 20 años, y en 10 años el futuro del desarrollo del software será también totalmente distinto. Pronto todas
las nuevas incorporaciones a las empresas sabrán programar algo (independientemente de su puesto o rol en la empresa),
y, como por todos es sabido, los robots son capaces de llevar a cabo tareas cada vez más complejas que pondrán en jaque
los puestos de trabajo de una manera inaudita.......................................
Sin embargo, en contra de toda esta visión pesimista y apocalíptica sobre el futuro del desarrollo del software estoy aquí para deciros: no hay nada de qué
preocuparse. Nuestro ocio y nuestros puestos de trabajo están a buen recaudo. Ahora os explico por qué...........
Primero, veamos un poco el contexto actual: el Reino Unido ha introducido la programación en el currículo de los colegios,
el primer país del G20 en dar este paso. Esto signica que en 10 años, todos los graduados de los colegios del Reino Unido
sabrán algo de código. En EEUU, organizaciones como Code.Org están intentando conseguir un n similar a
través de programas como la hora del código (e Hour of Code). Creo que cada vez más países adoptarán este tipo de programas que cambiarán para siempre
e l f u t u r o d e l d e s a r r o l l o d e s o f t wa r e y l a i nd u st r i a e n ge ne r a l ... . . .. . . . . . . . . . .................. . . . . . . . . .. . .
El hecho que en el futuro todos los empleados sabrán programar es importante. ¿Pero esto signica que serán desarrolladores
de software? Pues claro que no. Lo que sí implicará es que el usuario de software del futuro estará más formado
en la tecnología del software, y por ello esperará (y exigirá) más del software que use todos los días ya sea en casa o en el trabajo.
‘
WorldProgramming Edicion Especial
Recordá:
Lo puedes pensar;
Lo puedes Programar
Oned Gomez
‘ ‘
19 WorldProgramming Edicion Especial