Ainur

#33 Hasta que no se inventen los campos Geller estaremos jodidos. Imperator Vult!

mgm2pi

#11 comentarios como este fueron los que me engancharos a menéame 👏

d

#20 habra muchas hermanas del silencio por argentina? Con lo pesaos que se ponen cuando hablan, no se yo.

XrV

#29 enhorabuena!!!!

mgm2pi

#99 gracias, simpático

mgm2pi

#7 elegancia de comentario

mgm2pi

#3 el visual studio code tiene plugins muy buenos para que la edición sea como el vim.

n

#44 si, eso es lo que uso... los comandos de movimiento que es lo que mas me da productividad.

mgm2pi

#102 es que la covertura sólo testea lo que tú has querido hacer, si hay algún corner case que no se te ha ocurrido pues te lo comes.

mgm2pi

#86 por eso siempre hay que tener cobertura de código cercano al 100% y usar valgrind en tus test unitarios. Todo esto lo daba por sentado estando hablando de valgrind. Es un analizador dinámico.

apetor

#92 Bueno, esa es otra historia, y si, con maa covertura pruebas mas superficie, pero ya me se como va, coverturas del 80-85% y luego salen cosas en cliente.

mgm2pi

#102 es que la covertura sólo testea lo que tú has querido hacer, si hay algún corner case que no se te ha ocurrido pues te lo comes.

mgm2pi

#79 valgrind pilla los punteros que ya no son accesibles, por eso he dicho que no es la panacea

apetor

#85 Si, pero solo pilla cosas cuando se dan ( y si, hara que los que a veces se dan pero no petan, peten ). Pero si hay algo que no se reproduce cuando lo ejecutas con valgrind, pues no lo vas a pillar.

mgm2pi

#86 por eso siempre hay que tener cobertura de código cercano al 100% y usar valgrind en tus test unitarios. Todo esto lo daba por sentado estando hablando de valgrind. Es un analizador dinámico.

apetor

#92 Bueno, esa es otra historia, y si, con maa covertura pruebas mas superficie, pero ya me se como va, coverturas del 80-85% y luego salen cosas en cliente.

mgm2pi

#102 es que la covertura sólo testea lo que tú has querido hacer, si hay algún corner case que no se te ha ocurrido pues te lo comes.

mgm2pi

#21 auto no tiene nada que ver con la gestion de memoría.
Mejor nombraría los smart pointer en general, el shared es un tipo de ellos si, como su nombre indica, lo quieres compartir.

cosmonauta

#34, #21...es que no tienen nada que ver con Rust. Los smart pointers y eso le dan a C++ algo parecido a un garbage collector Como a golang o java. Pero aún así puedes tener memory leaks, por ejemplo, montando alguna referencia compleja que nunca se libere, o una mala gestión de memoria creando y destruyendo memoria que podrías reaprovechar.

Sin embargo, Rust tiene, a nivel de lenguaje, directivas para que el programador indique la inmutabilidad de una variable y la capacidad de mutar los parámetros recibidos. Eso le da al compilador una información preciosa para saber cómo debe gestionar esa memoria o detectar accesos prohibidos.

D

#52 #65
Con unique_ptr, const, move:
https://nercury.github.io/c++/intro/2017/01/22/cpp-for-rust-devs.html
Al fin y al cabo Rust lo que implementa son las semánticas de mover y el chequeo estático que lo asegure.

Con metaprogramación: https://medium.com/@bhuztez/emulate-borrow-checker-in-c-with-stateful-metaprogramming-db4b5e94449f
Permite chequeo estático.

Es cuestión de tiempo que el estándar integre la funcionalidad. Como siempre, opcional.

Crítica a Rust: https://hackernoon.com/why-im-dropping-rust-fd1c32986c88
* Necesidad de usar C en algunos casos.
* Detalles de implementación de rasgos (traits) y conteo de referencias.
* Imposible de modificar el comportamiento del compilador.

kaoD

#72

> Al fin y al cabo Rust lo que implementa son las semánticas de mover y el chequeo estático que lo asegure.

Ah bueno, si "solo" implementa eso...

> Therefore, a good practice in C++ is to avoid using move in the case like this, even if this means unnecessary deep copy of the value, to avoid the accidental usage of the moved value.

Nada más que decir.

> Con metaprogramación

En Rust es algo nativo.

> Es cuestión de tiempo que el estándar integre la funcionalidad.

Hablemos entonces.

> Como siempre, opcional.

O mejor no.

> Crítica a Rust:

https://www.reddit.com/r/rust/comments/5295nf/why_im_dropping_rust/

D

#95
Ah bueno, si "solo" implementa eso...
Pues sí, sólo implementa eso.

