« first day (2598 days earlier)      last day (501 days later) » 

12:26 AM
@Christian quitale el break al default(no tiene sentido que lo tenga)
Aqui les dejo una pregunta: es.stackoverflow.com/questions/573079/…
 
@DanielBriceño por qué? En todo caso el default también está demás.
 
Es la ultima declaracion, lo que significa que no tendrá mas case.
Mateo, makefiles es muy util, pero en el internet hay muy poca documentacion en español, ¿conoces alguna manera de hacer que el makefile busque los archivos y lo compile, sin que yo le ponga un nombre en especifico?
En el proyecto hay tantos codigo fuente que ya me da flojera escribir uno por uno en el makefiles
 
 
1 hour later…
1:46 AM
@DanielBriceño si pero Trauma dijo que le pusiera eso sino daba un warning, no me ha dado ningún warning pero igual prefiero dejarlo ahí por ahora
 
@Christian hay una manera dd mejorar la velocidad de los couts y la biblioteca iostream es.stackoverflow.com/questions/80658/lectura-cin-lenta
pero hay que dejar de usar stdio.h
Y también, ¿Como le haces para saber cuanto tiempo se ejecuto el programa
 
2:35 AM
@DanielBriceño usando time en linux, así
time ./main file.ae
@Trauma que tal esto:
    void run(vector<Token> &pgma, Variables &variables){
        using TokenHandler = std::function<void(vector<Token>::iterator&, vector<Token>&, Variables&)>;
        std::unordered_map<TokenType, TokenHandler> tokenHandlers = {
            {IDENTIFICADOR, &eval_identifier},
            {CONDICION, &eval_condicion},
            {FUNCION, &eval_func},
            {FOR, &eval_for},
        };

        std::for_each(pgma.begin(), pgma.end(), [&tokenHandlers, &pgma, &variables](Token& tk){
            auto it = tokenHandlers.find(tk.getTipo());
Utilicé a ChatGPT para que me diga como optimizar el código, no entiendo nada pero ojala funcione
La verdad casi funciona, solo da error al llamar al handler
 
2:54 AM
curioso el chatGPT ¿Donde lo descargaste?, me gustaría usarlo en vario proyecto.
 
Se usa desde su página web chat.openai.com/chat
Arreglé el error y por lo menos compiló, pero no me guarda las variables al parecer
 
Yo haría algunos cambios: pondría tokenHandlers como variable estática const, para ahorrarnos la lambda
por lo demás, correcto :-)
Es la forma clásica de manejar distintos manejadores con funciones especializadas
 
Dios mio, parece que no voy a tener trabajo
 
¿ Porqué ?
¿ Por chatGPT ? XDDDD
 
 
2:57 AM
Ni de broma. Aun le falta mucho
 
Cómo hago la variable estática?
 
¿ quien le pidió lo que necesitaba ? El no tiene imaginación ni visión global de nada
 
Cierto, pero hice mejor código que yo
 
@Christian Sácala fuera de la función, ponla al principio del archivo: static const std::unordered_map<TokenType, TokenHandler> tokenHandlers = { ...
Aunque creo que en ese caso tendrás que declarar las funciones antes, si no usas un .h
 
Entonces lo dejo adentro nomas
 
3:00 AM
Como quieras. Yo intento evitar las lambdas en la medida de lo posible
Pero no pasa nada tampoco, es casi mania
pero ponle el static const delante igual
 
Primero averiguo por que no me guarda las variables, luego voy refacctorizando
 
Hazme caso y ponle static const
gran diferencia de rendimiento
 
Al inicio del archivo?
 
No no, Tal y como lo tienes, solo ponselo delante
 
quito el using?
ya me perdí
 
3:02 AM
Tal y como lo tienes, tiene que crear un mapa nuevo cada vez que llamas a tu función ... aunque el mapa siempre es el mismo
ponle static const delante para que solo lo cree una vez
Bueno, static para que solo lo cree una vez, const para decirle que no se va a modificar
 
al unordered_map o al TokenHandler?
 
al unordered_map
 
petó el for_each
 
unordered_map es muy rápido en buscar ... pero muy lento al insertar
 
        vector<Token>::iterator iter = pgma.begin();
        std::for_each(pgma.begin(), pgma.end(), [&tokenHandlers, &pgma, &variables, &iter](Token& tk){
            auto it = tokenHandlers.find(tk.getTipo());
            if(it != tokenHandlers.end()){
                auto handler = it->second;
                handler(iter, pgma, variables);
            }
        });
 
3:04 AM
supongo que por la captura de la lambda
 
a variable with static storage duration cannot be captured in a lambda
Sip
 
quita el &tokenHandlers
 
listo
 
ya me estás pillando ... no se si en la lambda se pueden usar variables estáticas de función
¿ Compiló ?
 
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid
Abortado (`core' generado)
 
3:05 AM
un error muy chulo :-)
 
a mi me parece confuso
 
Si, lo es
no tengo claro porqué pasa ... algo de que estás accediendo a una std::string cuando no debes
 
Debe ser al momento en que capturo la excepción
 
ni idea
creo que me ha pasado alguna vez, pero en contexto que no tienen nada que ver con el tuyo
y no lo recuerdo, la verdad
Bueno @Christian, son las 04:09 hora local, voy a intentar dormir
Estoy resfriado y me he despertado con unas mocarreras tremendas :-(
 
jaja, lo siento por despertarte
 
3:10 AM
no no, si es el resfriado este de las narices (nunca mejor dicho)
Ya llevo como 15 paquetes de pañuelos hoy
 
Agua con miel y limón es la solución
 
Mejor en camita calentito :-)
Soy un clásico, que le voy a hacer
 
Dale, descansa
 
Enga, no te lies mucho con el código xDD
T'aluego :-)
 
Tengo a GPT, que ya te va dando la contra con usar static
El código que me has mostrado tiene un error en la línea 5. Cuando se declara una variable como static, significa que la variable se inicializará solo una vez y su valor se mantendrá a lo largo de todas las llamadas a la función en la que se declara. Sin embargo, en este caso, el diccionario que se está declarando como static es un objeto no constante, lo que significa que su contenido puede ser modificado. Esto es incorrecto ya que, al ser declarado como static, el diccionario se compartirá entre todas las llamadas a la función run, lo que podría causar errores si varias llamadas a la func
Sorpresivamente el tiempo no me ha mejorado, sigue siendo 15 seg
Bueno, ahora 14 seg
Es mejor colocar el tipo de dato o usar auto y dejar que el compilador infiera?
 
 
1 hour later…
4:48 AM
Miren esto. Parece que ambas personas son la misma o tienen alguna cercanía.
0
Q: ¿Cómo creo un array a partir de otro array c++?

BETTY RODRIGUEZ Estoy implementando un método de búsqueda al código para encontrar 8 reinas con metodo recursivo y quiero que se cree un array apartir de otro ya creado que lo usare como base para realizar la busqueda mediante una posicion por consola y numero de reina a buscar en el lenguaje C++.

0
Q: Cómo Guardar un array dentro de otro array lenguaje C++

Angelus InfernusHola a todos tengo el siguiente código el cuál es un función recursiva que obtiene todas las posibles soluciones para dibujar 8 reinas en un tablero de ajedrez sin que se maten entre si.. void reinas(int j) { //recursiva for(int i=0; i<8; i++) { tablero[j]=i; if(validarTablero(...

 
5:03 AM
C++ es raro...
19 seg ahora
 
We do not currently allow content pasted from ChatGPT on Stack Overflow; read our policy here. stackoverflow.com/help/gpt-policy
 
 
5 hours later…
9:56 AM
¿Qué opinan de esta pregunta? Pide que le hagan el código y tiene una respuesta que huele a chatGPT. es.stackoverflow.com/questions/573104/importar-csv-a-python
 
 
1 hour later…
11:01 AM
@Mateo Yo las veo distintas. Distintas partes de un mismo problema. Una quiere generar las 8 reinas (y no tiene codigo); la otra lo solucionó, pero no sabe como guardar los tableros.
 
 
1 hour later…
12:02 PM
Le mostre chatGPT a una química. Le hizo consultas sobre reacciones y quedo impresionada con la calidad de las respuesta. "100% correcto", dijo. Una explicación es que en Química no hay "aficionados", que todo el material disponible ha sido publicado por profesionales del tema, y adecuadamente revisado y validado.
Meanwhile, si hablamos de programación, hay muchisimo código disponible de baja calidad o simplemente erroneo. Si chatGPT aprende de eso, necesariamente aprenderá mal.
 
 
2 hours later…
1:42 PM
@Christian Hasta openAI nos negrea por ser venezolano:(
 
@CandidMoe cerrar por falta de un [mcve] o cerrar por no mostrar un mínimo de esfuerzo. Pero responder no es lo que yo haría. Pero ese soy yo, claro.
@DanielBriceño no sea que el gobierno lo use para sus propios intereses.
 
@MauricioContreras Dudo mucho que ellos lo hagan, con solo decirte que a las estudiantes les dicen estudianta...
 
1:57 PM
@CandidMoe otra explicación es que las fórmulas de reacciones son absolutas, algo así como las fórmulas de física. En cambio en programación no hay nada absoluto. Lo mismo calculas una secuencia de Fibonacci de forma recursiva o de forma iterativa, y aunque las estructuras de control son o están bien definidas en el lenguaje, tienen muchas maneras diferentes de aplicación y uso.
 
2:31 PM
@MauricioContreras Me ofenden las respuestas insatisfactorias, deficientes. Me veo obligado a responder para prevenir que alguien tome la mala respuesta como algo correcto. Pueden cerrar la pregunta después.
 
2:58 PM
@CandidMoe si viste los comentarios de la que no tiene código?
 
@CandidMoe entiendo tu frustración. Pero si se cierra la pregunta, la respuesta no será visible para la mayoría de usuarios del sitio. Y casi todos los que tenemos reputación para ver preguntas cerradas, pocas veces entraremos a ver las respuestas a las mismas. El sistema elimina tanto la pregunta cerrada como la respuesta o respuestas pasado un tiempo. Por eso, por más absurda o buena que sea una respuesta, si se cierra la pregunta, la respuesta se pierde.
 
@CandidMoe me diste la idea de preguntarle sobre física. Específicamente le pregunté Cuánto tiempo tarda en caer una pelota si la suelto a 4.9 m del suelo sin considerar la resistencia del aire y fuerzas externas?
Obtuve una respuesta correcta y 2 incorrectas
También le pregunté cuáles son las leyes de Maxwell y me dijo que la ley de Coulomb es una de ellas.
 
3:33 PM
@MauricioContreras Mis motivaciones son distintas; sólo busco "problemas" para resolver.
 
 
2 hours later…
5:21 PM
Bunas tarde, he estado mucho tiempo intentando compilar el programa creando archivos obj para despues unirlo a main, pero me sale este tipo de error C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./bin/OBJ/Env.o:Env.cpp:(.bss+0x0): multiple definition of `operaciones_igualdad[abi:cxx11]'; ./bin/OBJ/main.o:main.cpp:(.bss+0x20): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ./bin/OBJ/Env.o:Env.cpp:(.bss+0x40): multiple definition of `operaciones_aritmeticas[abi:cxx
Alguno conoce a que se debe,
Los compile haciendo g++ -c -o env.o env.cpp ...
g++ -o main.exe main.o env.o ...
El error solo me sale en variables globales y no se como solucionarlo
 
5:44 PM
Ya me rindo con el makefiles, @Christian ¿Que problemas hay actualmente con el programa?
 
Las variables globales solo se pueden declarar 1 vez, salvo que las pongas inline (en C++14, creo) o hagas perrerías con plantillas para simularlas
perdón, instanciar 1 vez
Seguro que las tienes en un .h y lo incluyes en varios archivos
 
Las declaras en el .h, pero las instancias solo en un .cpp. Y en el .h les pones delante extern
o les pones delante inline, si la versión de C++ que estais usando lo soporta
ah, las variables inline son a partir de C++17
 
¿Asi del archivo h?: extern std::string Operadores = "=(),.+-*/<>[];:!~";
 
nope
no puedes declararlas y darles valor en el mismo archivo
mejor intenta ponerle inline
inline std::string Operadores ...
si estás en C++17, con inline te funcionará
 
5:53 PM
Estoy usando c++20
 
pues entonces inline
 
@Trauma Si funciono gracias.
 
A mandar :-)
 
Aprovechando, tienes alguna idea de como resolver esto: es.stackoverflow.com/questions/573079/…
Ya lo resolvi colocando a mano todos los archivos obj en una variable y usar la caracteristica de makefile para recorrerla y repetir el mismo comando
Pero da un poco de curiosidad como se resolveria eso.
 
Tengo bastante olvidados los Makefiles, ultimamente solo uso CMake
dame un momento que lo piense
 
6:07 PM
@DanielBriceño Que se demora 16 seg para un ciclo for de 0 a 100000
 
¿Publicaste la modificaciones actuales de tu codigo en github?
 
Aún nop
Pero ahora lo hago
 
Mira, ya puse el makefile, ahora debe tardar menos la compilación(Claro despues de que se cree los archivos objetos)
@Trauma No, tranquilo, ya tengo todo hecho.
 
Guay
 
Ya hice el push
Pero sigue sin gustarme los 16 seg
 
6:17 PM
He visto interpretes que usan un for con 10000 para representar la espera de un segundo.
 
@Christian compra un Core i9 a ver si reduce el tiempo. XD
 
@DanielBriceño Y eso es exactamente lo que tarda python
@MauricioContreras como no se me ocurrió
la laptop que uso tiene más de 10 años, puede que también sea un factor
pero igual quiero reducirlo a unos 5 seg por lo menos
 
@Christian escríbelo en Assembly
XD
La verdad no sé exactamente lo que quieres hacer. Creo que has dicho algo de un bucle. Pero no sé para qué haces el bucle
 
Es un interprete
 
Es decir, no entiendo lo que pretendes hacer con un bucle tan largo.
 
6:24 PM
Verdad, si haces iterar x en 100000: START; imprimir(x);END; el tiempo se lo llevara la salida estándar.
Ya me retiro, chao.
 
6:39 PM
@MauricioContreras pretendo probar el rendimiento
 
6:50 PM
De verdad que ChatGPT ayuda demasiado
 
7:36 PM
Bueno, pues ya tenemos pila :-)
Ya vamos llegando a lo complicadillo ... formato binario portable
Supongo que lo mejor será alinearlo en bloques de 32 bits ... desperdiciará espacio, pero creo que es lo mejor para evitar errores de alineamiento
 
es.stackoverflow.com/questions/573144/… interesante ejercicio, pero lástima que su pregunta es de muy baja calidad
 
7:56 PM
@Cris223511.dev es un procedimiento bastante fácil. Supongo que es alguien que no tiene idea de donde está parado o simplemente es un holgazán.
 
Sí, es más, ya lo hice y lo tengo guardado por si intenta arreglar la pregunta xd
 
Gauss lo resolvio en el colegio
 
 
1 hour later…
9:05 PM
@CandidMoe conozco esa historia. Fue más astuto que su maestro
@Cris223511.dev supongo que te servirá para otra pregunta
 
@Trauma una lista enlazada es más eficiente que un vector?
 
9:26 PM
@Christian depende para que lo vayas a usar...
@Cris223511.dev me parece que la idea de esos ejercicios no es usar algo que hizo otro (reduce) si no, aprender algoritmos...
si no, no tiene ningun sentido el ejercicio....
 
@Christian ¿ Eficiente para que ?
Es mas rápida al insertar y/o remover no-al-final. A cambio, hace muchas mas reservas de memoria y es mas lento acceder a elementos individuales
 
9:41 PM
@Christian elimine la dependencia a stdio y hice que iostream no le interese la sincronización con stdio aumentando un poco la velocidad de la salida y entrada estándar.
 
@Christian depende de la implementación también. Idealmente reduces las llamadas a new o malloc, los constructores y destructores.
 
@Mateo ¿ Que una lista enlazada reduce las llamadas a new ? ¿ Osea, que hace menos reservas de memoria que un std::vector< > ?
O eso te he entendido yo
Ah, supongo que te refieres a menos llamadas a constructores, ya que los nodos no se mueven una vez creados. Vale, de acuerdo.
No es lo mismo llamadas a constructores que llamadas a new :-)
 
9:58 PM
@Trauma bueno. Me refería al hecho de reservar memoria
 
Pero el vector hace menos llamadas a new que una lista
la lista hace un new por cada nodo
el vector solo llama a new si no tiene espacio, y puede reservar mas del necesario para minimizar llamadas
 
@Trauma la cuestión es que si sabes que vas a usar 1 millón de objetos, es mejor reservar memoria para todos de una sola vez que hacerlo una vez por objeto
 
correcto. vector.reserve( ) es nuestro amigo :-)
 
