Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




Naith

El inglis no lo ha practicado mucho

Dr_Manhattan

De programación no, pero de marketing saben un rato, estos cuando las visitas flojean lloran un rato y ganan algún follow y con suerte alguna venta más del curso

Sphere

Veo que el nivel de influencer está bajo, quiza valga la pena montar un side hustle.

Fuera coñas, me estoy planteando aprender a programar en iOS, pillarme un Mac y picarme alguna app en mis ratos libres. Con suerte me da un dinerillo extra y aprendo otro lenguaje y plataforma que nunca viene mal.

Kr4n3oK

#44408 Joder, ahora mismo estoy yo con Haskell para la carrera y me estoy queriendo morir. Llevo como 15 años programando, la Ingeniería la tuve que dejar hace años por problemas personales y la he retomado ahora para intentar acabarla. En la asignatura de Teoría de Lenguajes estamos con este lenguaje a tope y me está costando mil convertir mi forma de pensar. Además de todo porque estoy evitando a toda costa evitar cualquier cosa que no sea usar técnica recursiva. Me estoy partiendo los sesos para hacer algunas cosas antes de usar cualquier condicional o bloque do o lo que sea fuera de recursividad xd.

PD: Cada vez me gusta mas este lenguaje. Creo que para dorminarlo deberían pasar bastantes años o tener clara la estrategia para reducir todo a recusrividad. Se le ve un lenguaje super potente y rápido.

1 respuesta
desu

#44524 Haces hole-driven programming? En Haskell es importante.

Te han enseñado a hacer hole-driven en la carrera? Pregunta importante.

No te preocupes en hacer todo recursivo, un bloque do o condicional no tiene nada de malo.

Tu error es querer tener todo en one-liners recursivos.

Deberias usar las capacidades del lenguaje para tener soluciones expresivas y faciles de leer.

1 1 respuesta
Kr4n3oK

#44525 Pienso como tu que conste, pero quiero forzarme a hacer todo lo mas recursivo posible para aprender a pensar de forma recursiva. Pero como dices, muchas veces digo, enga ya hostia!, voy a usar todas las capacidades que me da el lenguaje xDDD. Aunque todavía sigo ahí intentandolo.

Creo que la persona que domine el recursivo, cuando trabajar en lenguajes de paradigma imperativo se debe de comer los algoritmos de lo fácil que debe de verlo. Es muy muy interesante aprender lenguajes como Haskell, sin duda alguna.

No sé que es hole-driven. Y tienes razón, quiero tenerlo todo inline recursivo xD, para hacerlo lo mas elegante posible, aunque lo que termina mucho código es quedando poco expresivo como bien comentas. Para ello lo que estoy es atomizando todo lo que puedo cada cosa.

1 respuesta
desu

#44526 La persona que te esta enseñando haskell no tiene ni puta idea. En lenguajes del estilo que lo permite usamos holes para que el sistema del tipado nos de informacion del contexto.

EDIT: este video no esta muy bien en Haskell los holes se hacen asi: _a _b si no me falla la memoria, donde un hole anonimo es _. Pero por convencion ponemos sufijos.

Aqui otro:

La base de la programacion en haskell es componer funciones y usar holes como placeholders. Lo bueno es que el propio compilador te acaba diciendo que funciones usar o que cambios tienes que hacer si por ejemplo tienes que hacer un lift.

Te he hecho este ejemplo https://replit.com/languages/haskell super basico.

Fijate como el compilador me propone variables que puedo poner en el hole. Si tu tienes funciones en el contexto te las sugerira tambien.

en este caso yo puedo ver el codigo y deducir que me falta usar la b. a = b + c

1 respuesta
Kr4n3oK

#44527 Lo que veo a lo que te refieres es a usar variables anónimas, no?

1 respuesta
desu

#44528 No tiene nada que ver.

Los holes son anotaciones especiales que sirven para notificar al compilador y pedir que te expliquen el contexto donde lo encuentran.

No tiene nada que ver con variables ni anonimas. Supongo que te confundes de lenguajes imperativos donde se usa _ = foo(). A no ser que te lo hayan explicado mal XD

El _ cuando lo lea el compilador te analizara el codigo y te escupira la informacion.

Es como tener un inline en otros lenguajes por ejemplo. Es una anotacion para el compilador, para que cuando se este compilando pille lo anotado con inline y te lo ponga como el nombre indica, inline XD

1 respuesta
Kr4n3oK

#44529 El underscore según lo que he estudiado se utiliza junto al patter matching para hacer el matching con cualquier valor, lo que ocurre que luego ese valor no está disponible en la definiicón de la función xd.

1 respuesta
desu

#44530 Depende de donde lo uses.

Si lo usas en la declaracion son valores que no te importan como foo a b _ = a + b vs foo a b c = a + b + c. Diria si no me falla la memoria.

Luego en algunos cuerpos sirve para descartar valores o el else en un condicional si. Es bastante comun. No se si en haskell puedes hacer _ = foo en un bloque do por ejemplo, eso seria una variable anonima si. Descartas/ignoras el valor. Y el else ya lo conoces.

Si lo usas en una expresion es un hole. foo a b = _ a b

1 respuesta
Kr4n3oK

#44531 vale, ahora te he captado. Ese uso para el underscore no nos lo han explicado. ¿porque es tan importante?

1 respuesta
desu

#44532 Es una tecnica que utiliza el compilador para que te ayude. En lugar de pensar que variables / funciones usar, el compilador lo hace por ti automaticamente. Programar mediante holes se le llama hole driven programming o hole programming. Otros lenguajes con tipados y compiladores muy fuertes como ADA o Idris (ADA/Spark creo) tambien lo permiten.

