# ¿ Por qué Programar es importante ?



## Fogonazo

*¿ Por qué Programar es importante ?*

​
Hace unas semanas estuve en la clausura de un curso en la cuál participé como profesor del mismo y en la entrega exponía por qué era vital el forjarse su futuro estudiando y de la importancia que tendría saber programar en el futuro... Hubo gente que escuchó atenta, algunos se emocionaron, otros ya sabían de los que estaba hablando y algunos otros se dijeron frases para sí como "De códigos yo ya tuve suficiente". 

Empíricamente siento que la programación es una cuestión de te gusta mucho o no te gusta nada, no creo en blancos y negros pero si es que hay grises, están muy cerca de ambos extremos... lo que quiero decir es que o te gusta mucho, o en realidad no quieres hacerlo. 

La programación es una actividad interesante, en términos de trabajo, vivimos en una burbuja donde no existe desempleo, los trabajos son bien remunerados, las oficinas son épicas, hay una esfuerzo importante (aunque quién sabe si suficiente) por construir diversidad, una cultura de trabajo agradable, inclusión y otras cosas interesantes. Es una burbuja porque muchas otras carreras no tienen las mismas facilidades, empezando por las carreras donde la oferta sobre pasa la demanda como ser maestro, contador, doctor y similares; se gradúa tanta gente que no hay suficientes trabajos para todos; están también las carreras under que simplemente no tienen demanda, o si existe te pagan muy poco (a pesar de que muy probablemente tengas una carrera universitaria). Los trabajos así están en una posición complicada porque existen tantos posibles trabajadores y tan pocos trabajos que los empleadores no se preocupan por construir un puesto de trabajo ideal, simple y sencillamente porque mucha gente está dispuesta a tomar lo que sea.. ¿cultura laboral? pfft! ¿querés el trabajo o no?... 200 dólares al mes, tómalo o que venga otro. 

*Por qué tanta demanda *

Ahora, todas las compañías son compañías de software escribe Forbes en un artículo. Lógicamente las empresas que solo son software son empresas de software, es decir, aquellas cuyo único valor es lo que un conjunto de archivos de código generan (Snapchat, Facebook, Instagram etc), existen otra que no necesariamente solo poseen software, poseen bienes físicos pero el core es una pieza de software (Uber, Netflix), y existen las que el core es algo que no tiene que ver con software, pero que claro, guardan y procesan información a través de sistemas que les ayudan a mejorar su negocio, en esta última categoría tenemos el uso de sistemas de inventario, de punto de ventas, de asistencia, etc. 

​
Con el creciente surgimiento de startups que entran y cambian industrias tradicionales (Uber, Airbnb, Netflix por ejemplo), muchas empresas notan el impacto que la tecnología puede tener para mejorar la experiencia de usuario, mejorar las ventas, improvisar el rendimiento de sus empleados y sus bienes. Esto genera mayor demanda de software y claro una creciente demanda de programadores. 

El problema es que los problemas que enfrenta la tecnología actual (manejo de millones de datos, procesamiento de datos, inteligencia artificial, data minning, machine learning, business intelligence, millones de visitas) son desafíos complicados que requieren de expertos en diferentes campos del desarrollo de software, no requieren gente que entienda una que otra línea, o con poca experiencia en el desarrollo de aplicaciones, requieren gente con experiencia resolviendo problemas nuevos o grandes, gente con conocimiento de cómo funciona una computadora a fin de aprovechar sus recursos al máximo, requieren gente que pueda optimizar programar y crear código mantenible... el porcentaje de gente que cuenta con ese nivel con respecto de todos aquellos que saben algo de programar es muy pequeño, es decir, existe mucha gente que sabe programar pero que no puede cubrir una vacante de desarrollador de software en una empresa importante. 

La combinación de una alta demanda de software y una poca oferta de desarrolladores con las habilidades necesarias para los desafíos del presente resultan en: 


