Programadores. El hilo de los hinformáticos profesionales como PABLOPL.

¿La versión "/es/" no tiene los cursos en español? Juraría que sí, aunque hace mucho que no entro.

Desde el móvil no he podido fijarme, de todas formas de estar en español será una traducción desde el inglés, en la web que he puesto está todo escrito en español desde 0.

El curso que empecé a hacer en learnpython lo empecé en español y todos los textos se notaba un montón que los habían puesto en algún lugar tipo gogle translate y del inglés al castellano directamente copia pega a la web. En el segundo capítulo me puse el curso en inglés y seguí así porque en español me resultaba más difícil con esa traducción tan patatera.
 
Antes de poneros a aprender nada preguntaos para qué quereis aprender eso. Programar es un medio. Una herramienta. Aprender a programar sólo por saber programar es como comprar un martillo para tenerlo colgado en la pared del garaje o metido en la caja de herramientas. Asi que lo primero que debeis preguntaros es que es lo que quereis programar. Y de ahí habrá un lenguaje mas indicado u otro. Se pueden programar muchas cosas y no todos los lenguajes valen o son buenos para todo.

SI NO SABES PROGRAMAR NO SABES INFORMÁTICA.
 
@Dr. LeChuck , @abogado alcoholico


Antes de poneros a aprender nada preguntaos para qué quereis aprender eso. Programar es un medio. Una herramienta. Aprender a programar sólo por saber programar es como comprar un martillo para tenerlo colgado en la pared del garaje o metido en la caja de herramientas. Asi que lo primero que debeis preguntaros es que es lo que quereis programar. Y de ahí habrá un lenguaje mas indicado u otro. Se pueden programar muchas cosas y no todos los lenguajes valen o son buenos para todo.




No podría estar más en desacuerdo, consejos así son los que hacen echar para atrás a la inmensa mayoría de la gente que quiere aprender por curiosidad. La eficiencia o especificidad de los lenguajes es algo que a quien empieza le importa tres cojones, permitidme que haga un flashback.


DtaXiJC.gif



Yo aprendí a programar en el instituto, así que llamadme puto. Lo cogí como asignatura variable. La mayoría de mis compañeros iban animados por pasarse un par de horas a la semana rascándose los huevos en horario lectivo, esas eran las tremendas expectativas de la clase. Dimos BASIC, el genuino, el de IF THEN GOTO, y más adelante vimos por encima Visual Basic, el auténtico, el anterior a .NET. Enseguida le cogí afición a programar putas mierdas de una calidad pésima que me hacían sentir muy orgulloso y el temario de clase se quedó muy limitado, en unos meses ya estaba trasteando la API de Windows. El culmen fue una aplicación que creé, que era una réplica exacta del inicio de sesión del messenger y que luego mandaba la contraseña encriptada secuestrando el internet explorer para que no saltara el antivirus, robé docenas de cuentas de mis hamigos de esta manera y cayeron abundantes pajas a la crema. A nivel interno la aplicación era horrible, pero lo que aprendí a programar haciendo esa idiotez no lo he aprendido más adelante en ningún otro sitio, porque todo lo que iba aprendiendo era para dar solución inmediata a problemas reales que me iban saliendo. Recuerdo que consultaba mucho una web de un tipo llamada www.elguille.info, paso a paso iba añadiendo pequeñas funcionalidades según iba viendo que eran necesarias, así aprendí qué eran las matrices y las funciones de cadenas, cómo funcionan los controles de windows, cómo leer ficheros, etc. El desarrollo era caótico y como no podía ser de otra manera el bicho era como un aborto al que le iban saliendo espontáneamente multitud de tumores en forma de errores. Primero parcheaba sobre la marcha, hasta que la cosa no daba más de sí y evidentemente tenía que replantear las cosas de cero. Para mí, la necesidad de aprender a programar bien no nació porque me enseñaran unas reglas de estilo monolíticas sino porque cuando tienes 1000 líneas de código espagueti lineal ininteligible no te queda otra que entender para qué sirven las funciones. Cuando quise hacer que la aplicación se inyectara dentro del msn.exe real aprendí a gestionar dinámicamente la memoria, pero entonces me di cuenta de que era un canteo que el messenger aumentara 10 veces su tamaño, así aprendí a programar eficientemente y tonterías tan básicas como que no debes usar coma flotante si te basta con un entero (hasta entonces ni siquiera sabía que había vida más allá de number o string). Cuando me cansé de tener 40 variables globales gestionando datos entre módulos tuve que aprender por narices a encapsular, qué eran las clases y a usar objetos. Al final la aplicación acabó siendo una verdadera obra maestra, a la que no pasaba semana sin que le añadiera alguna tontería más, y lo seguiría haciendo si no fuera porque al final me aburrí. Con el auge de las pantallas planas tuve que prever que los usuarios pudieran tener distintas resoluciones y al final acabé abandonando porque encontraba todo el tema del diseño de la ventana anzuelo francamente aburrido.


