› Foros › PC › Software libre
Yo creo que es mejor dejar esto como esta, cada uno defiende lo que gusta y ya esta, coco cerrado para lo demás.
1. ObjC ofrece más velocidad respecto a C ó C++?
2. Qué APIS multiplataforma existen para ObjC? Cocoa es multiplataforma y libre?
3. Una vez me dijiste que preferías ObjC a C++ porque ObjC era una forma limpia de añadir objetos a C, y C++ era un lenguaje distinto. Pero técnicamente, ¿por qué?
4. ¿Crees que es más rápido programar en C/ObjC que en .NET?
Chí, esto sí que lo sabía. A lo que me refiero es... a la hora de programar... ¿qué ventajas te ofrece? Es más sencillo, más claro, tardas menos, tiene cosas que C/C++ no tienen...Básicamente C++ siempre fue pensado como un lenguaje nuevo y saber C no ayuda mucho para programar en C++. De hecho yo programo en C y no tengo ni puñetera idea de C++ aparte de las cosas 'muy básicas'. Sin embargo ObjC empezó como una librería+preprocesador sobre C aunque luego fue creciendo y creciendo y se convirtió en un 'super-estándar' (es decir un estándar sobre otro existente).
Mmm... pero precisamente lo que se alega con .NET es que se programa muy rápido, no? Qeu si conectar a una base de datos es sencillo, y tal y cual...Eso depende más de ti que del lenguaje
La verdad que muy bonitas las ventanas no quedan...
¿qué ventajas te ofrece? Es más sencillo, más claro, tardas menos, tiene cosas que C/C++ no tienen...
Mmm... pero precisamente lo que se alega con .NET es que se programa muy rápido, no? Qeu si conectar a una base de datos es sencillo, y tal y cual...
A vé si poquito a poco afianzo mis conocimientos de C/C++ y vamos avanzando...
Ferdy escribió:* C# es estandar (algo que no me dice mucho... tanto C y ObjC lo son. sh tambien es estándar del IEEE pero ahora no tengo a mano la referencia)
* C# será algo algún día (lo que me hace ver que reconoceis que a dia de hoy es el juguete de unos cuantos)
* Que no tenemos ni idea porque C# tiene muchas cosas que luego hemos demostrado que otros lenguajes tienen.
* Que los punteros son dificiles cuando realmente solo contienen direcciones de memoria y permiten hacer cosas que no son posibles sin ellos (como late-binding).
Yo no se si MS vende .NET como multiplataforma, lo que si se es que simplifica mucho el desarrollo en Windows.* Que hay vida más allá 'del pingüino' cuando la portabilidad no es solo entre SOs si no entre arquitecturas también;
Como lo fue C++ en sus inicios, y fíjate que peazo juguete
Si tu te quieres sentir mejor porque no te gusta y programas en consola y haces debug con el GDB a pelo, pues vale, eres un machote.
Yo no se si MS vende .NET como multiplataforma, lo que si se es que simplifica mucho el desarrollo en Windows.
Eso está fuera "del pingüino" a ver si lo pillamos ahora.
Ferdy escribió:*sniff* *sniff* ¿huelo complejos?
Está claro que C# sirve para que no programadores sean capaces de programar... como con Java. Verlo de otra forma es querer engañarse.
hace 3 dias salio el nuevo mono con soporte para late-binding(que por cierto, que es?)
A ti te suena eso de que hay máquinas que no son PCs ¿verdad? Es que tienes un curioso concepto de la portabilidad...
Y porque tiene que coger otro camino diferente ferdy? no puede ser bueno?
Otras cosas que no sean pc, que yo sepa mono esta portado en x86, x86_64, sparc, PPC y s390.
PD:hace 3 dias salio el nuevo mono con soporte para late-binding(que por cierto, que es?)
[ $ ~ ] cat late.c
#include <stdio.h>
void something(char *s)
{
printf("SOMETHING: %s\n",s);
}
void otherthing(char *s)
{
printf("OTHERTHING: %s\n",s);
}
int main(int argc,char *argv[])
{
void (*f)(char *);
int method;
if (argc != 3)
{
printf("Error: please use: %s method string\n" \
"\twhere 'method' is either 0 or 1\n\t" \
"'string' is whatever you want\n",argv[0]);
return 1;
}
method = atoi(argv[1]);
f = ( method ? otherthing : something );
f(argv[2]);
return 0;
}
[ $ ~ ] make late
cc late.c -o late
[ $ ~ ] ./late 0 "write something here"
SOMETHING: write something here
[ $ ~ ] ./late 1 "write some other thing here"
OTHERTHING: write some other thing here
Si, complejo de superioridad infundado. ¿Te suena? Pues debería:
Si me dices dónde defendí yo que C# / .NET es portable te ganarás un minipunto. Y te doy otro cuando veas el mensaje en el que digo que .NET es una ventaja para el desarrollo en Windows ( este últimpo es prácticamente de bonus)
Ferdy escribió:¿ Te suena de qué va este foro no ? Si a un reproche sobre portabilidad respondes que "hay vida más allá del pingüino" no se me ocurre pensar en Windows precisamente... quizá porque no es software libre... me refería a otros Unix libres.
Saludos.Ferdy
¿Un puntero a una función se considera late-binding? Yo creía que se hablaba de late-binding en conjunción con herencia (funciones virtuales en C++, por ejemplo)
¿Un puntero a una función se considera late-binding? Yo creía que se hablaba de late-binding en conjunción con herencia (funciones virtuales en C++, por ejemplo)
En fin, te lo clarifico: estaba hablando de Windows, y la conversación ya llevaba tiempo, con eso me refiero a "más allá del pinguino" y con eso meto en el saco a linux / FreeBSD y similares.
Linux, FreeBSD y similares... ahí tambien metes a los VMS, ¿verdad?
Saludos.Ferdy
¿ Por qué cuando no teneis razón y os dais cuenta de cosas que no sabiais siempre salís con el complejo de superioridad ?
No se si te pillo, ¿lo dices por mezclar las licencias de ambos sistemas operativos o va por alguna otra razón que se me escapa¨?
Ferdy escribió:VMS con ellos...
Me parece que soy el unico al que el tema multi arquitectura le importa poco
Churly escribió:Que yo sepa lo único que está estandarizado es C# (corregidme si me equivoco), pero la plataforma en general NO. Aparte la gran mayoría de las cosas están patentadas. Es decir, 99% no usable en otro sitio que no sea Windows.
Que yo sepa lo único que está estandarizado es C# (corregidme si me equivoco), pero la plataforma en general NO. Aparte la gran mayoría de las cosas están patentadas. Es decir, 99% no usable en otro sitio que no sea Windows.
Resumiendo, .NET es exclusívamente bueno para Windows, y sólamente para que los que trabajaban con Visual Basic, ahora utilicen .NET.
Si tú lo dices...Es decir, para hacer aplicaciones chapuzas y rápidas, sin molestarse en nada.
zheo escribió:Y ya puestos,¿ lo que programaban en Visual C++ y ahora lo hacen con .NET, cómo los encasillas?
"Churly" escribió:Lo que sí que es increíble es la burrada de millones que se han gastado, y se están gastando en marketing para esto. Regalo de PDA's, literatura, ordenadores, etc.
Resumiendo, .NET es exclusívamente bueno para Windows, y sólamente para que los que trabajaban con Visual Basic, ahora utilicen .NET. Es decir, para hacer aplicaciones chapuzas y rápidas, sin molestarse en nada.
FuckingFreaky escribió:Y a modo de resumen... para mí, me gustaría que me quedaran claras estas cosas:
1. ¿Qué cosas puede hacer C,C++,Obj-C que no puede hacer C#?
2. Y viceversa?
FuckingFreaky escribió:¿Algún punetero (.NETero ) puede decirme si en C#es posible desactivar de algún modo el recolector de basura para ganar rendimiento?
FuckingFreaky escribió:Oki doki!
Otra preguntita que se me había olvidado...
Como todo esto se basa en el CIL... ¿se podría crear un compilador de CIL a máquina y por tanto poder tener lo que es .NET como compilado? Es por curiosidad...
Un saludo!
FuckingFreaky escribió:Mmmm... yo lo que vi en el video de de Icaza es que puedes precompilar partes de tu código, pero claro, eos significa precompilarlo para la máquina virtual, no para arquitecturas.
1. ¿Qué cosas puede hacer C,C++,Obj-C que no puede hacer C#?
Ferdy escribió:* inline ASM
Ferdy escribió:* Acceso a más librerías libres
No exactamente desde el lenguaje pero casi xD
http://www.codeproject.com/csharp/Inline_ASM_for_C_.asp
¿Ah, pero eso está definido en el estándar del lenguaje?
1. ¿Qué cosas puede hacer C,C++,Obj-C que no puede hacer C#?
Claro según parece si no sabes C o C++ no sabes programar, o directamente la gente asume que si usas estos lenguajes no tienes ni idea de programar, o C/C++ es complicado, y da la casualidad de no siempre es así.
Ferdy escribió:¿Preguntó alguien por el estándar? Es objetivo que hay infinidad más de librerías para usar y como yo no trato de adivinar el futuro y lo que me importa es la capacidad de HOY, pues así se lo digo: tienes muchas más librerías libres disponibles y además, casi todas son muy portables.
Mmmm me preocupa que veas tantos fantasmas donde no los hay. Lo que yo he dicho es que C# permite que gente que no sabe programar o que programa 'a la puzzle' haga cositas y le paguen como si fuera un programador.
Lo que está claro es que no creo que haya muchos programadores que no sepan C... no tiene mucho sentido.
Aunque creo que tenemos un conflicto de términos: programar =~ desarrollar pero programar != desarrollar ... y parte de la culpa la tenemos muchos al equiparar ambos términos cuando hay una GRAN diferencia.