•Muchas ofertas de trabajo
•Salarios altos para atraer al talento top
•Compensaciones extra para atraer al talento top (Lunch gratuito, gimnasios, entretenimiento en el trabajo, acciones de la empresa)
•Que las empresas se preocupen no solo por dar salarios altos, si no por construir espacios de trabajo en los que sea atractivo trabajar, más allá de solo el dinero (esto es épico).
•Todo eso porque claro, todas las empresas quieren acceder al mejor talento.

*Por qué hay tan pocos programadores preparados *

Esta es una pregunta válida, ¿por qué hay tan pocas personas que puedan cubrir las vacantes si el salario es bueno y las oficinas épicas? La razón, en mi opinión, es que para poder tener el nivel necesario para uno de estos empleos, necesitas invertir un número importante de horas programando y desarrollando aplicaciones; y para invertir ese tiempo preparándote realmente tienes que sentir gusto (al menos, no digamos pasión) por lo que haces, a mucha gente programar les parece aburrido o complicado. 

En todo el mundo hay un número importante de universidades que ofrecen carreras afines al desarrollo de software, hay muchos alumnos que se inscriben a esta clase de carreras, pero de esos, es casi seguro que solo 1% - 5% estarán preparados para un trabajo top, ¿por qué? porque son estos los que van a invertir el tiempo extra clase para prepararse, y es que como toda habilidad, la programación es una que se domina de la práctica; ser buen programador significa habilidad para solucionar problemas, para identificar errores y para escribir soluciones óptimas aprovechando una serie de cosas a las que llamamos algoritmos, estructuras de datos y así; estas habilidades se adquieren escribiendo mucho código, creando cosas, desarrollando productos. Uno solo invierte tiempo en lo que le gusta u apasiona (a menos que seas muy disciplinado). 

*De códigos ya tuve suficiente *

Tengo un problema al escuchar a mucha gente que estudia ingenierías computacionales rehuir a la programación... es como si quisieras ser doctor pero no te guste operar, puedes vivir así, pero no estás peleando por los trabajos top, no estás buscando lo mejor... (disclaimer: no soy doctor así que tal vez mi analogía no sea la mejor), es solo que los mejores trabajos son de programar, claro que están los de dirigir proyectos, CTO y similares, es decir, de jefe, donde claro que ganas más, pero ¿adivina? necesitas haber participado en proyectos para poder liderar proyectos. 

Aquellos a los que nos gusta programar, equivocadamente, solemos tener la actitud de ¿qué hace aquí si no le gusta programar?, está mal, claro, pero es una idea de cierta manera realista, porque como comento antes, los mejores trabajos son para esa habilidad, la demanda es por esa habilidad. 

Mi opinión es que no es solo una cuestión de si te gusta o no, si no de cómo nos enseñan a programar en la universidad, el problema es complicado porque en la universidad nos enseñan a programar con herramientas que nos enseñan a entender cómo funciona esto de programar, eso está bien, el problema es que esos lenguajes son aburridos, los primeros programas que escribes se ven así: 

Ver el archivo adjunto 138210​
Ciertamente una pantalla negra con opciones en texto no suena divertido, no lo es, a algunos les gusta, y les apasiona ver a la computadora imprimiendo lo que te dicen, generalmente son estos los que se apasionan por programar... el problema es que muchos somos visuales, de la vista nace el amor. 

Normalmente no es hasta la mitad de la carrera cuando empiezas a ver cosas relacionadas a páginas web (que son más visuales), para ese momento mucha gente ya hizo su opinión sobre lo que es programar, una pantalla negra aburrida que muestra texto, o peor aún, mucha gente ya ni está en la carrera para ese momento. Esta razón explica porque cursos com Mi Primera Página Web son necesarios, en ese curso no tenemos vídeos explicando qué es HTML, o qué es un ciclo, o qué es una base de datos... simplemente usamos todo eso en construir algo, BUM!, cuando terminas el curso ya puedes presumir, ¡hey miren esto, yo lo creo! y se ve bien, y la gente se asombra, y tú te motivas. 

*Imaginate tratando de presumir esto: *

​ 
*Esta es la reacción que vas a recibir: *

​
¿Por qué? Porque la gente no suele emocionarse con el hecho de que una computadora te está obedeciendo, no saben ni lo que hay detrás de que la computadora imprima texto, no lo saben y como dicen, lo que se ignora se desprecia, es like meeh! ¿y eso qué? ¿qué hace? ¿dónde se mueve? ¿con qué se come? 

