Los lenguajes C y C++, en decadencia
por : Javier Pastor: 25 Abr 2008, 11:41
Un estudio realizado por la organización TIOBE que analiza la relevancia de los lenguajes de programación en el panorama mundial revela que lenguajes legendarios como C y C++ están en franca decadencia, mientras que Java es el líder indiscutible.
Una entrevista publicada en la prestigiosa Dr. Dobbs ha servido para descubrir el estado actual de los principales lenguajes de programación y la evolución de los mismos frente al mismo estudio realizado hace un año. El TIOBE Programming Community Index permite indicar la popularidad de los distintos lenguajes de programación en el mercado actual, y revela tendencias en el uso de estos lenguajes.
Este año la primera posición ha sido ocupada por Java, con un 20% de cuota de popularidad, mientras que C está en segundo lugar con casi un 15%. Sin embargo, la tendencia de este último es a la baja, a pesar de ser el lenguaje preferido por los programadores en Linux, por ejemplo. Algo parecido le ocurre a C++, que ha perdido un par de puestos respecto al año anterior y que también está reduciendo su popularidad a pasos agigantados.
En la entrevista a Paul Jansen, director ejecutivo de TIOBE, se señaló la causa esencial de ese decremento de la popularidad de estos lenguajes: “C y C++ están perdiendo terreno claramente. Hay una explicación muy simple para esto. Los lenguajes sin recolección automática de basura están quedándose fuera de moda. La posibilidad de encontrarnos con todo tipo de problemas de gestión de memoria está haciendo que gradualmente se compense esa pérdida de rendimientode los lenguajes con recolectores de basura con respecto a los que no lo tienen, aunque funcionen más rápidos.”
Y curiosamente, VisualBasic crece sin parar.
vINQulos


