desktop

¿ Por qué Programar es importante ?

El problema con la interfaz de usuario, sea en el micro que sea, es que debe ser 100% operativa y sencilla de aprender, y el formato se debe ajustar a lo que el usuario espera encontrar y no a la primera tonteria que se le ocurrio al desarrollador segun su propio gusto... que en la mayoria de las veces es bastante objetable (por decirlo en forma delicada).
El desarrollo de la UI es un trabajo tan importante como el correcto funcionamiento del soft, y requiere analisis y desarrollo extra, que la mayoria de los desarrolladores desconocen.

Es que también tenés muchas cosas subjetivas.... "queda mejor si el botoncito lo llevas de aca a allá... etc", más allá del funcionamiento.

Lo ideal para esa interfaz, es tener un tipo que sepa de diseño, a muy groso modo, es como tener un Steve Jobs, no sé que tantos conocimientos técnico tenía (por ej. más que Wozniak, lo dudo), sin embargo el tipo sabía como diseñar tanto el exterior de los equipos como los soft para que sean amigables al usuario.
 
donde yo trabajaba ,tenia un jefe que era mas rompe,siempre le encontraba algo

hasta que un día me canse con una cerradura y le dije ,
bueno que lo haga otro ,mientras tanto yo seguí con el programa de la cerradura por mi cuenta
al final eligió mi diseño y me pregunte esto
como es que a mi me cargosea tanto y al otro ni mu le dijo ,,
:confused::confused::confused::confused:


pd:
el otro programa tenia un truco ,podías ponerle clave de la cantidad de digitos que quisieras,
pero solo recorvada los últimos 4
por ejemplo si metias esta contraseña 768553423937456452436
para abrir el cerrojo solo bastaba con meterle 2436 (las ultimas 4 cifras)
 
Última edición:
donde yo trabajaba ,tenia un jefe que era mas rompe,siempre le encontraba algo

hasta que un día me canse con una cerradura y le dije ,
bueno que lo haga otro ,mientras tanto yo seguí con el programa de la cerradura por mi cuenta
al final eligió mi diseño y me pregunte esto
como es que a mi me cargosea tanto y al otro ni mu le dijo ,,
:confused::confused::confused::confused:

:unsure: ¿ Fobia a los Lemures ? :unsure:
 
Última edición:
y como lo convencí ,
le puse sonido a las teclas y unos led destellantes ,
luces y ruidos/sonidos pitidos y mas luces ,
sonido de código correcto + led ,sonido de código incorrecto + led
sonido extra cada ves que oprimia una tecla jajajaj todo al mismo programa que antes no lo quiso
##################
eso atrae como miel al usuario
lo mismo vale para amplificadores,podes hacer uno espectacular,
pero si no tiene unos led y luces indicadoras varias es al cuete ,no gusta
 
Última edición:
Es que también tenés muchas cosas subjetivas.... "queda mejor si el botoncito lo llevas de aca a allá... etc", más allá del funcionamiento.
Es que precisamente eso es lo que hay que evitar: meter el gusto personal donde debe ir el control de la apariencia y la correcta operatividad.
Y hay otro problema, que es que la UI la diseña el mismo que hace el programa. Como este sabe lo que debe hacer cada componente de la UI, es una muy mala guia para desarrollar una interfaz de usuario para un tio que no tiene npi de lo que debe esperar de cada boton. Por esto, asi como el que diseña el soft no debe ensayar el software, tampoco debe diseñar la UI...
 
Y hay otro problema, que es que la UI la diseña el mismo que hace el programa. Como este sabe lo que debe hacer cada componente de la UI, es una muy mala guia para desarrollar una interfaz de usuario para un tio que no tiene npi de lo que debe esperar de cada boton

Eso me pasa seguido. Es bastante complicado hacer algo fácil, bonito y útil al mismo tiempo.
 
La IU siempre fue un tema que me preocupo, así que yo hacía los programas partiendo de la interfaz, y luego me ponía a hacer que el programa hiciera lo que debía hacer.

Para esto ponía toda clase de trabas como para que el HomoUser´s siguiera un solo camino, por ejemplo:
Bloqueos de mayúsculas
No permitir ingreso de letras donde se esperan números (Y viceversa)
No permitir el ingreso de número > o < a lo debido.
Y una larga lista de ETC.

