viernes, octubre 30, 2009

VENTAJAS DEL DISEÑO ORIENTADO A OBJETOS


• Una mejor organización de la complejidad inherente: Gracias al uso de la herencia, pueden definirse de una forma más eficiente los conceptos afines, los recursos y otros objetos. Por medio del uso de la contención, pueden construirse estructuras de datos arbitrarias, que reflejan la tarea básica disponible.
Los lenguajes de programación orientados a objetos y las estructuras de datos permiten a los diseñadores describir funciones y recursos del sistema operativo de forma que reflejen la visión que tiene el diseñador de esas funciones y recursos.
• Reducción del esfuerzo de desarrollo mediante la reutilización: La reutilización de clases de objetos que ya están escritas, probadas y mantenidas por otros reduce el tiempo de desarrollo, prueba y mantenimiento.
• Sistemas más ampliables y mantenibles: El mantenimiento, incluidas las reparaciones y mejoras del producto, han consumido tradicionalmente cerca del 65% del coste de cualquier ciclo de vida de un producto. El diseño orientado a objetos reduce este porcentaje. El uso de ayudas de software basadas en objetos limita el número potencial de interacciones de las diferentes partes del software, garantizando que los cambios en la implementación de una clase pueden hacerse con poco impacto en el resto del sistema. Estas ventajas están encaminando el diseño de los sistemas operativos en la dirección de los sistemas orientados a objetos. Los objetos permiten a los programadores configurar a medida un sistema operativo para cumplir nuevos requisitos, sin alterar la integridad del sistema. Los objetos también permiten allanar el camino al proceso distribuido. Puesto que los objetos se comunican con mensajes, no importa si dos objetos que se comuniquen están en el mismo sistema o en sistemas diferentes de una red. Los datos, funciones e hilos pueden asignarse dinámicamente a estaciones de trabajo y servidores según sea necesario. Por consiguiente, la mayoría de los nuevos sistemas operativos para PC y estaciones de trabajo están adaptando un método de diseño orientado a objetos.

miércoles, octubre 28, 2009

LA IMPORTANCIA DE LA ENSEÑANZA DE VARIOS LENGUAJES DE PROGRAMACION PARA EL CAMPO LABORAL

En la actualidad con los diferentes lenguajes de programación y con la distinta forma que tiene cada persona para pensar y aprender es necesario conocer cada detalle o diferencia que existen entre estos lenguajes, sus ventajas y desventajas, la sintaxis de cada uno y la formar de realizar software.

Por lo cual la enseñanza de los lenguajes de programación es muy importante sobre todo si tenemos conocimientos de varios lenguajes.

Ya que dicha enseñanza se centra en los lenguajes Java o .Net, (tomando como ejemplo la USC) por lo cual el estudiante solo posee conocimiento máximo de un lenguaje de programación.

Por eso es importante indagar a nivel nacional que lenguaje esta siendo usado actualmente, con esta información se preocuparía por fortalecer los conocimientos en este lenguaje, así el estudiante esta preparado para enfrentar el entorno en el cual va a trabajar.

Por lo anterior si el estudiante no se encuentra preparado para asumir un cargo en el cual tenga que manejar otro lenguaje del que aprendió, se le dificultara poder obtener un cargo en cualquier empresa ya que su perfil como programador no cumple con la expectativa que buscan actualmente las empresas desarrolladoras de software o grupos para los cuales se valla a desempeñar.


O si quiere lograr el empleo le tocaría especializarse en el lenguaje y esto le costaría mas tiempo, además mucho dinero y con esto otra persona mas preparada o con mas experiencia le quitaría el cargo, mientras que si aprende los conocimientos básicos y lograr un buen manejo de un entorno especifico de los lenguajes orientados a objetos en la Universidad (en este caso la USC) no tendrá problemas a la hora de obtener el cargo, además si posee los conocimientos básicos, clasificación, diferencias, propiedades y funcionamiento de los lenguajes de programación los cuales son elemental para cualquier estudiante o profesional dedicado a la programación, pues de esa manera se logra tener una perspectiva global y mucho más amplia que tendrá mucho peso al estar bien documentados y al conocer qué son, cómo se clasifican y de qué manera trabajan los lenguajes de programación.

