Ver Mensaje Individual
  #69 (permalink)  
Antiguo 24/06/2009, 12:03
tandher
 
Fecha de Ingreso: junio-2009
Mensajes: 32
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Cual es el Lenguaje de Programación Popular?

Cita:
Iniciado por RaymerBol Ver Mensaje
Miren amigos del foro, aveces ando pensando y soñando cual será el lenguaje de programación mas efectiva, mi persona estudio en un instituto superior con un lenguaje de programación estructurado (pascal) y luego con el lenguaje de POO (Delphi) que es el hijo de pascal, en el que me fue bien y aprendi mucho, ahora me encuentro en problemas porque la mayoría de los programadores me dicen un lenguaje Visual, eso es lo que no entiendo no se si con esto me dicen con el Lenguaje de Visual Basic o Visual C o C++, quisiera que me orienten en esto en que lenguaje desarrollo mis sistemas.

Que lenguaje de Programacion y con que manejador de base de datos hago mi sistema. (Esta en desarrollo un sistema de Control de Notas en un Colegio)

Soy Programador, que me sugieren?

Gracias por su ayuda antisipado amigos.....
Hola, y saludos, a todos.

Traté de leer todos los comentarios. Y sin necesidad de leerlo todo, me doy cuenta que, de alguna u otra forma, están en lo cierto en cada uno de sus propios punto de vista.

Pero creo que les falta algunos factores, nuevos, que se debería analizar hoy en día, con toda las plataformas tecnológica y arquitectónicas.

Patra hecer un remuen del comentario, antes de iniciar mi opinión final, hasta poco, o creo que aún no se considera como análisis, el factor de costo/benficio.

Principalmente, y en la mayoría de casos, el costo de cualquier proyecto de software está alineado a las licencias, tanto para la producción del software (lenguajes de programación, como para la implementación (servidores, bases de datos). Y esto se cruza en una matriz con los benefición, es decir, lo más barato, o cero (0) costo.

Yo creo que esto no es así.

Existe un aspecto mucho más importante que las licencias de estos software (producción de software e implementación).

Y me refiero a la solución. Y ojo que la solución no es "con qué se hizo"; todo lo contrario, "para qué se hizo".

Les hago una comparación: ¿de qué sirve tener un producto-software que fue desarrollado e implementado con Software Libre, si definitivamente no existe ningún beneficio para el cliente, o usuario?

Y por otro lado, ¿que qué sirve, también, tener un producto-software con licencia pagada, si la solución también es deficiente?

Han escuchado este dicho: "El cliente paga por lo que no pidió; y el productor de software entrega algo por lo que le pagan"

Mo opinión es que el lenguaje de programación, base de datos, servidores, pasa en un segundo plano; si no se tiene claro para qué se construye el software. Dicho de otra forma, antes de elegir lenguaje de programación, base de datos, servidores, primero se debe saber "pará qué es el producto-software", y qué requerimientos técnicos se debe considerar.

Se los digo con otro punto de vista. De lo que me estoy refiriendo es a que la fase más importante, que no es el desarrollo del software, es la fase de Análisis y Diseño de Sistema de Información, y la Construcción de la Arquitectura de Software. Esto se llama: Documento de Arquitectura de Software (SAD, por sus términos en inglés). Que incluye ambos trabajos.

Y el especialista en construir un SAD, pues debe tener otro tipo de conocimiento. Es decir, existen normas internacionales para este proceso, o fase, de un proyecto de software: ISO/IEC:17799 - Seguridad de la Información; ISO/IEC:12207 - Ciclo de Vida del Software; PMI, ITIL Además, están las herramientas: UML, etc. Con tsto, cada especialista construye su propia metodología, y es el nexo con el equipo de desarrollo de software, y otros miembros del proyecto de software.

Estos dos documento son muy importantes. Y de allí se decide qué lenguaje de programación, base de datos, o servidores se debe utilizar.

Ahora, hay SAD, y ¡hay SAD! Es decir, muchos piensan que desarrollar un proyecto de software es solo programar. Y lo digo por dos razones: 1) en este foro no encuentro una sección de temas sobre SAD (y si me equivoco, por favor háganme saber), y por tal razón nadie habla so SAD; y, 2) que para construir un SAD no necesariamente se requiere conocimientos especializados, es suficiente con conocimiento fundamental, sobre lenguaje de programación, base de datos, servidores; es decir, se requiere otros tipos de conocimientos: Administración de procesos, Análisis de calidad, Análisis funcional, Análisis de investigación tecnológica, Análisis de sistemas; y lo más importante: habilidad para diseñar sistemas de información, o productos-software, con mucha creatividad e innovación.

Por ejemplo a esto último. Lei por ahí que preguntaban si era mejor hacer un sistema nuevo o comprar uno hecho, para un negocio Bar-Restaurante; y luego recomiendan comprar uno hecho, por que ya está probado, y era solo de buscarlo en Google.

Este ejemplo dice mucho de lo que hablo. Un software genérico y un software específico es totalmente diferente, y desde todo punto de vista. Y para esto se requiere hacer una Matriz de Desempeño Basado en Perspectiva (MDBP, es una técnica que construí para medir el valor de un producto-software). Esta técnica te permite considerar el valor (que después se convierte como estrategia general de diseño del software) basado en las siguientes perspectivas:

1) Procesos de Negocio [Integración, Automatización, Inteligencia]. Esta perpectiva te define los límites del sistema respecto a los procesos principales de cualquier organización, sean públicas o privadas, y desde una tienda de productos de abarrotes, hasta una corporación multinacional: Finanzas, Recuesos Humanos, Cadena de Suministro, Relación con Proveedores, Relación con Clientes, Manufactura. Todos estos sistemas de gestión son clave, y según los requerimientos del cliente, para anañizar y diseñar el sistema.

2) Estrategia de Negocio [Flexibilidad, Adaptabilidad]. Las empresas, los negocios, o cualquier organización, cambian. Y cambian por diversos factores, como crisis económico mundial, reacción a la competencia, incurción de nuevas tecnologías (no necesariamente de información), expansión, etc. Y para esto, el software tiene que estar diseñado para cambiar junto con el negocio. Les pongo un ejemplo: si el proceso de ventas, tiene 4 actividades, consideradas en el software: cotización, orden de venta, facturación y despacho; y luego, para reducir costos de operaciones, la empresa disminuye sus procesos a 2 actividades: orden de venta y facturación; y para esto, las cotizaciones y los despachos son tercerizados a otra empresa especializada. Entonces, el software debe permitir adaptarse y ser flexibles a este cambio, y sin necesidad del productos del software para ello.

3) Interoperabilidad. Este es un aspecto que "a gritos" piden las empresas. Hoy en día, muchas empresa forman Cluster, o Cadenas Productivas. Y el producto-software debe permitir que dos o más empresas se puedan integrar (interoperar) mediante sus sistemas. Es decir, si cuatro empresas forman una cadena productiva, pues las cuatro organizaciones deben compartir, operar, etc. información. Y una empresa se dedica a buscar clientes, y realizar los contratos, pues su sistema debe permitir generar la Ordenes de Trabajo a la segunda empresa, y ésta a su vez, con un grado de inteligencia y después de verificar el Stock, generar una Orden de Compra de materia prima, insumos, suministros, a la tercera empresa, y finalmente la cuarta empresa se debe generar la Orden de Despaño. ¡Y todo de forma integrada, automática e inteligente!

4) Productores de Software - Unidades de Informática. Esta perspectiva está alineada a los que producen el software: Desarrolladores de Software. Es decir, el equipo de desarrollo de software debe tener toda la información necesaria para programar. Y esto incluye: diagramas (modelos conceptuales), componentes de Lógica de Negocio, pseudocódigos, etc. Y el personal de desarrollo se dedica explusivamente a programar. ¡100% confiable! ¡Es decir, reduce dramáticamente el costo de producción de software!

CONCLUSIONES

[1] Decidir por uno, o más, lenguajes de programación, bases de datos, servidores, está perfectamente alineada a la naturaleza del proyecto. Entonces, decir que uno es mejor que otro, ¡es falso!

[2] Cada uno de estos productos tienen cosas que hacen sean mejores que otros. Por tal razón, la utilziación es según la naturales del proyecto de sistema (vuelvo a repetir).

[3] Las herramientas de desarrollo son diferentes para un producto-software para una organización financiera (Bancos), que para una tienda comercial, o para una Institución Pública, y mucho más para construir software-juegos, o de cualquier otra naturaleza.

[4] Por ejmplo, tuve la oportunidad de realizar un SAD para un solo SAD donde tres empresas (Cadena Productiva) tenían que estar "juntas" y compartir procesos, además de estar geográficamente separadas, y que cada una de ellas tenías diferentes motores de base de datos. Fue una experiencia estupenda, por que, particularmente, me permitió pulir algunas técnicas para lograr la inter-operabilidad deseada, en este escenario.

Bien, espero haber dado un aporte significativo al tema.

Saludos, y hasta la próxima.

--
PD 1: No se a ustedes, pero sería muy bueno que exista en el foro un espacio sobre SAD, y de esa forma poder compartir conocimiento, y ampliar, o mejorar la productividad en los trabajos de sistemas.

PD 2: Si conocen la sección correcta para este tipo de tema, por favor háganlo saber; y sería bueno que sugieran temas específicos sobre SAD, para poder aportar algo.