Lo que quiero decir con esto es que lo más importante para alguien que empieza no es que lo que haga sea correcto, o formal, o lo haga bien todo desde el principio para cimentar bien los conocimientos, eso es una parida porque a eso se aprende luego, programando. Lo fundamental al principio es que cualquier tontería que hagas tenga un resultado inmediato, en la pantalla, que se pueda empezar desde cero rápidamente, sin dependencia de librerías ni compiladores ni entornos sofisticados. El 90% de lo que se puede llamar "habilidad" para programar debe salir de uno mismo aprendiendo sobre la marcha y no leyendo un tostón incommensurable por la internec o, como en mis tiempos de la facultad, con apuntes mastodónticos de Pascal o C++ que a la práctica no sirven para una puta mierda fuera de círculos académicos. Evidentemente cuando yo ya "sabía", o me creía que sabía, programar, me di una hostia en toda la cara porque tuve que aprender algoritmia y orientación a objetos seria desde cero para poder llegar a alguna parte y tuve la gran suerte de tener un profesor, en primero, que era un crack enseñando a los alumnos a pensar en cómo atacar la implementación de algoritmos, y todo lo que aprendí luego fue a partir de ahí. Lo que es código aprendí poco, y absolutamente todo lo demás que hice en la carrera no me sirvió absolutamente para nada. Aprendí mucho más por mi cuenta con el ladrón de contraseñas de messenger.
 
Última edición:
No se me ocurre peor lenguaje para aprender a programar que el JavaScript.

Y por eso vuelvo a discrepar. @abogado alcoholico, para empezar nada mejor que JavaScript: Notepad++, un navegador y a correr. Es un lenguaje de todo menos eficiente, las variables no son tipadas y su orientación a objetos deja muchísimo que desear porque es prácticamente nula (aunque me consta que con la nueva versión esto ha cambiado), pero para aprender la lógica de la programación no necesitas nada más y todo lo que hagas lo verás traducido en el navegador al instante.
 
Codeacademy es que está en inglés, otra web buena es https://codigofacilito.com/ que está en español aunque basicamente es un recopilatorio de videos de yotube pero para empezar no está mal.

No se me ocurre peor lenguaje para aprender a programar que el JavaScript. Cierto es que yo le tengo un asco que no lo puedo ni ver aunque lo use cuando toca por obligación, así que puede que mi percepción este condicionada.:lol:


Como te ha dicho Black eso es una chorrada, el ingles ayuda pero no es impresicindible, aunque si quieres tienes alguna aberración como esta : https://lenguaje-latino.org/ , https://robincoello.gitbooks.io/latino/content/si_sino_if_else.html un leguaje de programación totalmente en español.

Como has pedido fuentes para aprender paso a paso y en español, te recomiendo que te registres en https://www.codecademy.com/es y sigas los tutoriales, es un autentico programming for dummyes y tienes varios leguajes para elegir.


.

APuntado.

Y por eso vuelvo a discrepar. @abogado alcoholico, para empezar nada mejor que JavaScript: Notepad++, un navegador y a correr. Es un lenguaje de todo menos eficiente, las variables no son tipadas y su orientación a objetos deja muchísimo que desear porque es prácticamente nula (aunque me consta que con la nueva versión esto ha cambiado), pero para aprender la lógica de la programación no necesitas nada más y todo lo que hagas lo verás traducido en el navegador al instante.