Si por ejemplo tienes una funcion asi (a -> b) -> (f a) -> f b. Y tu hole te dice que necesitas (a -> b) -> (f a -> f b) o viceversa. Pues ya sabes que te falla y como solucionarlo.

Prueba a programar de esta manera y veras porque es importante conocerlo. Primero es una metodologia que te permite desarrollar funciones que se componen muy bien y muy rapido. Segundo cuando trabajas con librerias que no conces, el compilador te propone las funciones que mejor encajan a tu hole. Tercero si tienes codigo mal hecho, veras que cuesta programar con holes, esto suele ser funciones demasiado grandes y concretas, en lugar de pocas estructuras de datos y muchas funciones pequeña. Cuarto, tu puedes buscar funciones en Haskell lo sabias? Tu puedes buscar en la stdlib o en algun modulo (a -> b) -> (f a) -> f b y que te salgan las funciones que cumplen esa signature. Si haces hole driven puedes usar google para saber que funcion usar XD https://hoogle.haskell.org/?hoogle=%28a+-%3E+b%29+-%3E+%28f+a%29+-%3E+f+b&scope=set%3Astackage

El compilador es bidreccional, esto significa que tu puedes anotar variables con su tipo y al mismo tiempo existe un sistema de inferencia de tipado, basado en tipado HM que te ayuda a la inversa. Sobre estas capacidades se crearon los hole. Ademas, estas propiedades de los compiladores se usan en lenguajes formales y de verificacion como Z3, coq. Asi que es bueno entender como funciona el sistema de tipado.

Mi recomendacion es que lo pruebes cuando hagas los ejercicios y en un par de dias nos cuentas si es util o no.

2 respuestas
liebgott

#44533 En otro orden de cosas, quien para ti si vale la pena echarle un ojo en youtube/twitch?

1 respuesta
PaCoX

menudas vacaciones fperos, ya se puede hacer la declaracion... aqui es donde se nota quien es senior y quien junior xdd

1 respuesta
Soltrac

#44535 50.000 me sale a pagar, perro sanxe estará contento conmigo.

1 2 respuestas
aren-pulid0

#44536 enhorabuena, ojalá estar en tu situación

2 1 respuesta
TheBrotha

#44536 En esas cantidades 1k más que un 1k menos ni se nota, no te importa pagarme la mía también no?

Que envidia sana cabron

1 respuesta
PaCoX

yo el irpf no pago tanto, a mi me sablan con el IP xd

Soltrac

#44537 #44538 La cosa es que soy un programador de mierda xDDDDD, por eso no entiendo tanta flipada en este thread.

No se nada de devops, pero nada. Domino 3/4 lenguajes de programación y programo como el puto culo, no se nada de patrones de diseño ni mierdas de esas y la mayoría de cosas de las q hablan aquí me suenan a chino. Mi github privado está lleno de commits con comentarios del tipo "djsaidj".

Todo el dinero que he ganado en mi vida es explotando nichos de cosas que la gente pasa por alto. Bots, bots y más bots. He hecho bots para jugadores de poker, he hecho bots en criptomonedas, he hecho cheats para jugadores de FPS, etc.

Al final, lo único que me ha servido en la vida es aprender a manejarme en el kernel de windows, aprender un poco de hypervisores y aprender un poco de gestión de memoria de windows.

2 respuestas
aren-pulid0

#44540 estas en el mundo crypto no? Y por lo que dijiste alguna vez llevas algo de arbitrajes.

Tienes que estar haciendo una buena pasta, a tu salud!

1 respuesta
Lifecasi0

#44540 Si necesitas alguien que te eche un cable, por 25k al mes soy tuyo.

Soltrac

#44541 Actualmente sí, pero no me quedaré mucho tiempo, ya tengo el ojo echado a otras cosillas.

1 respuesta
desu

#44534 solo me leo/miro a mi mismo.

Kaledros

En el curro me ponen un curso obligatorio de Codely. Me pongo a ello. En el minuto dos del primer vídeo: "estos recursos por desgracia están en inglés"

Por desgracia. Serán hijos de puta.

1 2 respuestas
pantocreitor

#44545 calla calla, que el último learning path que prepare para los becarios que entraban tenia 2 de 5 cursos en inglés y me llamaron la atención porque “los becarios deberían poder aprender en español primero y cuando suban de categoría pues ya se pelearán con cursos en inglés”

2 respuestas
Soltrac

#44546 q duro xDDDDDDD, aprender en español en el s.XXI

1 respuesta
pantocreitor

#44547 a ver, entiendo que hay gente que no tiene buen nivel de inglés y le puede costar comunicarse. Mismamente yo no tengo un gran nivel de inglés estando en un proyecto en el que no hablo con nadie en español xD
Pero joder, con los subtítulos y un poco de ganas te enteras de todo

1 respuesta
zombietoads

#44545 #44546 ¿No se presupone que ya la gente del sector entiende un mínimo de inglés?

Aunque vaya, he visto a gente que se sacó la ingeniería usando el traductor de google.
Para inglés técnico. Escrito. No sé qué aprenderían en la ESO y Bachillerato.

1 respuesta
Soltrac

#44548 No te digo que haya q ser bilingüe, pero el material que se puede encontrar en español de cualquier tema será el ¿10%? del que puedes encontrar en inglés.

Cualquiera q se dedique al IT tiene que tener un nivel mínimo de inglés, si no, está perdiendo el tiempo.