@Trauma cada contenedor de STL es diferente conceptualmente. No necesariamente en cuanto a la implementación.
 
es lo malo de la STL, que deja muchas cosas dependientes de la implementación
 
10:02 PM
Otra cosa que escuché que es lenta, es copiar objetos. Por defecto push_back genera una o varias copias del objeto hasta asignarlo. Por eso existe emplace_back.
 
si, claro. la semántica de movimiento ha sido historiacamente la gran carencia del C++
 
Por ejemplo stack está implementado sobre otra estructura. Un deque por defecto. en.cppreference.com/w/cpp/container/stack
 
porque stack no es una clase en si misma, es un adaptador
 
Claro, digamos que existe por una cuestión conceptual
 
correcto :-)
un vector es perfecto para implementar una pila, un deque es perfecto para las colas
y creo que nunca jamás he usado deque en un código mio jeje
la última cola que hice, la basé en un vector
pero porque realmente el orden era irrelevante
 
10:08 PM
Quizá te interese saber que hace un tiempo hice algunas implementaciones de linked list
 
creo que nunca he hecho ninguna propia, con la STL me suele vastar
jo, con v ... voy apañado ...
bastar jejeje
 
Estos son los resultados
Pushing to std::list<int>
It took 641800ns

Pushing to SimpleLinkedList<int>
It took 185840900ns

Pushing to LinkedList<int>
It took 136600ns
10000 bytes in use
10000 bytes allocated

Pushing to LinkedList<int, 32>
It took 100300ns
10000 bytes in use
10016 bytes allocated
 
Disparidad entre memoria usada y reservada ... ¿ usas un allocator propio ?
 
Uso un allocator pero no propio
 
¿ ?
 
10:11 PM
SimpleLinkedList sigue la filosofía de un LinkedList clásico. Por cada elemento se reserva memoria (puedes notar lo terriblemente lento que es)
 
bastante mas que el LinkedList, si
 
@Trauma El segundo parámetro del LinkedList lo uso en un allocator: m_alloc.allocate(32)
 
ah, guay :-)
 
Básicamente reservo memoria para varios elementos al mismo tiempo
 
si, conozco el concepto. Tengo alguno por ahí, basado en un vector, que reutiliza los espacios libres
 
10:13 PM
Creo que 32 fue la mejor cantidad que encontré
En este caso hice que reserve bloques de 32 elementos.
 
alguna combinación entre tamaño de palabra, de página y de nodo, seguramente
 
Si miraras en que posición se encuentran los primeros 32, estarían en una región de memoria diferente que los siguientes 32 y así.
 
ok, se como va. Durante un tiempo mi obsesión fué minimar las llamadas a alloc
 