Os agradesco la info muy mucho. El problema que tengo es de base, que habalis de objetos algorritmias y demas y no entiendo un carajo :face:.

Es que no si ni las posibles respuestas que podria dar a la respuesta, para que quieres programar, lol.

Lo que ha dicho black acerca de ver resultados inmediatos y demas, muy de acuerdo. La cosa es que no tengo ni claro que quiero, supongo que fruto de un quiero y no puedo motivado por ignoracia plena.
 
Y por eso vuelvo a discrepar. @abogado alcoholico, para empezar nada mejor que JavaScript: Notepad++, un navegador y a correr. Es un lenguaje de todo menos eficiente, las variables no son tipadas y su orientación a objetos deja muchísimo que desear porque es prácticamente nula (aunque me consta que con la nueva versión esto ha cambiado), pero para aprender la lógica de la programación no necesitas nada más y todo lo que hagas lo verás traducido en el navegador al instante.

Estoy de acuerdo con tu enfoque de simplicidad, pero ya no estamos en los 90 o los 2000 ahora mismo no es necesario usar JavaScript para poder acceder a esa simplicidad, para empezar es más sencillo usar cualquier ide online, sin necesidad de nada más que un navegador, si yo fuera él empezaría por aquí : https://www.tutorialspoint.com/codingground.htm

Y para aprender desde cero (simplemente para aprender la lógica de la programación) probablemente estos :

https://www.tutorialspoint.com/compile_fsharp_online.php
https://www.tutorialspoint.com/execute_golang_online.php

Un tutorial en una pestaña y un editor en la otra, nada más, teclear y ver que pasa en el momento.

Empezar con JavaScript me parece un error, es una mierda de lenguaje pensado con el culo y de lo peor que puede haber para aprender a programar, con una definicion de clases de mierda hecha por prototipos, con una necesidad imperiosa de usar frameworks bastante complicados para hacer cualquier cosa decente y lo peor de todo con una sintaxis farragosa a más no poder para cualquiera que empiece a programar por primera vez.
 
No podría estar más en desacuerdo, consejos así son los que hacen echar para atrás a la inmensa mayoría de la gente que quiere aprender por curiosidad. La eficiencia o especificidad de los lenguajes es algo que a quien empieza le importa tres cojones, permitidme que haga un flashback.

Pero lo que dije no va encaminado por ahí.

Al contrario de pretender desanimar lo que se pretende es que no se desanime. Por que cada cual tiene sus intereses y la programación es lo suficientemente amplia como para tener aspectos interesantes para unos y aborrecibles para otros. Incluyendo los lenguajes como puedes observar por los comentarios sobre javascript en este mismo hilo sin ir mas lejos. Por ejemplo Lechuck. ¿Te parece que le va a resultar mas fácil aprender atacando javascript o C? ¿No te parece que es mas fácil si se ven resultados en algo que interesa? Remóntate a cuando estabas con el sniffer del messenger ese que comentas. ¿No le ponías mas interés presisamente por irconsiguiendo lo que te interesaba? ¿No escogiste lenguaje en función al objetivo? Supongo que lo harías en C++. Imagina si cuando buscabas hacer eso y preguntas; alguien te dice que te tienes que poner con ASM, FORTRAN, Scheme o Java para aprender a programar. ¿No te hubiera costado mas el proceso?
 
Empezar con JavaScript me parece un error


Pero lo que dije no va encaminado por ahí.

Al contrario de pretender desanimar lo que se pretende es que no se desanime. Por que cada cual tiene sus intereses y la programación es lo suficientemente amplia como para tener aspectos interesantes para unos y aborrecibles para otros. Incluyendo los lenguajes como puedes observar por los comentarios sobre javascript en este mismo hilo sin ir mas lejos. Por ejemplo Lechuck. ¿Te parece que le va a resultar mas fácil aprender atacando javascript o C? ¿No te parece que es mas fácil si se ven resultados en algo que interesa? Remóntate a cuando estabas con el sniffer del messenger ese que comentas. ¿No le ponías mas interés presisamente por irconsiguiendo lo que te interesaba? ¿No escogiste lenguaje en función al objetivo? Supongo que lo harías en C++. Imagina si cuando buscabas hacer eso y preguntas; alguien te dice que te tienes que poner con ASM, FORTRAN, Scheme o Java para aprender a programar. ¿No te hubiera costado mas el proceso?