En caso de intento de ingreso erróneo alguna que otra "Furiosa" alarma con cartelón avisando de "Metida de pata"

Esto no se si será técnicamente correcto o no, pero me dio bastante buen resultado. ;)
 
Es un buen primer paso, pero diseñar soft en esa secuencia es peligroso por que te ata al diseño de la UI.
Normalmente yo desarrollo funcionalidad por un lado, UI por otro, y luego el codigo de enlace entre ambas. Asi puedo modificar cualquier parte sin interferir con las otras...
 
es que se han saltado el primer paso
estudiar el problema y diseñar una solucion teniendo en cuenta las limitantes del hardware y el sofware ademas de sus propias limitantes es lo primero
antes de escribir la primera linea de codigo ya se debe tener algo mas o menos diseñado
ya sea en la mente o en papel, esta parte es la mas dificil

por eso programar no es solo escribir codigo, de hecho escribir codigo y solucionar bugs es la parte facil

-----

y programar no es importante por que SI
escribir codigo no es importante el post inicial del hilo es la nueva moda
alguien nombro los consultores moda en otro hilo pues creo que este es otro caso
moda
 
es que se han saltado el primer paso
estudiar el problema y diseñar una solucion teniendo en cuenta las limitantes del hardware y el sofware ademas de sus propias limitantes es lo primero
antes de escribir la primera linea de codigo ya se debe tener algo mas o menos diseñado
ya sea en la mente o en papel, esta parte es la mas dificil

por eso programar no es solo escribir codigo, de hecho escribir codigo y solucionar bugs es la parte facil

-----

y programar no es importante por que SI
escribir codigo no es importante el post inicial del hilo es la nueva moda
alguien nombro los consultores moda en otro hilo pues creo que este es otro caso
moda

No estoy de acuerdo.
Los tiempos cambian, y hay subibajas... pero si uno se atiene a las tendencias que se ven para los años venideros, el desarrollo de HW esta en declive y de SW en alza. Y los sistemas de SW son cada vez mas complejos, por lo que, aun cuando estoy de acuerdo con vos en cuales deben ser los pasos (planificacion y luego programacion), la programacion a nivel profesional es tan compleja que se requiere una gran especializacion para dominarla.

Un sistema basado en microprocesadores de hace, digamos, diez años, tenia (como interfaces), entradas y salidas discretas, alguna UART, un LCD, algun conversor, y para de contar.

Ahora cualquier proyecto de morondanga te incluye ademas de los mencionados, USB, LAN y quichicientas I/F mas cuyo dominio en SW es super-complicado.
Y para eso se necesitan profesionales. Podes saber muy bien que queres hacer, pero si no dominas las tecnicas como para implementar un stack TCP-IP o usar uno comprado (por dar UN ejemplo)... vas muerto.
 
No me parece que sea taaaaaan asi como lo pintas.
En la actualidad hay millones de lineas de codigo 100% funcionales, empaquetadas en clases y/o funciones y bibliotecas, y hay millones de tutoriales sobre su uso y aplicacion, asi que en la actualidad el diseño de software no requiere tanto trabajo como en tiempos pasados.
El problema es que cualquiera se cree capaz de programar si sabe usar google y copiar código, pero escribir codigo lo hace cualquiera que tenga un lapiz y un papel (un mono con una lapicera... les digo a mis alumnos).
Pero es MUY diferente hacer un algoritmo correcto, que no tenga puntos de falla, que funcione en base a los requerimientos y que pueda mantenerse con bajo impacto en el desarrollo.... y eso no se logra sabiendo escribir codigo... eso se logra analizando y modelando el software... y por desgracia eso no se enseña.
 
No estoy de acuerdo.
Los tiempos cambian, y hay subibajas... pero si uno se atiene a las tendencias que se ven para los años venideros, el desarrollo de HW esta en declive y de SW en alza.

todo esta en declive almenos a pequeña escala de manera masiva
son muy pocos y usualmente solo gigantes los que necesitan proyectos de hace 10 años o de la morondanga con usb lan las quichicientas I/F, es un mercado muy muy muy reducido, es mas los sistemas de hace 10 años y mucho mas antiguos continuaran trabajando mientras "funcionen"

