2 dudas acerca de la programación

cholo89 está baneado por "troll"
1-¿hay mucha semejanza entre los diferentes lenguajes de programación?

2- Si yo quiero crear un programa, ¿tengo que empezar de cero o puedo elegir el programa que más se asemeje al mío y a partir de él contruir el mío?

EDITO: cuando en la segunda cuestión me refiero a construir desde uno ya existente mi propio programa, POR SUPUESTO que no me refiero a venderlo, sino a quedarmelo yo y usarlo solo yo.
1.- Algunos son parecidos y otros diferentes ;). Depende del caso.

Algunos como Java y C# tienen algunos y cosas en las que se han inspirado unos en otros.

Haskell y Python se parecen como un huevo a una castaña por ejemplo.

Ya no solo hablo de la sintaxis sino de la forma en la que pensamos los problemas para resolverlos con dichos lenguajes.

2.- Si dispones del código fuente y su licencia te lo permite podrías.
cholo89 escribió:1-¿hay mucha semejanza entre los diferentes lenguajes de programación?

2- Si yo quiero crear un programa, ¿tengo que empezar de cero o puedo elegir el programa que más se asemeje al mío y a partir de él contruir el mío?


1. Los lenguajes orientados a objetos son parecidos. (C, java, php, python, etc)

2. Por poder puedes, pero vas a encontrar el codigo fuente de ese programa? Si no tienes mucho conocimiento, te va a costar entender un programa ya hecho para adaptarlo a tus necesitades.
cholo89 está baneado por "troll"
alextgd escribió:
cholo89 escribió:1-¿hay mucha semejanza entre los diferentes lenguajes de programación?

2- Si yo quiero crear un programa, ¿tengo que empezar de cero o puedo elegir el programa que más se asemeje al mío y a partir de él contruir el mío?


1. Los lenguajes orientados a objetos son parecidos. (C, java, php, python, etc)

2. Por poder puedes, pero vas a encontrar el codigo fuente de ese programa? Si no tienes mucho conocimiento, te va a costar entender un programa ya hecho para adaptarlo a tus necesitades.


el codigo fuente es publico no?
Para algunos programas si y para otros no. Por ejemplo, el código de Fifa 16 no es público pero el de Firefox si.
cholo89 escribió:
alextgd escribió:
cholo89 escribió:1-¿hay mucha semejanza entre los diferentes lenguajes de programación?

2- Si yo quiero crear un programa, ¿tengo que empezar de cero o puedo elegir el programa que más se asemeje al mío y a partir de él contruir el mío?


1. Los lenguajes orientados a objetos son parecidos. (C, java, php, python, etc)

2. Por poder puedes, pero vas a encontrar el codigo fuente de ese programa? Si no tienes mucho conocimiento, te va a costar entender un programa ya hecho para adaptarlo a tus necesitades.


el codigo fuente es publico no?


No tiene por que serlo. Programar es muy complicado, no se trata de entender el codigo de cada lenguaje, se trata de saber pensar y plasmar lo que tu quieres conaeguir mediante ese codigo. Y creeme, no todo el mundo vale para programar.
cholo89 escribió:
alextgd escribió:
cholo89 escribió:1-¿hay mucha semejanza entre los diferentes lenguajes de programación?

2- Si yo quiero crear un programa, ¿tengo que empezar de cero o puedo elegir el programa que más se asemeje al mío y a partir de él contruir el mío?


1. Los lenguajes orientados a objetos son parecidos. (C, java, php, python, etc)

2. Por poder puedes, pero vas a encontrar el codigo fuente de ese programa? Si no tienes mucho conocimiento, te va a costar entender un programa ya hecho para adaptarlo a tus necesitades.


el codigo fuente es publico no?


A ver, que siempre nos olvidamos de la otra parte... como te han dicho "si tienes el código fuente y la licencia te lo permite".