En absoluto. Lo hice con Visual Basic, un lenguaje sin obligación de declarar variables, medio interpretado y sin orientación pura a objetos, simplemente porque es lo que habíamos visto en clase y tenía por la mano y porque tenía un compilador en runtime en el mismo IDE que permitía hacer pruebas y debugging sin compilar nada. JavaScript os parece una mierda? Intentad trabajar con punteros en Visual Basic :lol:. Si hubiera tenido que empezar documentándome primero seguramente hubiera escogido C++, o Delphi, y también casi seguramente no hubiera llegado a ninguna parte y no hubiera aprendido a programar nunca.

Y en eso baso mi argumento, lo de JavaScript es un simple ejemplo. La gente que sabe programar suele estar muy condicionada por sus propias experiencias, así que cuando alguien pide consejo se le intenta orientar bien desde el principio para evitar que cometa los mismos errores estúpidos que cometimos nosotros, y creo que eso es un error. Olvidáis cómo empezásteis vosotros, usando lo primero que teníais a mano, lo que encontrásteis o lo que os dieron, pero empezásteis, y eso es lo importante. Dejad que escojan lo que sea y que empiecen a pelearse, da igual el qué, orientarles hacia un camino más "adecuado" no hará que aprendan mejor o de forma más simple. Encauzar a la gente para que aprenda a programar bien desde el principio es añadirles un lastre que no necesitan, porque como digo a volverse eficiente y a escoger el lenguaje adecuado para la tarea se aprende con el tiempo y la necesidad a medida que intentas programar cosas más serias.

Desconocía esos IDEs online de todas formas, muy interesante. Me parece una herramienta muy buena para probar lenguajes... una vez ya sabes programar.
 
Última edición:
Yo te puedo repetir que lo que digo nada tiene que ver con la eficiencia. Ni con mi propia experiencia (que empecé con Basic y ASM de Z80 en un MSX, a ver que le voy a recomendar a nadie, :lol:) Pero si te emperras en entender lo que digo por dónde no es; poco puedo hacer. No es querer que empiecen con códigos buenos. Es querer que se empiece viendo algo útil y que interese. No se cómo explicarlo mejor. En mi caso si con Basic no hubiera podido hacer juegos ahora no estaría aquí escribiendo nada por que en la vida me habría puesto a programar. Puede que en tu caso el aprender, por aprender se aplique. Pero no todos estamos en esa dinámica.

Como también creo que entiendes mal los IDE online que ha puesto Pato. Mira el sitio completo. https://www.tutorialspoint.com/

Con el IDE de f# https://www.tutorialspoint.com/compile_fsharp_online.php hay que tener abierto el cusro del lenguaje: https://www.tutorialspoint.com/fsharp/index.htm o un libro si quieres. De esa forma a mi me parece bastante interesante. Y no recomiendo el F#, que ni idea tengo de él. Es un ejemplo.
 
Última edición:
@Dr. LeChuck , @abogado alcoholico

Antes de poneros a aprender nada preguntaos para qué quereis aprender eso. .

Para poder ilustrarme minimamente dadme opciones. Para que programais vosotros?

Pongamos como ejemplo que quiero programar un juego como el pong, o algo asi en plan easy (si, ya dije que juegos no, pero es para poder aclararme). Que me recomendais y por que?
 
Pues para un pong pones Unity 3D pong y te van a salir tutoriales a cascoporro. Te van a tocar algo de C# o de javascript. Con eso, por que son tutoriales, no vas a aprender casi nada. Pero te vas a enterar de cómo es la dinámica de trabajo en ese entorno y una pincelada de cómo es programar en C# o javascript. Si te gusta eso; pues ya te planteas buscar un libro o curso del tema. Teniendo en cuenta que Unity 3D tiene un enfoque muy orientado al diseño y sólo se programa para dar comportamientos por lo que sólo cubre una parte de los perfiles de programador dentro de los videojuegos. Hay mucha gente que usa Unity y es fácil encontrar sitios para que te resuelvan dudas.

Otra alternativa es querer hacerlo todo tu desde cero. Pues Busca un curso para principiantes de C++ o de Java. Que también hay bastante online y gente programando en esos dos lenguajes son legión. También es fácil encontrar ayuda.

Pero vamos. Lo suyo es que busques algo que te interese. Hay muchas aplicaciones que tienen un sistema de scripts para automatizar cosas. Si usas algun editor de texto, base de datos u hoja de cálculo de las mas populares puedes interesarte en la macros y los scripts de cada uno y seguro que le vas a sacar algo de provecho -incluso laboralmente puedes mejorar tu posición con esto- Si te intesa el tema web; pues lo dicho. Tienes el HTML, CSS y javascript para jugar con los documentos en el navegador. Y tienes mucha mas oferta si quieres generar y modificar los documentos en el servidor. PHP, Java, Ruby, ASP, ... Es que hay muchos perfiles de programador o en los que programar puede ser útil.

¿Qué aplicaciones usas mas?
 
Última edición:
Antes que empezar con C++ yo recomendaría que empiece con C#. Es asequible, hay millones de tutoriales de distintos niveles, y es un lenguaje moderno con tipado fuerte de variables donde puedes hacer desde lo más sencillo a lo mas complicado. Y el visual studio es gratis en su versión express
 
Para poder ilustrarme minimamente dadme opciones. Para que programais vosotros?

Pongamos como ejemplo que quiero programar un juego como el pong, o algo asi en plan easy (si, ya dije que juegos no, pero es para poder aclararme). Que me recomendais y por que?

C#, si quieres un entorno los tienes gratis y potentes (express y community) , sino quieres entorno tienes lo que te recomende antes, tienes mucha formación en español, es un leguaje muy muy generalista, te permite tocar desde videojuegos a sistemas, pasando por web. No es el mejor en nada pero es bueno para todo, y está muy bien diseñado.

Yo creo que ya no se usan, pero como yo he enseñado programación era programando cosas sencillas mediante diagramas de flujo, pintando los algoritmos en papel para que comprendieran visualmente la lógica de lo que iban a hacer y luego lo pasaran al código que fuera, esa visualización de la lógica con una herramienta de uso común (lapiz y papel) hacía que hasta el más cazurro de la clase fuera capaz de inciarse de forma sencilla, son 4 simbolos y rallas, y eso lo pilla cualquiera.
 
¿Vosotros sois la gente rara que hace la Internet?
 
-Hola, quiero dibujar unos rectángulos de colores.


-Ok, ve instalándote el Corel Draw, Adobe CS15, Autocad y olly debugger para comprobar la estructura de los ficheros.



No tenemos remedio.
 
- Hola, quiero empezar a programar.

- Es facil, que sepas que la formacion es mierda, que guiarte es lastrarte, y no uses herramientas que te hagan la vida más facil y sobre todo empieza por cualquier lenguaje preferiblemente por uno que es el antipatron de la sencillez, así empezamos los hijos de los hierros y sino no mereces ser programador.
 
Lo del lápiz y papel es posiblemente lo único que escribiría en piedra. Apartar la vista de la pantalla para pensar en lo que vas a hacer es algo tremendamente útil.

Más allá de eso, habrá enfoques distintos para gente distinta, pero a programar se aprende programando. Sobre la marcha te encuentras problemas que darán lugar a preguntas que, entonces sí, serán resueltas de manera mucho más eficiente por formación de algún tipo.

Pero el objetivo primordial es dedicarle tiempo a programar, parir tus propias mierdas y mejorar progresivamente, como en toda disciplina. Cualquier lenguaje, IDE, objetivo o motivación que te empuje a adquirir la rutina será tu camino.

