Ver la versión completa : Ruby ¿Programadores de Ruby en el foro?
Buenas!
Estoy dando clases de Ruby (llevo solo un par de semanas) y en este momento estoy empezando a amarlo, aunque tengo sentimientos encontrados, ya que me parece un lenguaje caótico y excesivamente "permisivo" en las estructuras, uso de clases, diferentes formas "libres" de definición de variables, atributos, funciones, etc. (creo que no he visto ni un **** error en los scripts que he escrito hasta ahora, a pesar de haber cometido errores "de bulto").
¿Hay algún forero que programe habitualmente en Ruby? Me gustaría conocer lo que piensa la gente que lo use habitualmente.
Un saludo
Anarchy
josepzin
18/05/2016, 19:28
Yo no lo uso, sólo me paso a decir que los programadores de Ruby son hipsters :-P
Yo solo me paso a decir que Ruby estuvo de moda ...
Aiken
Yo he usado Ruby On Rails y me paso lo mismo, me gustaba mucho a la vez que habia algo que me rascaba y me hacia añorar Python.
josepzin
18/05/2016, 22:10
Yo me dejé de calentar la cabeza con RoR cuando supe que los servidores no lo tienen instalado.
Cuanta tonteria peregrina xD
No tengo mucha experiencia con RoR, pero me gusto mucho precisamente que fuese onRails, aunque nunca termine de hacerme a Ruby.
En ese sabor Django me gusto bastante, en python
PD. Ruby por defecto en Mac, eso hizo mucho, pero decir que es de hipsters en 2016, cuando JS YA es mas que mainstream... xD
Yo solo pasaba a dejarles mis dies por usar ruby 😛
josepzin
19/05/2016, 12:33
¿Un lenguaje sin punto y coma al final de cada instrucción??? no gracias :D :D
IronArthur
19/05/2016, 13:42
¿Un lenguaje sin punto y coma al final de cada instrucción??? no gracias :D :D
en javascript es opcional sino recuerdo mal. No sé que es peor...
Salu2
En Ruby el punto y coma es opcional. Como el uso de llaves, que se suelen usar en bloques de una sola línea, pero no en bloques multi-línea.
IronArthur
19/05/2016, 14:38
En Ruby el punto y coma es opcional. Como el uso de llaves, que se suelen usar en bloques de una sola línea, pero no en bloques multi-línea.
Si no recuerdo mal, en ruby las llaves se sustituyen por tabs? eso si q no me gusta nada
De todos modos me suena que RubyOnRails se puso de mega-moda para los backend en USA, y aqui ni se le olio. En usa ahora se ha pasado la moda y es uno mas.
Salu2
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.
-----Actualizado-----
Que los orangutanes tambien programan ;)
-----Actualizado-----
https://rubygems.org/gems/ookie
Si no recuerdo mal, en ruby las llaves se sustituyen por tabs? eso si q no me gusta nada
De todos modos me suena que RubyOnRails se puso de mega-moda para los backend en USA, y aqui ni se le olio. En usa ahora se ha pasado la moda y es uno mas.
Salu2
Tp es asi, se puso mega de moda, pero no ha dejado de usarse. Es mas Ruby se sigue usando mucho en distintos entornos :S
Anarchy, si quieres ser mas estricto buscate un linter para ruby que te marque errores con los ; y esas cosas
Nosotros usamos Redmine que si no recuerdo. mal esta programada con Ruby on Rails.
Pero desarrollo en ese lenguaje no he visto y aquí se utiliza casi de todo 😁
IronArthur
19/05/2016, 15:57
Tp es asi, se puso mega de moda, pero no ha dejado de usarse. Es mas Ruby se sigue usando mucho en distintos entornos :S
Anarchy, si quieres ser mas estricto buscate un linter para ruby que te marque errores con los ; y esas cosas
Por eso digo q ahora es uno mas de las tecnologias de backend.
Hace unos años fue un poco disparate en USA por lo visto, para todo pedian rubyonrails.
Salu2
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.
Muchó código para un simple Hello World! xDDD
Muchó código para un simple Hello World! xDDD
OoooOOOOoooooOOoooolé! vaya vista analítica para ver lo que ahí estaba escrito XDDDDD
Semos unos frikis, aunque hay otro de estos lenguajes que es el mas friki, que es lo mismo que el Ook, pero con espacios y tabuladores XDDDD
masteries
20/05/2016, 01:23
El lenguaje de Terminator también tiene su gracia,
Ya estamos con que si se ha pasado de moda, y todas las mandangas. Es un lenguaje ampliamente utilizado en cierto tipo de proyectos y es interesante tenerlo en cuenta.
Cuando se comienza un desarrollo se toma una de las decisiones, como por ejemplo lenguajes y frameworks a utilizar es una decisión importante porque a medida que el desarrollo crezca cambiar a otros framworks o lenguajes será más duro, y no cambiar y empezar a utilizar otro para otros módulos será aún peor para quien venga después.
En lugar en lugar de decir que se ha pasado de moda, que si es de hipsters, etc ¿por qué decís para que es adecuado este lenguaje y para que parece que no lo es?
Desgraciadamente no tengo nada que aportar sobre este lenguaje, excepto que con la llegada de Ahroa Madrid al ayuntaiento se está empezando a usar para algunos proyectos porque varios proyectos de ciudadania abierta ya existentes en otros lugares están hechos en Ruby.
princemegahit
21/05/2016, 10:03
Pero a ver, hay o no hay un programador de Ruby en el foro? A message to you, Ruby! :quepalmo:
josepzin
21/05/2016, 12:53
Al no haber hipsters en el foro, por pura lógica tampoco debería haber ningún programador de Ruby, Anarchy no.cuenta porque es un usuario falso.
OoooOOOOoooooOOoooolé! vaya vista analítica para ver lo que ahí estaba escrito XDDDDD
Semos unos frikis, aunque hay otro de estos lenguajes que es el mas friki, que es lo mismo que el Ook, pero con espacios y tabuladores XDDDD
Whitespace.
Más info sobre lenguajes de programación esotéricos: https://en.wikipedia.org/wiki/Esoteric_programming_language
PharaOnyx
22/05/2016, 16:17
Al no haber hipsters en el foro, por pura lógica tampoco debería haber ningún programador de Ruby, Anarchy no.cuenta porque es un usuario falso.
Yo programo en Ruby (entre otras cosas, mal que le pese a alguno que otro), aunque no me considero hipster a pesar de usar un iPhone :)
Un saludo, Alex
josepzin
22/05/2016, 17:36
Hipsters...
IronArthur
23/05/2016, 12:22
Ya estamos con que si se ha pasado de moda, y todas las mandangas. Es un lenguaje ampliamente utilizado en cierto tipo de proyectos y es interesante tenerlo en cuenta.
Cuando se comienza un desarrollo se toma una de las decisiones, como por ejemplo lenguajes y frameworks a utilizar es una decisión importante porque a medida que el desarrollo crezca cambiar a otros framworks o lenguajes será más duro, y no cambiar y empezar a utilizar otro para otros módulos será aún peor para quien venga después.
En lugar en lugar de decir que se ha pasado de moda, que si es de hipsters, etc ¿por qué decís para que es adecuado este lenguaje y para que parece que no lo es?
Desgraciadamente no tengo nada que aportar sobre este lenguaje, excepto que con la llegada de Ahroa Madrid al ayuntaiento se está empezando a usar para algunos proyectos porque varios proyectos de ciudadania abierta ya existentes en otros lugares están hechos en Ruby.
Yo no he dicho q no se use Ruby porque se haya pasado de moda sino todo lo contrario. Que durante unos años en USA tuvo una popularidad exagerada y ahora es una opción más para backend como es asp o java o lo que sea.
Salu2
Parece que cada N años veremos un lenguaje nuevo de programación que se pondrá de moda por X motivos, unos desaparecerán, otros aguantaran lo suficiente para seguir desarrollandose e ir añadiendo mejoras, yo como hago aplicaciones y necesito rendimiento seguire con mi C/C++
^MiSaTo^
23/05/2016, 13:51
Parece que cada N años veremos un lenguaje nuevo de programación que se pondrá de moda por X motivos, unos desaparecerán, otros aguantaran lo suficiente para seguir desarrollandose e ir añadiendo mejoras, yo como hago aplicaciones y necesito rendimiento seguire con mi C/C++
Vaya tela, como si no llevara pasando desde casi que se inventó la programación xDD
Si, pero hay algunos lenguajes que se le dan mucho bombo (sobre todo si es de microsoft) nada mas salir.
^MiSaTo^
23/05/2016, 16:24
Lo de si es de Microsoft desde cuando? Primero fue Java, ahora JavaScript con node.js. Ruby tb tuvo su momento. Pero Microsoft? Habrá sido en el entorno empresarial o algo así
Alguien ha hecho algo con node.js? Por lo que parece todas las empresas de desarrollo andan buscando gente con conocimientos de node.js y estoy por echarle un vistazo.
Yo me acuerdo de las revistas españolas en plan solo programadores y cosas así, que cualquier cosa que sacaba microchoff al momento te llenaban de artículos, tutorales y cosas así, la gente pedia que se soportara o se hablara mas de linux, delphi, etc y seguro que imprimian las peticiones para despues limpiarse el culo con ellas. Yo pensaba que las revistas tienen que hacer mas caso a las sugerencias de los lectores porque son los que pagan parte de las facturas (una buena parte la pillan de la publicidad).
Leyendo una del mismo estilo en versión inglesa (Dr. Dobb's?), un tio tenia un problema con una cosa (un grid IIRC) que estaba haciendo en VBasic y le dijeron algo como que el componente que traía tenia bugs y le recomendaron que se pasara a delphi porque era un lenguaje mas potente, con mejor diseño, mejor orientación a objetos, la documentacion estaba mucho mejor, había una gran comunidad de usuarios, etc.
Aqui como siempre ni se mojan, solo miran quien pone el cheque y a lamerles el culo aunque tengan un producto inferior.
josepzin
23/05/2016, 16:50
Yo probé node.js hace unos meses y me gustó, seguramente porque estoy acostumbrado (bue, más o menos) a javascript.
-----Actualizado-----
Además para node no hace falta nada especial para empezar a hcer cosas, ni ides ni instalaciones ni nada, sólo copiar unos archivos y a trastear.
^MiSaTo^
23/05/2016, 17:11
Alguien ha hecho algo con node.js? Por lo que parece todas las empresas de desarrollo andan buscando gente con conocimientos de node.js y estoy por echarle un vistazo.
ahí otto_xd te puede ayudar. Yo he hecho algo pero sólo cosas para probar como era y poco más.
Adelanto que a mi Javascript no me gusta NADA, pero lo controlo más o menos porque he tenido que usarlo bastante en profundidad en algunos proyectos.
ahí @otto_xd (https://www.gp32spain.com/foros/member.php?u=1964) te puede ayudar. Yo he hecho algo pero sólo cosas para probar como era y poco más.
Si hago algo sería también solamente por probarlo un poco y ver si podría sacarle rendimiento para alguno de mis proyectos. Sólo entonces me pondría a fondo con él, porque no tengo intención de buscar curro del tema.
Alguien ha hecho algo con node.js? Por lo que parece todas las empresas de desarrollo andan buscando gente con conocimientos de node.js y estoy por echarle un vistazo.
Son conceptos muy distintos, dentro de las similitudes de ambas plataformas al tener gestores de paquetes y frameworks montados sobre los mismos.
Ademas no todo Ruby es RoR, y lo mismo te va ocurrir con node.js
A mi personalmente me gusta, porque voy bien de JS, pero es un lenguaje un tanto especial y puede dar algun que otro dolor de cabeza si te pones con el.
Si quieres mas info te digo libros y recursos interesantes ;)
josepzin
23/05/2016, 20:28
A mi me interesa, es una manera interesante para hacer aplicaciones de escritorio para los que hacemos cosas web.
A mi me interesa, es una manera interesante para hacer aplicaciones de escritorio para los que hacemos cosas web.
Pues si te interesa eso mira este proyecto
http://electron.atom.io/
Para aprender bien JS hay un par de recursos que les doy a toda la gente que entra por la puerta de mi oficina
JS the good parts (de douglas crockford)
JS design patterns (de addyosmani)
Blog ponyfoo (ahora que dailyJS ha muerto)
http://javascriptweekly.com/ Sindresorhus (twitter)
@addyosmani (twitter)
Luego esta el jaleo que es node y npm en si mismo, pero ese culebron es mejor seguirlo por newsletters y twitter, por eso los he puesto en esa lista.
josepzin
23/05/2016, 23:24
Muchas gracias, me los quedo para cuando retome el tema :)
-----Actualizado-----
Yo me he sentido muy cómodo con node.js, además usando JQuery estaba como en mi casa! :D
Muchas gracias, me los quedo para cuando retome el tema :)
-----Actualizado-----
Yo me he sentido muy cómodo con node.js, además usando JQuery estaba como en mi casa! :D
JQuery no es JS xD
No, de verdad ,JQuery es la madre de muchos de los problemas de JS, mejor aprender a usar vanilla JS y luego ya usar librerias y frameworks
josepzin
24/05/2016, 00:32
Pero es que es taaaaannnn mono...! :D
No conocía ese Vanilla, le echaré un vistazo.
Yo no recuerdo haber tenido ningún problema con Jquery, quizás las quejas sean por hacer mas lentas o pesadas las webs si se abusa... ¿?
Pero es que es taaaaannnn mono...! :D
No conocía ese Vanilla, le echaré un vistazo.
Yo no recuerdo haber tenido ningún problema con Jquery, quizás las quejas sean por hacer mas lentas o pesadas las webs si se abusa... ¿?
vanilla JS === JS sin mas.
Jquery no da problemas por si mismo, pero al enmascarar todo, se ha tenido a usarlo mal, obteniendo siempre elementos usando los selectores sin cachear, metiendo codigo en medio del html, metiendo plugins magicos sin entender lo que pasa por debajo, etc.
Por eso creo que lo importante es aprender JS, luego aprender a estructurar una aplicacion, y luego ya si se quiere/necesita, usar cualquier framework.
josepzin
24/05/2016, 01:32
Yo casi que soy un luser de js, lo uso para web, para hacer cosas puntuales. Realmente odio algunos plugins y los evito al máximo.
En su momento para mi jquery fue una gran solución ya que sin controlar mucho js pude hacer cosas que funcionaban en todos los explotadores, con ajax si mal no recuerdo era un comedero de sesos por las incompatibilidades.
Tendría que aprender js a pelo, veo que la diferencia en rendimiento es monstruosa.
-----Actualizado-----
obteniendo siempre elementos usando los selectores sin cachear
Qué significa esto?
josepzin
24/05/2016, 07:07
Estuve leyendo lo de VanillaJS, que cachondos :-D :-D
IronArthur
24/05/2016, 09:29
Yo casi que soy un luser de js, lo uso para web, para hacer cosas puntuales. Realmente odio algunos plugins y los evito al máximo.
En su momento para mi jquery fue una gran solución ya que sin controlar mucho js pude hacer cosas que funcionaban en todos los explotadores, con ajax si mal no recuerdo era un comedero de sesos por las incompatibilidades.
Tendría que aprender js a pelo, veo que la diferencia en rendimiento es monstruosa.
-----Actualizado-----
Qué significa esto?
basicamente:
$('.clase').text('asd');
$('.clase').attr('asdasd');
$('.clase').hidden('');
Cuando podrias guardar la referencia del dom en una variable sin hacer la busqueda todas y cada una de las lineas.
Por cierto para mi un problema que tiene node.js, es que por lo que suelo ver la mayoria de los hostings no tiene soporte para ello.
Salu2
basicamente:
$('.clase').text('asd');
$('.clase').attr('asdasd');
$('.clase').hidden('');
Cuando podrias guardar la referencia del dom en una variable sin hacer la busqueda todas y cada una de las lineas.
Por cierto para mi un problema que tiene node.js, es que por lo que suelo ver la mayoria de los hostings no tiene soporte para ello.
Salu2
Si buscas hosting para contenido estatico pocos, pero si buscas saas hay mil con soporte para node.
josepzin
24/05/2016, 12:22
Cuando podrias guardar la referencia del dom en una variable sin hacer la busqueda todas y cada una de las lineas.2
Comprendido, gracias.
Una pagina con estadisticas de uso por lenguaje
http://www.stackoverkill.com/ranking/
De todas formas, que sea mas usado no significa que sea mejor, ni que los proyectos tengan mas calidad...
IronArthur
25/05/2016, 11:55
Una pagina con estadisticas de uso por lenguaje
http://www.stackoverkill.com/ranking/
De todas formas, que sea mas usado no significa que sea mejor, ni que los proyectos tengan mas calidad...
Siempre me sorprende Python.
salu2
Ese ensamblador, que se mantiene estable en el tiempo. :lol: :quepalmo:
Ese ensamblador, que se mantiene estable en el tiempo. :lol: :quepalmo:
¿Dónde está la gracia? ¿En que cada vez los ingenieros son menos competentes y necesitan mas código prefrabricado? ¿O que cada vez hay mas "piernas" metiéndose dónde no les llaman cortesía de la programación a prueba de ineptos/tontos/etc...?
Yo uso ensamblador con C/C++ regularmente, y lo he llegado a usar con Pascal (Free Pascal), en sintaxis Intel y AT&T, sigue siendo la diferencia entre necesitar un i5 de última generación y lo mismo, o mas, con un i5 de 1ª.
Y estoy orgulloso de sólo conocer, ademas, PHP, Java y JS de todos los "lenguajes" que aparecen en esa gráfica.
Por cierto, que (Object) Pascal ni viene.
La gracia, precisamente, es la estabilidad en su uso y que, efectivamente, lo usan de forma absolutamente residual.
Y teniendo en cuenta la potencia actual del hardware, creo que tiene bastante sentido. En la época de la GP32/GP2X, el uso de ensamblador suponía la diferencia entre tener un emu de Megadrive 100% fullspeed o no tener nada, pero hoy en día la cosa ha cambiado sustancialmente.
La programación a prueba de "tontos" es la que ha conseguido que el mundo de los desarrolladores haya crecido como lo ha hecho. No seamos injustos. Me gustaría ver como estaría la cosa hoy en día si todo hubiera que programarlo en lenguajes de bajo nivel.
Habría menos basura, frases como "programar puede programar cualquiera" no se oirían, no habría intrusismo, habría horarios justos y sueldos justos, no miserias salariales de compañías que se gastan millones en licencias y unos pocos miles en mal pagar a sus empleados porque "programar puede programar cualquiera", inclusive un "piernas" de exactas o de física, que es tu jefe (sic), al que hay que estar salvándole el cvlo constantemente y que encima cobre 3 o hasta 5 veces mas que tú trabajando 3 o hasta 5 veces menos que tú, no te despedirían a los 2 o 3 años y te recontratarían cada 6 meses o así, etc...
Y además, no habría politiquillos que se propusieran retirar la carrera de informática.
Vamos a ver, es una gráfica de cuestiones abiertas en StackOverflow, que no es ni mucho menos una representación sobre los lenguajes de programación que se usan. Simplemente es una representación de las cuestiones que se abren en ese foro especializado. Es más, son dudas. Eso no quiere decir que se programe mucho en esos lenguajes, sino que se preguntan muchas dudas sobre esos lenguajes en esa comunidad.
Sólo recoge a los angloparlantes. Puede que haya comunidades de otros paises donde usen mayormente un lenguaje que no aparece en esa lista, o que sobre algunos luenguajes haya otras comunidades especializadas en las que se prefiera preguntar.
Dicho de otro modo, no es una muestra científica (punto).
Y no, no habría salarios justos. La presión del mercado es la que es. El primer empresario que se de cuenta que cogiendo a unos chavales y teniendo un código con bugs gana dinero antes y se posiciona primero lo hará. El emidosaurio que se dé cuenta que haciendo un entorno de programación para dummies que genere código deficiente puede ganar dinero pues lo hará.
Y en cuanto a conocer, de nombre creo que los conozco todos, pero otra cosa es haberlos utilizado alguna vez. Habitualmente sólo utilizo shellscript con pinceladas de awk y esporádicamente c y c++.
Cada lenguaje o framework tiene sus ventajas y sus desventajas, aunque alguna de ellas sea "sencillo para dummies".
princemegahit
25/05/2016, 21:52
Habría menos basura, frases como "programar puede programar cualquiera" no se oirían, no habría intrusismo, habría horarios justos y sueldos justos, no miserias salariales de compañías que se gastan millones en licencias y unos pocos miles en mal pagar a sus empleados porque "programar puede programar cualquiera", inclusive un "piernas" de exactas o de física, que es tu jefe (sic), al que hay que estar salvándole el cvlo constantemente y que encima cobre 3 o hasta 5 veces mas que tú trabajando 3 o hasta 5 veces menos que tú, no te despedirían a los 2 o 3 años y te recontratarían cada 6 meses o así, etc...
Y además, no habría politiquillos que se propusieran retirar la carrera de informática.
Frases como cualquiera puede programar se oyen desde principios de los 90 con el curso IBM de programación , (esta semana nueva entrega en su kiosko!) :lol2:
josepzin
25/05/2016, 22:20
Fue más o menos en 1994 o 95, que uno de mis compañeros de la carrera me dice "he usado Access para hacer noseque y realmente no tiene más sentido la programación, todo se puede hacer sin programar" :P
^MiSaTo^
25/05/2016, 23:17
Don't feed the troll
IronArthur
26/05/2016, 15:49
¿Dónde está la gracia? ¿En que cada vez los ingenieros son menos competentes y necesitan mas código prefrabricado? ¿O que cada vez hay mas "piernas" metiéndose dónde no les llaman cortesía de la programación a prueba de ineptos/tontos/etc...?
Yo uso ensamblador con C/C++ regularmente, y lo he llegado a usar con Pascal (Free Pascal), en sintaxis Intel y AT&T, sigue siendo la diferencia entre necesitar un i5 de última generación y lo mismo, o mas, con un i5 de 1ª.
Y estoy orgulloso de sólo conocer, ademas, PHP, Java y JS de todos los "lenguajes" que aparecen en esa gráfica.
Por cierto, que (Object) Pascal ni viene.
Me traduces un codigo de ensamblador aunque sea a C??? :lol:
Llevo demasiado tiempo intentando traducirlo a cualquier otro lenguaje para poder recompilarlo para x64.
es un descompresor de LZ que usa el Mechcommander 1 y me obliga a tener q usarlo en x86
por si estas por la labor: https://github.com/Echelon9/mechcommander2-open/blob/master/Source/MCLib/lzdecomp.cpp
Salu2
¿No te vale con una rutina de descompresión LZ estándar? ¿O es que es ligeramente distinta? Yo de x86 poco si fuera 68000 te podría echar una mano.
Entro
Post de ElRana
No leo mas
ByeBye hilo, me parecias interesante
bitrider
26/05/2016, 21:08
El ensamblador de x86 32bits debería poder funcionar en x64 cambiando registros que se utilicen como punteros por los correspondientes registros de 64bits. P.E.: eax -> rax, esi -> rsi
Estopero
26/05/2016, 23:57
Buenas!
Estoy dando clases de Ruby (llevo solo un par de semanas) y en este momento estoy empezando a amarlo, aunque tengo sentimientos encontrados, ya que me parece un lenguaje caótico y excesivamente "permisivo" en las estructuras, uso de clases, diferentes formas "libres" de definición de variables, atributos, funciones, etc. (creo que no he visto ni un **** error en los scripts que he escrito hasta ahora, a pesar de haber cometido errores "de bulto").
¿Hay algún forero que programe habitualmente en Ruby? Me gustaría conocer lo que piensa la gente que lo use habitualmente.
Un saludo
Anarchy
Volviendo al tema original.
Yo soy programador de PHP y de Node/js, además toco algo de ruby por Puppet, aunque bastante poco.
Personalmente a día de hoy no aprendería ruby. Es un lenguaje con una sintaxis demasiado propia y no me parece nada intuitiva a pesar de que creo que fue creado precisamente para facilitar el aprendizaje. En cuanto a trabajo no me parece que se pida mucho ahoramismo y aunque ha mejorado mucho en rendimiento desde la versión 2 si no me equivoco, sigue teniendo fama de lento, habría que ver cómo de justificada, pero no veo casi ninguna razón para aprender ruby por delante de node.js salvo por Rails, y tú que ya sabes PHP tienes los frameworks Symfony o Laravel, que siguen la filosofía Rails, Symfony más maduro, y Laravel más moderno y agradable. (Además al menos en España dan más curro)
Para programar cosas "para el gran público", proyectos open source por ejemplo, o hacer una web con todos los elementos típicos rápidamente, utilizaría PHP que sigue muy vivo y sigue siendo la opción más sencilla de meter en hostings compartidos, sigue siendo la primera opción de los programadores web autodidactas y el lenguaje que más servidores webs están sirviendo en internet. (Fuente requerida xD)
Ahora, para encontrar curro mejor remunerado con una tecnología cómoda de programar y rápida sobre infraestructura "libre" me iría de cabeza a aprender node.js. Tiene muy buen rendimiento, la sintaxis es intuitiva y agradable, y como punto muy muy a favor puedes usar el mismo lenguaje para backend y para frontend. Yo conocía javascript, pero cuando aprendí a programar en backend con Node.js y cogí experiencia con JS fue cuando realmente empecé también a sacar potencial a la programación js "cliente", tanto con VanillaJS como dice Otto como con Angular.js por ejemplo.
Node.js es el Java killer. Es la primera vez que grandes empresas con filosofías de desarrollo "clásicas" empiezan a cambiar partes de su tecnología Java por otro lenguaje, conozco varias grandes empresas de banca o de comercio electrónico que están apostando por Node.js cuando era imposible que te tomaran en serio al hablar de otros lenguajes como PHP, ruby o pyhton (de forma injustificada claro, pero es la triste realidad)
Como punto en contra, a node.js le falta un poquito de madurez en su "background", ya no como lenguaje, sino a la hora de encontrar frameworks robustos con componentes complejos solucionados. Hay multitud de módulos, boilerplates y microframeworks que te solucionan muchos problemas, pero no hay un sustituto directo y en condiciones de rails o symfony por ejemplo, aunque ya hay proyectos que apuntan maneras.
En resumen, deja las clases de ruby y ponte con node.js xD
IronArthur
27/05/2016, 08:41
¿No te vale con una rutina de descompresión LZ estándar? ¿O es que es ligeramente distinta? Yo de x86 poco si fuera 68000 te podría echar una mano.
Pues creo q no es estandar, la usaron en el Mechcommander 1 y 2. (de hecho esta es del codigo fuente del 2). Me hice en su dia un proyecto simple con implementaciones estándar de LZ en c#, que fui encontrando por google, para comparar resultados directamente con lo que sacaba esto y no habia forma. Aunque ya digo que de ensamblador y descompresión se lo justo para el trivial.
El ensamblador de x86 32bits debería poder funcionar en x64 cambiando registros que se utilicen como punteros por los correspondientes registros de 64bits. P.E.: eax -> rax, esi -> rsi
Simplemente es cambiando el e por el r? algo más de info sobre eso? Preferiría que fuera código compilado porque es más manejable pero supongo que puedo vivir con ello.
Salu2
En resumen, deja las clases de ruby y ponte con node.js xDEstoy haciendo un grado superior de programación, así que no puedo dejarlas. No es un cursillo. :D
Hasta Junio el temario es de Ruby, PHP y MySQL (estas dos me las salto) y Objective-C. Los meses anteriores también dimos algo de C y desarrollo en XCode.
^MiSaTo^
27/05/2016, 11:42
Estoy haciendo un grado superior de programación, así que no puedo dejarlas. No es un cursillo. :D
Hasta Junio el temario es de Ruby, PHP y MySQL (estas dos me las salto) y Objective-C.
Obj-C ahora que todo el mundo se pasa a Swift? XD Un poco tarde
Obj-C ahora que todo el mundo se pasa a Swift? XD Un poco tarde
Perdón, fallo mío. Dimos Objective-C junto con C y programación XCode hasta el mes pasado. Más que nada para entender el desarrollo en Mac para iOS.
Este mes estamos ya con Swift. :brindis:
^MiSaTo^
27/05/2016, 11:44
Perdón, fallo mío. Dimos Objective-C junto con C y programación XCode hasta el mes pasado. Más que nada para entender el desarrollo en Mac para iOS.
Este mes estamos ya con Swift. :brindis:
Pues nada olvida todo lo que sepas de Obj-C porque Swift es otro paradigma incluso xD
Sí, nos lo ha dejado claro el profe. De hecho, parece que no le gusta demasiado, pero como es lo que está usando todo el mundo, pues es lo que hay. xD
^MiSaTo^
27/05/2016, 11:54
Sí, nos lo ha dejado claro el profe. De hecho, parece que no le gusta demasiado, pero como es lo que está usando todo el mundo, pues es lo que hay. xD
Jodo pues es la primera persona que conozco que no le gusta. Es un cambio brutal PARA BIEN por una vez. De hecho tiene cosas muy inteligentes implementadas, está bien pensado y bueno cada versión meten mejoras que pide la comunidad y demás.
A mi me encanta y eso que era muy reticente a cambiar a Swift. No se si tu profe ha hecho muchas apps en general pero vamos, es muchisimo mejor que Obj-C.
josepzin
27/05/2016, 12:03
Otro lenguaje para hipsters que dentro de dos años habrá pasado de moda :-P troll troll
Me traduces un codigo de ensamblador aunque sea a C??? :lol:
Llevo demasiado tiempo intentando traducirlo a cualquier otro lenguaje para poder recompilarlo para x64.
es un descompresor de LZ que usa el Mechcommander 1 y me obliga a tener q usarlo en x86
por si estas por la labor: https://github.com/Echelon9/mechcommander2-open/blob/master/Source/MCLib/lzdecomp.cpp
Salu2
Tus deseos son ordenes para moi. En la sintaxis que me mola, AT&T XDXDXD
__asm
(
"movq $src,%%rsi \n\t"
"movq $srcLen,%%rbx \n\t"
"movq dest,%%rdi \n\t"
"xorq %%rax,%%rax \n\t"
"xorq rcx,rcx // CH and CL used \n\t"
"lea rbx,[rbx+rsi-3] \n\t"
"movq %%rax,$LZOldChain \n\t"
"movq %%rbx,$LZSrcBufEnd \n\t"
"movq %%rax,$LZChain \n\t"
"movq %%rax,$LZMaxIndex \n\t"
"movq %%rax,$LZCodeMask ;;LZCode es unsigned long \n\t"
"movq %%rax,$LZFreeIndex \n\t"
"movq MAX_BIT_INDEX-1,$LZCodeMask \n\t"
"movq MAX_BIT_INDEX,$LZMaxIndex //max index for 9 bits == 512 \n\t"
";Esto puede ser probrlemático\n\t"
"movq HASH_FREE,$LZFreeIndex //set index to 258"
"mov %al,$LZOldSuffix"
"mov BASE_BITS,%%ch"
"jmp GetCode"
...)
el resto por tu cuenta XD
Esto sería mas para un GAS (sin el "asm (", sólo con el código tal cual). Tal y como está estaría a medias.
Como me siento generoso, lo pongo de forma menos problemática y mas clara:
__asm
(
";;xorq %%rax,%%rax \n\t"
";;Versión rápida:\n\t mov $0,%%rax \n\t"
";;xorq rcx,rcx // CH and CL used \n\t"
";;movq $0,rcx \n\t"
"lea rbx,[rbx+rsi-3] \n\t"
:"=a"(LZOldChain),
"=b"(LZSrcBufEnd),
:"s"(src),
"b"(srcLen),
"d"(dest)
:"memory"
);
asm((volatile))(:""=a"(LZChain)::"memory);
asm((volatile))("=a"(LZMaxIndex")::"memory");
asm((volatile))("=a"(LZCodeMask")::"memory");
asm((volatile))("=a"(LZFreeIndex")::"memory");
LZCodeMask=MAX_BIT_INDEX-1;
LZMaxIndex=MAX_BIT_INDEX;
LZFreeIndex=HASH_FREE;
asm((volatile))("andq $-15,rax\n\t"::"a"(LZOldSuffix):"memory");
asm((volatile))("jmp GetCode\n\t"::"c"(BASE_BITS):"memory");
... y así en adelante.
Puede que me halla confundido en algo, es difícil editar el código en el navegador, pero para un GNU C con ensamblador incrustado sería tal que asín XD
Happy coding!!!!
^MiSaTo^
27/05/2016, 12:10
Otro lenguaje para hipsters que dentro de dos años habrá pasado de moda :-P troll troll
Sí justo eso. Solo que el lenguaje tiene ya 3 años, en Septiembre sale la versión 3 de hecho xD
Entro
Post de ElRana
No leo mas
ByeBye hilo, me parecias interesante
Entro, veo que es un post de Otto, me percato de que Otto es Otto al revés y no leo mas. Byb bye hilo, no parecías satánico... XDXD
-----Actualizado-----
El ensamblador de x86 32bits debería poder funcionar en x64 cambiando registros que se utilicen como punteros por los correspondientes registros de 64bits. P.E.: eax -> rax, esi -> rsi
Y los sufijos de las instrucciones, movq, movl, etc..
Recuerda que en x86_64 puedes mover 64bits, 32bits, 16bits u 8bits (ah, al, bh, bl, etc... aka "q")
No se debe cambiar a "casco porro" XD
IronArthur
27/05/2016, 12:16
¿No te vale con una rutina de descompresión LZ estándar? ¿O es que es ligeramente distinta? Yo de x86 poco si fuera 68000 te podría echar una mano.
Tus deseos son ordenes para moi. En la sintaxis que me mola, AT&T XDXDXD
__asm
(
"movq $src,%%rsi \n\t"
"movq $srcLen,%%rbx \n\t"
"movq dest,%%rdi \n\t"
"xorq %%rax,%%rax \n\t"
"xorq rcx,rcx // CH and CL used \n\t"
"lea rbx,[rbx+rsi-3] \n\t"
"movq %%rax,$LZOldChain \n\t"
"movq %%rbx,$LZSrcBufEnd \n\t"
"movq %%rax,$LZChain \n\t"
"movq %%rax,$LZMaxIndex \n\t"
"movq %%rax,$LZCodeMask ;;LZCode es unsigned long \n\t"
"movq %%rax,$LZFreeIndex \n\t"
"movq MAX_BIT_INDEX-1,$LZCodeMask \n\t"
"movq MAX_BIT_INDEX,$LZMaxIndex //max index for 9 bits == 512 \n\t"
";Esto puede ser probrlemático\n\t"
"movq HASH_FREE,$LZFreeIndex //set index to 258"
"mov %al,$LZOldSuffix"
"mov BASE_BITS,%%ch"
"jmp GetCode"
...)
el resto por tu cuenta XD
Esto sería mas para un GAS (sin el "asm (", sólo con el código tal cual). Tal y como está estaría a medias.
Como me siento generoso, lo pongo de forma menos problemática y mas clara:
__asm
(
";;xorq %%rax,%%rax \n\t"
";;Versión rápida:\n\t mov $0,%%rax \n\t"
";;xorq rcx,rcx // CH and CL used \n\t"
";;movq $0,rcx \n\t"
"lea rbx,[rbx+rsi-3] \n\t"
:"=a"(LZOldChain),
"=b"(LZSrcBufEnd),
:"s"(src),
"b"(srcLen),
"d"(dest)
:"memory"
);
asm((volatile))(:""=a"(LZChain)::"memory);
asm((volatile))("=a"(LZMaxIndex")::"memory");
asm((volatile))("=a"(LZCodeMask")::"memory");
asm((volatile))("=a"(LZFreeIndex")::"memory");
LZCodeMask=MAX_BIT_INDEX-1;
LZMaxIndex=MAX_BIT_INDEX;
LZFreeIndex=HASH_FREE;
asm((volatile))("andq $-15,rax\n\t"::"a"(LZOldSuffix):"memory");
asm((volatile))("jmp GetCode\n\t"::"c"(BASE_BITS):"memory");
... y así en adelante.
Puede que me halla confundido en algo, es difícil editar el código en el navegador, pero para un GNU C con ensamblador incrustado sería tal que asín XD
Happy coding!!!!
NO he entendido ni una linea :lol:
Estaré desmasiado institucionalizado pero el ensamblador y/o C++ con cochinadas de accesos directos de memoria me resulta lo mismo que el chino mandarín.
Salu2
Pues creo q no es estandar, la usaron en el Mechcommander 1 y 2. (de hecho esta es del codigo fuente del 2). Me hice en su dia un proyecto simple con implementaciones estándar de LZ en c#, que fui encontrando por google, para comparar resultados directamente con lo que sacaba esto y no habia forma. Aunque ya digo que de ensamblador y descompresión se lo justo para el trivial.
Simplemente es cambiando el e por el r? algo más de info sobre eso? Preferiría que fuera código compilado porque es más manejable pero supongo que puedo vivir con ello.
Salu2
No con eso sólo no te basta. Debas comprender las diferencias entre x86 y x86_64, de lo contrario, el código puede que compile, pero te dará errores pseudoaleatorios y problemas a miles.
Compra el libro "Los microprocesadores intel" de Prntice Hall, de Barry B. Brey (hablo de memoria) y luego consulta las normas DPMI 0.9 y 1.0, y posteriormente, sintaxis AT&T (GAS).
Con eso ya tienes formación básica para moverte bien en la arquitectura IBM-PC.
Happy coding!!!
bitrider
27/05/2016, 15:07
Y los sufijos de las instrucciones, movq, movl, etc..
Recuerda que en x86_64 puedes mover 64bits, 32bits, 16bits u 8bits (ah, al, bh, bl, etc... aka "q")
No se debe cambiar a "casco porro" XD
En la sintaxis intel la longitud de los operandos se infieren de los mismos y sí se puede realizar operaciones con 64, 32, 16 u 8 bits de la misma forma que en 32 bits se podía con 32, 16 u 8... de ahí el nuevo nombre de los registros cuando hace referencia a 64 bits (p.e. rax) y se mantiene la nomenclatura para 32 bits (eax), para 16 bits (ax) y para 8bits (ah y al según te refieras al byte alto o bajo del registro)
Por cierto, siento el off-topic y no vuelvo a responder a este hilo con off-topic. Si queréis se abre un hilo separado.
josepzin
27/05/2016, 15:30
JQuery vs VanillaJS
JQuery:
$('#menu_galeria a.foto').click( function()
{
gallery_init();
return false;
});
VanillaJS
var elements = document.getElementById("menu_galeria").getElementsByTagName('a');
for(var i = 0, len = elements.length; i < len; i++)
{
elements[i].onclick = function ()
{
gallery_init();
return false;
}
}
La verdad es que JQuery está muy bien y es muy cómodo, aunque le estoy echando un vistazo a cómo hacer lo mismo que hago habitualmente y constantemente usando sólo JS, a ver que tal.
bitrider
27/05/2016, 17:36
Creo que esos códigos no son 100% equivalentes. Al menos fuera de contexto.
Estopero
27/05/2016, 20:03
JQuery vs VanillaJS
JQuery:
$('#menu_galeria a.foto').click( function()
{
gallery_init();
return false;
});
VanillaJS
var elements = document.getElementById("menu_galeria").getElementsByTagName('a');
for(var i = 0, len = elements.length; i < len; i++)
{
elements[i].onclick = function ()
{
gallery_init();
return false;
}
}
La verdad es que JQuery está muy bien y es muy cómodo, aunque le estoy echando un vistazo a cómo hacer lo mismo que hago habitualmente y constantemente usando sólo JS, a ver que tal.
Son iguales salvo porque no estás cogiendo los enlaces que tengan la clase "foto", sino que estás cogiendo todos los enlaces de dentro del elemento "menu_galería"
Si te da igual que usuarios con Internet Explorer 8 o menos no puedan usar la funcionalidad, en VanillaJS yo escribiría tu función así:
var elements = document.querySelectorAll("menu_galeria a.foto");
for(var i = 0; i < elements.length; i++) {
elements[i].onclick = function (event){
event.preventDefault();
gallery_init();
}
}
Los métodos querySelector y querySelectorAll no se conocen mucho, pero seleccionan a partir de clases css igual que hace jQuery, salvo porque luego tienes que seguir recorriendo el array completo.
Además, en lugar de usar "return false", para evitar que se lance el evento por defecto de la acción, se debe usar event.preventDefault(), que funciona mejor, en más navegadores y en mayor cantidad de casos. Por ejemplo "return false" no funciona para evitar hacer un submit de un formulario en Chrome.
Y la variable "len" para recorrer el array... me sobra.
Saludos!
En la sintaxis intel la longitud de los operandos se infieren de los mismos y sí se puede realizar operaciones con 64, 32, 16 u 8 bits de la misma forma que en 32 bits se podía con 32, 16 u 8... de ahí el nuevo nombre de los registros cuando hace referencia a 64 bits (p.e. rax) y se mantiene la nomenclatura para 32 bits (eax), para 16 bits (ax) y para 8bits (ah y al según te refieras al byte alto o bajo del registro)
Por cierto, siento el off-topic y no vuelvo a responder a este hilo con off-topic. Si queréis se abre un hilo separado.
En realidad lo que ocurre es que el compilador asm intel "adivina" la longitud de los registros, y esto, según mi experiencia, puede dar lugar a problemas muy raros.
Ten en cuenta que movl y movq son 2 instrucciones distintas con sus opcodes distintos.
josepzin
29/05/2016, 18:21
Son iguales salvo porque no estás cogiendo los enlaces que tengan la clase "foto", sino que estás cogiendo todos los enlaces de dentro del elemento "menu_galería"
Si, esa clase "foto" sobra.
Si te da igual que usuarios con Internet Explorer 8 o menos no puedan usar la funcionalidad, en VanillaJS yo escribiría tu función así:
var elements = document.querySelectorAll("menu_galeria a.foto");
for(var i = 0; i < elements.length; i++) {
elements[i].onclick = function (event){
event.preventDefault();
gallery_init();
}
}
Prefiero curarme en salud, que nunca falta el que dice "a mi no me funciona" y ya se lia...
Los métodos querySelector y querySelectorAll no se conocen mucho, pero seleccionan a partir de clases css igual que hace jQuery, salvo porque luego tienes que seguir recorriendo el array completo.
Les daré un vistazo.
Además, en lugar de usar "return false", para evitar que se lance el evento por defecto de la acción, se debe usar event.preventDefault(), que funciona mejor, en más navegadores y en mayor cantidad de casos. Por ejemplo "return false" no funciona para evitar hacer un submit de un formulario en Chrome.
Pensaba que eran lo mismo... arreglado.
Y la variable "len" para recorrer el array... me sobra.
Anda, es cierto! copié ese código sin darme cuenta de eso :D
Gracias por los comentarios.
JQuery vs VanillaJS
JQuery:
$('#menu_galeria a.foto').click( function()
{
gallery_init();
return false;
});
VanillaJS
var elements = document.getElementById("menu_galeria").getElementsByTagName('a');
for(var i = 0, len = elements.length; i < len; i++)
{
elements[i].onclick = function ()
{
gallery_init();
return false;
}
}
La verdad es que JQuery está muy bien y es muy cómodo, aunque le estoy echando un vistazo a cómo hacer lo mismo que hago habitualmente y constantemente usando sólo JS, a ver que tal.
Eventos delegados y te quitas muchas feas costumbres que veo ahi
var galery = document.getElementById("menu_galeria"),
galeryClickHandler = function (evt) {
galleryInit();
return false; //evt.stopPropagation()?
};
// capture the bubbling event from the children, check the evt obj if you need to use the target who trigger the event
galery.addEventListener('click',galeryClickHandler );
// do it when the listener is not needed anymore
galery.removeEventListener('click',galeryClickHand ler);
PD. Empieza a usar ESLint ya, usa cualquiera de los preset que trae, la mayoria de los IDES modernos permiten cargarlo y te muestran errores inline
PD2. https://developer.mozilla.org/es/docs/Web/Events/click
PD3. https://developer.mozilla.org/es/docs/Web/API/Event/bubbles
PD4. https://developer.mozilla.org/es/docs/Web/API/Event/target
josepzin
31/05/2016, 21:28
Gracias, lo voy a probar.
Esto hace como un .each de jquery: document.getElementById("menu_galeria"), galeryClickHandler = function...
¿Cuál es la ventaja de usar "eventos delegados" sobre elemento.onclick?, por ejemplo.
Veo que Notepad++ tiene plugin JSlint, a ver si funciona.
Gracias, lo voy a probar.
Esto hace como un .each de jquery: document.getElementById("menu_galeria"), galeryClickHandler = function...
¿Cuál es la ventaja de usar "eventos delegados" sobre elemento.onclick?, por ejemplo.
Veo que Notepad++ tiene plugin JSlint, a ver si funciona.
No, un each de jquery es un iterador, se reemplaza por map de array
http://api.jquery.com/jquery.each/
vs
https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/map
Ventajas de asignar la funcion a una variable, usar un listener y delegar eventos a un elemento superior.
* Solo pones un listener para un nodo del arbol DOM, y no un listener por elemento. Menos consumo de memoria.
* No generas funciones en un bucle, codigo mucho mas rapido.
* Puedes eliminar el listener, ya que asignas la funcion handler en una variable. Si lo asignas en un bucle de iteracion puedes hacerlo... asignando las funciones a un array, y luego no toques nada en la lista.
* Usas listener en vez de sobreescribir la funcion del elemento. Me gustan mas los listeners, y creo que son menos propensos a los memory leaks.
En resumen, la delegacion de eventos consiste en capturar el evento no en cada elemento, algo inviable con listas,que pueden ser dinamicas, sino en un elemento ancestro.
Sobre JSlint... usa ESLint, y sobre Notepad++, o ha cambiado mucho o te recomiendo sublime, atom, visualcodestudio, webstorm, emacs, vi.... para el desarrollo moderno hay mejores herramientas actualmente que notepad++
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions Inc. All rights reserved.