Cada programa se hace con unos términos de licencia. Yo puedo desde dar el 100% del código y pedir a la gente que lo cambie, mejore y luego haga con él lo que quiera (como venderlo), o puedo denegar hasta el uso de rutinas similares en tu programa (mira los lios de las patentes en USA, dónde pueden registrar una patente de un móvil rectángular con esquinas redondeadas, y todo el mundo que haga un teléfono así, les tienen que pagar, pero bueno, USA es un pais de flipaos, que le vamos a hacer).

La licencia es lo que te permitirá reusar el código, o no. No el que esté disponible en la red. Por ejemplo, creo que hay licencias en linux que permiten que tú hagas programas usando partes (o el todo) de otros programas, pero, no podrás venderlo, lo tendrás que soltar al mundo del mismo modo: dando también el código fuente.

Recordad la parte de la licencia, que es la única que importa a la hora de querer montar un negocio. Porque una cosa es hacer un software, y soltarlo gratis al mundo (gratis, gratis, no como el free2play que hay ahora) donde no consideraría importante copiarle código a otros, siempre que quede claro que lo has hecho, y otra querer vivir de vender software que has "fusilado" a otros.

Un saludo.
1- bueno, lo básico más o menos sí, aunque usen "nomenclatura" diferente.
2- si quieres hacer eso, no te salgas de los opensource. Tienes que mirar la licencia qué permite en cada caso. Puede permitir su uso modificación y venta, puede obligarte a publicar con las mismas condiciones que el original (publicar tu código), etc.
apachusque escribió:
La licencia es lo que te permitirá reusar el código, o no. No el que esté disponible en la red. Por ejemplo, creo que hay licencias en linux que permiten que tú hagas programas usando partes (o el todo) de otros programas, pero, no podrás venderlo, lo tendrás que soltar al mundo del mismo modo: dando también el código fuente.



Es la licencia de GNU (GPL), que no permite derivados con otro tipo de licencia que no sea GPL (o quizas otra libre aprobada por la FSF).
Aunque si que puedes venderlo. De hecho cualquiera puede vender los programas con GPL (incluso Stellman lo fomenta y hace). Solo tienes que conseguir que alguien te compre algo que puedes conseguir gratis y legal, pero eso es otra historia.

Aquí: https://www.osdisc.com/ puedes comprar CD y DVD con cualquier distro.
Esog Enaug escribió:
apachusque escribió:
La licencia es lo que te permitirá reusar el código, o no. No el que esté disponible en la red. Por ejemplo, creo que hay licencias en linux que permiten que tú hagas programas usando partes (o el todo) de otros programas, pero, no podrás venderlo, lo tendrás que soltar al mundo del mismo modo: dando también el código fuente.



Es la licencia de GNU (GPL), que no permite derivados con otro tipo de licencia que no sea GPL (o quizas otra libre aprobada por la FSF).
Aunque si que puedes venderlo. De hecho cualquiera puede vender los programas con GPL (incluso Stellman lo fomenta y hace). Solo tienes que conseguir que alguien te compre algo que puedes conseguir gratis y legal, pero eso es otra historia.

Aquí: https://www.osdisc.com/ puedes comprar CD y DVD con cualquier distro.


Bueno, yo lo he puesto como ejemplo... cada programa tienen una licencia, cada licencia puede decir lo que le pete, y tú si quieres usar algo de ese programa, debes aceptar la licencia. Eso son 1+1=2, no hay más. Si yo publico un programa con mi licencia y digo que puedes inspeccionar el código fuente, pero no lo puedes usar ni vender, es lo que hay.

Lo que quería era quitar de la mente de la gente el que se asuma que "está el fuente en internet, puedo hacer lo que me pete", y no es así... debes ceñirte a la licencia.

Un saludo.
apachusque escribió:
Lo que quería era quitar de la mente de la gente el que se asuma que "está el fuente en internet, puedo hacer lo que me pete", y no es así... debes ceñirte a la licencia.