Eso sí. Luego me toca llamar al constructor manualmente
 
claro, usando el placement-new ¿no ?
bueno, o el construct o como se llame del allocator
 
10:16 PM
@Trauma exacto
 
ya te digo que durante un tiempo me obsesioné con la gestión de memoria
 
@Trauma me olvidé de él. No creo que haga demasiada diferencia
 
Lo que hace falta es un campeonato de programación entre lenguajes.
 
afortunadamente, ya se me pasó ... mas o menos
 
@Trauma jajajaja
 
10:16 PM
@CandidMoe Python perdería en casi todo ;-p
menos en tamaño del código, claro xDD
 
@CandidMoe en qué sentido? Hablando de rendimiento C++ es el rey indiscutible. Quizá Rust sea un buen contrincante.
 
Acepto el desafio. Que alguien proponga un problema.
@Mateo Tanto hablar del rendimiento y los veo pegados por semanas en problemas que en Python no existen.
 
@CandidMoe python ganaría en tiemp de desarrollo y tamaño del código fuente
 
Te diría que Assembly es mucho mejor pero si programar en C++ es una pérdida de tiempo ni te imaginas en Assembly.
 
¿Assembler?
 
10:18 PM
Además que el compilador de C++ es mejor generando código que escribiendo Assembly a mano
@CandidMoe ese es el "compilador" de assembly
@CandidMoe por ejemplo? Administración de memoria?
Eso supongo que sí. Realmente no te preocupas de eso en los lenguajes de alto nivel
 
