Supongo que D es una evolución más o menos radical de C, C++ y Objective-C, con lo que los "C-maníacos" sentirán algo parecido que al usar Java o C#.
¿Es C el mejor lenguaje del mundo? evidentemente no, pero hay muchos programadores que se sienten más o menos cómodos con él, y por eso tantos lenguajes basados en él. Si C fuese lo mejor de lo mejor, no existiría ni C++, ni Objective-C, ni C#... ni D, claro. Si C no fuese muy conocido, en vez de basarse en la sintáxis de C, Java se basaría en Pascal (o Ada), y seguramente no existiría un C#, sino sólo el VisualBASIC# etc.
¿Mono es una parte de .Net? creía que era una implementación libre de un estándard creado por Microsoft, en el que se basa el producto comercial Microsoft .Net. Además supongo que tienes cierta confusión al asociar la comunidad GNOME con la comunidad Mono. Por ejemplo, yo utilizo GNOME 2.0 y no tengo Mono instalado (ni ganas, de momento).
Despues de leerme el overview, me quedé con una idea bastante buena de este lenguaje. Tiene todo lo que me gusta de C++ y todo lo que me gusta de Java, y aun encima genera código nativo.
Sólo le veo un defecto, no me gustan los recolectores de basura, prefiero los contadores de referencias, son más predecibles ;) Pero bueno, depende de la aplicación, en algunas no tiene importancia y es más cómodo.
De todas formas, las cosas que le quitan a C++ son muy razonables, al menos bajo mi punto de vista basado completamente en mi experiencia.
Espero que este lenguaje salga adelante y que surjan bindings para todas las bibliotecas que sea posible. En concreto me interesaría GTK y Xerces 0:-)
Lo que más me gustó es que quitasen por fin el #include, estoy harto de tener que esperar un minuto para compilar un fichero (no exagero, de verdad) solo porque incluye demasiadas cosas que se tienen que analizar junto con el fichero :( Y cuando tienes un proyecto algo grande que tiene muchos ficheros, es terrible.
--
Los libros son las abejas que llevan el polen de una inteligencia a otra. James Lowell
por
pobrecito hablador
el Martes, 05 Noviembre de 2002, 12:54h
(#145410)
¿Cómo debería llamarse verbalmente C#? He oído alguien llamándolo "C chungo". Mi teoría es que el símbolo # es ++ con otro ++ debajo, por tanto debería llamarse "C plus plus plus plus".
Nah... una ida de olla... :-)
Una cosa es que algunos miembros de la comunidad Mono quieran hacer que este forme parte de GNOME, que no me parece mal, otra cosa es que acabe siendo asi, y otra muy diferente que GNOME acabe dependiendo de Mono. Pueden suceder las dos cosas, pero también puede que no suceda ninguna de las dos.
Mono es una implementación libre de un estándard propuesto por Microsoft. Eso es lo que nos quiere hacer ver la gente de Mono y punto. Lo que dice Microsoft es que Microsoft .Net se basa en parte en ese estándard, y lo que susurra es que además utiliza muchas cosas que no son del estándard, y lo que no dice, pero todos sabemos que lo piensa, es que no lo seguirá en cuanto le de la gana. Pero lo estandarizado seguirá siendo lo estandarizado, y será entonces Microsoft quién no siga el estándard, creando una estandarización de facto. Igual como antes Soundblaster era un estandard de facto, aunque no se había estandarizado oficialmente nada.
Sigo estando espeso, pero creo que entiendo lo que escribo, si alguien lo entiende también, que lo diga.
Sólo le veo un defecto, no me gustan los recolectores de basura, prefiero los contadores de referencias, son más predecibles ;) Pero bueno, depende de la aplicación, en algunas no tiene importancia y es más cómodo.
"* Reference counting is a common solution to solve explicit memory allocation problems. The code to implement the increment and decrement operations whenever assignments are made is one source of slowdown. Hiding it behind smart pointer classes doesn't help the speed. (Reference counting methods are not a general solution anyway, as circular references never get deleted.)"
He estado leyendo la documentacion del D y la verdad es que me ha gustado mucho.
Es una simple limpieza de cara del C y del C++, pero una limpieza que se estaba pidiendo a gritos. En el C++ hay algunas cosas que me parecen una verdadera guarrada (¿os acordais de la famosa entrevista al creador de c++?), cosas que D soluciona de forma bastante convincente.
Lo que mas me ha gustado han sido las cadenas de caracteres, los arrays y el recolector de basura.
Por cierto, ademas no hace falta portar las librerias al nuevo lenguaje ni hacer wrappers, D puede usarlas directamente ya que es compatible con la forma de llamadas del C.
Le auguro un gran futuro. Perfecto para los que quieran un C mejor sin tener que salir del C.
Sí, yo también leí el comentario, y siempre tuve presente que las referencias circulares son un problema para los contadores de referencias, de hecho creo que escribí algún comentario antes en barrapunto donde lo comentaba.
Y claro que introduce algún overhead llamar a ref() y unref(), pero al fin y al cabo el ref() se hace casi siempre justo después de un new, que es bastante más lento que incrementar un número, así que carece de importancia, lo único que enlentece algo el código es el unref().
De todos modos, ref() y unref() producen un retardo controlado (siempre el mismo) que para aplicaciones de tiempo real (para las que comentan en la web que no está pensado D) es muy importante, mientras que un recolector de basura cada X tiempo detiene todo el sistema durante un tiempo completamente impredecible. De ahí mi comentario de "depende de la aplicación" :)
Y "esconder esto tras punteros inteligentes" no empeora la velocidad en absoluto, porque lo normal (lo que yo hago) es implementar los punteros inteligentes como clases plantilla con todos los métodos inline, lo que significa que el código generado no tiene ningun overhead, es exactamente igual que hacer ref() y unref() a mano, pero más cómodo. Y lo mismo para el operador -> sobrecargado.
--
Los libros son las abejas que llevan el polen de una inteligencia a otra. James Lowell
Pues eso, que a ver quien es el guapo que hace una máquina de tabaco en Java, C# o Visual Basic.
El C es y segurá siendo por muchos años el lenguaje de programación de bajo nivel más extendido (quitando el Ada en EUA), por la identidad con cualquier ensamblador, la facilidad (y si no, que haga en ensamblador un programa de 40.000 líneas escrito en C), la rapidez de compilación y el rendimiento, casi equivalente al del ensamblador (o más, si cabe)
Por poner un ejemplo: realicese una máquina de cambio con un micro de 16 bits con hasta 32Kb para el código y 2K para los datos.
no creo que haga falta hacer nada, llevan años y años sustituyendo al C todos los meses, y curiosamente en vez de suceder al sucesor, se vuelve a suceder al C, y digo yo: ¿no estaba ya sucedido?. En fin, si lo suceden, que lo sucedan, digo yo que será con algo mejor (más nos vale)
Entonces evidentemente odias C, porque como ya sabrás, toma el nombre de otro, llamado B, le añade un ente mas y ya está :P
Y A mi me parece perfectamente normal tener que indicar que módulos quieres utilizar en tu programa (stdio no es una librería, es un módulo de una librería/biblioteca llamada libc). Porque si no lo indicases, el compilador tendría que tener cargadas permanentemente en memoria las tablas de símbolos de todos los módulos de la librería estándar, con el consiguiente gasto innecesario de memoria. En un programa grande hay muchos módulos que no realizan ningún tipo de entrada/salida, para qué vas a obligar al compilador a tener en memoria las tablas de símbolos de stdio mientras compila esos módulos?
--
Los libros son las abejas que llevan el polen de una inteligencia a otra. James Lowell
Pascal, C, C++, Cobol, Ocaml, Java, Fortran, Ensamblador Mips, Delphi, Prolog... pff q dura es la vida de los aspirantes a ingenieros :_((( Y ya no digamos si tu vicio es el diseño web... Javascript, php, asp... :____(
Aparte de todo lo que has dicho, para el problema de las referencias circulares existen desde hace tiempo algoritmos que lo detectan y solucionan (como el que utiliza Python2, por ejemplo).
aquí. Pero aún está muy incompleto, es poco más que un front-end. Lo interesante es que es GPL y podría servir como base para el desarrollo hipotético de un 'gdc' dentro de la suite Gcc. El lenguaje en sí (me estoy leyendo la especificación completo) de momento me parece fantástico, es una mejora bastante grande sobre C++ aunque algunas cosas no me acaben de convencer (las cadenas, aún siendo mejores que las de C siguen siendo más limitadas que las de las STL con lo cual el argumento de tener buenas cadenas dentro del lenguaje me parece que se anula, porque quien quiera cadenas realmente potentes al final tendrá que utilizar módulos externos), y alguna cosilla más, pero de momento me parece el mejor lenguaje orientado a objetos que compile a código nativo que he visto en mucho tiempo .
Pues a mi me parece genial que haya más lenguajes de programación donde elegir, nadie me obliga a aprenderlos todos, puedo utilizar el que más me guste.
Además, si hay más lenguajes de programación es más fácil que uno encuentre el "lenguaje perfecto" para su gusto y así pueda venir a barrapunto a poner a parir los otros lenguajes ;)
--
Los libros son las abejas que llevan el polen de una inteligencia a otra. James Lowell
A saber cuanto tardarías en hacer un programa completo y estable de gestión empresarial sin guarrerías como Java. Para cuando lo termines de programar, lo testeés y lo pongas en producción tendrás que rehacerlo porque habrá cambiado la legislación que le afecta. Es una exageración, claro, pero en cualquier proyecto influyen más cosas que el consumo de recursos: costo del desarrollo, tiempo del mismo, aprendizaje necesario y muchas más cosas que no sé. Ingenería del software creo que lo llaman.
Joer, no me acostaré sin haber aprendido algo nuevo ;)
"descripción de sistemas matemáticos complejos, tales como el software".
Como una especie de metalenguaje... y parece haber movimiento (bueno, las webs son del 2000, pero hay un montón de eventos, así que dudo que en 2 años haya desaparecido).
Aunque la verdad sea dicha, yo también soy ircero (buscadme en OPN, el hispano lo tengo boicoteado de momento) y aunque use abreviaturas para acelerar la escitura me vuelvo neurótico cuando actualizo BitchX y me quedo sin accentos.
Métete en #hispalinux o incluso en alguno de los canales linuxeros del mismo hispano y verás lo que te dicen como te comas una hache o confundas una bé con una uve ;)
Joer, como que inculto, si es una palabar que todo el mundo conoce.
Mira que no saber lo que es la "abobinación", si está claro como el agua:
abobinación: adj. estar / ser abobinado: enrollarse,
ser /estar enrollado.
Ejemplos: Pepito se abobinó con Marta.
Pepito es muy abobinado.
Abobinate colega y déjame dos euros.
Bueno, no quería adjetivar, así que lo hago en "guiri" y me quedo a media: Braindead.
Los lenguajes de programación no son como los sistemas operativos o las distros de Linux, las guerras santas y el talibanismo no tienen sentido y mucho menos tachar a otros de ello.
Me explico: existen cientos de lenguajes de preogramación, algunos más generalistas y otros más específicos.
La elección del lenguaje depende de un montón de factores y la mayoría de los programadores usan varios.
Fortran es genial para las matemáticas, C para metere mano al sistema, Modual-2 o ADA para aprender, Perl para la web...
Se puede programar en varios lenguajes a la vez (En Gnome C# y por supuesto C), existen docenas de bibliotecas y módulos para usar un lenguaje desde otro: ensamblador desde basic, C desde TCL, C++ desde Phyton...
Por cierto C# es más parecido a XML que a lenguajes tipo C / C++ ...
Y por otra parte, el que los desarrolladores que trabajan en entornos *NiX prefieran C es natural, tatno Linux, como los *BSD y muchos otros sabores de *NiX están escritos en C (la api del kernel de Linux por ejemplo).
¡ El kernel de la mayoría de los *NiX es un programa C !
Resumiendo:
A) Viste mucho lo de llamar talibán a la gente.
B) Si no eres programador no te importa un pimiento lo que use la gente y
C) Sólo existe un lenguaje que es una verdadera mierda:
¡¡¡ COBOL !!!
XD
es verdad, no había caido. juas...
O sea que M$ ha inventado el Do X_D
Esperemos que no lo pillen, que son capaces de patentar la escala completa ...
Nuevo Lema publicitario: C# el único lenguaje que además de compilarse puede tocarse en el clarinete.
¿Conlleva?
Conlleva bajarte unos veintitantos megas de tarball y saberlo usar.
Después de eso conlleva lo que todos los lenguajes de programación: se crean programas que hacen cosas ;)
Java, para la web por ejemplo, puede ser una gran herramienta (no lo niego), pero si buscas por ahí los applets que corren sólo sirven para mostrar un logo que se mueve y poca cosa más.
Hay muchos applets para hacer efectos (meramente estéticos) en páginas web, pero también hay muchos otros tipos. El applet más típico creo que es el chat (yo mismo he hecho uno y es fácil y potente), también es muy común el típico applet que sirve para mostrar noticias u otros datos en tiempo real, también tienes juegos (desde un simple tetris de un sólo jugador hasta complicados juegos multijugador), emuladores (a mi me gusta el JASPER: http://spectrum.lovely.net), calculadoras, applets educativos que acompañan a lecciones científicas, applets para visualización (por ejemplo, visualizar la estructura de una molécula o un objeto en 3D, son ejemplos que vienen al instalar el Kit de Desarrollo Java: JDK . También hay otro que me gusta donde se visualiza el entrnamiento de una red neuronal)
Mira en http://jars.com/ o busca en Google y encontrarás muchos applets interesantes...
Yo soy de los recomienda no usar applets en general, pero cuando hay que hacer ciertas cosas, si no lo haces con applets o es imposible o es mucho más complicado.
Por otro lado, los applets ni es ni lo único ni más importante que se hace con Java y también es lo de siempre, Java (al igual que los demás (C, D, C#, PHP...) no es lo mejor para todo. Cada cosa tiene su nicho donde es el mejor y a veces lo mejor de todo es combinar varias cosas (por ejemplo, un servicio hecho en C al que se puede acceder con applets de Java o con aplicaciones visuales en C#, dentro una web hecha en PHP...)
-- -- Uno de mis lemas: "1º. NO A LOS RECURSOS MAL APROVECHADOS"
conozco aplicaciones Java para cálculo simbólico (Hartmath), juegos en Java, Editores (Jedit), yo que sé mil cosas y la mayoría no tienen que ver con la web.
Que te guste o no a la hora de programar es una cosa, pero si no programas te dará igual, mientras que le programa funcione y sea libre ;)
Qué micro- (controlador|procesador) de 16 bits dispone de tan reducida capacidad de memoria. Hasta el 8051 tiene más, y es de 8 bits.
Perdón, a ese mismo me refería: las máquinas de tabaco de Azkoyen lo llevan en sus entrañas, y Todas las balanzas electrónicas de la casa Epelsa, tb. Y más máquinas. Y respecto a la capacidad, el 8051 tiene desde 8k para arriba, con un tope de 64k (creo).
A riesgo de que me acusen de c-talibán, te diré que en su momento hice aplicaciones de gestión empresarial en... C++ (y recientemente una aplicación de análisis estadístico que come memoria como una loca), y tardé lo mismo que tu en Java, seguro.
¿Cómo? Con el Borland C++ Builder (léase también Delphi).
Una cosa es el lenguaje, y otra muy diferente las librerías que tengas.
Eso si, machote, no te sobres diciendo que es mas rapido que asm...
Mis palabras textuales fueron "o más, si cabe", lo que desde mi punto de vista no es una afirmación categórica.
Desde luego que sólo con los prefijos/sufijos de las llamadas a función sobra para que sea más lento, pero en ciertos casos, cuando hay toda una serie de expresiones complejas, bucles anidados, etc., un compilador optimizador agresivo (CodeWarrior, Wind River, Keil) son capaces de optimizar casi con toda seguridad (digo casi) mejor que tu a mano.
Es cierto que no hay que mezclar lenguajes con librerías y también estoy seguro de que con C++ se puede hacer lo mismo (y más, seguro) que con Java. Pero no creo que el tiempo de desarrollo sea similar. No soy un Java-adicto, me gusta programar en Java pero no soy ningún fan loco del lenguaje. Es más, aun no tengo ningún lenguaje que me vuelva loco, digamos que todavía estoy probandolos todos (aunque ya lleve unos cuantos años con algunos). Pero si es cierto que Java está hecho para hacer las cosas más fáciles. Desde el diseño de objetos, con todas las estructuras de datos (no hay problemas con punteros, cierto que C++ los tengo menos que en C, pero existir existen) hasta el tema del recolector de basura, que aunque al principio me daba mala espina le estoy acabando por coger el gusto.
Pero como te digo cada uno en su sitio. Java está genial para ciertas aplicaciones pero C es de lo mejorcito para otras muchas en las que Java no creo ni que pueda tomarse en cuenta. Está claro que C hace todo lo que hace Java (no viciversa), pero Java hace algunas cosas más fáciles.
Es 'abominable' (horrible, ominoso, etc) y no 'abobinable' (que no existe). Si lo que quieres es decir 'está enrollado' puedes decir 'enrollable' o algún sinónimo. El usar 'abobinable' sólo demuestra ignorancia. Y no tiene nada que ver con IRC.
PD: No tienedo eso de 'Abobínate colega y déjame dos euros'. Será algún nuevo aserejé que pronto nos llegará al otro lado del charco? :-)
--
El sentido comun es el menos comun de los sentidos.
Jaja, y yo que pensé que sharp significaba afilado. Entre las dos acepciones me quedo con la de "sostenido", sostenido por microsoft y su pandilla de gandules chupasangre.
Pues eso.
--
El sentido comun es el menos comun de los sentidos.
Es así de simple: el lenguaje y la tecnología (JRE, con su JVM, clases estándar, interfaces estándar...). O si preferís, entender que se refiere siempre a la tecnología en general.
Está claro que no se confunde con un café o con una isla.
Os podéis cachondear de que Java use el mismo nombre para el lenguaje y la tecnología pero también me podría cachondear yo de C.
¿cuando un programador de C dice que una variable es de tipo int? ¿a qué se refiere?
¿y cuando dice long?, etc... Dependiendo de donde y cómo lo compiles eso ocupará diferente en memoria, tendrá diferentes límites... Y no sólo eso, también en unos sitios se usa Little Endian y en otro Big Endian, etc...
Como C sólo se refiere al lenguaje y no hay una "tecnología C" asociada, dependiendo de la plataforma donde estés tendrás un significado diferente.
Eso sí es un problema.
-- -- Uno de mis lemas: "1º. NO A LOS RECURSOS MAL APROVECHADOS"
La ingeniería del software, según un profesor mío de Ingeniería del software, la inventaron para los programadores que programan por obligación y no por devoción, y que no tienen ni idea de programar.
Ya en serio. Todos los Java-Programmers le tienen un miedo loco a los punteros... ¿porqué? Cuando uno sabe usar punteros, no tiene problemas con ellos. Pero claro, es muy cómodo no aprender a usarlos, y en contraposición usar lenguajes que despilfarran memoria.
A los JAVA-Adictos. Vosotros lo sois, porque en Internet los applets son muy bonitos y tal... pero, ¿habeis usado alguna vez una herramienta hecha ne Java para vuestro trabajo diario? Yo desgraciadamente síp: El Development Center de Vignette (que viene a ser como un IDE de programación, equivalente a los IDE de los 80 por cierto, ya que Java no es capaz de darle más funciones) y es lo más lento, lo que más se cuelga y el producto más malo que he visto en mucho tiempo. Desarrollado por una gran corporación, por cierto (no del Estilo de Microsoft, algo más seria)...
Por favor, antes de hablar de lenguajes, usar los programas escritos en uno y otro Y COMPARAD RENDIMIENTOS. Un programa escrito en C, C++ le da mil vueltas a cualquier mierda escrita en Java (para que el pobrecito del programador, no se vuelva loco con la memoria...)
He visto que trae ideas nuevas. Eso me gusta. Al menos intenta limpiar un poco.
Pero al limpiar se pasan un poco y parece que sean una facción de programadores que imponen sus gustos más que desarrolladores que investigan cual es la mejor opción.
Hay temas como que un módulo funciona mejor que un espacio de nombres que no acabo de entender.
Y otros que son tan super debatidos sin llegar a conclusiones válidas ( y subjetivos que dependen tanto del punto de vista ) que ofrecerlos como panaceas que te solucionan la vida es muy propagandístico.
Vamos, que opino (como otros) que llamarlo D es un poco presuntuoso para un lenguaje que parece que va a ser un java-c# de la facción local y con código nativo (parace ser...)
Pero que al final va a ser una opción atractiva si tus gustos coinciden con los de ellos. Porque lo que sí hace es mojarse y orientar el lenguaje de forma que el grupo de sesudos programadores-pensadores (que existir existe) pueda tener más opciones sobre cómo quiere hacer las cosas.
-- ¿¿PETER?? ¿Demostenes? Y actualmente Lockpeter
36 respuestas por debajo de tu umbral de lectura actual.
Re:Me gusta mas...
(Puntos:2, Informativo)( http://barrapunto.com/~fernand0/bitacora | Última bitácora: Miércoles, 11 Febrero de 2009, 15:45h )
Para gustos colores.
--
Fernand0
Si elegimos a los políticos es para no tener que pensar todo el tiempo.
Homer Simpson
Re: ¿Conoces D?
(Puntos:1)( http://www.linuxspain.org )
Mi complejo de superioridad es mejor que el tuyo.
Estoy espeso y no lo entiendo...
(Puntos:3, Interesante)¿Es C el mejor lenguaje del mundo? evidentemente no, pero hay muchos programadores que se sienten más o menos cómodos con él, y por eso tantos lenguajes basados en él. Si C fuese lo mejor de lo mejor, no existiría ni C++, ni Objective-C, ni C#... ni D, claro. Si C no fuese muy conocido, en vez de basarse en la sintáxis de C, Java se basaría en Pascal (o Ada), y seguramente no existiría un C#, sino sólo el VisualBASIC# etc.
¿Mono es una parte de .Net? creía que era una implementación libre de un estándard creado por Microsoft, en el que se basa el producto comercial Microsoft .Net. Además supongo que tienes cierta confusión al asociar la comunidad GNOME con la comunidad Mono. Por ejemplo, yo utilizo GNOME 2.0 y no tengo Mono instalado (ni ganas, de momento).
Tiene buena pinta
(Puntos:1)( http://pinguino.dyndns.org/ )
Sólo le veo un defecto, no me gustan los recolectores de basura, prefiero los contadores de referencias, son más predecibles ;) Pero bueno, depende de la aplicación, en algunas no tiene importancia y es más cómodo.
De todas formas, las cosas que le quitan a C++ son muy razonables, al menos bajo mi punto de vista basado completamente en mi experiencia.
Espero que este lenguaje salga adelante y que surjan bindings para todas las bibliotecas que sea posible. En concreto me interesaría GTK y Xerces 0:-)
Lo que más me gustó es que quitasen por fin el #include, estoy harto de tener que esperar un minuto para compilar un fichero (no exagero, de verdad) solo porque incluye demasiadas cosas que se tienen que analizar junto con el fichero :( Y cuando tienes un proyecto algo grande que tiene muchos ficheros, es terrible.
Los libros son las abejas que llevan el polen de una inteligencia a otra. James Lowell
Off topic: C#
(Puntos:1, Divertido)Nah... una ida de olla... :-)
Re:Off topic: C#
(Puntos:1)( http://barrapunto.com/~xavi/bitacora | Última bitácora: Miércoles, 10 Enero de 2007, 16:36h )
...pues debería llamarse... sostenido. el símbolo este en música es un sostenido. De hecho 'C#' en música sería 'do sostenido'.
Existe una notación musical que se inicia a partir del La:
A, B, C, D, E, F, G
La, Si, Do, Re, Mi, Fa, Sol
soft lliure per a una societat lliure
Re:Me gusta mas...
(Puntos:1, Divertido)Re:Estoy espeso y no lo entiendo...
(Puntos:2)Mono es una implementación libre de un estándard propuesto por Microsoft. Eso es lo que nos quiere hacer ver la gente de Mono y punto. Lo que dice Microsoft es que Microsoft .Net se basa en parte en ese estándard, y lo que susurra es que además utiliza muchas cosas que no son del estándard, y lo que no dice, pero todos sabemos que lo piensa, es que no lo seguirá en cuanto le de la gana. Pero lo estandarizado seguirá siendo lo estandarizado, y será entonces Microsoft quién no siga el estándard, creando una estandarización de facto. Igual como antes Soundblaster era un estandard de facto, aunque no se había estandarizado oficialmente nada.
Sigo estando espeso, pero creo que entiendo lo que escribo, si alguien lo entiende también, que lo diga.
Re:Me gusta mas...
(Puntos:2)( http://hronia.blogalia.com/ | Última bitácora: Jueves, 22 Enero de 2009, 06:57h )
___
"Tamparantán que te han visto Pepe, tamparantán que te han visto Juan"
Re:Tiene buena pinta
(Puntos:1)( http://barrapunto.com/ )
"* Reference counting is a common solution to solve explicit memory allocation problems. The code to implement the increment and decrement operations whenever assignments are made is one source of slowdown. Hiding it behind smart pointer classes doesn't help the speed. (Reference counting methods are not a general solution anyway, as circular references never get deleted.)"
Pa que? Pa cagala?
¿Y si nos saltamos unas cuantas letras?
(Puntos:1)Echadle un vistazo a la pagina www.eiffel.com
Y además existe un magnifico compilador GNU smarteiffel
Re:Off topic: C#
(Puntos:1)( http://barrapunto.com/ )
Y estoy seguro de que esos que se quejan tanto del C# no hay escrito ni un solo programa en ese lengauje
Pa que? Pa cagala?
Poz zi
(Puntos:1)( http://barrapunto.com/ )
Es una simple limpieza de cara del C y del C++, pero una limpieza que se estaba pidiendo a gritos. En el C++ hay algunas cosas que me parecen una verdadera guarrada (¿os acordais de la famosa entrevista al creador de c++?), cosas que D soluciona de forma bastante convincente.
Lo que mas me ha gustado han sido las cadenas de caracteres, los arrays y el recolector de basura.
Por cierto, ademas no hace falta portar las librerias al nuevo lenguaje ni hacer wrappers, D puede usarlas directamente ya que es compatible con la forma de llamadas del C.
Le auguro un gran futuro. Perfecto para los que quieran un C mejor sin tener que salir del C.
Incluso soporta numeros complejos :D
Pa que? Pa cagala?
Re:Tiene buena pinta
(Puntos:1)( http://pinguino.dyndns.org/ )
Y claro que introduce algún overhead llamar a ref() y unref(), pero al fin y al cabo el ref() se hace casi siempre justo después de un new, que es bastante más lento que incrementar un número, así que carece de importancia, lo único que enlentece algo el código es el unref().
De todos modos, ref() y unref() producen un retardo controlado (siempre el mismo) que para aplicaciones de tiempo real (para las que comentan en la web que no está pensado D) es muy importante, mientras que un recolector de basura cada X tiempo detiene todo el sistema durante un tiempo completamente impredecible. De ahí mi comentario de "depende de la aplicación" :) Y "esconder esto tras punteros inteligentes" no empeora la velocidad en absoluto, porque lo normal (lo que yo hago) es implementar los punteros inteligentes como clases plantilla con todos los métodos inline, lo que significa que el código generado no tiene ningun overhead, es exactamente igual que hacer ref() y unref() a mano, pero más cómodo. Y lo mismo para el operador -> sobrecargado.
Los libros son las abejas que llevan el polen de una inteligencia a otra. James Lowell
El futuro es y seguirá siendo C
(Puntos:1)( http://barrapunto.com/ )
El C es y segurá siendo por muchos años el lenguaje de programación de bajo nivel más extendido (quitando el Ada en EUA), por la identidad con cualquier ensamblador, la facilidad (y si no, que haga en ensamblador un programa de 40.000 líneas escrito en C), la rapidez de compilación y el rendimiento, casi equivalente al del ensamblador (o más, si cabe)
Por poner un ejemplo: realicese una máquina de cambio con un micro de 16 bits con hasta 32Kb para el código y 2K para los datos.
Re:Oh Dios Mio
(Puntos:1)( http://www.ikein.com )
Re:Nuevo? pero nuevo-nuevo?
(Puntos:1)( http://pinguino.dyndns.org/ )
Y A mi me parece perfectamente normal tener que indicar que módulos quieres utilizar en tu programa (stdio no es una librería, es un módulo de una librería/biblioteca llamada libc). Porque si no lo indicases, el compilador tendría que tener cargadas permanentemente en memoria las tablas de símbolos de todos los módulos de la librería estándar, con el consiguiente gasto innecesario de memoria. En un programa grande hay muchos módulos que no realizan ningún tipo de entrada/salida, para qué vas a obligar al compilador a tener en memoria las tablas de símbolos de stdio mientras compila esos módulos?
Los libros son las abejas que llevan el polen de una inteligencia a otra. James Lowell
otro más noOOOO!!! :_(
(Puntos:1)( http://usuarios.lycos.es/oneth )
Re:otro más noOOOO!!! :_(
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Domingo, 22 Mayo de 2005, 06:18h )
http://www.hypernews.org/HyperNews/get/computing/l ang-list.html
Además
(Puntos:1)( http://barrapunto.com/ )
Saludos.
Enlace al compilador de Linux
(Puntos:1)( http://barrapunto.com/ )
Re:Quien sabe...
(Puntos:1)Re:otro más noOOOO!!! :_(
(Puntos:1)( http://pinguino.dyndns.org/ )
Además, si hay más lenguajes de programación es más fácil que uno encuentre el "lenguaje perfecto" para su gusto y así pueda venir a barrapunto a poner a parir los otros lenguajes ;)
Los libros son las abejas que llevan el polen de una inteligencia a otra. James Lowell
Re:El futuro es y seguirá siendo C
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Domingo, 22 Mayo de 2005, 06:18h )
Supongo que lo dices irónicamente.
Re:Off topic: C#
(Puntos:1)Para mi siempre se llamará así. Triunfe o fracase.
Re:El futuro es y seguirá siendo C
(Puntos:2)( http://www.barraquito.net/ | Última bitácora: Lunes, 19 Enero de 2004, 10:54h )
"Estamos condenados a ser libres" [barraquito.net] (Sartre)
Re:Me gusta mas...
(Puntos:2)( http://www.flickr.com/photos/runlevel0/ | Última bitácora: Jueves, 01 Noviembre de 2007, 11:37h )
"descripción de sistemas matemáticos complejos, tales como el software".
Como una especie de metalenguaje... y parece haber movimiento (bueno, las webs son del 2000, pero hay un montón de eventos, así que dudo que en 2 años haya desaparecido).
29A the Number of the Beast
Re:Quien sabe...
(Puntos:2)( http://www.flickr.com/photos/runlevel0/ | Última bitácora: Jueves, 01 Noviembre de 2007, 11:37h )
Aunque la verdad sea dicha, yo también soy ircero (buscadme en OPN, el hispano lo tengo boicoteado de momento) y aunque use abreviaturas para acelerar la escitura me vuelvo neurótico cuando actualizo BitchX y me quedo sin accentos.
Métete en #hispalinux o incluso en alguno de los canales linuxeros del mismo hispano y verás lo que te dicen como te comas una hache o confundas una bé con una uve ;)
29A the Number of the Beast
Re:Quien sabe...
(Puntos:2)( http://www.flickr.com/photos/runlevel0/ | Última bitácora: Jueves, 01 Noviembre de 2007, 11:37h )
Mira que no saber lo que es la "abobinación", si está claro como el agua:
abobinación: adj. estar / ser abobinado: enrollarse,
ser /estar enrollado.
Ejemplos: Pepito se abobinó con Marta.
Pepito es muy abobinado.
Abobinate colega y déjame dos euros.
29A the Number of the Beast
Re:Oh Dios Mio
(Puntos:2)( http://www.flickr.com/photos/runlevel0/ | Última bitácora: Jueves, 01 Noviembre de 2007, 11:37h )
Los lenguajes de programación no son como los sistemas operativos o las distros de Linux, las guerras santas y el talibanismo no tienen sentido y mucho menos tachar a otros de ello.
Me explico: existen cientos de lenguajes de preogramación, algunos más generalistas y otros más específicos.
La elección del lenguaje depende de un montón de factores y la mayoría de los programadores usan varios.
Fortran es genial para las matemáticas, C para metere mano al sistema, Modual-2 o ADA para aprender, Perl para la web...
Se puede programar en varios lenguajes a la vez (En Gnome C# y por supuesto C), existen docenas de bibliotecas y módulos para usar un lenguaje desde otro: ensamblador desde basic, C desde TCL, C++ desde Phyton...
Por cierto C# es más parecido a XML que a lenguajes tipo C / C++ ...
Y por otra parte, el que los desarrolladores que trabajan en entornos *NiX prefieran C es natural, tatno Linux, como los *BSD y muchos otros sabores de *NiX están escritos en C (la api del kernel de Linux por ejemplo).
¡ El kernel de la mayoría de los *NiX es un programa C !
Resumiendo:
A) Viste mucho lo de llamar talibán a la gente.
B) Si no eres programador no te importa un pimiento lo que use la gente y
C) Sólo existe un lenguaje que es una verdadera mierda:
¡¡¡ COBOL !!!
(es un viejo chiste malo, no lo tomeís en serio).
29A the Number of the Beast
Re:Estoy espeso y no lo entiendo...
(Puntos:2)( http://www.flickr.com/photos/runlevel0/ | Última bitácora: Jueves, 01 Noviembre de 2007, 11:37h )
29A the Number of the Beast
Re:Off topic: C#
(Puntos:2)( http://www.flickr.com/photos/runlevel0/ | Última bitácora: Jueves, 01 Noviembre de 2007, 11:37h )
es verdad, no había caido. juas...
O sea que M$ ha inventado el Do X_D
Esperemos que no lo pillen, que son capaces de patentar la escala completa ...
Nuevo Lema publicitario: C# el único lenguaje que además de compilarse puede tocarse en el clarinete.
29A the Number of the Beast
Re:Va de retro satanas
(Puntos:2)( http://www.flickr.com/photos/runlevel0/ | Última bitácora: Jueves, 01 Noviembre de 2007, 11:37h )
Conlleva bajarte unos veintitantos megas de tarball y saberlo usar.
Después de eso conlleva lo que todos los lenguajes de programación: se crean programas que hacen cosas ;)
29A the Number of the Beast
Re:Va de retro satanas
(Puntos:2)( http://www.flickr.com/photos/runlevel0/ | Última bitácora: Jueves, 01 Noviembre de 2007, 11:37h )
¿Puedes criticar un lenguaje sin haberlo usado?
Es lo mismo que criticar unos alicates sin haber usado unos...
29A the Number of the Beast
applets y demás Re:Va de retro satanas
(Puntos:2)( http://labitacora.net/ | Última bitácora: Jueves, 20 Mayo de 2004, 19:01h )
Hay muchos applets para hacer efectos (meramente estéticos) en páginas web, pero también hay muchos otros tipos. El applet más típico creo que es el chat (yo mismo he hecho uno y es fácil y potente), también es muy común el típico applet que sirve para mostrar noticias u otros datos en tiempo real, también tienes juegos (desde un simple tetris de un sólo jugador hasta complicados juegos multijugador), emuladores (a mi me gusta el JASPER: http://spectrum.lovely.net), calculadoras, applets educativos que acompañan a lecciones científicas, applets para visualización (por ejemplo, visualizar la estructura de una molécula o un objeto en 3D, son ejemplos que vienen al instalar el Kit de Desarrollo Java: JDK . También hay otro que me gusta donde se visualiza el entrnamiento de una red neuronal)
Mira en http://jars.com/ o busca en Google y encontrarás muchos applets interesantes...
Yo soy de los recomienda no usar applets en general, pero cuando hay que hacer ciertas cosas, si no lo haces con applets o es imposible o es mucho más complicado.
Por otro lado, los applets ni es ni lo único ni más importante que se hace con Java y también es lo de siempre, Java (al igual que los demás (C, D, C#, PHP...) no es lo mejor para todo. Cada cosa tiene su nicho donde es el mejor y a veces lo mejor de todo es combinar varias cosas (por ejemplo, un servicio hecho en C al que se puede acceder con applets de Java o con aplicaciones visuales en C#, dentro una web hecha en PHP...)
-- Uno de mis lemas: "1º. NO A LOS RECURSOS MAL APROVECHADOS"
Re:Va de retro satanas
(Puntos:2)( http://www.flickr.com/photos/runlevel0/ | Última bitácora: Jueves, 01 Noviembre de 2007, 11:37h )
Que te guste o no a la hora de programar es una cosa, pero si no programas te dará igual, mientras que le programa funcione y sea libre ;)
29A the Number of the Beast
Re:El tipico listillo
(Puntos:2)( http://www.flickr.com/photos/runlevel0/ | Última bitácora: Jueves, 01 Noviembre de 2007, 11:37h )
Bueno, hay más pero veo mal después del cañón que me he clavado a pulmón XD
29A the Number of the Beast
Re:El futuro es y seguirá siendo C
(Puntos:1)( http://barrapunto.com/ )
Perdón, a ese mismo me refería: las máquinas de tabaco de Azkoyen lo llevan en sus entrañas, y Todas las balanzas electrónicas de la casa Epelsa, tb. Y más máquinas. Y respecto a la capacidad, el 8051 tiene desde 8k para arriba, con un tope de 64k (creo).
Re:El futuro es y seguirá siendo C
(Puntos:1)( http://barrapunto.com/ )
A riesgo de que me acusen de c-talibán, te diré que en su momento hice aplicaciones de gestión empresarial en... C++ (y recientemente una aplicación de análisis estadístico que come memoria como una loca), y tardé lo mismo que tu en Java, seguro.
¿Cómo? Con el Borland C++ Builder (léase también Delphi).
Una cosa es el lenguaje, y otra muy diferente las librerías que tengas.
Re:Que macho eres tio
(Puntos:1)( http://barrapunto.com/ )
Ahora vas y lo kaskas.
Re:Off topic: C#
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Jueves, 26 Octubre de 2006, 14:35h )
"Donde digo Linux no quiero decir GNU/Linux"
Re:El futuro es y seguirá siendo C
(Puntos:1)( http://barrapunto.com/ )
Mis palabras textuales fueron "o más, si cabe", lo que desde mi punto de vista no es una afirmación categórica.
Desde luego que sólo con los prefijos/sufijos de las llamadas a función sobra para que sea más lento, pero en ciertos casos, cuando hay toda una serie de expresiones complejas, bucles anidados, etc., un compilador optimizador agresivo (CodeWarrior, Wind River, Keil) son capaces de optimizar casi con toda seguridad (digo casi ) mejor que tu a mano.
Re:El futuro es y seguirá siendo C
(Puntos:2)( http://www.barraquito.net/ | Última bitácora: Lunes, 19 Enero de 2004, 10:54h )
Pero como te digo cada uno en su sitio. Java está genial para ciertas aplicaciones pero C es de lo mejorcito para otras muchas en las que Java no creo ni que pueda tomarse en cuenta. Está claro que C hace todo lo que hace Java (no viciversa), pero Java hace algunas cosas más fáciles.
"Estamos condenados a ser libres" [barraquito.net] (Sartre)
Re:Quien sabe...
(Puntos:1)( http://barrapunto.com/ )
PD: No tienedo eso de 'Abobínate colega y déjame dos euros'. Será algún nuevo aserejé que pronto nos llegará al otro lado del charco? :-)
El sentido comun es el menos comun de los sentidos.
Re:Almohadilla
(Puntos:1)( http://barrapunto.com/ )
Pues eso.
El sentido comun es el menos comun de los sentidos.
Te olvidaste uno
(Puntos:1)( http://barrapunto.com/ )
Muy cierto eso de qué no se puede saber a qué se refiere cuando un javero dice "java", sí señor.
El sentido comun es el menos comun de los sentidos.
Tjo, tjo
(Puntos:1)( http://barrapunto.com/tags/restalman | Última bitácora: Jueves, 12 Abril de 2018, 20:25h )
Ajá, dentro de poco veremos mensajes de tipo:
Foobar C Compiler version 3.03
Copyright Yoyodyne Inc. 2003
LAS AUTORIDADES SANITARIAS ADVIERTEN QUE PROGRAMAS PRODUCIDOS POR ESTE COMPILADOR PUEDEN PRODUCIR INDIRECTAMENTE CÁNCER.
Así, por ley. Seguro que no verás esos mensajes en un compilador de Java, C# o Visual Basic
__
Comprare è combattere.
Java se refiere al lenguaje y a la tecnología
(Puntos:2)( http://labitacora.net/ | Última bitácora: Jueves, 20 Mayo de 2004, 19:01h )
Está claro que no se confunde con un café o con una isla.
Os podéis cachondear de que Java use el mismo nombre para el lenguaje y la tecnología pero también me podría cachondear yo de C.
¿cuando un programador de C dice que una variable es de tipo int? ¿a qué se refiere?
¿y cuando dice long?, etc... Dependiendo de donde y cómo lo compiles eso ocupará diferente en memoria, tendrá diferentes límites... Y no sólo eso, también en unos sitios se usa Little Endian y en otro Big Endian, etc...
Como C sólo se refiere al lenguaje y no hay una "tecnología C" asociada, dependiendo de la plataforma donde estés tendrás un significado diferente.
Eso sí es un problema.
-- Uno de mis lemas: "1º. NO A LOS RECURSOS MAL APROVECHADOS"
Re:El futuro es y seguirá siendo C
(Puntos:1)No se, no se
(Puntos:2)( http://barrapunto.com/ )
Pero al limpiar se pasan un poco y parece que sean una facción de programadores que imponen sus gustos más que desarrolladores que investigan cual es la mejor opción.
Hay temas como que un módulo funciona mejor que un espacio de nombres que no acabo de entender.
Y otros que son tan super debatidos sin llegar a conclusiones válidas ( y subjetivos que dependen tanto del punto de vista ) que ofrecerlos como panaceas que te solucionan la vida es muy propagandístico.
Vamos, que opino (como otros) que llamarlo D es un poco presuntuoso para un lenguaje que parece que va a ser un java-c# de la facción local y con código nativo (parace ser...)
Pero que al final va a ser una opción atractiva si tus gustos coinciden con los de ellos. Porque lo que sí hace es mojarse y orientar el lenguaje de forma que el grupo de sesudos programadores-pensadores (que existir existe) pueda tener más opciones sobre cómo quiere hacer las cosas.
¿¿PETER?? ¿Demostenes? Y actualmente Lockpeter