Eso no es lo mismo que ¡hey! mira esto, es la página que hice para mostrar mis jugadores de la Champions favoritos o, fijate esta página, tiene todos los capítulos de Breaking Bad, o hey! este es mi blog sobre fútbol, sobre folclore, sobre música, esta es mi página para vender pizzas, ropa deportiva, o lo que fuera algo que te apasione. 

Uno de los problemas de incluir a nuevas personas en la programación es cómo se les está motivando y cuánto están tardando en encontrarle uso a lo que se les está enseñando, entre más pronto le encuentren uso o diversión, más pronto se motivarán, más pronto comenzarán a hackear solos y más pronto se convertirán en programadores capaces de cubrir un trabajo épico. 

*Qué hay que hacer (si ya estoy aprendiendo a programar) *

Asiste a hackathones, asiste a charlas (no hace mucho estuvieron Woszniak o el flaco que fundó PirateBay), concurre a eventos de programación, ve a startup weekends, convive con otros programadores, aprende lenguajes que no te enseñen en la escuela (hay tantos: Python, Haskell), crea proyectos de algo que te guste (vídeo juegos de fútbol, tenis), no dejes tus proyectos a la mitad, terminales, subílos y compartílos con tus amigos. 

Hackea por hacerlo, por puro gusto, sí está bien que en la escuela te pidan crear el algoritmo cómo hiciste para llegar a la escuela (???), pero no te quedes con eso, preocupáte por cosas que te motiven, piensa en cosas en donde lo que sabes podría aprovecharse y aplicálo, divertíte, piensa en que ser programador es ser inventor, es crear e inventar cosas. 

Busca hacker spaces, investiva del movimiento maker, del do it yourself, compra un arduino (seguí el curso de arduino) y hackea tu máquina de hacer café, crea cosas inteligentes, controla tu puerta con el celular, o regá tus plantas con una llamada desde tu página web. 
En otras palabras divertíte.


*Qué hay que hacer (si no sé nada de programar) *

Intentálo, hay muchos movimientos que buscan iniciar programadores en la industria, recuerda, aquí hay empleo, hay buenos salarios, hay oficinas copadas, hay desayunos gratis... aquí puedes llevar a tu perro al trabajo, aquí puedes beber una cerveza mientras programas, aquí no hay horarios restringidos, a veces podés tener fines de semana de 3 días, hay muchos beneficios que valen la pena como para que pruebes que es esto que llaman escribir código. 

Sí, programar no es todo diversión, muchas veces programar es estar arreglando errores, detalles pequeños, programar a veces significa que en varios días trabajas en algo que ni se ve, porque simplemente algo está fallando y nadie sabe qué... programar es difícil (a alto nivel), programar requiere que sepas estadística, a veces matemáticas (pero no siempre, puedes iniciar y ser bueno sin ser un genio de las matemáticas, este es un mito), programar no es un trabajo más (si es que vives de esto) y puede generar estrés. 

Programar también puede ser un hobbie, ¿no sería bueno que esa cafetera vieja que tienes pudiera ser controlado con tu celular? Lo puedes hacer tú mismo... ¿no sería copado implementar una página web para tu negocio? ¡Lo puedes hacer tú mismo! No necesariamente tienes que vivir de programar, solo puede ser otra habilidad para divertirse, para mejorar tu calidad de vida. 

Programar puede mejorar tu trabajo, aunque no te dediques a programar... ¿recuerdas esa horrible hoja de Excel que tienes que llenar con acciones repetitivas? Cantidades de código pueden cambiar eso y ahorrarte todo ese tiempo... básicamente casi todo lo repetitivo que haces en la computadora puede ser automatizado con código... ¡intentálo! 

¿Ya te animaste? Siempre habrá un curso al que llamamos Nunca he programado que es perfecto para ti (Spoiler: Terminarás creando una aplicación para android). 

*Conclusión: *