en el articulo nombran compañias de internet dando a entender de que son solo software
cuando en realidad esas compañias funcionan sobre hardware grande y por suspuesto muy
caro
 
Última edición:
Si, pero el "jargüar" cada vez es más complicado y se concentra también en cuatro compañías montadores en el sudeste asiático. Hace 30 años podías montarte un PC en casa, he visto esquemas y kits para montar un XT. Hoy en día no creo que a nadia se le pase siquiera por la cabeza.
Con el soft pasa lo mismo, antes era "el_programador", hoy en día salvo cosas contadas es un equipo de cuarenta personas que desarrollan un título durante dos años. Y si por casualidad inventas algo nuevo que triunfa de verdad llega la gran compañía y te " abduce".
 
Me hicieron acordar de cuando quería sacarle provecho a lanconeccion de internet/compu de casa y se me ocurrió montar un servidor de un juego masivo, y me cruce con phyton sql2000 firewals, órdenes y tareas, muy amigable y a pesar de ser constructor y ver mis creaciones, siempre valio mucho esa creación digital,virtual, y el echo de ganar dinero por poco que era, valía muchísimo, ni hablar de loguear por primera vez en mi propia pagina, el panel de administrador, los cruces con "chiters y hakers" personalizar cosas,probar modificaciones solo por que si... Bueno yo usaba block de notas :LOL:

Saludos!
Pd: las veces que necesite he incluso encontré programers que sin intentarlo, se echaron para atrás ni les cuento....
 
Personalmente es muy importante programar hoy en dia ,ya que gana mucho dinero haciendo pagia web dinamica y estatica ,yo estoy haciendo grado superir de redes informatica me gustaria aprender mucho de web ,ya que gana dinero con esto. tambien me gusta cosas del sevidor .
para empezar de programar recomiendo en C ,ya que es uno de los lenguajes que salido primero ,despues al resto sera facil de entender .
buena suerte .
 
Definitivamente he llegado al lugar correcto, son emotivos en sus temas además la seriedad de ellos, ojala algún día este al nivel de alguno de ustedes por que intento entender pero no puedo y quiero aprender y por eso llegué a un buen lugar.
 
los lenguajes de programacion son muy volatiles , cambian y cambian y vuelven a cambiar.

ami en la univercidad me enseñaron a programar en turbo C un compilador de 1992 en pleno 2010
y para mi era el unico compilador existente.

e incluso hise un videojuego hecho en turbo C que si desean hago un tutorial del codigo fuente de ese juego en un compilador obsoleto.

para no hacerla larga

¿por que turbo C en pleno siglo 21?
por que mis maestros se quedaron con ese compilador al salir de la escuela y eso es lo que enseñaban.

pero me daba miedo al tratar de programar en visual C, tenia panico usar un boton o un picture box

no fue gracias a un colega que deseaba aprender microcontroladores en C y aprendimos juntos C18 para microcontroladores PIC.

ver que los programas escritos en turbo C corrian en los PIC se nos hiso revolucionario.

el paso siguiente fue enlazar el pic al USB pero turbo C se estaba quedando sin recursos .

logramos escribir memorias paralelas con los 18f4550 y TURBO C SI ese lenguaje obsoleto.

y nimodo habia que probar algo que no nos enseñaron en la escuela VISUAL C++ 2010

la verdad MAGICO era casi casi como usar power point y algoritmos en C muy simples casi casi el IDE lo hace todo.

JAJA yo diria que no hay que tener miedo a aprender un lenguaje de programacion.

la idea mas que nada hay que tener la mecanica de programacion mas que el saber usar ese lenguaje en particular.

actualmente no tengo empleo de mi carrera soy un triste mecanico.
pero aun tengo habilidades de programacion y me gusta resolver dudas en el foro como desadio mas que para ayudar
 
