User Tag List

Página 5 de 6 PrimerPrimer 123456 ÚltimoÚltimo
Resultados 61 al 75 de 83

Tema: ¿Programadores de Ruby en el foro?

  1. #61

    Fecha de ingreso
    Nov 2005
    Ubicación
    Madrid
    Mensajes
    4,183
    Mencionado
    16 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    56
    Agradecer Thanks Received 
    253
    Thanked in
    Agradecido 154 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Anarchy Ver mensaje
    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

  2. #62

    Fecha de ingreso
    Apr 2006
    Ubicación
    Northlands (~Donosti)
    Mensajes
    4,867
    Mencionado
    29 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    27
    Agradecer Thanks Received 
    184
    Thanked in
    Agradecido 144 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    ¿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.

    Cita Iniciado por bitrider Ver mensaje
    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

    “I have seen things in the original DOTA that you people wouldn’t believe”. “I have seen Windrunner attack Techies off the bank of the upper river and die; I have seen heroes on fire off the shoulder of the Tree of Life. I watched spells glitter in the dark near the enemy base. All those moments are lost in battle, like… items off a courier in an AOE nuke.”

  3. #63

    Fecha de ingreso
    Sep 2001
    Mensajes
    23,077
    Mencionado
    406 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    98
    Agradecer Thanks Received 
    1,199
    Thanked in
    Agradecido 503 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    9
    Cita Iniciado por Estopero Ver mensaje
    En resumen, deja las clases de ruby y ponte con node.js xD
    Estoy haciendo un grado superior de programación, así que no puedo dejarlas. No es un cursillo.
    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.
    Última edición por Anarchy; 27/05/2016 a las 11:42

  4. #64

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Anarchy Ver mensaje
    Estoy haciendo un grado superior de programación, así que no puedo dejarlas. No es un cursillo.
    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

  5. #65

    Fecha de ingreso
    Sep 2001
    Mensajes
    23,077
    Mencionado
    406 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    98
    Agradecer Thanks Received 
    1,199
    Thanked in
    Agradecido 503 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    9
    Cita Iniciado por ^MiSaTo^ Ver mensaje
    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.

  6. #66

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Anarchy Ver mensaje
    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.
    Pues nada olvida todo lo que sepas de Obj-C porque Swift es otro paradigma incluso xD

  7. #67

    Fecha de ingreso
    Sep 2001
    Mensajes
    23,077
    Mencionado
    406 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    98
    Agradecer Thanks Received 
    1,199
    Thanked in
    Agradecido 503 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    9
    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

  8. #68

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Anarchy Ver mensaje
    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.

  9. #69

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    23,722
    Mencionado
    276 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    6,016
    Agradecer Thanks Received 
    5,868
    Thanked in
    Agradecido 3,825 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    Otro lenguaje para hipsters que dentro de dos años habrá pasado de moda :-P troll troll

  10. #70

    Fecha de ingreso
    Jun 2013
    Mensajes
    484
    Mencionado
    18 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    281
    Agradecer Thanks Received 
    88
    Thanked in
    Agradecido 71 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por IronArthur Ver mensaje
    Me traduces un codigo de ensamblador aunque sea a C???

    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/mechcomm...b/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!!!!

  11. #71

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por josepzin Ver mensaje
    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

  12. #72

    Fecha de ingreso
    Jun 2013
    Mensajes
    484
    Mencionado
    18 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    281
    Agradecer Thanks Received 
    88
    Thanked in
    Agradecido 71 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por otto_xd Ver mensaje
    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-----

    Cita Iniciado por bitrider Ver mensaje
    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

  13. #73

    Fecha de ingreso
    Apr 2006
    Ubicación
    Northlands (~Donosti)
    Mensajes
    4,867
    Mencionado
    29 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    27
    Agradecer Thanks Received 
    184
    Thanked in
    Agradecido 144 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    ¿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.
    Cita Iniciado por ElRana Ver mensaje
    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

    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

    “I have seen things in the original DOTA that you people wouldn’t believe”. “I have seen Windrunner attack Techies off the bank of the upper river and die; I have seen heroes on fire off the shoulder of the Tree of Life. I watched spells glitter in the dark near the enemy base. All those moments are lost in battle, like… items off a courier in an AOE nuke.”

  14. #74

    Fecha de ingreso
    Jun 2013
    Mensajes
    484
    Mencionado
    18 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    281
    Agradecer Thanks Received 
    88
    Thanked in
    Agradecido 71 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por IronArthur Ver mensaje
    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!!!

  15. #75

    Fecha de ingreso
    Apr 2004
    Mensajes
    1,010
    Mencionado
    39 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    119
    Agradecer Thanks Received 
    95
    Thanked in
    Agradecido 68 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por ElRana Ver mensaje
    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.
    make -f Makefile.wiz

Página 5 de 6 PrimerPrimer 123456 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •