« first day (2002 days earlier)      last day (1097 days later) » 

7:02 PM
Es cierto que Java es tan espeluznante como la gente lo pinta?
 
No mucho
es que es orientado a objetos al 100%
eso es muy estresante
a la gente le gusta poder resolver los problemas de varias formas, en java solo se puede con clases (fundamentalmente)
0
A: DICCIONARIOS, IMPRESIÓN DE UNA FICHA

Nicolás CastellanosEl valor de i es un string porque estas sacándolo de una lista de strings. Quita las comillas de los elementos de la lista de estudiantes para que sean los nombres de los estudiantes: lista_estudiantes=[lloyd,alice,tyler] def ficha(): for i in lista_estudiantes: print '' pr...

Voten por mi respuesta ahi!
 
7:31 PM
@FranAcuna No, no se porque a la gente no les gusta java. Pero a mi me gusta y su clase String es por mucho superior a la clase String de C++, El ploblema de java es que es muy limitado. Pero lo bueno es que un codigo java puede ejecutarse en cualquier aparato que tenga una maquina virtual, sin hacer una modificacio al codigo fuente.
Pero lo que no me gusta es que cuando tenia la maquina virtual se me paralizaba la computadora, y esa fué la razon de porque lo dejé.
 
Con razon android es relativamente lento
porque todo lo usa con JVM
 
Puede ser. Pero recuerda android esta hecho para ejecutar Java y la pc no(aunque depende de la pc). Si es lento debe ser por otra cosa.
 
ah
uy subiste mucha reputacion ya
 
no.
La regalé.:)
 
si
ahorita tenias como 300
 
7:37 PM
23 secs ago, by Daniel Briceño
La regalé.:)
 
@DanielBriceño en donde?
 
No, tenia un problema que me estaba sacando canas verdes y puse una pregunta.
Y esa pregunta tardó mucho tiempo sin responder
Y puse una recompensa que casí me deja sin puntos y listo ya tengo la respuesta.
:)
 
Hola gente! queria hacer una consulta quiza un poco basica pero a la cual no pude encontrar respUesta. Estoy comenzando a programar en C, por lo cual, abro proyecto, cuando compilo guardo el archivos fuente,y hasta ahi todo bien, pero cuando quiero agregar otro archivo fuente dentro del mismo proycto me salta un choclo en una pestaña de Makefiles o algo asi.
 
@Lauchamoral ¿Cual es el error?.
 
7:41 PM
No deberias empezar por IDES
 
Como tengo varios ejercicios, queria ir resolviendo cada uno en un archivos fuente y que queden dentro del proyecto
 
Que sistema operativo tienes
 
@DanielBriceño Ahi lo copio, aunque es bastante grande
 
es que los proyectos entrelazan todos los archivos entre si, debes usar el compilador y a parte el editor de texto
@Lauchamoral Que sistema operativo tienes?
 
@Lauchamoral Te recomiendo que descargues GCC, he recivido muchos ploblemas con los IDES, pero con GCC no.
 
7:44 PM
@DanielBriceño Tego windows
# Project: Ejercicio02
# Makefile created by Dev-C++ 5.11

CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
OBJ = Ejercicio02.o prueba.o
LINKOBJ = Ejercicio02.o prueba.o
LIBS = -L"C:/Users/B/Desktop/Laucha/Programas/DevC/Dev-Cpp/MinGW64/lib" -L"C:/Users/B/Desktop/Laucha/Programas/DevC/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib" -static-libgcc
INCS = -I"C:/Users/B/Desktop/Laucha/Programas/DevC/Dev-Cpp/MinGW64/include" -I"C:/Users/B/Desktop/Laucha/Programas/DevC/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Users/B/Desktop/Laucha/Programas/DevC/Dev-Cpp/MinGW64/lib/gc
@DanielBriceño Ese es el error
Mi consulta apunta basicamente a que si puedo guardar dentro de un proyecto varios archivos fuente, cada uno con el coodigo de los ejrcicios resueltos, para no tener que estar abriendo un proyecto por cada uno
 
@Lauchamoral ¿Modificaste a mano el archivo make files.
?
 
@DanielBriceño No, cuando voy a compilar el nuevo archivo que quiero agregar al proyecto directamente se abre la pestaña makefile.win con todo ese choclo, que intente entender el error, pero no hubo caso
 
No creo que sea la solucion, pero intenta eliminar el archivo makefiles y vuelve a crea un nuevo proyecto. Agregando los encabezados anteriores.
 
@DanielBriceño Sabes de java?
public class Classes
{
	Public Classes(String message)
	{
		System.out.println(message);
	}

	public static void main(String[] args)
	{
		Classes MyNewClass = new Classes("Hello, Java!"); // Create an instance of the class
	}
}
Esa porquería no compila
ah ya
tenía el public en mayuscula
 
8:00 PM
cuando algo no les compila, el ide no le lanza el porque?
 
Estoy usando sublime text, y la correccion de errores de javac no es muy avanzada
 
@NicolásCastellanos y porque no usas una ide?
 
porque no me gusta
quiero usar sublime text
solo necesito JDK, JRE y Sublime Text
 
@NicolásCastellanos o sea.. no te gusta que un sistema diseñado por montones de usuarios a traves de 30 años evite que cometas esos errores y pierdas un buen rato para solucionarlos?
 
@gbianchi Hola, el id me tiraba error, pero no podia entender a que hacia referencia
 
8:02 PM
mas o menos no
 
@NicolásCastellanos bueno.. tu problema...
 
Voy a seguir haciendo los ejercicios que tendo abriendo un proyecto por cada uno, para no quedar trabado con esto, y despues seguire indagando
 
Estas creando una instancia de una clase estatica, @NicolásCastellanos
 
@NicolásCastellanos cuando tengas un proeycto complicado, no te quiero ver llorar eh... :p
 
8:03 PM
@DanielBriceño Tenía el public escrito mal
@gbianchi Pues en ese caso si usaría un IDE
Por lo pronto solo estoy aprendiendo
 
Si.
@gbianchi Hay IDEs que con el tiempo dejan de funcionar
@Lauchamoral Como el caso de dev-cpp
Fué mi primer IDEs y por alguna razon me dejaba de funcionar. Y se que no era por el código:
#include <stdio.h>
int main(){
printf("Fin");
return 0;
}
Con el tiempo dejo de funcionar y aunque desintale dev-cpp y lo vuelva a instalar no me sirvió.
 
@NicolásCastellanos y.. se puede aprender en la comodidad de una ide, con procesos de debug y todo...
 
Pues si me ahorras tiempo y me dices cual IDE es mejor, lo instalo
Eclipse no me gusto .-.
 
@NicolásCastellanos no hay mejor.. hay la que te sienta mas comoda...
 
y cual me recomiendas?
 
8:11 PM
@NicolásCastellanos ninguna.. la que te haga sentir comodo..
yo uso visual studio para unas cosas
visual studio code para otras
y eclipse para otras...
 
pero para eso tendria que probar muchos IDES
Voy a probar netbeans
 
@gbianchi Cual es la diferencia entre Visual Studio y Visual Studio Code.
 
Yo la puedo responder?
 
@NicolásCastellanos dale
 
VS es un IDE para .NET y VSC es un editor de texto.
o creo que VS tambien sirve para otras cosas, no solo para .NET
 
8:14 PM
@NicolásCastellanos Yo uso notepad++
 
Yo lo usé una vez
 
@DanielBriceño y porque? y como haces debug?
 
Uso la opcion de ejecutar y hago un archivo bat
ejecutar_C.bat "$(FULL_CURRENT_PATH)"
 
No sabia que se puede hacer
 
@DanielBriceño pero eso es para compilar y ejecutar.. y debuguear?
 
8:19 PM
Porque no me deja convertir el 10 a Byte?
que yo sepa se puede poner asi nomas, no hay que poner prefijos o si?
eso es para Long y Float
Byte es un tipo de dato numérico, y 10 está en el rango de Byte
 
Ya reglesé.
 
reglesaste
 
@gbianchi en el caso de MinGW trae un ejecutable que creo que se llama db que es para eso.
@NicolásCastellanos Estaba atendiendo la bodega.
 
bytes es un tipo de dato de 120 a -120
Creo.
 
8:22 PM
-127 a 128
 
yo les voy a dejar esto picando.. si todos los que trabajamos en esto, desde hace mas de 20 años, trabajamos con ides para hacer absolutamente todo... debe ser por algo no? porque tengan en cuenta, que algunos no teniamos nada de nada cuando empezamos a programar.. y por algo evolucionamos a una ide.. cualquiera...
piensenlo cuando decidan que no quieren usar una ide
 
Si, el ides...... Code block.
Es el mejor ide que tube, pero el problema es que pesa bastante.
 
netbeans sirve para c
espilce tambien
 
No pienso en descargar otro ides. Y por favor borra el nombre de eclipse de aqui.
Estoy muy molesto con ese ide.
XD
 
Int es igual que int en java lol
 
8:27 PM
@gbianchi ¿Tienes 20años programando?
 
@DanielBriceño no
muchos mas
 
Y cual lenguaje fué el mejor.
Ya yo me voy, que tengan un buen dia.
 
Brainfucker xd
Bueno chao
ufff menos mal que muchas cosas de Java son parecidas a las de C
@padaleiana Hola!
 
Buenas
 
java no tiene else if?
@gbianchi hagamos una cosa, te voy a decir como creo yo que se ejecutan los programas de java y tu me dices si estoy bien
Los archivos generados por javac son clases compiladas que el JRE puede interpretar, por lo cual no se esta escribiendo un programa sino una clase que el programa (JRE) ejecuta
 
8:40 PM
@NicolásCastellanos Tiene, lo que no tiene es elsif
 
8:53 PM
@padaleiana que es elsif?
@NicolásCastellanos no compila a bytecode?
 
si pero ese bytecode lo lee JVM
entonces es como si lo interpretara
 
@NicolásCastellanos ponele que si...
pero seguro esta perfectamente explicado en algun lugar de internet
 
9:23 PM
@padaleiana Quieres decir elif?
@NicolásCastellanos Más bien habría que verlo como que javac compila código Java y lo convierte a código máquina de una CPU que no existe
y JRE es el "emulador" de esa CPU
y en realidad no hay razón que impida construir de verdad una CPU que ejecute nativamente bytecode java. De hecho creo que se está haciendo o se ha hecho
 
Ya regresé. @abulafia existe una forma de aseder a un registro frag con C.
 
flag?
 
puedes embeber ASM en un programa C. Naturalmente eso hará que el programa sólo compile para una CPU en particular
 
Si, eso lo que me fastidia de aprender esamblador, pero existe una forma con solo C sin usar esamblador.
 
9:32 PM
por otro lado, los flags de la cpu cambian con cada operación que se va realizando en ella (en especial los flags Z, C, O, S) por lo que tampoco veo muy útil meter una instrución asm en medio de un programa C para consultar un flag, pues el valor de ese flag dependerá de qué instrucciones ASM hizo justo antes (las cuales no controlas porque son las generadas por el compilador)
no, no existe porque los flags son también dependientes de la arquitectura de la CPU.
C es un lenguaje que no depende de qué CPU lo ejecute, por lo que no puede tener flags
 
Que mal, he escuchado que linux esta hecho en C lo cual me sorprende. Pensé que solo con esamblador se puede hacer un OS
 
Linux está hecho en su mayor parte en C, sí. Pero sólo con C puro no puedes. Habrá partes en ensamblador
una vez has escrito en ASM los trozos que acceden directamente al hardware, puedes escribir programas en C que invoquen esos trozos cuando lo necesites
así pasas a más alto nivel lo antes posible
 
Eso esprica.
 
C hace posible (y sencillo) mezclar en un solo ejecutable trozos escritos en C y trozos escritos en ASM y llamar de uno a otro
 
Hay un registro que por el momento me interesa, creo que se llama if.
Su uso es para capturar evento del hadware.
Cuando esta en 1
 
9:38 PM
no hay registro IF que yo conozca. Lo que sí hay es el Interruption Flag, que es un bit dentro de FLAGS. Te refieres a ese?
ese bit se usa como máscara sobre la línea INT
si ese bit es 0, la línea INT no "molestará" nunca a la CPU, porque lo que a la CPU le llega es el resultado de INT and IF. Y si IF es 0, le llega siempre 0
si ese bit es 1, entonces a la CPU llegará lo que haya en la línea INT. Si hay 0, le llega 0. Si hay 1 le llega 1
cuando a la cpu le llega un 1 de la línea INT, detiene lo que estuviera haciendo y saltará a una rutina específica de tratamiento de interrupciones
eso está relacionado con atender peticiones de dispositivos de E/S
 
.... Por eso cada ves que llamo la intruccion int el programa se detiene y tarda mucho.
 
En la arquitectura x86 puedes manipular el bit IF con las instrucciones STI (que lo pone a 1) o CLI (que lo pone a 0)
la instrucción INT no tiene mucho que ver con lo que te acabo de contar
las interrupciones hardware que llegan a la CPU por la línea INT ocurren en cualquier momento, con independencia de lo que se esté ejecutando en ese momento
son como si alguien llamara a tu puerta, no puedes controlar cuándo ocurrirá
la instrucción INT en cambio es una instrucción más que puedes poner en tu programa cuando quieras, por tanto esa sí está bajo tu control
 
@abulafia también. Había dicho elsif porque en mi mente estaba PL/SQL
 
lo que tienen en común la línea INT y la instrucción INT es que el mecanismo que usan para abandonar el programa en ejecución y saltar a otra parte de la memoria, es el mismo
así como el mecanismo para retornar al programa abandonado también es el mismo (instrucción IRET)
 
RET lo veo como return. Y cual registro se actera al llamar a esta intruccion.
 
9:45 PM
RET altera dos registros: El puntero de pila (porque saca un dato de la pila, en particular saca de ahí la dirección a la que tiene que saltar), y el puntero de instrucción (porque es donde mete el dato que acaba de sacar de la pila)
Una analogía. Estás leyendo un libro y de pronto te dice "Salta a la página 212 para volver después aquí"
lo que haces es apuntar en un papel (la pila) la página en la que estabas
después saltas a la página 212
continúas la lectura y cuando diga "Vuelve a la página en que estabas" (lo que sería un RET) lo que harás será sacar del papel (la pila) el número que habías apuntado
para poder volver allí
 
@DanielBriceño Interesante
 
lo mismo ocurre con la instrucción CALL. Guarda en la pila el valor que en ese momento tiene el contador de programa, o puntero de instrucción IP, y salta
y cuando se encuentra RET; toma de la pila lo que haya allí, lo guarda en IP y continúa
 
Call es la llamada a una funcion verdad.
 
es lo más parecido que tienes en asm a una llamada a función
en realidad es un salto a otro lugar, pero previamente guardando por dónde ibas para poder retornar
una llamada a una función normalmente involucra algo más que un mero salto. Hay también un paso de parámetros, pero en asm no hay tal cosa. Si quieres pasar parámetros tienes que inventar cómo
por ejemplo preparar ciertos datos en ciertos registros antes de saltar
 
Y cuando llega a la intruccion ret regresa a donde estaba antes ¿Verdad?.
 
