Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




Kaledros

En la última en la que estuve se usaba mongo para logs de llamadas. Eran como cinco o seis servicios diferentes hablándose entre ellos y con servicios del exterior y cada petición y cada respuesta generaba un documento. Para eso no necesitas relaciones, así que con una bd documental te sobra.

Luego esos documentos iban a un Elasticsearch y se usaban para kpi y tal.

1
Markitos_182

#5937 el mongo de mi empresa usa MongoDB. Sin ningún motivo, los datos son relacionales 100%.

No sólo por eso es mongo.

_Rpv

#5936 En mi empresa se usa mongo para tener un log de las acciones que hace un usuario en la aplicación. Para ver cuando falla y eso.
Así como curiosidad decir que en mongodb se guarda el id del usuario que esta en sql server.

JackWhy

Puede ser que nunca haya leido un post del usuario r2d2rigo sin una faltadita?

3 respuestas
Ranthas

#5944 Se dice @r2d2rigo

X-Crim

arturitorigo

babri

#5944 si te sirve me pasa igual. :P

r2d2rigo

#5944 teniendo en cuenta que solo te pasas por este hilo de todo el subforo, no se que esperas.

1 respuesta
HeXaN

#5948 Edita y añade el insulto.

9
Cecos94

#5936 Yo usaba mongo, bueno más bien DocumentDB. Para almacenar unos jsons de configuracion.

SupermaN_CK

https://devblogs.microsoft.com/dotnet/welcome-to-c-9-0/

1 respuesta
eisenfaust

#5951 en su área, C# es lo mejor que hay, pero lo ahí expuesto da un poco de lástima si te paras un poco a pensar en ello. lo que antes te podías hacer tú mismo con create does> en forth o cualquier otro lenguaje que exponga el compilador o ast al usuario, ahora tienes que esperar literalmente décadas hasta que papá Oracle o Microsoft se digne a tirarte un hueso

2 respuestas
Kaledros
#5952eisenfaust:

en su área, C# es lo mejor que hay

¿Cuál es su área? Pregunta honesta, sólo se de C# que se usa en Unity, nada más.

1 respuesta
eisenfaust

#5953 blue collar factory work

r2d2rigo

#5952 te recuerdo que Roslyn esta en Github, cuando quieras lo forkeas y le metes las mierdas funcionales hipsters que te den la gana.

1 respuesta
Ranthas

Se les va de las manos por completo a más de uno el personaje

2
eisenfaust

#5955 lol y me mandas a modificar el compilador. no te has enterado de nada de lo que he dicho

1 respuesta
r2d2rigo

#5957

> se queja de que otros lenguajes exponen el compilador
> se queja tambien cuando le dicen que el compilador de C# esta open source

No, o no te he entendido yo, o no te entiendes ni tu.

A las malas te haces tu code generator y le chutas el IL que quieras, yoksetio.

1 respuesta
eisenfaust

#5958 todos los lenguajes tienen su interprete o compilador y lo raro hoy dia es que sea de codigo cerrado, como comprenderas no van por ahi los tiros

a lo que me refiero, y volviendo al ejemplo de forth, es que puedes definir el tiempo de compilacion delimitando con : y ;. ahi puedes de forma programatica seguir parseando o ejecutando tokens, con CREATE DOES> establecer diferentes comportamientos para una palabra en concreto dependiendo de si estas en tiempo de compilacion o ejecucion, etc. obviamente no tienes acceso a las tripas ni los registros y para ello tienes que escupir tus propias instrucciones, pero siempre esta bien tener este tipo de herramientas disponibles si quieres implementar cierta abstraccion sintactica

un caso de uso facil: forth por ejemplo no tiene arrays per se, tienes que recurrir a aritmetica con las celdas de memoria, y si quieres asignar la direccion de memoria al comienzo de un array a una variable, tendrias que guardar la longitud de dicho array de alguna forma

una opcion seria:

FORTH> : SIZE-ARRAY CREATE DUP , CELLS ALLOT DOES> DUP @ SWAP CELL + ;  ok
FORTH> 1337 SIZE-ARRAY BAR  ok
FORTH> BAR .s
  Data: 1337 539202008 ---
System: ---
 Float: --- ok

tampoco tienes constantes, ni hacen falta:

FORTH> : IMMUTABLE CREATE , DOES> @ ;  ok
FORTH> 10 IMMUTABLE FOO  ok
FORTH> FOO . 10  ok