Por tan motivo este proyecto pretende tener las suficientes razones para poder implementar un segundo lenguaje de programación o mejor una materia electiva en la cual preparen al estudiante para que sus conocimientos en lenguajes de programación sean lo bastante fuertes para que no tenga ningún problema en desempeñar un cargo.

Este estudio también permite desarrollar un sentido crítico de los lenguajes de programación, de forma que el programador no seleccione ni emita un juicio respecto a determinado lenguaje basado simplemente en su limitado conocimiento ni basado en la popularidad de la que goza cierto lenguaje, sino que el programador esté capacitado para dar razones contundentes y certeras del por qué un lenguaje es mejor que otro para determinada tarea, qué ventajas tiene uno respecto del otro, y que así también el programador sea capaz de seleccionar el lenguaje que más le convenga para la resolución de un problema determinado.

lunes, octubre 19, 2009

CRITERIOS PARA LA COMPARACION

Aunque la definición exacta del término es muy variable dependiendo de quién se le pregunte, hay varias cualidades que la mayoría estará de acuerdo con que un lenguaje orientado a objetos deben tener:
  1. Encapsulación
  2. Herencia y jerarquia
  3. Polimorfismo
  4. Modularidad

miércoles, octubre 14, 2009

¿QUE ES LA PROGRAMACION ORIENTADA A OBJETOS?

La Orientación a Objetos es un paradigma, es decir, es un modelo para aclarar algo o para explicarlo. La Orientación a Objetos es el paradigma que mejora el diseño, desarrollo y mantenimiento del software ofreciendo una solución a largo plazo a los problemas y preocupaciones que han existido desde el comienzo del desarrollo del software: La falta de portabilidad del código, su reusabilidad, la modificación (que antes era difícil de lograr), ciclos de desarrollo largo, técnicas de programación no intuitivas.

Hoy en día los lenguajes orientados a objetos es materia obligada y fascinante para cualquier interesado en la programación. Permite tener un mejor panorama de que es y que no es cada lenguaje y así elegir de una mejor manera los que le interesen y profundizar en los fundamentos de cada uno para encontrar el adecuado a su necesidad con bases sólidas.

En la actualidad algunos lenguajes de programación son mucho más utilizados de acuerdo a la ubicación geográfica del desarrollador de software, por ejemplo en América Latina los lenguajes más utilizados son Java y .Net, por este motivo es de vital importancia estudiar, analizar a fondo las características y funcionalidades de cada LOO y luego comparar cada uno de ellos para poder determinar con gran claridad cuál puede ser el más conveniente al momento de realizar alguna aplicación y así obtener mejores resultados.

lunes, octubre 12, 2009

Incluir Lenguaje

Creo que se debería incluir en la encuesta C#. Preciera que los programadores que estan cambiando de C++ a .NET prefieren C# en lugar de VB.NET

jueves, octubre 08, 2009

CONCEPTOS BÁSICOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS


La programación orientada a objetos es una nueva forma de programar que trata de encontrar la solución a problemas de una forma que ofrece muchas ventajas y facilidades que no se tenían anteriormente. Introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos. Entro ellos destaco los siguientes:

OBJETO: entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad ("métodos"). Corresponden a los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa).

• CLASE: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas. Una clase es una colección de objetos similares o la implementación, declaración o definición de un tipo de objeto. Cada vez que se construye un objeto de una clase se crea una instancia de esa clase.

• MÉTODO: algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en lar propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.

• EVENTO: un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente.

• PROPIEDAD O ATRIBUTO: contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto, y cuyo valor puede ser alterado por la ejecución de algún método.

• ESTADO INTERNO: es una propiedad invisible de los objetos, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos).