« first day (1282 days earlier)      last day (2124 days later) » 

01:19
hola
 
2 hours later…
03:05
Hola
chico necesito algo de ayuda
code s.o.s.
03:40
necesito sacar esa url con una funcion php pero no se como
y el proyecto los tengo que entregar pasado mañana
 
3 hours later…
06:46
Buenos días por la mañana
 
3 hours later…
09:56
Buenas
Buenas señor @abulafia
@abulafia Estoy retomando python. Sugerencias?
Sugerencias de qué? Tutorials básicos? Avanzados? Ideas para proyectos?
Yo creo que la mejor forma de aprender cualquier cosa es mediante retos prácticos, que te impulsen a buscar una solución y por tanto a aprender. Y después revisión de cómo lo han hecho (o harían) otros. Esas plataformas que ponen "rompecabezas" de programación me parecen bastante adecuadas, mientras no tengas un proyecto real
El sitio realpython.com me parece una excelente fuente de tutoriales medios/avanzados para cuando quieras aprender algún aspecto concreto (iteradores, multihilo, frameworks web, etc.) Tienen montones y todos muy buenos. Casi el problema es aclararse de por dónde empezar o qué mirar.
@abulafia Empecemos por la pregunta más básica. Python3 o Python2, he leído demasiadas cosas referentes a dicho tema. La verdad que prefiero ir a por lo nuevo. Pero dado que yo aprendí el Python2 en la Universidad, no se si la diferencia sea tan abrumadora.
Python3 sin resquicio para la duda
Buenos dias
10:10
Hubo una época en la que se recomendaba Python2 porque muchas de sus librerías más importantes no funcionaban con python3. Ya no es el caso. Todas han sido portadas. Y las nuevas ya no funcionan con python2
además se ha anunciado el fin del soporte a python2 para el 2020. No más actualizaciones ni siquiera de seguridad
@abulafia Lo imaginé, ya con eso descarto la mitad de mis libros que tenía en mente, que alguna vez leí para cosas específicas. XD
además, la diferencia no es tan abrumadora
lo más importante con la que ya puedes ir tirando sin problemas es recordar tan solo tres o cuatro cosas:
1) print es una función. Requiere paréntesis print("Hola")
2) input() retorna siempre cadenas, y por tanto equivale al viejo raw_input() que ya no existe en python3
3) range() no devuelve una lista, sino un generador, y por tanto equivale al viejo xrange() que ya no existe
y con eso ya puedes portar la mayoría de tu código, probablemente.
Si además hacías entrada/salida a disco o a red, debes tener en cuenta una cuarta cosa:
4) En python3 las cadenas son unicode. No existe el viejo tipo Unicode. Sin embargo lo que lees/escribes en disco o red han de ser cadenas de bytes. Es necesaria la conversión explícita . Por ejemplo: "Esto es una cadena Unicode. ñññ".encode("utf-8") para convertirla a bytes, o bien recibido_de_la_red.decode("utf-8") para convertirlo a cadena
Y ya que vas a tirar por python3, ve directamente si puedes a la última versión (3.7) que tiene cosas guays como las f-strings, las dataclasses, los diccionarios que conservan el orden de inserción, las primitivas async/await y una mejora de rendimiento general
@Xerif Buenas
@abulafia La mayoría de mi código Python actualmente es congruente con el conjunto intersección de (2n) con (2n+1) con n en Z. XD
Entiendo XD Quieres decir que tiene el mismo cardinal?
@abulafia Lamentablemente para mi, sip
10:18
Vamos, que puedo asumir que prácticamente estas haciendo un "reboot" de tu aprendizaje Python. En ese caso Python3 también tiene ventajas. Es más coherente en su diseño
También tiene lo de los "type hints", que es una cosa que no he usado mucho porque no soy yo muy fan de los lenguajes tipados. Pero si vienes de java igual te gusta
Desafortunada sorpresa esta mañana
@MauricioContreras Volviendo a mi consejo de "aprender haciendo", puedes empezar por aqui: codechalleng.es/bites
no los hice, pero echando un vistazo me ha parecido que están al nivel ideal para empezar. Y cada "reto" te servirá para ir aprendiendo (o recordando) un aspecto del lenguaje. Y es para Python3, claro, como casi todo hoy dia
@abulafia En realidad mis raíces son bastante más antiguas que Java, empecé con Basic en D.O.S., luego Fortran, Pascal y terminé dando el paso a Visual Basic. Me enganché rápido con VB5. Y hacía maravillas con Excel usando las VBA. Luego aprendí a programar en serio cuando Java anunciaba con bombos y platillos Java 2.
10:24
Entonces si vienes de VBA estarás cómodo con los tipos dinámicos (o sea, con variables cuyo tipo no es necesario declarar).
@abulafia Eso me costó DIOS y su mundo. Con lo que me pedían en Fortran, te imaginarás, había que contar hasta las columnas. XD
Tu historia es similar a la mía. Yo empecé con BASIC en Spectrum, después ensamblador del z80, después pascal, C, C++ y python, y ahí me quedé :-) A veces me veo obligado a hacer cosas en Java, pero lo odio. JavaScript también me parece un lío tremendo de paquetes, pero he tenido que aprenderlo también. Tengo un ojo puesto en otros lenguajes que me gustaría aprender como C#, Swift, Kotlin o incluso Go o Rust
Lisp o Haskell ni me los planteo. Demasiado abstractos para mi mente procedural.
@abulafia lío tremendo de paquetes XD. Yo programo con Javascript, mucho. Pero jamás en mi vida hice nada serio con JQuery. Lo detesté desde el principio, fue la razón por la cual dejé de un lado Javascript por un tiempo y me dediqué a C#. Ahora, con ES6, y la muerte casi segura de JQuery, he vuelto a JS con todo el ánimo del mundo, tanto que ya C# lo veo ajeno. XD
JS no está mal, pero tiene demasiadas "trampas" y cualquier cosa que quieras hacer acaba creando un agujero negro en tu disco llamado node_modules.
@abulafia XDDD, claro, cuando tienes que realizar cosas muy complejas, vas a tener una cantidad de dependencias que se vuelven inmanejables, y luego todo se puede romper al tener que actualizar alguna. Pero eso sucede con cualquier lenguaje, unos antes otros después. Lamentablemente en JS eso sucede muy rápido. Y es que todo es una carrera de frameworks.
10:41
A mi lo que me gusta de python es lo de "batteries included". Su biblioteca estándar trae montones de utilidades que hacen que no necesites módulos externos para la mayoría de las cosas habituales.
sólo si lo vas a usar en contextos específicos (servidor web, machine learning, procesamiento matricial, etc) necesitarás módulos adicionales, pero incluso ahí la cosa es bastante estable. Instalando los "sospechosos habituales" (numpy, pandas, matplotlib) ya puedes hacer de todo.
Lo del agujero negro no lo inventé yo :-)
11:02
@abulafia XD
@MauricioContreras Si te aburres, tienes 3h libres, mentalidad matemática y quieres destruir tu cerebro, puedes echar un vistazo a esta charla:
No es para almas sensibles... y aunque los ejemplos usan python creo que se puede (no) entender igualmente aunque vengas de otros lenguajes, con tal de que admitan funciones que retornen funciones.
@abulafia Promete, pondré cotufas en el microondas y pasaré una tarde de película XD
@abulafia Me encanta como empieza: nothing usefully practical being done here
11:19
Sí, vas a echar unas risas
cotufas? canario?
@abulafia Venezolano, donde la influencia Canaria fue enorme. XD
Ah, ok :-)
 
2 hours later…
13:02
@MauricioContreras You will learn nothing practically useful in this tutorial. No packaging. No tools. No libraries. No deployment. No magic Python programming techniques. And certainly learn nothing you would ever want to apply to a real project.
 
2 hours later…
15:02
@JackNavaRow no hay fecha todavia...
@gbianchi :(
@gbianchi Ojalá den fecha pronto, es que no me lo pierdo. XD

« first day (1282 days earlier)      last day (2124 days later) »