bruce-lee-quote-using-no-way-as-a-way-using-no-limitations-as-a.jpg
 
Te instalas el VS, le das a nueva aplicación de consola y ya estas programando en un lenguaje de verdad y no en un juguete que no tiene ni acceso a ficheros ni a periféricos.
 
- Hola, quiero empezar a programar.

- Es facil, que sepas que la formacion es mierda, que guiarte es lastrarte, y no uses herramientas que te hagan la vida más facil y sobre todo empieza por cualquier lenguaje preferiblemente por uno que es el antipatron de la sencillez, así empezamos los hijos de los hierros y sino no mereces ser programador.


:lol:


No, tampoco es eso, pero que quiere hacer un puto pong. Un puto pong, y le mandáis no sé qué hostias de 3D que ni siquiera conozco. Edito para concrepar con iskariote, que empiece coño, ya irá aprendiendo luego. Aparte del papel, necesita

-Firefox



Y ya está, ni siquiera necesita IDE con f12 para ir editando sobre la marcha y viendo cambios. Canvas de html5 y javascript.


Abogado, te animas a hacer un piedra, papel, tijeras? Necesitas un puto navegador y notepad++.


PD: la web que me pusiste el otro día es una pasada, thx.
 
Última edición:
Si la introducción a la programación deriva en ejemplos con juegos esto se pone muy interesante.
 
Abogado, te animas a hacer un piedra, papel, tijeras? Necesitas un puto navegador y notepad++.


PD: la web que me pusiste el otro día es una pasada, thx.

Pues mira, el piedra papel o tijer si que creo concebirlo en mi mente como algo posible de hacer, aunque no tengo ni idea de con que programas ni nada de eso. A partir del año que viene tengo pensado tomarme esto algo en serio, hasta entonces no voy a hacer nada. Es como mi proposito de año nuevolol. PEro siemre viene bien ir pidiendo ifnoramcion antes para orientarme. Prometo que cuando me ponga aviso y comentare progresos.
 
Nada de cuando te pongas, esta misma tarde lo planteamos, con html y javascript por supuesto :lol: y que mis compañeros y hamigos colaboren con otras herramientas si quieren, tú lo que necesitas ahora
es tocar, cual Cachondo de 20 años en bar de striptease malagueño. Ya tendrás tiempo para aprender los mejores trucos para conocer brasileñas y cuáles son las mejores cámaras para fotografiar pies.
 
Nada de cuando te pongas, esta misma tarde lo planteamos, con html y javascript por supuesto :lol:

Lo acabo de hacer en python.

Código:
[noparse]import random

tiradaArmin = random.choice(range(3))
tiradaAdder = random.choice(range(3))

	
if tiradaArmin == 0:
		print "Armin ha obtenido piedra"

if tiradaArmin == 1:
	print "Armin ha obtenido papel"

if tiradaArmin == 2:
	print "Armin ha obtenido tijeras"


if tiradaAdder == 0:
		print "Black Adder ha obtenido piedra"

if tiradaAdder == 1:
	print "Black Adder ha obtenido papel"

if tiradaAdder == 2:
	print "Black Adder ha obtenido tijeras"

print #

if tiradaAdder == tiradaArmin:
	print "Ha habido un empate!"

if tiradaArmin == 0:
	if tiradaAdder == 1:
		print "Ha ganado Black Adder!"
	if tiradaAdder == 2:
		print "Ha ganado Armin!"

if tiradaArmin == 1:
	if tiradaAdder == 0:
		print "Ha ganado Armin!"
	if tiradaAdder == 2:
		print "Ha ganado Black Adder!"

if tiradaArmin == 2:
	if tiradaAdder == 0:
		print "Ha ganado Black Adder!"
	if tiradaAdder == 1:
		print "Ha ganado Armin!"[/noparse]

Por cierto.

admd76.png


Te he ganado. .pringui
 
if (jugador=="Black Adder") cout << "ha ganado Black Adder" << endl; :jew:



La gracia es hacer como un tutorial, que lo siga quien quiera, y poner posibles soluciones al día siguiente.
 
Atrás
Arriba Pie