Quiero sumar mi comentario en lo que refiere a SS y a la HW. Los puestos bien remunerados y con todos los extras siempre están donde la demanda es alta y falta quien la sirva. Como estoy por completar 6 décadas donde en 4 de ellas han tenido contacto con las diversas revoluciones tecnológicas y donde tuve el placer de participar, creo poder dar mi punto de vista y así ojalá contribuir algo al hilo!

Estamos viviendo en una época donde hoy vemos lo que diversas revoluciones nos han llevado y vemos que el paso del cambio de tecnologías va en aceleración! Recuerdo que al principio de los 80 el "Z80" era un vehículo con gran impacto. recuerdo que los ingenieros de aplicación por ejemplo eran invitados al tal "Silicon Valley" volando en primera clase. En San Francisco cada uno era recogido por un servicio de limusinas, llevados un "resort" de primera y las actividades alrededor del programa técnico eran lujo total. Era el principio de lo que se denomina la época de oro de la industria de semiconductores. Luego "Andy Grove" en su libro "The Paranoia Principle" presenta el concepto expresado en el título de su libro donde expresa que en el momento de su mayor éxito se sienta la base de su fracaso. Aplicando su principio presenta un camino como tratar de evitarlo. Básicamente el mercado para cualquier producto tiene 4 fases de vida. "Early Adopter", "Early majority", "Late Majority" y "Laggards". Para ponerlo fácil de entenderlo. Los aficionados a lo nuevo compran productos innovativos. Cuando un producto ha mostrado sus capacidades por aquellos que lo adoptaros primero entonces empieza el producto a penetrar un mercado grande. Cuando ya el producto es un defacto estándar adoptado por muchos entonce la gran mayoría va a adquirir ese producto. Finalmente hacia el final de su vida existen aquellos que finalmente no ven otra opción que cambiar y tomar ese producto. Eso ya representa un mercado pequeño.

En cada una de esas 4 fases empresas compiten y aquella con el modelo de negocio mas aceptado domina. Pero como los individuos del mercado en cada una de las fases tiene otras motivaciones y actitudes en la próxima fase del mercado otro modelo de negocio es óptimo y aquel de mucho éxito en la fase anterior acaba siendo un perdedor. En inglés ese cambio de las fases de mercado se llama "Chasm" y el libro que trata el tema de como pasar de una fase del mercado a la siguiente se llama "Crossing the Chasm"! El principio de paranoia de Andy Grove, CEO de Intel, por lo tanto asume que debe cuestionar su política empresarial constantemente para no dejar el campo en la próxima fase del mercado a nuevas empresas entrando en el mercado.

Presenté de forma tan extensa estos conceptos porque estoy convencido que esos mismos mecanismos también son aplicables a cualquier producto o servicio!

Si leo las diversas contribuciones a este hilo, veo que se expresa lo que se puede decir sobre las herramientas, los trabajos y las habilidades de la fase de mercado que ahora está entre las fases de "Early y Late Majority" y lo que se ha expresado en las contribuciones es válido para las fases actuales. la pregunta que se presenta a todo joven, sea femenino o masculino u otro es, hacia donde se desarrolla el mercado en el cual quiero ganar mi sustento y trabajar durante el el lapso de tiempo previsible! No existe fase de mercado que no pueda alimentar y aquel cuya prestación se adapte bien a la fase de mercado! Doy ejemplos:

Recuerdo que hubo una época donde el mercado de las tal llamadas "mainframes" fue revolucionario y cuando este mercado paso a la fase de "Laggards" casi todos abandonaron el mercado e IBM pudo vender sus máquinas a precios elevados y prácticamente sin competencia. IBM así demostró como, aplicando lo de las 4 fases de mercado y beneficiándose aún en la fase de los laggards!

A cual fase de mercado quiero entrar como empleado, en cual fase se encuentran aquellos posibles mercados en los cuales quiero participar como empleado y como quiero definir mi propia estrategia personal considerando el tiempo que deseo estar activo profesionalmente, cual empresa en el entorno local que quiero trabajar está disponible y donde creo poder contribuir de forma óptima.