Me ocupa escribir de esto, me ocupa invitar a otros a aprender a programar... porque hay buenas cosas, porque a mí me divierte, me apasiona... entiendo que no sea para todos, eso está ok, entiendo que no todos vayan a ser ingenieros, pero inténtalo. 

Inténtalo porque no solo se trata de tener más ingenieros, se trata de que si quieres ser futbolista, médico, mecánico o lo que sea, puedas mejorar tu trabajo con código como todas las empresas lo hacen, se trata de diversificar el prototipo de programador, necesitamos todo tipo de gente, de todos colores y sabores que construyan la tecnología del futuro. 

Si el mismo tipo de personas programan, el mismo tipo de problemas serán resueltos... like, no necesitamos otra app para recolectar los eventos locales, necesitamos mejorar otras cosas, nuevas.



Este tema lo leí en otro lado y los sustraje para el Foro, ya que me pareció muy importante/interesante.
*¡ No lo escribí yo !*




​


----------



## Fogonazo

Yo programaba bastante bien en CLIPPER 5 de Natuncket.

Un lenguaje orientado a bases de datos tipo DBase II y Dbase III (.dbf) con el inconveniente que corre en DOS y no posee ningún tipo de entorno gráfico.
Quedaban programas similares a esto:

​


----------



## analogico

Por que no hay que aprender a programar
una imagen vale mas de 1000 palabras







Fogonazo dijo:


> Yo programaba bastante bien en CLIPPER 5 de Natuncket.
> 
> Un lenguaje orientado a bases de datos tipo DBase II y Dbase III (.dbf) con el inconveniente que corre en DOS y no posee ningún tipo de entorno gráfico.
> Quedaban programas similares a esto:
> 
> Ver el archivo adjunto 138220​




entonces revisa el xharbour    es tan compatible el codigo que le puedes meter un codigo antiguo de clipper y lo compila a 32 bits y  funciona  en un sistema operativo   de los nuevos

ademas tiene un diseñador de interfaces graficas


----------



## Fogonazo

analogico dijo:


> . . . entonces revisa el xharbour    es tan compatible el codigo que le puedes meter un codigo antiguo de clipper y lo compila a 32 bits y  funciona  en un sistema operativo   de los nuevos


Después de 30 años de no escribir una línea de Clipper me parece que se me va a hacer "Complicated" 

Programar, me apasiona, pero debería actualizarme a un lenguaje mas actual. 

En su momento intenté aprender C++, pero se me complicó por exceso trabajo, exceso de viajes, exceso de hijos, Etc.

Para mis necesidades empleo Visual Basic 6, que también es obsoleto, pero funciona bajo Wichous y posee una interfaz gráfica.


----------



## chclau

Fogonazo, si queres aprender un entorno nuevo yo te aconsejo C#
Lo podes aprender con Visual Studio que es legalmente gratis.

Y no solo eso, tambien te aconsejo este libro que esta hecho por señores ingenieros por si tenes algo menos de trabajo, menos viajes, y los hijos ya crecidos te dejan un poco mas de tiempo.

Por supuesto, la recomendacion es extensiva a todos los cumpas del foro:
http://www.nakov.com/blog/2014/01/1...ons-slides-videos-lessons-exercises-tutorial/

El libro, por supuesto, es tan legal y gratis como el Visual Studio. Y muy recomendable.
Yo lo estoy leyendo y aplicando, casualmente, en estos dias.


----------



## Dr. Zoidberg

Para que aprender C# si podes aprender Java (del cual el otro es una copia) del que hay millones de libros y tutoriales gratuitos, los programas Java corren sobre cualquier plataforma, hay millones de bibliotecas libres para hacer lo que se te ocurra, y te provee soluciones end-to-end... al punto que con el mismo lenguaje podes programar desde aplicaciones empresariales distribuidas hasta aplicaciones para Android y paginas web dinamicas.
No pierdan el tiempo con el C#...


----------



## Hellmut1956