Un saludo.


No te entendí así. :(
cholo89 está baneado por "troll"
He editado el mensaje con una aclaración.
Todos los lenguajes de programacion son lo mismo, al final de cuenta, tienen el mismo objetivo

Ahora si se parecen, depende muchisimo. Hace algunos meses atras, me propuse portar un emulador de CPU Toshina 900h de C a ensamblador de MIPS, y al final termine directamente haciendolo de 0, basandome en los datasheet, el codigo original en C no me servia de mucho

Pero leyendo el codigo en C, me hice una idea global de muchas cosas, asi que al menos en el fondo, son lo mismo porque el objetivo del codigo era el mismo, emular ese CPU

Ahora, si comparas el codigo del mismo emu en C y ASM no se parecen en nada


Creo que tambien en ese comentario respondi parte de la segund apregunta, muchas veces, seguir codigo ajeno, especialmente si es un proyecto largo, es mas dificil que comenzar de 0
cholo89 está baneado por "troll"
yo quiero esto--> abrir un prograna, seleccionar alguna pestaña y que se me abran millones de 0 y 1.
¿eso es posible?
Si. Pero solo si te llamas Neo y tomaste la pastilla roja.
Deschamps escribió:Si. Pero solo si te llamas Neo y tomaste la pastilla roja.


Que cholo89 se quede con neo y me mande a trinity
cholo89 está baneado por "troll"
Deschamps escribió:Si. Pero solo si te llamas Neo y tomaste la pastilla roja.


que es eso de neo? ¿y la pastilla?
cholo89 escribió:
Deschamps escribió:Si. Pero solo si te llamas Neo y tomaste la pastilla roja.


que es eso de neo? ¿y la pastilla?



Matrix.

No vas a entender absolutamente nada en binario, te piensas que los programas se hacen en plan:

- Bueno, hoy estoy que lo parto, voy a crearme un FIFA. (Abres un documento de texto y te pones a escribir unos y ceros)

Cuando es más en plan de:

- Necesito un programa que me sume dos números
int a;
int b;
int c = a+b;


Programar es algo como hacer sudokus, puedes tenerlo como hobby y disfrutar, pero vivir de ello es otra cosa bien distinta, pierdes la fe en la raza humana si te metes a hacer un programa grande y tienes que tratar chorrocientas excepciones por si el usuario es retrasado mental.

La última que me pasó fué un paisano al que le hice un pequeño programa de facturas en media tarde, mira que le dije por activa y por pasiva que en el precio solo se pueden poner números separados por coma (8,50 - 12,32 - etc) y el muy.... al final les ponía "€". Pues ya a mala leche, a corregir eso y empezar a tratar TODAS las posibles excepciones del programa, ocupaba más el código de excepciones que el programa en si.

Si quieres aprender por algo facilito, te recomiendo los vídeos de Bob Tabor en el canal de Visual Studio Academy. Muchos puristas te dirán que empieces por C, pero sinceramente es mejor no tener que preocuparse de reservar memoria, ya tendrás tiempo de ponerte con cosas complejas una vez domines lo básico (bucles, whiles, objetos, etc)

En muchos sitios te recomiendan Java, pero personalmente me parece un dolor de huevos insoportable, es mas... "sencillo" C# (bueno, son casi iguales en sintaxis) y cuando le pilles el truco, te diría que pases a QT, el tiempo que estuve probándolo me pareció la leche pero es todo un poco más manual.
Te añado mi opinión al respecto de tus cuestiones.

1. Los lenguajes de programación se asemejan mucho a los idiomas, al fin y al cabo no es más que la colocación correcta de las letras para formas palabras, y la colocación de estas para formar frases y dar sentido a lo que quieres transmitir.

Existir, existen cientos y miles. Algunos lenguajes de programación se parecen entre sí debido a que utilizan el mismo paradigma, es decir, la misma forma de trabajar con ellos (C# y Java, Python y Ruby, etc.). Mira muchos idiomas de origen latino como el español, portugués e italiano que se parecen entre sí. Pero claro, también existe lo contrario, lenguajes que no se parecen en nada (Lisp y C++, ASM y Javascript, etc.), que seria como comparar el idioma chino con el árabe.

2. En el software siempre han existido varios modelos de negocios, los cuáles se pueden englobar en dos bloques: código cerrado y código abierto. Todas las aplicaciones tienen una licencia que especifican si se puede modificar o alterar para uso personal. Lo habitual es encontrar que las aplicaciones de pago son de código cerrado, no puedes ver el código fuente, y por lo tanto no puedes modificarlo (a no ser que te vayas por ramas de ingeniería inversa...) como por ejemplo Windows, pero no tiene porque, Facebook por ejemplo es gratuito, y que yo sepa es código cerrado.

Pero no todo el software es cerrado, existe mucho software libre de código abierto (open-source), que se tiene al alcance su código y uno puede modificarlo sin ningún problema legal (siempre que la licencia lo permita claro). Uno de los proyectos más ambiciosos de software libre es Linux. Aquí puedes ver el código: https://github.com/torvalds/linux
theelf escribió:Todos los lenguajes de programacion son lo mismo, al final de cuenta, tienen el mismo objetivo


¿Desde cuando tienen el mismo objetivo? ¿Tiene R el mismo objetivo que C?

Mr.Gray Fox escribió:Programar es algo como hacer sudokus, puedes tenerlo como hobby y disfrutar, pero vivir de ello es otra cosa bien distinta, pierdes la fe en la raza humana si te metes a hacer un programa grande y tienes que tratar chorrocientas excepciones por si el usuario es retrasado mental.


+1

Programar la funcionalidad te lleva un rato. Hacer que el programa no pete cuando el usuario es subnormal te lleva muchísimo. Son demasiadas cosas a tener en cuenta y al final, por mucho que lo intentes, siempre hay alguien que hace alguna estupidez y zas.
Alecs7k escribió:¿Desde cuando tienen el mismo objetivo? ¿Tiene R el mismo objetivo que C?


Por supuesto, el objetivo de los lenguajes es el mismo, sea R (que ni lo conocia), C, ASM, o Java, que es llevar la idea del programador a una forma "ejecutable" a traves del codigo
cholo89 está baneado por "troll"
Muchas gracias a todos por colaborar.
Actualmente, necesito aprender más sobre informática antes de introducirme en la programación.

He pensado que antes que centrarme en un idioma en concreto es mejor estudiar las cosas genéricas, las comunes de los lenguajes, Usando el símil de los idiomas: antes que aprender alemán,chino,italiano....mejor saber lo que es un verbo,un adjetivo,un predicado, los fonemas,etc... ¿existen cosas comunes en los lenguajes de programación?
cholo89 escribió:Muchas gracias a todos por colaborar.
Actualmente, necesito aprender más sobre informática antes de introducirme en la programación.

He pensado que antes que centrarme en un idioma en concreto es mejor estudiar las cosas genéricas, las comunes de los lenguajes, Usando el símil de los idiomas: antes que aprender alemán,chino,italiano....mejor saber lo que es un verbo,un adjetivo,un predicado, los fonemas,etc... ¿existen cosas comunes en los lenguajes de programación?


Haces bien, pues así es como se debe empezar, en este caso lo que deberías buscar es algún libro o video tutorial sobre "fundamentos de programación" que explica los conceptos básicos de la programación como variables, funciones, estructuras de control, estructuras de datos, etc.

No te puedo recomendar ninguno en concreto, pero internet hay patadas. Lo díficil es encontrar uno bien estructurado y obviamente claro y sencillo.
theelf escribió:
Alecs7k escribió:¿Desde cuando tienen el mismo objetivo? ¿Tiene R el mismo objetivo que C?


Por supuesto, el objetivo de los lenguajes es el mismo, sea R (que ni lo conocia), C, ASM, o Java, que es llevar la idea del programador a una forma "ejecutable" a traves del codigo


XD XD XD Vamos, no me jodas.

Muchos lenguajes han sido creados con un objetivo en mente, para ser usados en un campo específico donde con los demás puede resultar un engorro trabajar.
Yo comence a programar con este libro

Imagen

No se, seria el año 86 u 87, y la verdad que el libro sigue siendo muy actual, no por el basic, que obviamente ya no se usa tanto, si no porque realmente TE ENSEÑA a programar, a pensar como programador, de una manera didactica y directa


@Alecs7k no te jodo, es la verdad. Cuando programas, el objetivo del software te da igual, eso es cuando lo diseñas

Si me decis el objetivo del diseñador, es otra cosa. Ahora, claro, lo normal es que en proyectos de una sola persona o pocas, el programador tambien diseña

Pero da igual el objetivo del lenguaje, o para que fue diseñado, su cometido es el mismo, sea cual sea, que es llevar el codigo a una forma ejecutable. Es cuando diseñas, cuando te planteas que lenguaje es mas adecuado, o cuando escribis un lenguaje para ayudarte en una tarea
Decir que el objetivo de un lenguaje es llevar el código a una forma ejecutable es simplista y absurdo.

Si todos los lenguajes tuviesen el mismo objetivo y estuvieses diseñados para hacer las mismas tareas no tendríamos tanto. Te vuelvo a poner el ejemplo de R. En su página oficia pone esto: The R Project for Statistical Computing. Es decir, es un lenguaje creado para estadística. No para hacer un ejecutable.

También puedes usar C o PHP para estadística pero seguramente R cumpla mejor. De la misma forma puedes usar C para web pero será un dolor de huevos y hacer cualquier cosa que con PHP puedes hacer en minutos te puede llevar horas.
Alecs7k escribió:Decir que el objetivo de un lenguaje es llevar el código a una forma ejecutable es simplista y absurdo.

Si todos los lenguajes tuviesen el mismo objetivo y estuvieses diseñados para hacer las mismas tareas no tendríamos tanto. Te vuelvo a poner el ejemplo de R. En su página oficia pone esto: The R Project for Statistical Computing. Es decir, es un lenguaje creado para estadística. No para hacer un ejecutable.

También puedes usar C o PHP para estadística pero seguramente R cumpla mejor. De la misma forma puedes usar C para web pero será un dolor de huevos y hacer cualquier cosa que con PHP puedes hacer en minutos te puede llevar horas.


Si claro, y tu al usuario final le das el codigo de R en una hoja de papel.... absurda veo tu punto de vista, pero bueno....

Desde un punto de vista de programacion, es lo mismo el objetivo final, esa es mi forma de ver
theelf escribió:Si claro, y tu al usuario final le das el codigo de R en una hoja de papel.... absurda veo tu punto de vista, pero bueno....

Desde un punto de vista de programacion, es lo mismo el objetivo final, esa es mi forma de ver


Pero es que cuando hablas de un lenguaje de programación no hablas del usuario final. Estamos hablando de herramientas de desarrollo.

También puedes clavar clavos pegando golpes con una piedra pero la herramienta adecuada sería el martillo, que se creó con ese objetivo.
Alecs7k escribió:Pero es que cuando hablas de un lenguaje de programación no hablas del usuario final. Estamos hablando de herramientas de desarrollo.

También puedes clavar clavos pegando golpes con una piedra pero la herramienta adecuada sería el martillo, que se creó con ese objetivo.


Yo hablo de programador, no lenguaje... para un programador todos los lenguajes son lo mismo, porque tienen el mismo objetivo, llevar su codigo a algo material

Cuando desarollas, es otra cosa, porque pensas que lenguaje te va mejor en tu proyecto, que herramientas, compiladores, o lo que sea, pero eso es diferente a programar
theelf escribió:
Alecs7k escribió:Pero es que cuando hablas de un lenguaje de programación no hablas del usuario final. Estamos hablando de herramientas de desarrollo.

También puedes clavar clavos pegando golpes con una piedra pero la herramienta adecuada sería el martillo, que se creó con ese objetivo.


Yo hablo de programador, no lenguaje... para un programador todos los lenguajes son lo mismo, porque tienen el mismo objetivo, llevar su codigo a algo material

Cuando desarollas, es otra cosa, porque pensas que lenguaje te va mejor en tu proyecto, que herramientas, compiladores, o lo que sea, pero eso es diferente a programar


Supongo que sería más preciso hablar de algo inmaterial.

Tendrías que empezar la valoración por el segundo párrafo porque sino en el primero te pillas los dedos, hay lenguajes expresamente creados con finalidades que se escapan de lo que típicamente busca un programador, simplemente no se plantean ser útiles porque surgen con objetivos artísticos, humorísticos, etc. O más directo, entre estos lenguajes esotéricos los hay que indican como razón de ser la imposibilidad de ser usados para programar, activamente buscan cumplir con lo mínimo para merecer ser llamados lenguajes de programación.

Aún aceptando que esos lenguajes se pueden utilizar para programar pese a no ser el uso pretendido y que por tanto consiguen el objetivo de llevar un cierto código a algo (in)material (a fin de cuentas son lenguajes de programación), también hay lenguajes completamente inútiles. Pero inútiles del todo, no sirven para nada. Por ejemplo, me viene a la cabeza alguno que, enmarcado en esos lenguajes de broma, jugaba con la idea de fecha de caducidad, se marcaba un tiempo limitado de vida práctica, mataba los programas creados una vez pasada esa fecha lo que a su vez implicaba lo propio con el lenguaje, pasada la fecha no podían crearse programas que funcionaran, el lenguaje no sirve.
bas escribió:Supongo que sería más preciso hablar de algo inmaterial.

Tendrías que empezar la valoración por el segundo párrafo porque sino en el primero te pillas los dedos, hay lenguajes expresamente creados con finalidades que se escapan de lo que típicamente busca un programador, simplemente no se plantean ser útiles porque surgen con objetivos artísticos, humorísticos, etc. O más directo, entre estos lenguajes esotéricos los hay que indican como razón de ser la imposibilidad de ser usados para programar, activamente buscan cumplir con lo mínimo para merecer ser llamados lenguajes de programación.

Aún aceptando que esos lenguajes se pueden utilizar para programar pese a no ser el uso pretendido y que por tanto consiguen el objetivo de llevar un cierto código a algo (in)material (a fin de cuentas son lenguajes de programación), también hay lenguajes completamente inútiles. Pero inútiles del todo, no sirven para nada. Por ejemplo, me viene a la cabeza alguno que, enmarcado en esos lenguajes de broma, jugaba con la idea de fecha de caducidad, se marcaba un tiempo limitado de vida práctica, mataba los programas creados una vez pasada esa fecha lo que a su vez implicaba lo propio con el lenguaje, pasada la fecha no podían crearse programas que funcionaran, el lenguaje no sirve.



Buena valoracion, te doy la razon

Pero en el fondo, incluso esos lenguajes esotericos, no se, tipo el Ook!, al final tambien tienen la misma finalidad, porque si no sirve para dar un resultado, no puede ser un lenguaje

Eso si, claro, como dices, no tienen la finalidad de un lenguaje normal, porque nadie (algun loco habra) programa en Ook! para un proyecto laboral por ejemplo... jeje

Saludos
theelf escribió:
bas escribió:Supongo que sería más preciso hablar de algo inmaterial.

Tendrías que empezar la valoración por el segundo párrafo porque sino en el primero te pillas los dedos, hay lenguajes expresamente creados con finalidades que se escapan de lo que típicamente busca un programador, simplemente no se plantean ser útiles porque surgen con objetivos artísticos, humorísticos, etc. O más directo, entre estos lenguajes esotéricos los hay que indican como razón de ser la imposibilidad de ser usados para programar, activamente buscan cumplir con lo mínimo para merecer ser llamados lenguajes de programación.

Aún aceptando que esos lenguajes se pueden utilizar para programar pese a no ser el uso pretendido y que por tanto consiguen el objetivo de llevar un cierto código a algo (in)material (a fin de cuentas son lenguajes de programación), también hay lenguajes completamente inútiles. Pero inútiles del todo, no sirven para nada. Por ejemplo, me viene a la cabeza alguno que, enmarcado en esos lenguajes de broma, jugaba con la idea de fecha de caducidad, se marcaba un tiempo limitado de vida práctica, mataba los programas creados una vez pasada esa fecha lo que a su vez implicaba lo propio con el lenguaje, pasada la fecha no podían crearse programas que funcionaran, el lenguaje no sirve.



Buena valoracion, te doy la razon

Pero en el fondo, incluso esos lenguajes esotericos, no se, tipo el Ook!, al final tambien tienen la misma finalidad, porque si no sirve para dar un resultado, no puede ser un lenguaje

Eso si, claro, como dices, no tienen la finalidad de un lenguaje normal, porque nadie (algun loco habra) programa en Ook! para un proyecto laboral por ejemplo... jeje

Saludos


Bueno, es lo que te comento en el último párrafo. Entiendo que un lenguaje de programación no pierde tal calificativo aunque deje de servir, simplemente pasa a ser un lenguaje de programación muerto, y en un caso como ese en su sentido más literal, no es una muerte por haber sido superado y convertirse en obsoleto (lo cual sí permitiría seguir creando programas) sino que es una muerte por dejar de funcionar (no permite crear programas que funcionen).

Hay gente con mucho tiempo para idear lenguajes muy idiotas, yo casi que no me atreviría a afirmar con rotundidad nada sobre ellos, seguro que perdido por ahí hay alguno que me contradeciría :p
cholo89 está baneado por "troll"
menudo pique que llevais.
Alecs7k escribió:
Mr.Gray Fox escribió:Programar es algo como hacer sudokus, puedes tenerlo como hobby y disfrutar, pero vivir de ello es otra cosa bien distinta, pierdes la fe en la raza humana si te metes a hacer un programa grande y tienes que tratar chorrocientas excepciones por si el usuario es retrasado mental.


+1

Programar la funcionalidad te lleva un rato. Hacer que el programa no pete cuando el usuario es subnormal te lleva muchísimo. Son demasiadas cosas a tener en cuenta y al final, por mucho que lo intentes, siempre hay alguien que hace alguna estupidez y zas.


Ya te digo... Mi profesor de metodología decía siempre que un programa tenía que estar preparado para que si un mono se sentaba en el teclado (sobre él, vamos, luego ya si queréis comparamos al otro mono que se suele sentar a programar en según que empresas ;-) ), el programa no debía fallar.

Adelantarte a los (seguros) fallos de un luser, te lleva como 10 veces más tiempo que el programa en si. Y es que no es sólo adelantarte a los fallos de un atontao que pone € al final (aunque el texto de al lado ponga ya el €), es que a veces, los datos los copia-pegas desde otra fuente, que puede ser un excel, o un mail de alguien de otro pais, que usa las "," y los "." en los números de forma diferente... Tienes que preveer todo eso, y adelantarte para que tu programa no explote a las primeras de cambio. Y eso, en un campo número. Hay tipos de datos mucho más complicados, y esos llevan la misma operativa de control de errores.

Al final, si, piensas como Sheldom cuando estás toda una tarde con la previsión de errores... El ser humano es tonto, pero no para un rato, no... tonto para siempre ;-)

Un saludo.
33 respuestas