Si leo las contribuciones y las herramientas mencionadas tengo la impresión que estamos escribiendo de un mercado en las fases early majority y late majority. C#, Java y otras son típicos ejemplos de los mercados relacionados al mundo del Internet. Cual mercado identifico que preferiblemente esté en una fase de "Early Adopters" y donde exista en mi entorno empresas que participan en tal mercado. eso define en que dirección debería especializarme para ser un prestador de servicios donde pueda participar y beneficiarme quizá de su época de oro, o prefiero ser cauteloso y preparar mis conocimientos para prestar servicios en un mercado bien establecido!

Resaltando que solo es un ejemplo quiero presentarles lo que he estado hablando con mi hija mayor. Ella está estudiando en la universidad "Documentación Técnica"! Empiezo por decir que la felicité por escoger ese campo por ser cada vez mas exigente en los servicios requeridos, donde la demando está aún por explotar y donde veo una perspectiva de largo plazo! Hablando sobre esto le pregunté si tenía consciencia sobre la diferencia entre lo que se denomina por el término "Internet de cosas", en breve IoT y del campo de la industria 4.0 y que piensa sobre las necesidades de capacitaciones entre estos 2 mercados! Resulta, a mi opinión que en el mercado del IoT, de los cuales una fracción son los tales "Wearables" como por ejemplo los brazaletes que monitorean como hacemos ejercicio, demandan recibir información de que comemos y tomamos para dar sugerencias para completar los días de forma óptima para la salud! La "Industria 4.0" se refiere a la revolución que esta por empezar, creo que estamos en la fase de "Early Adopters" se trata de combinar las bien establecidas tecnologías en uso en la industria a las posibilidades resultantes de las nuevas tecnologías brindando la posibilidad de mayor eficiencia y reducción de costos tanto en el proceso de diseño, implementación en productos y la integración dentro de toda una fábrica e incluso la empresa completa y sus clientes, como también en lo que en inglés se denomina "total cost of ownership". Que impacto tendrá esto en los requerimientos para una persona estudiada en "documentación técnica"?

Lo mismo se traduce a los requerimientos de servicios de programación! Quién se educa y practica en programas y aplicaciones relacionadas al Internet, y eso es evidentemente lo que muchos expresan implícitamente cuando escriben de las herramientas, es capaz de participar en todos aquellos campos de esta nueva revolución tecnológica relacionados a la nube. Pero no es tal persona una de los muchos, aunque no suficientes que prestan tales servicios? Y no es que con el tiempo las empresas activas en estos campos necesitan implementar metodologías mas eficientes para ser competitivos en tal mercado? No demuestran desarrollos de herramientas de software en estos campos que se confrontan con la escasez de programadores buenos y capaces de buscar como encontrarle solución a estos problemas? La herramienta Altium o la IDE de Cypress muestran inicios del esfuerzo de lograr reducir el impacto de la escasez de programadores? No vemos por ejemplo a los chinos que típicamente hoy se mueven en las fases de mercado de "Late Majority" y "Laggards" pudiendo ofrecer productos de calidad cada vez mejor a precios que nadie puede competir exitosamente? Los chinos están invirtiendo en educar su gente capaz en las mas modernas tecnologías, vemos como ataques por el Internet frecuentemente tienen origen ruso y/o chino? En el mercado cuya globalización va en continuo aumento yo especulo que muy pronto empresas chinas van a tomar las actividades que hoy ofrecen a las empresas americanas y europeas a ofrecer trabajos muy bien remunerados a precios que nos obligan a adaptarnos a campos nuevos? Hay que tomar como ejemplo a los japoneses! En los años 60 y 70 ellos eran los chinos de hoy! y aparentemente su industria no ha logrado cruzar las barreras de una fase de mercado a la próxima por lo que hoy están en crisis!

Yo estoy convencido que a medio plazo las empresas del lejano oriente van a tomar los mercados que hoy son servidos por las empresas que ofrecen los servicios alrededor de la nube. Claro que también habrá empresas que en la fase de "Late Majority" y "Laggards" van a tener capabilidades de sobrevivir, pero la época de oro en estos sectores va a terminar! Como siempre las empresas del primer mundo como se acostumbraba nombrar un grupo de países va a subsistir exitosamente creando nuevos mercados donde se requieren conocimientos de nuevos perfiles y que crearán puestos de trabajo bien remunerados!