El artículo es parcialmente correcto, a mi opinión personal! Vayamos por partes:
1. No se puede ser bueno en algo que no le guste a uno, mejor aún si se tiene pasión por ello! En eso estoy de acuerdo con el artículo, pero me atrevo decir que no solo es válido en cuestión de programar. Hasta cierto punto hasta me atrevo decir que toda profesión que se haga con pasión tiene el potencial de nutrirnos y que fortunas no se pueden hacer tampoco solo programando! Para eso hay que hacer algo propio y no como empleado. En las profesiones de tecnología a la gente joven se les da mucho. Pero cuando me encuentro con tales personas siempre les pregunto que cuantos colegas tienen de mas de 50 años y siempre recibí la respuesta entre ninguno o muy pocos. La próxima pregunta es que si creen que cuando esos "viejos" empezaron solo eran pocos? Que donde se fueron a parar la gran mayoría? Hasta los aproximadamente 40 años de edad se gana mucho y todo el mundo nos desea dar puestos de trabajo muy remunerados. Pero de allí en adelante esos expertos van desapareciendo hasta quedar los pocos que se encuentran en empresas de tecnología! Yo tuve la suerte de llegar a ser director en una de las empresas de telecomunicaciones mas grande de los estados unidos lo que postergó el momento de tener que irme!
2. El puesto y la industria donde se puede ganar mucho dinero es como jefe y propietario de una empresa con un producto que tiene demanda garantizada, producto que no requiere explicación y producto con poca competencia! Lo triste es, que esos puestos son muy, pero muy escasos y que casi el 100% de gente en ello fracasa!
Así la cuestión es que se prefiere personalmente! Mi opinión personal es que se debe hacer algo que nos guste, pues el 50% de nuestra vida eso será nuestra ocupación! Para el otro 50% del tiempo de nuestra vida hay que prepararse en los años gordos para luego poder dedicarse a la afición que nos gusta, la electrónica! 

By the way y para los siguientes 50% del tiempo, aprender a programar en Python es ejercicio que vale la pena es especial cuando esto se combina por ejemplo con un RaspBerry Pi 2 que se use para controlar circuitos electrónicos!


----------



## Fogonazo

Voy a investigar ambas opciones. 

En VB también  realicé algunos programas interesantes, por ejemplo una base de datos de marcas de ganado, con opción de escaneo/registro/búsqueda/comparación por imágenes.
Desgraciadamente el Registro de marcas de la Pcia Bs.As. no lo compró y siguieron con el método manual. 
Esto hace unos 15 años  fue nada fácil.

Ahora que me lucí  y volviendo al tema original.

Solo alguien que programe puede comprender la inmensa satisfacción que brinda la resolución de un problema o la creación de una línea de código que lo resuelva.

Y si esa línea de código es "elegante" esto ya se convierte en "Orgástico"


----------



## chclau

Bueno, con todo respeto a las opiniones en contrario, yo lo que pienso es que si se quiere estar al dia en programacion de aplicaciones, es casi obligatorio aprender, entender y usar programacion orientada a objetos. Cualquier lenguaje que la utilice es bienvenido para eso, ya sea Java, C# o C++. De los tres, para mi, el ultimo es el mas dificil de los tres. Es el mas usado por los profesionales, pero yo no pienso ser un programador profesional. Por eso (para mi), la eleccion quedaba entre Java y C#. 

En mi caso me decante por C# porque es el lenguaje que utiliza Unity3D, que es otra herramienta legalmente gratis que a veces utilizo para aplicaciones en 2D y 3D, y que es multiplataforma (PC, Web, Iphone, Android, etc.). Y vayan entonces estas lineas para recomendar tambien a http://unity3d.com/.

Como ultima nota, si es para programacion de controladores, yo sigo prefiriendo C "a secas" sin OOP, pero eso si, he abandonado definitivamente el lenguaje Assembly.


----------



## analogico

programar es mucho mas que  escribir codigo


puedo llenar un libro de codigos que no hagan nada util pero que funcione
ademas nadie me daria niun peso por ello


-----------------------------------------------




Fogonazo dijo:


> Después de 30 años de no escribir una línea de Clipper me parece que se me va a hacer "Complicated"



 el xharbour convierte el codigo clipper a codigo C y lo compila con el gcc  actual




Fogonazo dijo:


