Elsasu

Yo ayer por la noche, antes de acostarme, ví una araña enorme en mi casa, era como la mitad de la palma de mi mano (mano grande). Fui a matarla pero fallé, cayó al suelo y se metió en el sofá. No quise mirar. Estaba cansado y asutado. Dormí con la puerta de mi habitación cerrada y abrí la de mi hermano.

Perdón por el offtopic, pero necesitaba compartirlo, sé que está en algún lugar de mi casa ahora mismo.

EdmundoDantes

#5 Cómprate un gato, él se encargará de la araña. Luego podrás adorar a tu nuevo dios felino.

D

#6 Y rendirle pleitesía y jurarle eterna gratitud... hasta que te libres de ese bicho también.

EdmundoDantes

#10 Luego puedes comprarte un gorila que espante al gato.

D

#14 y luego meter en casa 200 serpientes que asusten al gorila

M_M

#15 Luego solo necesitas unos cuantos halcones que acaben con las serpientes y listo!

anv

#5 Mira, así se hace:

Elsasu

#13 Algo así fue, no tan dramático. Pero algo así.

anv

#16 Las arañas son buenas porque son naturales.

Xenófanes

#5 Un día estaba en mi habitación y oí como algo golpeaba la cama. Al mirar vi un arañón gigantesco que debía de ser tan gordo que era incapaz de caminar por el techo y cayó sobre ella. El cabrón corrió a esconderse pero tuve la fortuna de que se metió en una esquina de la habitación detrás de un escritorio por lo que lo puede matar. De otro modo no hubiera dormido tranquilo.

Elsasu

#158 Habría que ver la implementación interna de repeat de js para decir que una implementación es mejor que la otra. Internamente puede que repeat funcione exactamente igual que el while del que hablamos (que no creo, lo hará a nivel de bits) pero sin saber su implementación no se puede decir que una sea más eficiente que la otra (que lo será porque imagino que siendo operación nativa del lenguaje estará muy optimizada) pero repito, sin saber su implementación, no se puede afirmar que una opción sea más eficiente que la otra.