Con mis estudios sobre la tecnología de diseño por modelación, con impactos como el que escribí hace algún tiempo sobre como será posible reemplazar humanos por sistemas inteligentes me da la impresión que estoy viendo una de las direcciones que el futuro puede tomar en campos mas cercanos a la electrónica. Pero no mas que para indicar que tan amplio son los cambios que el futuro está por crear, pensemos no mas en los posibles impactos que las impresoras de 3D con la capacidad de imprimir material orgánico, con los desarrollos en el campo de la genética y de los estudios de como trabajan los cerebros. Hoy para los países del primer mundo su capacidad y sus recursos para poder combinar todos estos desarrollos en los mas diversos campos y la presión competitiva de países del lejano oriente por ejemplo mas sus conocimientos de como manejar proyectos grandes va a seguir acelerando el cambio!

El artícula que Fogonazo publico aquí es expresión típica de un mercado entre "Early majority y Late majority"! Es bien sabido y aceptado que todo lo que ese artículo presenta. Pero eso también es síntoma de los mercados en las fases de mercado mencionadas! Otra analogía de la bolsa de valores! Aquellos que primero descubren y se benefician de una situación de mercado ganan fortunas. Cuando esto es sabido y aceptado por la gran mayoría de personas es cuando a la bolsa entran personas que quieren participar y acaban perdiéndolo todo! Lo mismo es aplicable para el mercado laboral. No que el servicio como programador va a morir, pero los conocimientos y las experiencias van a cambiar de forma tan radical para poder diferenciarse de la competencia del lejano oriente por ejemplo.
 
tiene 4 fases de vida. "Early Adopter", "Early majority", "Late Majority" y "Laggards". Para p


py-m-sesion-4-10-728.jpg






ahora el internet de las cosas es humo de las cosas
las nuevas puntocom, de todos modos las 4 fases tambien le aplican
 
Última edición:
Hola analogico, a mi me impresiona cuantos temas tan diferentes ganan estructura y un entendimiento mas profundo aplicando esas 4 fases!

Tuve la oportunidad de organizar y participar en un evento de un fin de semana con ejecutivos de alto nivel de la Siemens Nixdorf, hoy Fujitsu-Siemens y de Motorsa Semiconductores en aplicar una técnica desarrollada por Shell, la empresa de la industria del petroleo. Se llama: "Option Development".

Esa técnica usa la misma técnica del ciclo de vida de un producto, pero repartiendo las 4 fases por los 4 cuadrantes de una cruz de coordenadas. Los 2 ejes de coordenadas representan el impacto de los parámetros analizados de poco a mucho. El objetivo era analizar que indicadores que se pueden observar en el mercado indican cada una de las 4 alternativas. Así, observando el mercado unas ciertas indicaciones permitirían reconocer cual de las 4 opciones estaba ganado importancia y planear de antemano como actuar de acuerdo a planes desarrollados para las 4 opciones cuando indicadores darán la noción que uno de los posibles futuros en la cuestión a analizar estaba tomando auge. El tema del análisis entonces era si el futuro sería para "gadgets" con una función determinada y en consecuencia cada usuario tendría aquellos productos cuyas funciones eran implementadas, o si el futuro era de los productos integrados como los conocemos hoy de las impresoras que combinan FAX, Scan, copiar e imprimir.

Con la participación de una impresa que entonces era líder de la industria europea de informática y equipos, Siemens, y de una empresa de semiconductores como lo fue la Motorola Semiconductor, el saber en que dirección el futuro tecnológico de los productos estaba por tomar y el estar preparado para ellos, representa un importante beneficio.

Así para el tema del hilo sobre la importancia de programar y de posibles empleos y sus beneficios fuera de poder analizarlo desde el punto de vista del mercado esta preparación para posibles futuros permite planear y base de los resultados de aplicar los conceptos que resultan de aplicar la técnica del "Option Development"! Si yo tuviera que planear hoy en día que capabilidades aprender para tener una mayor probabilidad de éxito profesional de una persona joven, yo trataría de analizar el presente tratar de encontrar criterios que sean típicos y de ver como se presentan posibles futuros y que capacidades me dan la máxima eficiencia para poder tener éxito en una carrera profesional!
 
Atrás
Arriba