9:50 PM
si, pero es más "tonto" que todo eso. No sabe dónde estaba antes
así que simplemente toma lo que haya en la cima de la pila en ese instante y lo usa como la dirección por la que seguir
 
Si cuando cambias el registro eax para llamar a la funcion _printf de c.
 
¿conoces las instrucciones PUSH y POP?
pues un CALL rutina básicamente equivale a: PUSH IP; JMP rutina
mientras que RET equivale básicamente a POP IP
 
No lo sé solo se que realentiza el programa.
 
jajaja
todo te ralentiza el programa a ti!
 
Estoy solo por el comienso.
Por ejemplo: La intruccion loop
 
9:52 PM
a ver, todas las instrucciones que escribes llevan un tiempo. Ninguna instrucción se ejecuta instantáneamente. Por tanto todas las instrucciones "ralentizan el programa" si quieres verlo así. Pero no te queda más remedio que ponerlas!
sin instrucciones no hay programa!
 
Pregunta: Por que existe loop.
El la combinacion de cmp y jmp
 
no es mala pregunta
podrías quitar esa instrucción del lenguaje asm del x86 y aún así podrías seguir escribiendo programas. Cambia loop etiqueta por esto otro:
 
Lo malo que no me permite usar el mismo nombre la etiqueta:inicio: \n loop inicio \n inicio: \n loop inicio
 
DEC CX
JNZ etiqueta
la arquitectura intel tiene muchas instrucciones así, que no serían necesarias porque se puede hacer lo mismo de otra forma. Sin embargo esas instrucciones existen porque permiten hacer en una sola instrucción cosas que son muy comunes en todos los programas
asi que puedes escribir programas ligeramente más cortos, y también ligeramente más rápidos cuando las usas
 
Ya me tengo que ir, chao.
 
9:56 PM
yo iba a decir lo mismo :-)
hasta otra!
 
 
1 hour later…
11:06 PM
Hasta la proxima. @abulafia
@gbianchi investigué un poco y encontré que se puede depurar un programa C de esta manera:
gcc -g -Wall main.c -o main.exe
Y usamos gdb
gdb main.exe
Creamos nuestro archivo depurar_c.bat
@echo off
 
@DanielBriceño eso no es depurar...
eso es sacar los simbolos del sistema al sistema operativo.. mi papa lo hacia en 1970
 
¿No lo es?
 
ahora podes seguir paso a paso tu codigo, y ver que tiene cada variable en cada momento...
 
... Ya veo, ¿Eso es posible?
 
@DanielBriceño que cosa?
 
11:14 PM
Ver el valor de las variable en cada momento.
 
@DanielBriceño por supuesto... para eso estan las ides
 
Me parece mas interesante, solo he visto eso en dos partes:
Navegador chrome en su consola y PSeint.
 
@DanielBriceño visual studio code
visual studio
eclipse
netbeans
nombra una ide.. y tiene debug en el momento...
yo hasta llegue a debuguear jsp...
 
Dev-Cpp. Su debug es mas silencioso que Dios sabe qué, hasta que consigue un error. :)
O no me fijé yo de su debug.
@gbianchi
 
@DanielBriceño no se que ide es esa...
y no se a que te referis con un debug silencioso
 
11:26 PM
Pero intenta usar la consola del systema . Tal ves te sorprendas.
Casi nunca uso debug.
Lo que hago para hacer seguimientos a los errores es por constumbre poner:
print(variable);
 
@DanielBriceño ????
@DanielBriceño eso no te va a servir por ejemplo en un sistema que sea una api
o para una aplicacion de escritorio
 
No he tenido mucho problema con una apricacion de escritorio.
.
Pero apenas solo he visto la cortesa de lo que se puede hacer en una app de windows.
 
@DanielBriceño aprender a hacer debug es una parte importante de aprender a programar.. como aprender a hacer test
 
Si tienes razon.
Me tengo que retirar. Hasta mañana.
 

« first day (2002 days earlier)      last day (1097 days later) »