En python no existen porque no hay alternativas. Hay que hacerlo como él diga
una simple lista enlazada, aquí llevabamos ya un rato viendo las diferentes alternativas
en python, esa conversación no sería posible
 
@Trauma Eso. Se la pasan analizando las alternativas, que vector, que dequeue, etc. y se tardan 10x en producir un código inseguro y complicado.
 
Ok ... pero x1000 mas rápido
Cada uno en lo suyo :-)
 
Dejo el desafio lanzado. Python contra C++.
 
jejeje ... enga, que alguien proponga el objetivo
 
10:24 PM
Avisen
 
jejeje
 
Nota histórica: Assembler fue uno de los primeros lenguajes disponible. Programabas usando códigos nemotecnicos que el programa Assembler transformada en lenguaje de máquina.
Desafio: se puede elegir un micro-lenguaje de los cientos que hay en code golf y construir un interprete para él. Software de sistemas, debería ser pan comido para C++.
5
 
¿ Y quien gana ?
No me digan que gana el que lo desarrolle antes, porque ahí python tiene ventaja
 
El que tenga mejor velocidad y sea mas detallado.
Yo tambien participo. Voy con python:
//Espero que @christian no lo vea
 
Enga, que me ha entrado el subidón ... ¿ Que hos parece GolfScript ?
Simple, basado en pila, parece que turing completo
 