> Programar, me apasiona, pero debería actualizarme a un lenguaje mas actual.
> 
> 
> 
> 
> 
> En su momento intenté aprender C++, pero se me complicó por exceso trabajo, exceso de viajes, exceso de hijos, Etc.
> 
> Para mis necesidades empleo Visual Basic 6, que también es obsoleto, pero funciona bajo Wichous y posee una interfaz gráfica.



entonces mira el sharpdevelop  4.4 tiene ruby, pithon, c++ y por supuesto c# y vbnet
ademas tiene un menu que convierte codigos entre vbnet y c# y vicecersa
tambien tiene un diseñador de interfaces graficas,este diseñador no genera el mismo codigo que el vstudio pero funciona bien


*es Gnu o *sea  libre   lo mejor es que pesa 50 megas contra los 15 gb del visualstudio
ademas se puede elegir el framework para que el programa trabaje con maquinas viejas


----------



## Fogonazo

analogico dijo:


> . . . entonces mira el sharpdevelop  4.4 tiene ruby, pithon, c++ y por supuesto c# y vbnet
> ademas tiene un menu que convierte codigos entre vbnet y c# y vicecersa
> tambien tiene un diseñador de interfaces graficas,este diseñador no genera el mismo codigo que el vstudio pero funciona bien
> 
> 
> *es Gnu o *sea  libre   lo mejor es que pesa 50 megas contra los 15 gb del visualstudio
> ademas se puede elegir el framework para que el programa trabaje con maquinas viejas


----------



## el-rey-julien

si no te gusta vas muerto,
 se pasan horas,días,semanas escribiendo,compilando,probando y recopilando nuevamente
no es para todo el mundo


----------



## Dr. Zoidberg

el-rey-julien dijo:


> si no te gusta vas muerto,
> se pasan horas,días,semanas escribiendo,compilando,probando y recopilando nuevamente
> no es para todo el mundo


Cuando aprendes a modelar software la cantidad de iteraciones de diseño es muuuuucho menor...


----------



## el-rey-julien

la mayoría no sabe tanto y se traban el algún lugar
mas los autodidactas


----------



## Hellmut1956

Quien tiene talento va a tener éxito en los primeros 50% de su tiempo como profesionales, sea en lo que fuere!


----------



## palurdo

el-rey-julien dijo:


> si no te gusta vas muerto,
> se pasan horas,días,semanas escribiendo,compilando,probando y recopilando nuevamente
> no es para todo el mundo



Una de esas reglas no escritas que he recordado tras empezar a programar con android, es que para desarrollar un programa o app, usas el 10% del tiempo en programar la aplicación en si misma y el 90% restante en arreglarle los bugs tontos hasta que funciona como quieres que funcione.


----------



## el-rey-julien

y cuando ya funciona,le agregas algo mas y de nuevo a empezar todo


----------



## cosmefulanito04

Lo más molesto para mí en la programación es la interfaz con el usuario, parece una cosa sencilla, pero a medida que va creciendo un proyecto se vuelve más complejo. Lo bueno de trabajar con uC, es que al trabajar en bajo nivel, el usuario prácticamente no existe o se supone que es un "tipo capaz".


----------



## Scooter

De hecho siempre el Interface de usuario es como un 80% o más del trabajo. En un microcontrolador también lo es en la mayoría de los casos, a no se que el Interface de usuario sea dar vueltas a un potenciómetro.


----------



## Dr. Zoidberg

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.


----------



## cosmefulanito04

Dr. Zoidberg dijo:


> 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.


----------



## el-rey-julien

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 ,,



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 76855342393745645*2436*
para abrir el cerrojo solo bastaba con meterle 2436 (las ultimas 4 cifras)


----------



## Fogonazo

el-rey-julien dijo:


> 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 ,,



 ¿ Fobia a los Lemures ?


----------



## el-rey-julien

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


----------



## Dr. Zoidberg

cosmefulanito04 dijo:


> 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...


----------



## cosmefulanito04

Dr. Zoidberg dijo:


> 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.


----------



## Fogonazo

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.


----------



## Dr. Zoidberg

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...


----------



## analogico

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


----------



## chclau

analogico dijo:


> 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.


----------



## Dr. Zoidberg

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.


----------



## analogico

chclau dijo:


> 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


----------



## Scooter

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".


----------



## shevchenko

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 

Saludos!
Pd: las veces que necesite he incluso encontré programers que sin intentarlo, se echaron para atrás ni les cuento....


----------



## ssm

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 .


----------



## killereduardo

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.


----------



## TRILO-BYTE

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


----------



## Hellmut1956

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.


----------



## analogico

Hellmut1956 dijo:


> tiene 4 fases de vida. "Early Adopter", "Early majority", "Late Majority" y "Laggards". Para p














ahora el internet de las cosas  es humo de las cosas  
las nuevas  puntocom,  de todos modos las 4 fases tambien le aplican


----------



## Hellmut1956

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!


----------



## analogico

Hellmut1956 dijo:


> Hola analogico, a mi me impresiona cuantos temas tan diferentes ganan estructura y un entendimiento mas profundo aplicando esas 4 fases!


es la campana de gaus     que ataca otra vez









Hellmut1956 dijo:


> 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!


dificil si se tuviera certeza en hacer algo asi mejor seria invertir   en la bolsa o en otra cosa
la cantidad de variables interviniente es tan grande que la mayoria  son desconocidas 
aun despues del posible futuro


----------



## ismaeleesto

Está claro, que la programación es el presento y sobre todo futuro, hoy en día aprender es una gran inversión para la vida, es más, tengo un amigo el cual se dedica a hacer proyectos, y gracias a eso vive de ello a día de hoy, incluso hace unos años montó este gran portal, que a día de hoy es famoso de cuentos...


----------



## DJ T3

En mi caso, comencé con *Flash *haciendo simples animaciones y usando el codigo autogenerado (no sabia programar).
Luego me dije "tengo que hacerlo por mi cuenta", y gracias a estudiar el codigo autogenerado y la documentacion, aprendi *ActionScript* (lenguaje de programacion de Flash)
Luego aprendi *Javascript* teniendo como base lo anterior, y asi segui con lenguajes para microcontroladores C y C++, *QT* (antes de Nokia, lenguaje basado en C++, pero con su toque), VisualStudio C++ y *C#*, *PHP*, Android, *Java* (gracias a Android), algo muy basico de *Ensamblador*, y si necesito seguro otro.
Si se fijan, basicamente todos comparten similitudes (menos Ensamblador), ésto me llevo a poder entender los codigos, pero claro, sin ganas y horas haciendo un simple "Hola Mundo", no hubiese aprendido.

Lamentablemente no fui a un colegio donde enseñen programacion de ningun tipo, asi que todo lo aprendido y por aprender lo hago estudiando, leyendo, probando y preguntando, todo por mi cuenta, y lo peor que no trabajo de ésto


----------



## brewmaster

Dr. Zoidberg dijo:


> 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...


Buena esa que lo descubrieses de manera autodidacta, es un patrón de desarrollo, MVC (Modelo-Vista-Controlador) , es probablemente el mas común, aunque eso ha ido cambiando con el uso de tecnologías de desarrollo basadas en la reutilización de componentes (sobre todo, librerías de Javascript). Las tecnologías de desarrollo de software llevan tal ritmo que si te acomodas un momento no la alcanzas jamás...


----------



## Dr. Zoidberg

brewmaster dijo:


> Buena esa que lo descubrieses de manera autodidacta, es un patrón de desarrollo, MVC (Modelo-Vista-Controlador) , es probablemente el mas común, aunque eso ha ido cambiando con el uso de tecnologías de desarrollo basadas en la reutilización de componentes (sobre todo, librerías de Javascript). Las tecnologías de desarrollo de software llevan tal ritmo que si te acomodas un momento no la alcanzas jamás...


En realidad no lo descubrí en forma autodidacta. El patrón MVC lo uso desde que aprendí patrones de diseño hace mas de 20 años, y también uso muchos otros patrones que son casi ineludibles en cualquier sistema de los que me tocan diseñar. Pero claro, una vez internalizados son patrones de uso natural...


----------



## santimoren

Siempre han sido patrones de uso natural.


----------