obviamente no todo van a ser ejemplos tontos. si quieres crear tu propio sistema de oop puedes hacerlo sin problemas https://bernd-paysan.de/mini-oof.html mientras tanto en java si un dia te aburres y quieres implementar herencia multiple, es literalmente imposible, porque en algun momento alguien penso que eso era la herramienta del diablo y que nada de pensar por ti mismo. lo mismo con pattern matching y demas cosas divertidas

lisp es similar en el sentido de que tienes control absoluto de lo que ocurre en tiempo de compilacion y ejecucion, y tiene la ventaja de que estas programando directamente en el arbol sintactico del lenguaje, por lo que es trivial extenderlo. de hecho la with-expression que se menciona en https://devblogs.microsoft.com/dotnet/welcome-to-c-9-0/ es de un uso tan extendido que es casi un rito de pasaje. aqui un articulo que suelo recomendar cuando estamos hablando de macros: https://stevelosh.com/blog/2018/05/fun-with-macros-gathering/

todo esto es de la decada de los 60. no es nada hipster sino algo que se perdio

en lenguajes modernos: tenemos en ocaml algo parecido con ppx, nim ofrece algo similar en la stdlib, y rust tambien aunque para variar de forma enrevesada e ilegible

no piloto de C# en absoluto, pero el hecho de que simple azucar sintactico sea anunciado en un blog como si fuese la visita del papa, me hace pensar que tal vez no sea tan trivial crear abstracciones sintacticas en dicho lenguaje. como implementarias tu una with-expression en C#?

1 respuesta
desu

Recordemos que r2neuronas no queria usar expresiones y preferia los switch con breaks porque eran superiores...

Ahora viene Faustino y le suelta ese tochamen lleno de palabrotas que no salen en el curso de artisans del FP...

Internet es la polla. kek

6 2 respuestas
wdaoajw

#5960

r2neuronas

Me cago en la puta que carcajada he soltado con eso

5
r2d2rigo

#5959 me parece perfecto tu argumento y comparto algunos de los puntos pero es que estamos entrando en el eterno debate de computer science vs software engineering.

Que si, que lisp, prolog y similares son la hostia de elegantes y cuando empiezas a hacer click te sientes galaxy brain, pero es que son cosas tan, tan excepcionales que un altisimo porcentaje de lenguajes y compiladores no necesitan que secuestres temporalmente el proceso de compilacion para inyectar lo que necesitas, te dan una infrastructura y una base library y haha keystrokes go brrrr. El 99.9999% de proyectos al final son CRUDs con frontend JS que pican cuatro mataos y mira, para eso no te hace falta inmutabilidad ni functional programming.

Una with expression ahora mismo se puede implementar con una fluent interface, conozco varias librerias que lo usan a modo de builders de configuraciones. En el ultimo paso devuelves un objeto inmutable y ya esta, es un engorro comparado con la nueva keyword pero la manera existe. A las malas pues mira, expones una property readonly pero internamente accedes al backing field con reflection y modificas el valor a lo que quieras, a riesgo de que te explote en la cara en tiempo de ejecucion.

Si nos ponemos tiquisimiquis, C# entero es syntactic sugar. Tanto C# como VB como F# compilan al mismo CIL, el cual ha tenido cambios muy menores desde 2005 (link); lo que estan haciendo revisiones nuevas del lenguaje es exponer funcionalidad ya existe en el runtime pero proyectada segun decide el comite. Por ejemplo, toda la implementacion de async/await se convierte en maquinas de estados que manejan la concurrencia por ti y te dan el resultado o lanzan una excepcion si algo sale mal.

#5960 lo mejor de ti es cuando ves que los mayores hablan de cosas que no entiendes y tienes que entrar a por tu dosis de protagonismo, diva.

Troyer

r2neuronas 😂😂😂😂😂😂

aren-pulid0

palomitas.gif

afhn

desu memeando lmao

eisenfaust

si alguien quiere trastear con common lisp y le echa para atras utilizar emacs, acaban de actualizar la version gratuita de lispworks a la ultima version http://www.lispworks.com/downloads/index.html

1 respuesta
eondev

#5966 Pues tenía pensado estos días aprender common lisp xD

brew

Me cago en Linux y en todos sus defensores

1 respuesta
Ranthas

Torvalds, eres un puto matao

Fyn4r

Perroflautas todos