Y otra cosa, a no se que esa operación la hagas, miles de millones de veces en tu programa, da igual que una sea un poco mas eficiente que otra, estoy seguro que las dos son O(n) (estoy casi convencido, que aunque más eficiente, repeat tambien será O(n) y por tanto tu solución también lo es (al igual que la de left-pad).

Y no, no me caliento la cabeza en estas cosas, porque a no ser que sea un programa crítico que requiera estar ultra optimizado, lo importante de la eficiencia de una función es al orden que pertenezca, evidentemente no da igual si una es O(n^2) y la otra O(n) pero siendo las dos O(n) es indiferente y querer rizar el rizo. Left-pad se usa para programar webs no para programar el controlador de un airbag o, en general,r un programa crítico en un sistema empotrado

Por cierto, ya por curiosidad he leido sobre repeat, porque nunca lo había utilizado. Y normal que no lo haya usado, es una especificación de la nueva versión de JS y los navegadores actuales NO la soportan https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/String/repeat
así que apaga y vamonos.

Elsasu

Es esperpéntico, hoy en dia con dos salarios mínimos y una hipoteca/alquiler es imposible para una pareja poder mantener un niño (o al menos prácticamente imposible). Esto es la primera vez en la historia que pasa. Mi abuelo, mas pobre que las ratas, pudo criar a sus 6 hijos solo con su sueldo de jornalero (de los más bajos de la época) y nunca les falto comida, ropa y educación (eso sí nada más tenían). Esta situación es imposible hoy en día, y no digo tener 6 hijos, digo tener uno solo, con solo un miembro de la familia trabajando es imposible.

CTprovincia

#15 Mucha gente achaca la diferencia a que hoy en día necesitamos más caprichos para vivir y no es así. Seguro que mucha gente se conformaría con tener solo un coche y una tele (como tenían nuestros abuelos) si a cambio me garantizan poder mantener una casa y una familia con un solo sueldo derivado de un oficio cualquiera (camarero, albañil, oficinista ...), cosa que hoy por hoy se presenta dificil. Un trabajo no da para tener una casa y mantenerla, mucho menos para tener hijos.

Hay que echarle huevos para traer una criatura al mundo sabiendo que mañana te pueden echar sin contemplaciones y que lo mejor que puedes encontrar es un curro por el que te paguen 800 o 900€ al mes (hablo de la mayoría de gente). El sueldo mínimo en los tiempos de mis padres y abuelos era igual a casa, comida, educación y algún "capricho" más como tener un coche e irte una vez al año de vacaciones a Cuenca (por ejemplo).

Me hace gracia que la iglesia sea del PP, cuando las políticas liberales de este partido son el mayor enemigo de la familia.

D

#18 No se en vuestra familia, pero en la mía mi padre se mataba a trabajar para mantener a la familia numerosa. Casi ni lo veíamos y siempre estaba cansado.
Con 70 años sigue trabajando (por placer) y sigue haciéndolo más duro que la mayor parte de gente de mi edad que conozco.

En mi caso me he pasado 4 años matándome a trabajar todos los días 12h para comprar un piso pequeño, algo que aprendí de mi padre y no me arrepiento. Por cierto, no soy ingeniero o tengo educación de la master-race.

CTprovincia

#55 En la mía trabajaban los dos y nunca ha faltado de nada pero sin lujos.

Donde yo vivo, lo más habitual para gente nacida entre los años 40 y 50, era que trabajase el hombre (con 2 trabajos en muchos casos, eso sí, los domingos eran sagrados) y la mujer cuidase la casa, tenerla en propiedad, tener un coche, comida y dar estudios a los hijos (una media de 2). Al tener la vivienda un precio adecuado a los salarios, la gente solía adquirir una segunda vivienda (hijos, vacaciones, ...). En tu caso a lo mejor tu padre se mataba a trabajar, como el mío cuando trabajaba (jubilado a los 72 de la hostelería, tela), pero con un trabajo normal daba para casa, coche, comida, ropa, estudios y familia de 2 o 3 hijos.

En resumen, el sueldo cumplía su cometido, que era el cubrir las necesidades básicas para que la gente pudiese vivir (que no sobrevivir) y formar una familia. Hoy en día ni currando 12h al día. Si no, pregunta a alguien que se dedique a la hostelería y no sea jefe o algo parecido.

D

#73 Si es cierto que antes un camarero se mataba a trabajar, echando incluso 14 o más horas los findes en verano, pero le daba.

Ahora supongo que depende de la zona de España.

alecto

#73 Nunca dejará de asombrarme la capacidad que tiene alguna gente para dulcificar la vida de sus mayores, para que la suya parezca peor.

La gente nacida en los años 50 son mis padres... Una generación que nació en su mayoría en casas de pueblo, que no tuvo salvo excepciones acceso a educación superior, que fue al colegio descalza, que recibió leche de UNICEF en las aulas de los colegios, y que se mata a trabajar desde los 15 años.

Sí, criaron a sus hijos con un solo sueldo, pero a costa de currar como negros, no disfrutar jamás de vacaciones, cines y ocio en general (salvo excepciones), y tener un coche sólo cuando lo necesitaban para trabajar. Y de llevarse el maletero lleno de comida de casa de sus padres/abuelos cada vez que iban al pueblo, porque no llegaban a fin de mes

¿Sabes que los intereses de las hipotecas de esa generación llegaron al 17%? Las cuotas mensuales de la hipoteca en muchas familias llegaron a igualar a la nómina (en la mía, 23 mil ptas de letra frente a 25 mil de sueldo). ¿De verdad te crees que eso es mejor que lo que hay ahora en materia de sueldos y gastos?

Esa generación empezó a vivir bien a los 40 o 50 años. Su única ventaja frente a nosotros era que ellos podían tener la sensación de que, una vez en un empleo, la estabilidad estaba garantizada. Lo otro son idealizaciones de lo que fue su vida

D

#15 #55 Pues abuelos como los vuestros (no sé los vuestros si son de ellos) son los que mantienen con su voto a la panda de hijos de la gran puta corruptos que han provocado todo esto. No hay mas que ver el CIS y cómo se dispara la intención de voto al pp a partir de los 60

D

#18 ...mucha gente se conformaría con tener solo un coche y una tele (como tenían nuestros abuelos)...

¿Como tenían nuestros abuelos? ¿un coche y una tele? ¿Que edad tienes ? ¿5 años?

d4f

#18 ¿Un coche y una tele como tenían nuestros abuelos?

Perdona, eso lo tendrían los tuyos, los míos, tenían un burro y gracias, no tuvieron coche en la vida y ni siquiera vieron un coche hasta que tuvieron 40 o 50 años. Y la tele parecido, hasta los 40 no habían visto una y hasta los 50 o 60 no tuviero.

Y eso es lo de menos. Más de la mitad de la vida de mis abuelos la pasaron sin agua corriente ni electricidad.

Y no es un caso nada raro.

Cc #112

CTprovincia

#161 -> #165

Eso depende de la zona donde viviesen. Yo tengo familia por Zamora que su primer baño completo (bañera, váter, bidé, ...) lo tuvieron en los 80 (¡!).

Una tele a finales de los 60 no era raro y un coche de 4º mano (según contaba mi abuelo) también era accesible. Estoy hablando de los 50-60, antes todo eso era imposible. También había mucha miseria y pobreza, pero ya a partir del 65 se puede decir que trabajando, en España se vivía "bien" y que un trabajo en aquella época era una garantía.

d4f

#173 En 1970 había unos 34 millones de habitantes y unos 400.000 coches matriculados. Es decir, un coche para cada 85 personas, incluyendo niños y ancianos.

Sí, tener coche ya no era algo impensable, pero lo normal seguía siendo no tenerlo.

Y con la tele lo mismo. A finales de los 60, había televisión en el 40% de los hogares, y la mayoría de esos hogares estaban en zonas urbanas donde casi todo el mundo tenía television. Es decir, fuera de las ciudades lo normal era no tener televisión.

CTprovincia

#112 No, más de 30. Mis abuelos vivían en una ciudad grande y si, a finales de los 60 (67-68 o así) cualquiera con un trabajo se podía permitir una tele (y una casa, un coche, ropa, comida, educación, etc.), por mucho que te cuenten por ahí.

maria1988

#112 Ya ves. Mis abuelos tuvieron la suerte de poder tener tele, y era la única tele del pueblo, así que tener tele no era precisamente normal en esa época.

forms

#18 de carpintero viviendo en un pueblo seguro que te da para comprarte un piso

Mis padres las únicas vacaciones que tuvieron fueron la luna de miel

D

#18 O tu abuelo era funcionario o no me lo explico.
Ninguno de mis abuelos tenía coche y tele y mi padres dos trabajos y la primera tele en los 80 y a plazos.

CTprovincia

#191 Lo que comentas de tus abuelos vale. Pero lo de que tus padres no tuvieran tele hasta los 80 sería porque no tenían mucho interés, no por no poder pagarla.

D

#231 Antes eso de ir a tocateja y comprar una tele lo podían hacer funcionarios y demás gente pudiente, antes las teles se pagaban a plazos y con buenos intereses, así que, como ves en el resto de comentarios, había casas que hasta los 80 no tenían tele.

D

#15 #18 y no olvidéis que además en 10 o 15 años tenían una casa en propiedad. Hoy te mueres y tus hijos siguen pagando la hipoteca.

Cide

#18 que yo sepa, la iglesia no es del PP. Al menos la iglesia que yo conozco en la que el cura de mi barrio iba a hablar (no a hacer proselitismo) con los drogadictos, y a más de uno sacó del hoyo. No la iglesia que yo conozco que recogió y organizó un envío brutal de pañales a Bosnia durante su guerra. No la iglesia en la que veo todos los días entrar a más de cien personas de la calle a comer caliente. Qué manía con asimilar iglesia con derecha rancia. Me parece un discurso poco profundo y muy poco dialogante.

CTprovincia

#226 Lo siento tío, pero la cúpula de la iglesia en España es claramente de derechas y pro-PP. Vease 13TV o la COPE. Eso es la opinión general de la Iglesia Española. Luego que haya curas buenos no te digo que no.

Cide

#229 la cúpula de la iglesia puede, la iglesia no.

HHR

#226 seguro que tienes razón
Pero no es eso lo que trasciende
El papa nuevo este que nos han puesto (y digo nos porque estoy bautizado y comulgado y por tanto incluido en su lista, no por devoción) parece que trae otro talante
Y algún cambio ha hecho ya
A ver si va calando o cuanto dura
Porque la fama que se ha ganado la iglesia hisyoricamente de ente corrupto e interesado amante del poder y nido de egolatras tiene tela
Yo también conozco algún cura de los del perfil que comentas
Estoy seguro de que si les dejasen casarse y cambiasen un poco bastante el mensaje institucional habría muchos más curas y fieles
Les pasa como al PP que sólo atraen a generaciones pasadas

i

#18 Hombre, no es que sea yo muy fan del PP pero eso de que con otras políticas distintas tendríamos sueldos mucho más altos como que no me lo acabo de creer.
En mi opinión, la economía está lo suficientemente globalizada y complicada como para que un gobierno solo tenga capacidad de hacer una gran diferencia

CTprovincia

#292 No es cuestión de sueldos más altos, es la creencia de los liberales de que un despido más fácil y barato es lo mejor para todos cuando no es así. La falta de seguridad y la temporalidad de los trabajos es lo que hace que la gente opte por no tener hijos, los sueldos bajos es el otro motivo, pero el principal es la incertidumbre de saber si vas a encontrar un trabajo estable o si va a estar bien pagado.

Por ejemplo, el abuso que hacen las empresas grandes de los contratos temporales es algo con lo que habría que acabar de raiz.

Autarca

#18 Sólo recordar que el PSOE no aplica políticas distintas del PP.

CTprovincia

#300 En lo económico y laboral desde luego que son lo mismo.

Autarca

#303 Y en la corrupción.

Aquí va un grafico del conjunto de medidas eficaces contra la corrupción que ha tomado el bipartidismo en los últimos treinta años.

trasier

#15 Debe tenerse en cuenta, que antaño, esas familias el o los mayores (con la poca edad que tuvieran) ayudaban en el trabajo de la casa y pronto empezaban a trabajar fuera, por poco que les pagasen.

D

#25 Mis padres nunca trabajaron hasta que acabaron sus carreras, y mis abuelos eran albañiles que por esa época no estaba bien pagado.

D

#25 Eso es cierto, en mi familia todos se han tenido que pagar ellos los estudios, por lo que cuando salía cualquier currillo lo cogían. Estudiaban y trabajaban a la vez. E igual, con la tele, hasta que no estuvieron cercanos los 80 nada de nada. Hay gente que vive en otro mundo. Tengo un compañero de trabajo que decia que antes no se vivia tan mal porque solo trabajaba su padre y con eso pagan la casa, dos coches, a 4 hermanos que no trababan, etc. Chico, que tu caso es especial, la gente pasaba necesidades.

Yo creo que un ejemplo lo puedes ver en los habitos elimenticios de los chavales de hoy en día, a ver cuantos ves comiendo casquería. Antes te comías lo que llegase a la mesa, porque era o eso o nada.

Elsasu

#156 Sólo por curiosidad, cómo harías tú left-pad más efeciente? Aquí tienes el código https://github.com/camwest/left-pad/blob/master/index.js

Yo no sé, se me ocurre trabajar a nivel de bits, pero no tengo claro como se haría. Sin calentarme mucho la cabeza el código que se utila lo veo optimizado.

D

#157 Déjate de bits, y fíjate en el while, en lo que hace una y otra vez. Ese añadir un carácter al principio de una cadena, piensa en cómo funciona eso... en cómo por cada carácter que añade, copia toda la cadena una y otra vez.

Ahora mira esto:
ch.repeat(len) + str

Fíjate en cómo no copia toda la cadena una y otra vez, solo repite el carácter... y una vez repetido, copia la cadena una única vez.

Y para terminar, mira esto otro:
return ch.repeat(len - str.length) + str

En general te diría que si "sin calentarte mucho la cabeza" no lo ves al instante... lee un poco sobre estructuras de datos y otro poco sobre algoritmos, porque estas son cosas de lo más básicas.

Elsasu

#158 Habría que ver la implementación interna de repeat de js para decir que una implementación es mejor que la otra. Internamente puede que repeat funcione exactamente igual que el while del que hablamos (que no creo, lo hará a nivel de bits) pero sin saber su implementación no se puede decir que una sea más eficiente que la otra (que lo será porque imagino que siendo operación nativa del lenguaje estará muy optimizada) pero repito, sin saber su implementación, no se puede afirmar que una opción sea más eficiente que la otra.

Y otra cosa, a no se que esa operación la hagas, miles de millones de veces en tu programa, da igual que una sea un poco mas eficiente que otra, estoy seguro que las dos son O(n) (estoy casi convencido, que aunque más eficiente, repeat tambien será O(n) y por tanto tu solución también lo es (al igual que la de left-pad).

Y no, no me caliento la cabeza en estas cosas, porque a no ser que sea un programa crítico que requiera estar ultra optimizado, lo importante de la eficiencia de una función es al orden que pertenezca, evidentemente no da igual si una es O(n^2) y la otra O(n) pero siendo las dos O(n) es indiferente y querer rizar el rizo. Left-pad se usa para programar webs no para programar el controlador de un airbag o, en general,r un programa crítico en un sistema empotrado

Por cierto, ya por curiosidad he leido sobre repeat, porque nunca lo había utilizado. Y normal que no lo haya usado, es una especificación de la nueva versión de JS y los navegadores actuales NO la soportan https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/String/repeat
así que apaga y vamonos.

Elsasu

Forocoches: el ateneo español del siglo XXI. La punta de lanza del intelecto colectivo español.

D

#2 ¿Te puedo preguntar dónde está, en tu opinión, el intelecto colectivo español?

robustiano

#27 Lo que viene a ser en el Paquete Postal. Siguiente pregunta.

cc/ #2

JuanBrah

#27 En Meneame, acaso lo dudas?

Elsasu

#3 El GAL y malvender España a Europa, desmantelando la industria productiva de España a cambio de favores a los grandes bancos (BBVA y Santader) mayormente y a Telefónica.

Durante el mandato de este señor se desmateló casi toda la industría importante de España (por poner un ejemplo a finales de los 70 España era el segundo pais productor de barcos pesqueros solo por detrás de Japón por no hablar de la desmantelación de una agricultura y ganadería en ese momento más fuertes y eficientes que la francesa) y a cambio lo único que nos dieron fue una posición ventajosa para Telefónica, BBVA y Santander en el mercado sudamericano.

Si sintetizamos el trato sería algo así:

"Hola España, tu industria nos molesta a franceses y alemanes, desmantela y a cambio no metemos los hocicos en sudamérica en los temas de la banca y las telecos"

Pan para hoy y hambre para mañana. Y mucha gente sigue diciendo que Felipe Gonzalez es el mejor presidente de nuestra democracia.

Elsasu

#143 No respondo falacias. Reductio ad absurdum.

D

#151 No, no es reductio ad absurdum, es imposible reducir lo absurdo de:

* left-pad: sustituye a 3 operadores nativos del lenguajes
* isarray: sustituye a 1 operador y una cadena
* is-positive-integer: sustituye a cuatro operadores

No solo eso, sino que encima left-pad está anti-optimizada, es peor utilizarla que no utilizarla.

Elsasu

#156 Sólo por curiosidad, cómo harías tú left-pad más efeciente? Aquí tienes el código https://github.com/camwest/left-pad/blob/master/index.js

Yo no sé, se me ocurre trabajar a nivel de bits, pero no tengo claro como se haría. Sin calentarme mucho la cabeza el código que se utila lo veo optimizado.

D

#157 Déjate de bits, y fíjate en el while, en lo que hace una y otra vez. Ese añadir un carácter al principio de una cadena, piensa en cómo funciona eso... en cómo por cada carácter que añade, copia toda la cadena una y otra vez.

Ahora mira esto:
ch.repeat(len) + str

Fíjate en cómo no copia toda la cadena una y otra vez, solo repite el carácter... y una vez repetido, copia la cadena una única vez.

Y para terminar, mira esto otro:
return ch.repeat(len - str.length) + str

En general te diría que si "sin calentarte mucho la cabeza" no lo ves al instante... lee un poco sobre estructuras de datos y otro poco sobre algoritmos, porque estas son cosas de lo más básicas.

Elsasu

#158 Habría que ver la implementación interna de repeat de js para decir que una implementación es mejor que la otra. Internamente puede que repeat funcione exactamente igual que el while del que hablamos (que no creo, lo hará a nivel de bits) pero sin saber su implementación no se puede decir que una sea más eficiente que la otra (que lo será porque imagino que siendo operación nativa del lenguaje estará muy optimizada) pero repito, sin saber su implementación, no se puede afirmar que una opción sea más eficiente que la otra.

Y otra cosa, a no se que esa operación la hagas, miles de millones de veces en tu programa, da igual que una sea un poco mas eficiente que otra, estoy seguro que las dos son O(n) (estoy casi convencido, que aunque más eficiente, repeat tambien será O(n) y por tanto tu solución también lo es (al igual que la de left-pad).

Y no, no me caliento la cabeza en estas cosas, porque a no ser que sea un programa crítico que requiera estar ultra optimizado, lo importante de la eficiencia de una función es al orden que pertenezca, evidentemente no da igual si una es O(n^2) y la otra O(n) pero siendo las dos O(n) es indiferente y querer rizar el rizo. Left-pad se usa para programar webs no para programar el controlador de un airbag o, en general,r un programa crítico en un sistema empotrado

Por cierto, ya por curiosidad he leido sobre repeat, porque nunca lo había utilizado. Y normal que no lo haya usado, es una especificación de la nueva versión de JS y los navegadores actuales NO la soportan https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/String/repeat
así que apaga y vamonos.

Elsasu

#101 Son dos cosas distintas. Una cosa es querer hacer lo que ya está hecho y funciona aka (reinventar la rueda, que oye que se puede hacer por gusto y con fines educativos, pero nunca para ser productivo, porque no lo vas hacer si reprogramas algo que ya está hecho de forma computacionalmente eficiente y testeado) y otra muy distinta es usar la rueda cuando no debe de ser usada.

Mi tesis es 'no reinventar rueda' no es 'usar siempre la rueda'.

Elsasu

#86 Precisamente no tener a miles y miles de personas, haciendo las mismas funciones una y otra, y otra vez. Es lo que propicia la creatividad

D

#87 ¿Que creatividad?, ¿la de hacer la misma web guarra una y otra vez?.

Elsasu

#65 'Reinventar la rueda', es una expresión. No hay que tomarlo literalmente.

Y créeme, hay funciones, por ejemplo funciones de ordenado o de filtrado, o en general por ejemplo toda la stl de c++, que poco margen (por no decir ninguno) de mejora tiene.

Te lo aseguro, hay funciones que antes mejoras la 'formula de la rueda' que encontrar un algoritmo que resuelva determinados problemas mejor de lo que ya hay.

Una cosa es querer hacerlo todo desde 0 porque a ti te divierta hacerla.
Otra cosa es querer ir al mundo real tm y querer hacer así las cosas. Para cuando la otra empresa ha terminado tu estás todavía testeando tus funciones primitivas.

D

#83 Yo no se si será mejorable la stl de c++ o no, pero estoy seguro que sus mantenedores no caerían en eso de "no hay que reinventar la rueda" a la hora de hacer mejores versiones si algo es mejorable.

Lo de "no reinventar la rueda" al final está teniendo unos incentivos perversos que se están viendo muy claramente en nodejs. Que cada cual haga lo que quiera, ya está bien eso de reprimir al personal para que no sea creativo y así de paso, no aprenda nada.

Elsasu

#86 Precisamente no tener a miles y miles de personas, haciendo las mismas funciones una y otra, y otra vez. Es lo que propicia la creatividad

D

#87 ¿Que creatividad?, ¿la de hacer la misma web guarra una y otra vez?.

Penetrator

#86 Reinventar la rueda porque sí es una muy mala idea. Yo estuve en un proyecto en el que se nos prohibió explícitamente usar ningún tipo de librería. Sólo podíamos usar C++ a pelo, ni siquiera la STL. ¿El resultado? Tras meses de proyecto no teníamos absolutamente nada para enseñar, pues no habíamos avanzado. Casi todo el tiempo lo habíamos invertido en crear nuestras propias clases de strings, sockets, mutex, ficheros... Y había bugs a puntapala, lo cual dificultó y ralentizó sobremanera el desarrollo posterior del propio programa. El proyecto estuvo a punto de cancelarse varias veces. Años después, los costes de mantenimiento se han disparado, pues hay bastante rotación y cada vez que entra alguien nuevo tarda semanas en poder picar código, porque antes tiene que aprenderse como funciona nuestra librería y no es intuitiva en absoluto.

Conclusión: no reinventes la rueda a no ser que sea estrictamente necesario.

D

#109 Y si no te dejan reinventarla, copiala, y dí que es tuya.

Elsasu

#57 Lo que si que no comprendo es tu analogía. Ahí sí, si que me pierdo.

Es cuestionable la existencia de una librería de una única función. El hecho de que la gente utilice una función de una libreria, por muy simple que sea dicha función, no es cuestionable. Es recomendable.

Por poca complejidad que tenga una función testearla ya es un dolor en el ano.

m

#80, #57 y la noticia te indica que incluso algo tan probado, perfeccionado y versátil como una rueda, no hace falta utilizarla en absolutamente todos los escenarios ya que puede ser absurdo y contraproducente.
La rueda es la mejor opción para desplazarse en la mayoría de los escenarios, pero para desplazarse del sofá al baño, te desplazas a pata.

Elsasu

#101 Son dos cosas distintas. Una cosa es querer hacer lo que ya está hecho y funciona aka (reinventar la rueda, que oye que se puede hacer por gusto y con fines educativos, pero nunca para ser productivo, porque no lo vas hacer si reprogramas algo que ya está hecho de forma computacionalmente eficiente y testeado) y otra muy distinta es usar la rueda cuando no debe de ser usada.

Mi tesis es 'no reinventar rueda' no es 'usar siempre la rueda'.

Zade

#80 Lo mejor es cuando la rueda se pincha y el que la ha hecho, en lugar de arreglarla se larga con ella dejándote tirado a mitad de camino.

A ver, es muuuyyy simple:

- El código que necesitas se escribe en 5 minutos? Hazlo tu y mételo en una librería propia tuya bajo tu total control para poder reutilizarlo en el futuro.

- Lo que necesitas hacer te va a llevar muchísimo tiempo / es demasiado complejo para que seas capaz de hacerlo? Búscate una librería y créate esa dependencia con ella. Eso si, las librerías y todas las mierdas externas, siempre detrás de un wrapper o fachada para eliminar depender de ella en muchos puntos distintos de tu código, así como poder mockear fácilmente esa dependencia en tus test, etc...

PD: Aún así, tener siempre en cuenta la filosofía YAGNI (you aren't gonna need it), esto es, no te crees una librería genérica propia compleja que mantener para cada gilipollez que hagas. Por otro lado, esa librería super probada por millones de desarrolladores, es una bomba de relojería, si solo necesitas un caso en concreto, debes saber que las librerías no están hechas específicamente para tu caso, intentará ser lo más genérica posible, llevandote contigo un montón de mierda de código que no necesitas junto con todos sus puñeteros bugs. Por muchos usuarios que la usen y muy "crack" que sea el desarrollador, a menos que tu seas un paquetón de la hostia, lo más probable es que tu código específico para tu caso sea mucho más estable y óptimo que toda la puta librería genérica sobre la que no tienes ningún control.


ea lol

Elsasu

#25 Esas actividades deberían de hacerlas con otros niños de su edad. Y a poder ser de un grupo distinto al de sus clases de por la mañana. Así aprender a relacionarse con múltiples grupos.
Yo de pequeño iba lunes y martes por la tarde a la escuela. Yo lo pondría así durante toda la primaria. Lunes y martes por la tarde los niños también al cole y a cambio que el resto de tardes las tengan libres, sin nada de deberes.

AlexCremento

#28 Yo creo que lo que pedís muchos es que los centros estén abiertos todo el día.

Elsasu

Es posible conseguir lsd en una ciudad mediana? Pongamos, a modo de ejemplo, alicante. Es peligroso? cómo podría?

ondas

#22 Pregunta a los lugareños

Elsasu

No reutilizar es querer reinventar la rueda. Mientras que se está aprendiendo si veo sentido obligar al alumno no utilizar código de otros. Una vez se sabe hay que reutilizar todo lo posible.

Ventajas:

1. Menos código que picar.
2. Mayor estabilidad. Si la librería es conocida habrá miles de proyectos que la utilicen a diario.
3. La librería mejorará con el tiempo, ganando aún más estabilidad y rendimiento.

D

#16 cierto, yo desde que se inventó la rueda no solo la uso en mi coche para desplazarme sino también para ir desde el salón al váter con mi segway, andar es anacrónico....

en serio creo que no te has enterado de nada de lo que pretende decir la noticia.

Elsasu

#57 Lo que si que no comprendo es tu analogía. Ahí sí, si que me pierdo.

Es cuestionable la existencia de una librería de una única función. El hecho de que la gente utilice una función de una libreria, por muy simple que sea dicha función, no es cuestionable. Es recomendable.

Por poca complejidad que tenga una función testearla ya es un dolor en el ano.

m

#80, #57 y la noticia te indica que incluso algo tan probado, perfeccionado y versátil como una rueda, no hace falta utilizarla en absolutamente todos los escenarios ya que puede ser absurdo y contraproducente.
La rueda es la mejor opción para desplazarse en la mayoría de los escenarios, pero para desplazarse del sofá al baño, te desplazas a pata.

Elsasu

#101 Son dos cosas distintas. Una cosa es querer hacer lo que ya está hecho y funciona aka (reinventar la rueda, que oye que se puede hacer por gusto y con fines educativos, pero nunca para ser productivo, porque no lo vas hacer si reprogramas algo que ya está hecho de forma computacionalmente eficiente y testeado) y otra muy distinta es usar la rueda cuando no debe de ser usada.

Mi tesis es 'no reinventar rueda' no es 'usar siempre la rueda'.

Zade

#80 Lo mejor es cuando la rueda se pincha y el que la ha hecho, en lugar de arreglarla se larga con ella dejándote tirado a mitad de camino.

A ver, es muuuyyy simple:

- El código que necesitas se escribe en 5 minutos? Hazlo tu y mételo en una librería propia tuya bajo tu total control para poder reutilizarlo en el futuro.

- Lo que necesitas hacer te va a llevar muchísimo tiempo / es demasiado complejo para que seas capaz de hacerlo? Búscate una librería y créate esa dependencia con ella. Eso si, las librerías y todas las mierdas externas, siempre detrás de un wrapper o fachada para eliminar depender de ella en muchos puntos distintos de tu código, así como poder mockear fácilmente esa dependencia en tus test, etc...

PD: Aún así, tener siempre en cuenta la filosofía YAGNI (you aren't gonna need it), esto es, no te crees una librería genérica propia compleja que mantener para cada gilipollez que hagas. Por otro lado, esa librería super probada por millones de desarrolladores, es una bomba de relojería, si solo necesitas un caso en concreto, debes saber que las librerías no están hechas específicamente para tu caso, intentará ser lo más genérica posible, llevandote contigo un montón de mierda de código que no necesitas junto con todos sus puñeteros bugs. Por muchos usuarios que la usen y muy "crack" que sea el desarrollador, a menos que tu seas un paquetón de la hostia, lo más probable es que tu código específico para tu caso sea mucho más estable y óptimo que toda la puta librería genérica sobre la que no tienes ningún control.


ea lol

enrii.bc

#57 vaya troleada

D

#20 #16 #57 Muy de acuerdo, es la fiebre de las dependencias en JavaScript. Hace poco vi en Twitter un chiste que viene PERFECTO para esta noticia, y resume la chorrada de tirar de dependencias para todo, sobre todo para aquellas cosas que realmente no necesitas:

D

#16 Si la librería es una función de un línea...

Vamos a ver, desarrolladores de JS: dejadlo.

Eso no es un gestor de paquetes, es un chiste.

D

#16 Que obsesión con lo de no reinventar la rueda. Si eso se lo aplicasen los que hacen ruedas, seguirían siendo de madera.

barni

#65 los que hacen ruedas se especializan en hacer ruedas. Los que hacen librerías se especializan en hacer librerías.

El "no reinventar la rueda" no se refiere a no volver a revisar un concepto, sino a no rehacer lo que ya está hecho (y, más importante, probado) por otro.

D

#75 Un buen coder debería tener completo conocimiento acerca de las librerías necesarias para desempeñar su trabajo diario.

Lo que diferencia a un buen coder de uno malo es la capacidad para ver si es buena o mala idea utilizar algo o reemplazarlo con otra cosa. El mal coder siempre pondrá de excusa para usar una mala librería, que es mejor eso, que el reinventar la rueda. Menos mal que hay buenos coders que no se conformarán con esa excusa de vagos e intentarán hacer una rueda mejor.

Elsasu

#65 'Reinventar la rueda', es una expresión. No hay que tomarlo literalmente.

Y créeme, hay funciones, por ejemplo funciones de ordenado o de filtrado, o en general por ejemplo toda la stl de c++, que poco margen (por no decir ninguno) de mejora tiene.

Te lo aseguro, hay funciones que antes mejoras la 'formula de la rueda' que encontrar un algoritmo que resuelva determinados problemas mejor de lo que ya hay.

Una cosa es querer hacerlo todo desde 0 porque a ti te divierta hacerla.
Otra cosa es querer ir al mundo real tm y querer hacer así las cosas. Para cuando la otra empresa ha terminado tu estás todavía testeando tus funciones primitivas.

D

#83 Yo no se si será mejorable la stl de c++ o no, pero estoy seguro que sus mantenedores no caerían en eso de "no hay que reinventar la rueda" a la hora de hacer mejores versiones si algo es mejorable.

Lo de "no reinventar la rueda" al final está teniendo unos incentivos perversos que se están viendo muy claramente en nodejs. Que cada cual haga lo que quiera, ya está bien eso de reprimir al personal para que no sea creativo y así de paso, no aprenda nada.

Elsasu

#86 Precisamente no tener a miles y miles de personas, haciendo las mismas funciones una y otra, y otra vez. Es lo que propicia la creatividad

D

#87 ¿Que creatividad?, ¿la de hacer la misma web guarra una y otra vez?.

Penetrator

#86 Reinventar la rueda porque sí es una muy mala idea. Yo estuve en un proyecto en el que se nos prohibió explícitamente usar ningún tipo de librería. Sólo podíamos usar C++ a pelo, ni siquiera la STL. ¿El resultado? Tras meses de proyecto no teníamos absolutamente nada para enseñar, pues no habíamos avanzado. Casi todo el tiempo lo habíamos invertido en crear nuestras propias clases de strings, sockets, mutex, ficheros... Y había bugs a puntapala, lo cual dificultó y ralentizó sobremanera el desarrollo posterior del propio programa. El proyecto estuvo a punto de cancelarse varias veces. Años después, los costes de mantenimiento se han disparado, pues hay bastante rotación y cada vez que entra alguien nuevo tarda semanas en poder picar código, porque antes tiene que aprenderse como funciona nuestra librería y no es intuitiva en absoluto.

Conclusión: no reinventes la rueda a no ser que sea estrictamente necesario.

D

#109 Y si no te dejan reinventarla, copiala, y dí que es tuya.

barni

#16 te olvidas de un aspecto fundamental, que es el de aprovechar los recursos (tiempo, developers, dinero) para trabajar en lo que hace único un desarrollo.

Si estoy haciendo un sistema de gestión hospitalaria, el mejor uso de mi tiempo y el de mis desarrolladores no estará en escribir un left padding o un parser de csv, sinó en funcionalidades que son propias de un sistema hospitalario.

D

#16 Próximamente:

function add(a,b)

¡A reutilizar se ha dicho!
Y cuando la librería mejore... mmm... ¡la de estabilidad y rendimiento que podremos ganar! roll

Elsasu

#143 No respondo falacias. Reductio ad absurdum.

D

#151 No, no es reductio ad absurdum, es imposible reducir lo absurdo de:

* left-pad: sustituye a 3 operadores nativos del lenguajes
* isarray: sustituye a 1 operador y una cadena
* is-positive-integer: sustituye a cuatro operadores

No solo eso, sino que encima left-pad está anti-optimizada, es peor utilizarla que no utilizarla.

Elsasu

#156 Sólo por curiosidad, cómo harías tú left-pad más efeciente? Aquí tienes el código https://github.com/camwest/left-pad/blob/master/index.js

Yo no sé, se me ocurre trabajar a nivel de bits, pero no tengo claro como se haría. Sin calentarme mucho la cabeza el código que se utila lo veo optimizado.

D

#157 Déjate de bits, y fíjate en el while, en lo que hace una y otra vez. Ese añadir un carácter al principio de una cadena, piensa en cómo funciona eso... en cómo por cada carácter que añade, copia toda la cadena una y otra vez.

Ahora mira esto:
ch.repeat(len) + str

Fíjate en cómo no copia toda la cadena una y otra vez, solo repite el carácter... y una vez repetido, copia la cadena una única vez.

Y para terminar, mira esto otro:
return ch.repeat(len - str.length) + str

En general te diría que si "sin calentarte mucho la cabeza" no lo ves al instante... lee un poco sobre estructuras de datos y otro poco sobre algoritmos, porque estas son cosas de lo más básicas.

Elsasu

#158 Habría que ver la implementación interna de repeat de js para decir que una implementación es mejor que la otra. Internamente puede que repeat funcione exactamente igual que el while del que hablamos (que no creo, lo hará a nivel de bits) pero sin saber su implementación no se puede decir que una sea más eficiente que la otra (que lo será porque imagino que siendo operación nativa del lenguaje estará muy optimizada) pero repito, sin saber su implementación, no se puede afirmar que una opción sea más eficiente que la otra.

Y otra cosa, a no se que esa operación la hagas, miles de millones de veces en tu programa, da igual que una sea un poco mas eficiente que otra, estoy seguro que las dos son O(n) (estoy casi convencido, que aunque más eficiente, repeat tambien será O(n) y por tanto tu solución también lo es (al igual que la de left-pad).

Y no, no me caliento la cabeza en estas cosas, porque a no ser que sea un programa crítico que requiera estar ultra optimizado, lo importante de la eficiencia de una función es al orden que pertenezca, evidentemente no da igual si una es O(n^2) y la otra O(n) pero siendo las dos O(n) es indiferente y querer rizar el rizo. Left-pad se usa para programar webs no para programar el controlador de un airbag o, en general,r un programa crítico en un sistema empotrado

Por cierto, ya por curiosidad he leido sobre repeat, porque nunca lo había utilizado. Y normal que no lo haya usado, es una especificación de la nueva versión de JS y los navegadores actuales NO la soportan https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/String/repeat
así que apaga y vamonos.

Elsasu

#18 Si es que nos preparan desde chicos para hacer el trabajo de forma individual, nos individualizan desde pequeños.

Joder! que el humano es un ser, en esencia, social. Es cierto que algunas grandes invenciones han salido del trabajo individual pero tambien es cierto que otras muchas han salido del trabajo grupal. En mi opinión se hacen muy pocas actividades en grupo en la escuela y las que se hacen no se enfocan bien. Ojo que también está bien que los niños hagan cosas individualmente, pero el grueso de las actividades deberían de ser grupales.

AlexCremento

#24 Yo lo he intentado infinidad de veces pero es IMPOSIBLE. Unas veces porque los chavales no están acostumbrados a eso y el trabajo lo acaba haciendo uno, y otras por el tema de la indisciplina.