Nada más que decir.
Que Rust utiliza semánticas de movimiento siempre, y no es bueno usarlas siempre.

En Rust es algo nativo.
No, en Rust está «integrado» («nativo» es otra cosa). Y eso un coñazo porque no lo puedes desactivar.

Hablemos entonces.
Contigo no hay nada que hablar.

O mejor no.
No entiendes C++.

https://www.reddit.com/r/rust/comments/5295nf/why_im_dropping_rust/

kaoD

#96

> Que Rust utiliza semánticas de movimiento siempre, y no es bueno usarlas siempre.

No. Lo que te está diciendo es que C++ es semejante mierda que la práctica recomendada es tremendamente ineficiente.

In C++, it is possible to accidentally use moved value. Therefore, the move operations usually set the original container size to zero.

> Y eso un coñazo porque no lo puedes desactivar.

O dicho de otro modo "déjame introducir bugs en producción que yo sé lo que hago".

> Contigo no hay nada que hablar.

Lo dice el del argumentazo de "no entiendes C++".

D

#97
No. Lo que te está diciendo es que C++ es semejante mierda que la práctica recomendada es tremendamente ineficiente.
No. Lo que dice es que las semánticas de movimiento no son siempre eficientes. No es que no entiendas C++, es que ni tan siquiera entiendes como funciona una arquitectura Von Neumann.

O dicho de otro modo "déjame introducir bugs en producción que yo sé lo que hago".
Eso lo dice alguien que utiliza un lenguaje con anotaciones para una de sus características fundamentales (ciclos de vida).

Lo dice el del argumentazo de "no entiendes C++".
Lo dice el que no tiene ningún argumento.

mgm2pi

#4 eso es así con C, con C++ y RAII eso no pasa. A parte hay herramientas como valgrind, que aunque no son la panacea, leaks de memoria como el que mencionas te los pilla.

apetor

#32 Ojo, valgrind pilla lo que se de en ejecucion, y muchos leaks, desbordes, etc. ocurren raras veces, vamos, que valgrind te pillara cosas que se reproduzcan facil, pero corner cases...

mgm2pi

#79 valgrind pilla los punteros que ya no son accesibles, por eso he dicho que no es la panacea

apetor

#85 Si, pero solo pilla cosas cuando se dan ( y si, hara que los que a veces se dan pero no petan, peten ). Pero si hay algo que no se reproduce cuando lo ejecutas con valgrind, pues no lo vas a pillar.

mgm2pi

#86 por eso siempre hay que tener cobertura de código cercano al 100% y usar valgrind en tus test unitarios. Todo esto lo daba por sentado estando hablando de valgrind. Es un analizador dinámico.

apetor

#92 Bueno, esa es otra historia, y si, con maa covertura pruebas mas superficie, pero ya me se como va, coverturas del 80-85% y luego salen cosas en cliente.

mgm2pi

#102 es que la covertura sólo testea lo que tú has querido hacer, si hay algún corner case que no se te ha ocurrido pues te lo comes.

mgm2pi
mgm2pi

#13 vuélvela a ver otra vez, es muy buena buena, eso sí, la segunda película es basura.

mgm2pi

#13 el otro era un jodido genio

zuul

#21 #13 #12 ya no hacen trolls como los de antes

mgm2pi

#1 aún no sé cómo pero le pienso poner a internet un palo

Iori

#15 un palo usb (o usb stick que queda mas cool) con tu dni e identificación para poder acceder a internet

mosisom

#15 Yo voy a comenzar a investigar como parar el cambio climatico con un palo.

diazjc

#19 En la cabeza a los politicos y empresarios que solo buscan beneficio por encima del bien común, si el palo es una barra de acero y el castigo es hasta que todo esta bien o la muerte...

M

#23 yo le llamo mamotreros.

mgm2pi

#11 no jodas! Pensaba que se estaban guardando juegos para un segundo recopil cry. A ver el soleil...

mgm2pi

#6 sonic 3 y soleil, dos muy importantes. Parece el listado del recopilario que sacaron para las consolas de ahora.

eboke

"El pack que se pondrá a la venta en España incluirá la consola, dos mandos de tres botones (en Japón vienen los de seis)"

Sólo por esto ya no me interesa. A ver cómo carajos vamos a jugar decentemente al Street Fighter II con tres botones.

#10, el Sonic 3 no lo ponen porque los derechos de las canciones corresponden a Michael Jackson (y/o herederos), así que por eso ya no estaba en el último recopilatorio que sacaron en PS4/One.

mgm2pi

#11 no jodas! Pensaba que se estaban guardando juegos para un segundo recopil cry. A ver el soleil...

ronko

#11 El Sonic 3 & knuckles, modificaba esos temas. Aunque había otros que seguían siendo los mismos.