10:33 PM
Supongo que lo haré en estos días
@CandidMoe por qué no usamos el mismo? Así podemos comparar los códigos que escribamos.
 
Yo estaré liadillo esta semana ... el compy se va de vacas, me quedo solo en el curro
pero algún huequecillo habrá
 
Ese golfscript tiene una sintaxis muy compleja, ¿Porque no pseint? pseint.sourceforge.net/index.php?page=pseudocodigo.php
 
@Trauma De eso se trata !!! De tener una pronta solución, algo que funcione ahora que lo necesite y no en tres meses más.
 
jejeje ... pero es válido en algunos sitios. A los del banco donde curro, no les importa tardar 3 meses en hacer algo ... pero luego cronometran los nanosegundos que tardan las cosas XDD
 
@DanielBriceño sino hagamos un lenguaje de no-programación. Que solo evalúe expresiones matemáticas y haya funciones del tipo: abs, pow, sqrt, floor, ceil, sin, cos y así. También podríamos agregar la posibilidad de declarar variables.
 
10:37 PM
@Trauma Prefiero un banco que no use código susceptible de buffer overflow.
 
@CandidMoe No no, tranqui. Si los tests que nos obligan a hacer son muchos mas grandes que el propio código xDD
 
asi empieza todo, los script lo que lo diferencia es que pueden leer y escribir archivo.
 
1 dia para hacer un cliente GET de HTTP, 1 semana para testearlo xDD
 
@Trauma como se supone que hagas eso? Con sockets?
 
si, claro. Usando HTTPLib
NO me dejaron usar libuv :'-(
para win32, win64 y Linux
La HTTPLib te lo da todo hecho, en realidad. La mayoría del código era lanzar excepciones comprobando las peticiones de usuario XDD
 
10:41 PM
Pregunta, ¿Cuales son los requisitos para el script que van a hacer?, me gustaria participar porque hoy temprano se me vino la idea de hacer uno.
 
@DanielBriceño ni idea. Supongo que aún hay que definirlo
 
A mi ha gustado el GolfScript ese ... siempre me gustó la Notación Polaca Inversa
 
@Trauma Si GolfScript te parece adecuado, pues vamos con eso.
 
Ok :-D
 
Empiezo ahora.
 
10:44 PM
Tengo pendiente crear un evaluador de operaciones matemáticas. Todavía me peleo con eso del lexer y demás
 
@CandidMoe ¡ Tio ! Estoy viendo Dragon Dogma Absolution en Netflix ahora mismo
Ya empezaré mañana xD
 
OK. Yo empiezo ahora.
 
jejeje ... ¡ Dale !
 
¿Tambien debe tener la capacidad de ejecutar codigo ruby?
Las cadenas ' y " se analizan usando el análisis de cadenas de ruby, a través de eval. Por lo tanto, es posible ejecutar el código de ruby ​​en GolfScript haciendo algo como esto:
" La hora es # { Hora . ahora } " -> " La hora es el martes 11 de diciembre 12:59:27 -0500 2007"
 
¡ Otia !
 
10:51 PM
Je.
 
No, eso no ... pero no se como afectará el no poder hacerlo
no vamos a hacer un ruby completo
Habrá que pensar en otro
 
Bueno voy con c++
no, ese esta bien.
 
Burno, id dándole una repensada, que yo marcho ya. Mañana leo lo que digais. Por si decidís otra cosa.
 
Qué tal Ring? ring-lang.github.io @DanielBriceño @Trauma @CandidMoe
 
10:56 PM
Yo no opino, hare el lenguaje que ustedes decidan(No conozco muchos lenguajes)
 
A ver qué la idea es que sea simple
 
@Trauma Estamos igual, no se Ruby, pero programo lo que pongan por delante, asi que codegolf.
 
Sino hacemos un compilador de C y estamos hasta el año que viene
Por cierto, prefieren que creemos un chat para el desafío?
 
11:18 PM
:v
 

« first day (2598 days earlier)      last day (501 days later) »