Comentarios
Te faltó incluir a C# entre los lenguajes que va inmediatamente después de Java y poco por encima de Visual Basic .NET
“Y curiosamente, VisualBasic crece sin parar.”
Toma OWNED by M$ xDDDDDDD
Es decir, cada vez hay más ineptos programando…
Pues nada, que empiecen ha hacer sistemas operativos en java.
Y que hagan maquinas virtuales de java en java.
La verdad es que el c y el c++ no sirven para nada
Por cierto: Haskell powaa!!!
none, sí, Haskell es el mejor (bueno, quizás los hay mejores, pero demasiado experimentales), pero entonces no sé porque dices que usar lenguajes con recolección de basura es de inútiles, a menos que lo dijeras de broma :)
C acabará siendo un ASM portable (como debe ser) y C++ morirá porque es un engendro :P Los que ahora van de gurús por programar en C son como los que en su día se creían más hombres por programar en ASM.
Y eso de que C o C++ son más rápidos… sí, para cosas muy concretas OK, pero quisiera ver a un programador de C “simular” evaluación perezosa, cosa muy útil en muchos casos :) Ya por no hablar de hacer aplicaciones paralelas, puf, ¡paralelizar en C puede ser muy feo!
Luego también está el tema de la productividad, no merece la pena hacer que un programa termine un cómputo 2 segundos antes si para eso necesitas 100 horas más de trabajo, es lo que se llama mejorar la relación prestaciones/precio.
En fin, cuando tengamos 32, 64 o 128 cores en un procesador casero va a importar bien poco que en C un bucle se ejecute unas décimas más rápido, o que el recolector de basura tenga cierto overhead, lo que va a interesar es poder sacar partido de todos esos núcleos, y en esa tarea C y C++ se comen los mocos :)
[...] he publicado en The Inquirer y la verdad es que me la debería haber reservado para Incognitosis, porque la noticia me ha molado [...]
Por el amor de dios. Hay alguien aqui que sea ingeniero informático?
Pues bien, yo lo soy y ahora mismo estoy terminado mi PFC en el que hago una comparativa de modelos de programación paral·lela Sabiais que todos mis codigos estan escritos en C/C++? Aún mas, sabias que en el Barcelona Supercomputing Center tambíen paral·lelizan código en Fortran? (tambíen en C por supesto)
Java és un lenguaje muy útil porque és multiplataforma y por eso cada vez se usa mas Pero su principal inconveniente és su ineficiencia. Por esta razón, para aplicaciones científicas el C va de coña. Por otro lado, la paral·lelización de código Java creo que aún està en pañales (aunque tendría que echar un vistazo en la web para comprovarlo)
#wom
“La verdad es que el c y el c++ no sirven para nada”
¡Toma castaña! Y te habrás quedado descansando después de esto, ¿no?
#Inconight
Inmediatamente después de Java va C, según la noticia. No intentes dar más bombo a C# del que tiene.
Java es popular porque es facil, pero coincido en decir que c y c++ son 100 veces mas eficiente en el manejo de recurso.
Lo unico bueno de java es que sirve para todo por eso el popular
Lo que hay que hacer es programar en lenguajes que en ese momento te valgan para hacer eso que tu quieres,da igual uno que otro.
Pero hay ahora unas premisas
1 Que sea facil de programar
2 Que lo hagas en poco tiempo
3 Que el programa pueda funcionar en todos los Sistemas Operativos.
4 Que sea funcional
5 Que se pueda programa de forma Orientada a Objetos
6 Esto es nuevo que se pueda programar para muchos nucleos del procesador.
Lo que no os dais cuenta es que el hardware evoluciona pero el software de creación tambien lo tiene que hacer.
Eso no quiere decir que el lenguaje C desaparezca si no que salga una derivación mejor de el.
Mirar Visual Basic como ha avanzado.
Yo que he programado en Quick Basic.
Pelearos por chorradas como está es bueno de malos programadores,a ver si aprendeis que hay que usar el que mejor se adapte a vosotros.
Noticia que un programador ya sabe que esto ocurre,ya que si uno trabaja en este mundillo se dá cuenta en que programa,yo solo he programado c una vez en mi vida y fue un pequeño programa.A mi me gusta Visual Studio 2008 y Delphi.Y hasta programo Access si hace falta,y salen programas muy dignos.Con Developer los haces en un paquete y listo.Y ahora lo que más está de moda es programar webs Asp,php,javascript,ajax,etc.
C# es mucho mejor que Java, es mas moderno y depurado.
Java para las lavadoras que para eso fue diseñado. La gente hace programas en java como quien hace churros, así después tenemos programas empalagosos que necesitan dos gigas de ram para ir fluidos. Java está bien para dispositivos móviles, o en algunos proyectos dónde el coste de desarrollo es el factor crítico. Sin embargo, la mayoría de aplicaciones se desarrollan casi en el mismo tiempo en java que en c++ con las apis apropiadas. Es más, en ocasiones, el peor programador hará programas más ligeros y rápidos en c++ (aunque puede que menos estables) que el mejor programador en java.
Para mí, el problema es que mucha gente piensa en el lenguaje que va a usar, antes de saber que es lo que tiene que hacer y que por algún extraño motivo la gente habla de C como si fuera el “coco”.
@tuseeketh : creo que @wow estaba siendo irónico…
OMFG
RTFM for all except Roger
———————
|_|0|_|
|_|_|0|
|0|0|0|
Java es el rey, pero de los más ineficientes y lentos lenguajes de programación que puedan existir.
Prefiero C#, que es más rápido y tambien es multiplataforma (gracias a Mono y portable.net).
Bueno, si alguien va a hacer un sistema administrativo contable, empresarial o una pagina web, carece totalmente de sentido hacerla en C o C++. Complicarse la vida, perder tiempo en productividad, aumentar de manera expotencial los agujeros de seguridad, para que?
Para ganar 2 milisegundos?
ODIO cualquier tipo de lenguaje que tenga dependencias de algo, C# depende del .net framework si no lo tienes vete a buscarte la vida porque no podras correrlo y Java depende de su virtual machine
C(++) y las librerias ANSI no dependen de nada
Y los lenguajes no mueren, es algo estupido, el hecho que se use mas o menos no quiere decir que haya muerto
Roger, yo estoy en 4º de ingeniería informática, y sé lo que es paralelizar código en C, y también sé lo que es paralelizar código en Haskell, y sinceramente, no tiene punto de comparación :) Y eso que ahora en Haskell hay que paralelizar con la biblioteca Parallel, cuando llegue el Data Parallelism en próximas versiones de GHC va a ser la caña.
En C puedes paralelizar para memoria distribuida con PVM o MPI, y en muchos casos la tarea no es obvia, te puede dar dolores de cabeza, y en cualquier caso necesita cierto esfuerzo nada despreciable. Si hablamos de multiprocesadores entonces usamos OpenMP, que en teoría es muy bonito paralelizar todo a base de directivas, pero al final eso sirve en contados casos simples, cuando la complejidad sube un poco te vés tirando código y realizando reducciones tú mismo.
C es una buena elección para trabajar a bajo nivel, no más, yo no uso un lenguaje donde a+b no es lo mismo que b+a excepto que sea estrictamente necesario. Que no me venga nadie a comparar en cuestiones de paralelismo un lenguaje secuencial (C, Java, C++, …) con lenguajes donde el orden de evaluación es irrelevante (Haskell, Clean, …), ya sería de risa.
Algunos deberían echarle un vistazo a Coconut, un framework hecho en Haskell para programar el procesador Cell, obtuvieron un rendimiento de 3 a 4 veces mayor que con el anterior, en C, fijate tú, y aún por encima el código es más seguro (lo que tiene el tipado estático :).
Roger, yo soy ing. informático y te digo que es una pena que hayas tenido que paralelizar tu código en C++. Cada lenguaje es una herramienta apropiada para una tarea, pero FORTRAN o C++ no fueron ideados para esos fines (por mucho que ayude OpenMP, iago ya lo ha explicado). Por otro lado, el cambio de un lenguaje a otro, no suele suponer mucho esfuerzo. Pero el cambio de paradigma, suele traer algún dolor de cabeza los primeros días :)
#Eduardo
Estás comparando peras con manzanas. Java es multiplataforma, C# no.
#Javier
Eso es mentira. El .NET Framework 3 no está para otra plataforma que no sea Windows. Ese NO es un lenguaje multiplataforma como lo es Java. Sólo es un intento más de dominación. No te tragues los cuentos chinos que te cuentan sin más.
Si la cuestión es que hallan flames todos los días XD.
A mí me mola C (pero no C++), pero por trabajo programo en Java (lo que no quiere decir que sea un inepto, yo también me programo métodos destructores de objetos como se haría en C).
Lo único que he de decir, es que hasta el C++ de Microsoft necesita un Runtime (por si no lo sabíais). Todos los programas creados con Visual Studio 2005 o 2008 en ese lenguaje necesitan también el .Net para funcionar.
Y tu eres profesional? no en serio. De hacerlo, lo harías en C++. Y todo programa hecho en C o C++ no tiene porque tener un runtime. Evidentemente si se usa alguna librería (incluida la estándar) debe estar enlazado con su código objeto (ya sea dinámico o estático). Por ejemplo, MSVC por defecto enlaza el runtime de C/C++ de forma dinámica, MinGW de forma estática.
visual studio trae dos versiones de c++, la .net y la nativa
estrictamente hablando todos los lenguajes excepto ensamblador necesitan un runtime (hasta C). Sólo que el de C es ínfimamente pequeño (malloc, parámetros variables y esas cosas), el de C++ un poco mayor (excepciones y RTTI) y .Net y Java enormes.
C y C++ estan siendo menos usados porque la gente o es inepta (generalmente esto) o bien no le interesa el rendimiento. Programar aplicaciones (sin tener en cuenta aspectos de rendimiento) es más fácil en C# o Java sin duda (aunque para mí Java es un completo asco como lenguaje de programación, lo que lo salva es la infinidad de bibliotecas que trae para poder hacer prácticamente todo fácilmente). Sin embargo los runtimes de ambos lenguajes de programación, irónicamente estan hechos en C++.
La gente que se queja del recolector de basura es la gente que no sabe que existen los destructores en C++ (y si dicen que saben programar en C++ entonces son ineptos), o bien si los conocen les da flojera escribirlos (son ineptos o flojos) o bien los escriben mal (son ineptos). De todos modos la gente que programa por ejemplo en Java termina escribiendo código parecido a C, porque lo único que se libera automáticamente es la memoria y tienen que liberar “a manita” todos los demás recursos.
Y nadie dice nada de Python? (”el lenguaje de programacion del soft libre” :P) Que segun ese indice es mas popular que C#, del q tanto estan hablando…
Es multiplataforma, interpretado pero mas liviano y rapido q Java…
Aca esta el top 10:
1) Jva
2) C
3) VB
4) PHP
5) C++
6) Perl
7) Python
8) C#
9) Ruby
10) Delphi
Haskell puede ser muy util para ciertas aplicaciones pero para usos científicos no lo creo. Al ser un lenguaje funcional, las únicas optimizaciones del código van a ser las que haga el compilador. Si un programador sabe como optimitzar el código, lo puede hacer mejor que el compilador. Haskell simplemente no da esa posibilidad. Por otra parte, creo que la complejidad de paralelizar con MPI se compensa con los speed-ups obtenidos.
Ah! Y que conste que MPI se puede usar tambíen en máquinas de memoria compartida. De hecho yo trabajo en un Altix 4700.
Que épocas aquellas en que teníamos que programar en Assembler!!! :`(
#Inconight
Echa un ojo a lo que ha comentado juanman y observa donde está C#.
Estoy contigo, Esteban. Se debe usar el lenguaje apropiado (o medianamente apropiado) para el proyecto que sea. Yo no voy a usar C o C++ para un pequeño programa de gestión para una pyme (pongamos que 5-10 puestos). Posiblemente (si fuera bajo Windows) la mejor opción sería Visual FoxPro (no lo sé, no he trabajado con él) y aún veo antiguallas en Clipper que se resisten a desaparecer.
Yo, por fortuna, no soy un buen programador ™, sino un simple aficionado y puedo usar Visual Basic o Gambas sin avergonzarme (Gambas a ver si tengo tiempo, leñe, que todavía no he podido catarlo).
Que C y C++ están en decadencia es una estupidez como la copa de un pino. La mayoría de los sistemas operativos, aplicaciones de alto rendimiento y el software que está detrás de los servicios Web más grandes está desarrollado en C++. ¿En qué lenguaje creéis que está programada la infraestructura de Google sobre la que se pueden ejecutar las aplicaciones Google App Engine?
C++ es un lenguaje fabuloso, potente, maduro, con un increíble conjunto de funcionalidades, como la STL y un ecosistema enorme. Los lenguajes dinámicos como Python tienen su hueco en el mercado, pero eso no quiere decir que los lenguajes como C++ no tengan sentido ni futuro.
Con respecto al tema de la recolección de basura, mi opinión es que los lenguajes que dependen de ella son prácticamente inusables en entornos Grid. Su perfil de memoria es impredecible, y su rendimiento impredecible.
No entiendo por qué la gente se empeña en decir que lenguajes como C++ sólo crean problemas de memoria o de recursos cuando, en realidad, deberían hablar de lenguajes como C. El uso de “smart pointers” en C++ elimina casi por completo los problemas de la gestión de memoria.
Todo lo dicho hasta ahora tiene, alguna valides, pero lo importante cuando vas a hacer un proyecto es elegir el lenguaje de programación con mucho cuidado, no sea que elijas java para un proyecto de intenso calculo matemático tendría que ponerle 10 TB de ram a la maquina, personalmente me encanta Python por su simplicidad, y enorme conjunto de librerías para casi todo, va mas rápido que java, y en ocasiones a la par con lenguajes compilados.
Para los que hemos programado algo el c, c++ y java, vemos como realmente la curva de aprendizaje de c y c++ es muy alta, ademas esos punteros no los entiende sino el que los invento y algunos otros a nivel mundial.
Estoy totalmente de acuerdo sobre el recolector de basura, en java esto es automatico.
Me sorprende que buena parte del software libre sea escrito en c y c++, aunque creo que con java y libre las cosas empezaran a cambiar.
la verdad que VB es los facil de hacer, hasta mi perro “trucha” programa en VBasic, claro es muy pen.de.jo para aprender java, o C#.
#pata_de_jaguar
La verdad es que nunca he programado VB, pero sólo de ver a algunos que programan con él y el resultado se me quitan las ganas de probarlo.
DDJ: Which language has moved to the top of the heap, so to speak, in terms of popularity, and why do you think this is the case?
PJ: If we take a look at the top 10 programming languages, not much has happened the last five years. Only Python entered the top 10, replacing COBOL. This comes as a surprise because the IT world is moving so fast that in most areas, the market is usually completely changed in five years time. Python managed to reach the top 10 because it is the truly object-oriented successor of Perl. Other winners of the last couple of years are Visual Basic, Ruby, JavaScript, C#, and D (a successor of C++). I expect in five years time there will be two main languages: Java and C#, closely followed by good-old Visual Basic. There is no new paradigm foreseen.
#juanman lo que dice esta persona es que apenas Python entro al top 10 de los lenguajes más populares sustituyendo a COBOL. Con lo que tu lista aparte de carecer de fuentes es 100% desechable. También la predicción de esta persona es que dentro de los próximos 5 años predominaran dos lenguajes de programación Java y C#, seguido de Visual Basic.
#tuseeketh date una vuelta por el blog de Icaza para ver lo que este hombre esta haciendo con su proyecto Mono y Moonlight.
cosmotheoro si no sabes punteros, no sabes C. Es lo que da potencia a C.
C es lo más rapido, obviando el ASM, y no hay más vuelta de hoja.
Java es bueno para hacer interfaces, como tengas un trozo de calculo intensivo olvidate, hazte una libreria en C y llamala desde java.
Y mezclar en el top lenguajes para web como php con lenguajes como C es de traca también.
@Roger
“Al ser un lenguaje funcional, las únicas optimizaciones del código van a ser las que haga el compilador. Si un programador sabe como optimitzar el código, lo puede hacer mejor que el compilador. Haskell simplemente no da esa posibilidad.”
GHC te permite hacer muchas optimizaciones sobre el código, tipos unboxed, trabajar con referencias (sobre IO o ST), especializar funciones… Si tengo un código que machaca números también puedo utilizar código C,Fotran,etc a través del FFI (véase GSLHaskell)…
No nos engañemos, en el CESGA por ejemplo tienen instalado Matlab en las máquinas, será porque lo usan :) Matlab usa código C/Fortran para las operaciones matriciales, por lo cual machaca números de manera eficiente, no hace falta programar todo en C/Fortran para obtener buenos rendimientos, para eso existen los bindings.
OK! En los lenguajes imperativos puedes hacer tú mismo optimizaciones más a bajo nivel, como elegir el mejor patrón de acceso a memoria para optimizar el uso de caché, pero tiene un problema gordo, y es que haces que el rendimiento de tu programa sea tremendamente dependiente de un procesador en concreto (no sólo de una arquitectura, pues el tamaño de linea y de caché cambia en diferentes modelos de una misma arquitectura).
“Por otra parte, creo que la complejidad de paralelizar con MPI se compensa con los speed-ups obtenidos.”
Los mismos speed-ups los obtienes con lenguajes más adecuados para el paralelismo y con mucho menos esfuerzo :)
“Ah! Y que conste que MPI se puede usar tambíen en máquinas de memoria compartida. De hecho yo trabajo en un Altix 4700.”
Si claro, pero no es lo óptimo :P El envio de mensajes con la consecuente duplicación de datos no es precisamente lo más adecuado para multiprocesadores.
Si C y C++ fueran tan maravillosos no habría el interés que hay en lenguajes intrínsecamente paralelos como Sun Fortress. Hacer guarrerías para paralelizar lenguajes secuenciales sirve durante un tiempo, pero poco a poco se dejarán de lado y se usarán lenguajes paralelos, como debe ser.
Por cierto, Clean es un lenguaje derivado de Haskell, la principal diferencia es que asegura la transparencia referencial mediante tipos lineales en lugar de monads, y su rendimiento es comparable a C.
Es bastante interesante lo que consiguieron los de microsoft research con los tipos lineales en Singularity
http://www.scribd.com/doc/2524463/OSR2007-Singularity-RethinkingSoftwareStackMicrosoft
#tuseeketh
Mejor no lo pruebes porque el VB se diseñó para otro nivel de programación, para el usuario empresarial que quiere resultados. Claro, para frikis como tú ya tenéis el C.
Saludos a todos los programadores de Visual de esta página!
Boca_de_Pez, pues mira, no me considero un friky y programo en C y C++, en los entonos en los que trabajo, DSP, Microcontroladores, protocolos en la capa IP y mac y sistemas de control en tiempo real, al java ni se le ve ni se le espera. Es más, para tiempo real la recolección automática de basura es un incordio que provoca inversión de prioridad.
#Boca_de_Pez
¿Qué tonto que eres, no?
# tuseeketh
C# no es multiplataforma por falta de implementación de .net en otras plataformas, pero técnicamente es un lenguaje interpretado, igual que Java, y será multiplataforma en la medída en que se implemente el framework .net en otros sistemas. Sino, pregúntale a Icaza…
XD
@Paco,
Ese cuento que java solo es para hacer interfaces graficas, es una gran mentira. Netbeans es 100% java, el navegador opera es java y esto no es solo interfaz grafica. En cuanto a calculos matematicos, la verdad java no es bueno para eso porque no es el area de java, es como programar web con c o c++, esto tampoco es de los C. Cada uno en su area.
Java ya posee sistema operativo http://www.jnode.org 100% java y assembler NADA de C.
#Dariorodt
Sí claro, es multiplataforma pero sólo puedes desarrollar en Windows y los Frameworks saldrán siempre primero en Windows y no habrá una mejor implementación que la de Windows. Es genial el C#, aporta mucho respecto a Java.
En fin, una reinvención de rueda más.
opera es c++ -_- opera para moviles probablemente java
{
Si no es multiplataforma solamente sirve para hacer plata. El lenguaje del mañana tiene que ser multiplataforma y no tiene que ser de Microsoft.
Osea que esta entre C++, Java y Python.
O combinaciones como D.
VB sirve para hacer ventanitas con botones rapido y nada mas, Perl es muy poderoso para hacer scripts pequeños de control de redes y Python se aprende en 15 minutos y tiene tanta potencia como C.
Eso si, en C++ se puede hacer absolutamente todo lo que en los otros lenguajes de programacion se puede hacer, pero en uno solo. Es el mas universal de todos pero mas complicado.
}
“Si no es multiplataforma solamente sirve para hacer plata. ”
En realidad, si no es multiplataforma solamente sirve para hacer sistemas que no requieran ser multiplataformas, o sea, la enorme mayoria de los sistemas y web empresariales…
#tuseeketh
soy una persona bastante ironica, lo digo porque siempre me respondes a mis comenterios y me da la sensacion que somos de la misma opinion :-)
#Alvare
“VB sirve para hacer ventanitas con botones rapido y nada mas”
Pues lo mismo que C#, ya que ambos son prácticamente equivalentes.
Eh… ¿en que lenguaje se programan los device drivers y los kernels de los sistemas operativos?
¿en java? ¿en C#?
Pregunto porque soy medio bruto vió
En mi opinion, como dicen muchos, el lenguaje de programacion se debe elegir de acuerdo al proyecto. He desarrollado proyectos en ensamblador, C, Java, Visual Basic (obligado por soporte pero pase todo a python) y en este momento vivo un enamoramiento con python.
Si se desea hacer un desarrollo que exprima al maximo la maquina, lo mejor es ensamblador seguido o junto a C, por ejemplo para programar controladores de dispositivo, o firmware (software embebido), o programar en pequeñas terminales (por ejemplo datafonos), etc.
Los lenguajes de alto nivel se crearon para la programacion del dia a dia, con nuevas herramientas (por ejemplo el for de python, que idea tan buena, ahora tambien lo implementa java).
La idea de estos lenguajes es facilitar el dia a dia de los programadores. Cuando se programa en C, en cada nuevo proyecto, por lo general se repite codigo que ya se habia desarrollado, eso es lo que intenta evitar los lenguajes de alto nivel, simplificar la programacion y evitar escribir codigo repetido.
Por otra parte, el mantenimiento del codigo es mucho mas facil con un lenguaje de alto nivel, por ejemplo hacerle mantenimento a codigo ensamblador es muy dificil, por el codigo espagueti que se genera (JMP sin contemplaciones).
Para el ultimo proyecto que desarrolle, el 95% del codigo fue python, y el otro 5% fue C.
Depende del proyecto es el lenguaje.
En lo personal uso Delphi, muy robusto y estable, por ejemplo un programa hecho en Delphi 2 (si, una antiguedad) correra sin problemas en windows 98, XP y aunque no se crea, en Vista (claro, sin capacidad de transparencia y otras cosas) y otra cosa, te obliga a pensar que deseas hacer antes de programar y con ello códigos mas eficientes.
Para Cubano
Puedes desarrollar un programa de “base de datos” en Delphi de una manera rapida, Por ejemplo abro una nueva ventana la pido en base de datos, Delphi me dice SQL o Tablas, digamos tablas, me pide cual es mi tabla maestra y campos que ocupo, luego la de detalle y “Voila” ya puedo hacer operaciones con la “base de datos”
Esto en Delphi Empresarial desde la version 4
Ah, cachis, ya sabía yo que se me olvidaba alguno. Desgraciadamente nunca he trabajado con Delphi ni he visto código de este lenguaje.
Vamos, que al final creo que todo se reduce a que usamos el lenguaje de programación:
1) por el que nos pagan (en el caso de que nos dediquemos a ello)
2) El que más nos gusta.
3) El más adecuado al proyecto en cuestión.
Me pregunto cuántas veces trabajará uno con el lenguaje que cumpla esos tres puntos :DDDDD
Curiosa lista la que se nos presenta…..y aun mas curiosas las opiniones de los lectores…
En un mercado centrado en la productividad C/C++ estan dejando de tener cabida en favor de otros lenguajes mas “productivos”. En mi opinion la lista refleja esa tendencia pero lo que no refleja es la realidad: Java, C#, VB, Python, etc.. todos ellos escritos en C/C++. Cada vez que interpretan (si: interpretan, que son lenguajes interpretados) una instruccion al final estan ejecutando codigo en C/C++.
En lo personal prefiero Eiffel (ese si que es de frikis!!!) que para mi es el que mejor implementa el paradigma de orientacion a objetos: herencia simple y multiple, invariantes de clase, precondiciones y postcondiciones….y un largo etcetera. Pero vuelvo a las mismas: al final genera codigo en C.
Salu2. blackraider.
#Cervantes: “lo que dice esta persona es que apenas Python entro al top 10 de los lenguajes más populares sustituyendo a COBOL. Con lo que tu lista aparte de carecer de fuentes es 100% desechable. También la predicción de esta persona es que dentro de los próximos 5 años predominaran dos lenguajes de programación Java y C#, seguido de Visual Basic.”
Carezco de fuentes? De qué estas hablando? Yo lo único q hice es copiar el top 10 del índice que enlaza en la nota… Te copio el enlace de nuevo:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Si es 100% desechable, discutilo con los de TIOBE, seguramente en tu empresa deben tener, como siempre, otras estadísticas mucho más certeras
Y obviamente coincido con lo de que depende del proyecto el(los) lenguaje(s) q sea(n) más conveniente(s) varía(n)…
Y c y c++ no van a desaparecer nunca!
La verdad es que parece que las personas que hablan mal de C y C++ y que quieren que esos lenguajes “desaparezcan, no se ubican de que sus amados lenguajes (Java, C#, VB.NET, etc.), están hechos en C ó en C++ y que eso no va a cambiar.
Muchas personas hablan de la gran productividad de Java ó C# sobre C++; pero tengo la impresión de que la productividad está en relación con la persona y no con el lenguaje, es decir, generalmente un programador de Java que usa esa excusa, va a resolver un problema en mucho más tiempo que un programador experto en C++.
#juanman
Ah, ¿no lo sabías? Los enlaces de Cervantes son los únicos que valen. Los demás son todos mentira.
Es normal, el muy enfermo tiene un txt con cientos de enlaces, uno para cada trolleada, y su trabajo le cuesta recolectarlos y organizarlos.
[...] información Aquí Suscripción RSS a los comentarios de la entrada. TrackBack URL Write a [...]
[...] ¿Están perdiendo terreno los lenguajes C y C++?www.theinquirer.es/2008/04/25/los_lenguajes_c_y_c_en_decaden… por elecTron hace pocos segundos [...]
Por favorr!!! como vana decir que la causa de esto es la falta de recolector de basura. Me parece muy poco profecional que una consultora nos venga a decir esto. Es casi comoa rgumentar que C/C++ va a morir porque tiene hay que a los programadores les resulta dificil escribir la palabra “main” dejen se de joder. Todos sabemos que C es la plataforma de casi todo. O acaso piensan que VB esta escrito en VB?? o que java esta escrito en java?? no gente todos estos lenguajes futuristas estan escritos en C/C++. No confundan. Decir lo que esta gente dice es un atentado. Con que lenguaje piensan escribir futuras versiones de C#? o de Java?? acaso a Unix lo escribieron con recolector? Me da la imprecion de que poca gente trabajo en proyectos grandes, VB/.NET/Java y demas solo se usan como interfaces de segundo y tercer orden para la generacion de reportes y/o acceso a servios que no dependan de velocidad. El trabajo en si es de C/C++. solo imaginense una Empresa de servicios telefonicos que use VB como plataforma de facturacion telefonica?? es inconcebible. Seguro que los lenguajes van creciendo en uso y aplicaciones, Seguro que hay menos desarrolladores de C que hace 10 años. Pero la causa no es la falta de RECOLECTOR, quien mira este detalle al elejir un lenguaje para usar?? Y la programacion paralela mas compleja??? me parece que son todos malos programadores, acaso quieren un lenguaje que autoprograme?? gente.. Mas manuales de teoria, No le den pelota a WINDOWS y accedan directamente a la memoria, escriban y lean la ram de video ustedes mismos, si somos programadores no tengamos miedo en resetear la computadora cada 3 minutos. es la clave para el buen programador. si no siempre seremos aprendices que nso dejamos llevar por estudios como este y nunca generamos una opinion propia.
Saludos
Eso de ser un machote programador está muy bien, pero si yo no voy a hacer una gran aplicación, sino una aplicación de gestión para una pyme (digamos que entre 5 y 10 puestos y una facturación anual menor de 5 millones) a entregar para ayer y por la que voy a cobrar unos 600-1000€ + formación + (con suerte) contrato de mantenimiento, no lo voy a hacer en C ni en C++, tiraré de VB u otro lenguaje donde no tenga que reinventar la rueda y pueda programar rápido y razonablemente bien.
He leído algunos comentarios en este thread y creo que no tiene sentido decir que si C y C++ están perdiendo cuota se deba a que hay más inútiles programando. Veánlo desde este punto de vista: siempre existirá software que deba correr directamente sobre la plataforma de hw como máquinas virtuales y ciertos componentes del s.o, entre otros, así que C y C++ no desaparecerán. Si tengo restricciones de tiempo en el desarrollo de un proyecto y no tengo muchos requisitos de rendimiento, es lógico que escoja lenguajes como Java, C# o Python que me permitan cumplir con mi objetivo. Nunca faltarán ocasiones en las que C y C++ sean la mejor o única opción.
[...] http://www.theinquirer.es/2008/04/25/los_lenguajes_c_y_c_en_decadencia.html [...]
Pues solo decir que “TODOS” los programas java que e usado son la peor basura que llego a mi pc.
La verdad es que tuve una experiencia programando en java un pequeño clon de exel que me encargaron y me exigieron que sea en java.
Pues fue el programa que mas rápido termine porque prácticamente todo ya esta hecho solo es usar los recursos y tienes tu programa.
Seguramente por eso es la tremenda popularidad de java además de ser multitarea.
También programe algunos programas en asm con interfase grafica claro que solo para Windows usando sus librerías.
Bueno saludos yo me quedo programando mis microcontroladores y microprocesadores en asm y en c.
[...] un poco por aquí y por allá, veo el índice de popularidad de los diferentes lenguajes y me resulta especialmente curioso el [...]
Que estupides mas grande este comentarios.
Quizas c/c++ este este perdiendo terreno en aplicaciones donde se executen “SELECT * FROM” .
O acaso me van a decir que c/c++ ya no se ocupara para desarrollar sistemas operativos, Bios, Api de comunicaciones, antivivirus, Motores de base de datos, etc,etc, etc, etc, etc, etc. Sino que ahora se usara Visual Basic y Java.
Por favor esos tipo no tienen idea de lo que dicen y quizas dicen esto porque son programadores de Dase de Datos.
Si tu usas Windows o Linux, todas las herramientas que usas estan hechas en c/c++. (Office, Excel, Access, Visual Basic, Juegos, Explorer, Skype, Messenger, Antivirus,etc,etc,etc,etc,etc,etc,etc). NO HAY NINGUNA HERRAMIENTA HECHA EN VB O JAVA.
(Incluso el mismo Java y VB estan creados en c/c++).
Y no estan hecha en VB o Java por la sencilla razon que estos lenguajes NO SIRVEN para estos desarrollos.
PD.
En tu vida diaria, lo mas problable es que el software basico (BIOS y Drivers) de los artefactos que tu usas como celulares, hornos microhondas, telefonos, MP3, IPOD, PDA, televisores, etc,etc,etc,etc,etc esten hecho en c/c++.
Publica un nuevo comentario