Hoy vi en menéame una nota interesante sobre el uso de algunos lenguajes de programación, basado en las estadísticas que publico SourceForge hasta Febrero del 2006:
También existe TCPI, solo que este basado en buscadores y algunos otros proveedores. Interesante no? ver como lenguajes de programación más fáciles de usar como Java y PHP adquieren mucha fuerza y los lenguajes más tradiciones (y robustos) como C pasan al olvido… o al menos son para usos mas exóticos 😛 .
Pero de la nota de menéame, me causo mucha gracias ver estos comentarios:
#8 <flame>
#2: Todo lenguaje que no soporte herencia múltiple y encima lleve un garbage colector es un lenguaje orientado a nenazas (como Java). Los programadores de pelo en pecho seguirán usando C/C++.
</flame>
a lo que otro responde:
#11 #8 Los programadores de pelo en pecho seguirán usando C/C++.
Mientras que los programadores de verdad seguirán usando ensamblador.
LOL. A mi querido C, hace ratos que no lo uso… aun que no me quejo de php, si extraño bastante hacer llamadas a malloc/free y manejar punteros (hasta dobles) a todo lujo. Con eso de que los lenguajes se vuelven de más alto nivel, ahora cualquiera puede programar; ya no tienes que reparar en tantos detalles para poder hacer un simple programa hola mundo.
Bah! y yo que nunca me lleve bien con las clases y sus herencias :S . Todavía me recuerdo de mis aventuras con Microsoft Fundation Classes… vaya si no me desvele tratando de entender ese HORRIBLE código! nunca dí bola con MFC y mejor preferí trabajar con C y llamadas directas a las APIs de Windows, facilito como el agua clara jejeje. También me aventuré en el mundo de ensamblador, pero no fui muy bueno manejando la pila… varias vece mande a freír patatas a Windows 9x con fallos de página :D; al menos recuerdo que pude manejar a inyección de procesos hacia otros y hacer “encriptaciones” con XOR usando varias claves… en eso si admire a la gente de 29A que podía (y pueden) hacer estragos con sus virus desde ensamblador puro! Programadores de verdad 😛
Ah tiempos aquellos. Aún sigo sin usar clases en php, por que me parecen un verdadero desperdicio de código: constructores y métodos; claro para ahorrarte tiempo son una maravilla, pero aún prefiero invertar la rueda una y otra vez 😉
Si y no estoy de acuerdo con esos dos comentarios, porque de seguir programando en assembler (como “programador de verdad”) para aplicaciones más complicadas, el tiempo de producción se multiplicaría y la efectividad y rápidez bajaría.
Me gustó más el comentario que decia:
“Quien piense que por soltar componentes en un formulario y parametrizar los data source ya está todo inventado es que le falta bastante perspectiva. Es una curiosa paradoja, cuanto más facil es programar … más problemas complejos tienden a ser programados. De lo cual me alegro mucho”
Y no podría estar más de acuerdo, pues aunque no dudo que se tenga más control sobre el código, de qué sirve programar “a pie” algo que una herramienta lo realiza de una manera aceptable (para el desarrollador)? Si una herramienta te ayuda agilizando el tiempo y uno está conforme al resultado, para qué inventar el agua azucarada solo para poder inflarse uno mismo por “ser tan cabrón”? Si por programar en Java (o cualquier otro “fácil”) voy a ser tachado de “chafa”, pero me va a permitir orientarme a problemas más complicados que el mundo actual exige, no me importa.
A no ser, claro, que se necesite un verdadero control, pero por eso creo que la gráfica no demuestra “quien vá ganando” porque no lo veo como competencia de todos contra todos, porque agregan diferentes tipos de lenguajes de programación que tienen como objetivos diferentes aplicaciones, así que más que eso te deja ver qué tipo de aplicaciones son mas populares por el momento.
Claro que no estoy descalificando a C ni a assembler y a sus propiedades y facilidades que otorga, pero cada quién en su rollo, y así como encontras compañias que hacen TODO en VB y yo no puedo estar de acuerdo, a sus clientes les puede no importar y estar conformes al resultado, pues es justo lo que necesitan. Por cierto, en la gráfica más actualizada (http://www.tiobe.com/tpci.htm) Java está arriba y de “gundas” va C.
Este post me recuerda la eterna lucha de la jerarquía entre programadores: http://www.hermann-uwe.de/files/images/programmer_hierarchy.png
innegable…
@pacuna: pues claro, el tiro de esos 2 comentarios que cite fue justo como la gráfica que Hector nos enlazó: Quien se cree más que quien. Hacer desde assembler (o una máquina de Turin!) una pequeña aplicación que haga consultas a la base de datos sería un completo desperdicio de tiempo, para eso si es mucho mejor un lenguaje de alto nivel; aunque aguas! eso de usar los controles ADO, Datacontrol y demás pandilla no es muy saludable.. hay de veces que los condenados se revelan y juaaas! ya te llevo la fregado porque hay ciertos filtros que no son tan fáciles de hacer.
Un formulario Crear/Modificar/Borrar a una sola tabla usando los controles ADO lo haces en menos de una hora… mientras que usando el metodo bruto de leer los datos y llenar el listview seguro te lleva unas 6 horas si no tienes practica ;). Si ya es para varias tablas (Inner Join) yo si prefiero hacerlo a piecito con SQLCommand porque los ADO dan mucho problema y no hay como hacer filtros a la medida.
Con eso de que todo es Web, el problema a resolver no es como hacer las consultas a la base de datos, si no como hacer que tus usuarios socialicen mejor 😛
@Hector: Cabal vos los más puristas siempre van a estar arriba, a los de Lisp y Assember creo que todavía les ganan los de Turin jejeje
A C y a Assembler hay que agradecerles todo lo que existe programado, gracias a esos lenguajes tenemos lo que tenemos. Mis respetos para los que programan en C y en Assembler, yo hace algun tiempo lo hice en la U realmente fue complicado. Pero lo que dice pacuna es muy cierto, la cosas cambian y no podemos crear el agua azucarada, ahora nos dedicamos a resolver otro tipo de problemas, con las herramientas que ya han sido construidas. Personalmente soy un fan de Java, y yo tampoco estoy de acuerdo con el comentario de este sr. de meneame, porque Java no es un lenguaje que soporta herencia multiple y espero que nunca lo sea. Lo que tiene Java es una jerarquia de herencia, que es muy diferente a herencia multiple. Me alegro mucho ver a Java en primer lugar. Para terminar un definicion de que es ser un programador de Java.
“Being a Java Programmer means you must be at one with the object-oriented aspects of Java. You must dream of inheritance hierarchies, the power of polymorphism must flow through you, cohesion and loose coupling must become second nature to you, and composition must be your bread and butter.”
Pues el punto es para que necesites el programa, la interface y la arquitectura del procesador.
Por ejemplo en área dónde trabajo se ve de todo desde simples bases de datos basadas en archivos planos hasta, lásers que si usaran cualquier OS se tardaría más 45 en cargar (ya lo he visto en los que han descontinuado) por lo cual Assembly nunca podrá salir del corazón de los mismo, pero las bases de datos para manejo de imágenes enormes serían años para hacer un programa desde Assambly y que llegue a tener compatiblidad DICOM pero estas no podrían funcionar si no tienen modulos programados a bajo nivel para poder acceder a hardware como una Frame Grabber.
La lucha es entre programas de un mismo nivel, yo siempre soñé con un lenguaje como Ruby y ahora que hay muchos tutoriales pues me he metido a aprenderlo, pero se que no se adaptará a todas las mis necesidades.
La imagen de jerarquías de software me parece que Visual Basic debiera estar a la par de html.
Es cierto Javier. Ja ja ja ja VB – HTML JA JA JA
Soy también programador y en ocasiones, cuando uno conoce un gurú programador, y uno le pregunta JA, es como hablar con los de viaje a las estrellas (Trekies). Te dicen que “programar es como la vida”, una forma de vivir, una filosofía… etc etc etc
@jchaclan: si te comprendo, C y Assembler son bastante difíciles pero media vez les entiendes te vas de maravilla… y puedes plantearte retos que devanaran tus sesos jejeje. Herencia multiple? ah no ya vas allí son verdaderos quebraderos de cabeza, cuando mezclas virtual, protected y private… puffff.
@talishte: Fijate que yo no he probado nada de Ruby, dicen que media vez lo probas ya no queres dejarlo… pero estoy seguro que va a ser muy fácil de usar, pero eso no me va a gustar XD
@Hector: Andy, desarrollador de WordPress, es un Trekie a muerte entonces con esa su playera de El código es poesía XD y tiene razón jajajaja
Pienso que no hay que desmereser ningun Lenguaje de Programacion, pero hay que poner las cosas claras y respetar a la historia, Assembler es un lenguaje que trabaja DIRECTAMENTE con las instrucciones del PROCESADOR x86 (BAJO NIVEL ‘mas cerca del procesador’) fundado por INTEL (99% de las computadoras del mundo). Hoy en dia gracias a las maravillas de las librerias junto con los programas de ALTO NIVEL (‘mas lejos del procesador’JAVA; VB; etc) las cosas estan mas automaticas y “faciles”, es verdad que a esta altura controlar un base de datos en Assembler seria un dolor de cabeza.
“Uno se pregunta para que subir por las escaleras si esta el ascensor ?” Ahora, cuando el ascensor entre a fallar quien lo repara …?
Mis respetos para Assembler y para quienes lo dominan, gracias a ellos tenemos los fabulosos CRACKS, SERIALS, KEYGENERATOR, PATCH, etc. que nos dejan disfrutar a FREE nuestros programas y juegos favoritos !!!!!
Ya que cualquier programa creado por JAVA, C++, C etc. de aca a 1000 años siempre se podra “DECOMPILAR” en codigo Assembler (hablando de procesadores INTEL o AMD) y una vez echo podremos hacer lo que queramos con el (modificarlo, crackearlo, etc).
Que la gente use mas JAVA para aplicaciones cotidianas, no significara que los lenguajes de bajo nivel pasen al olvido, Assembler es lo mas cercano a DIOS en la Programacion.
Amen.
hola a todos por lo que veo saben bastante de programacion… pues yo estoy estudiando lo mismo 😉 y me interesa mucho lo malo que el ing. del curso me dejó un trabajo donde tengo que escribir a pulso en hoja el nombre de 30 NOMBRES DE LENGUAJE DE PROGRAMACION (30 BAJO NIVEL, 30 ALTO NIVEL , 30 ORIENTADO A OBJETOS , 30 VISUALES ) Y PARA SER POCO ME DEJÓ 30 NOMBRES DE PROCESADORES DE TEXTO , 30 HOJAS DE CALCULO, 30 GRAFICADORES, 30 DBMS.
estube buscando informacion en la web pero vi muchos nombres repetidos como por ejemplo el C++ lo toman como un visual y en otro como uno de alto nivel y en otro como de alto nivel… la verdad nose en que criterio confiar, por eso pido la ayuda de ustedes si fueran tan amables 😀 … se los agradecere mi E-mail es hiroito_3x@hotmail.com
Quien me demuestra que el lenguaje de alto nivel es el mas correcto porque a tal empresa le va de lujo, que equivocación tan bien calculada y digo tan bien calculada porque es eso lo justo y calculado que desean los grandes del software, como dejarte a ti que manipules internamente los periféricos del PC, no-hombre eso hace daño, usa visual Basic que yo sigo haciéndome rico y tu quieto que yo te doy todo eso pero virtual y olvídate de ASM y de C, y claro esta la basura que dejamos en las compilaciones pues no-pasa nada hay Miles de Ghz de velocidad no se nota, el día que la optimización del software sea con el nivel que se obtiene con ensamblador estaré de acuerdo con lo correcto del lenguaje de alto nivel, que yo lo llamaría de alto coste y alto beneficio caso a parte para ciertos lenguajes libres pero que a medida que pasa el tiempo el peso en basura también le esta afectando
Aquí están muy equivocados mas de uno, como que controlar una base de datos es muy complicado en ensamblador no sabes lo que dice, lo complejo es el diseño del programa que lo hace una vez echo se comporta como cualquier base de datos echa en cualquier otro lenguaje, estáis confundiendo programas para controlar con controlar con ensamblador que no es lo mismo pero te aseguro que si se puede hacer con ensamblador aquí se confunden los términos, acaso no hay sistemas operativos íntegros en ensamblador lo difícil es hacer eso luego el que ese sistema o base de datos ya echa haga esto o lo otro da igual en el lenguaje que este echo, lo que no da igual es la pureza de código, la rapidez con la que trabaja y los errores que puedan tener, acaso no Sabéis que el que los sistemas operativos o programas comerciales se actualicen realmente no es debido a avances si no por el contrario a que se cometieron errores y se subsanan con las actualizaciones y a que es un negocio y si no hay errores no comen, claro que se pierde mucho tiempo en diseñar con ensamblador, me quieres convencer que por eso las empresas pierden mucho dinero o por el contrario no será que no ganan mas de lo que pretenden, si tu diseñas un programa y es eficaz porque tienes que actualizarlo explícame eso que no me entero, además dudo que con ensamblador tengan los errores que tienen los creados en alto nivel, lo que ocurre que da mas beneficio que tu todos los años o cada tres meses actualices tu software, el avance del software esta a años luz del avance en hardware y dudo que eso se corrija es muy costoso quitar la basura que deja un compilador es mas rentable que tu compres dentro de unos meses un PC mas rápido y no pasa nada, y si duele a alguien mi opinión: JABA, visual c++, php para mi son pantomimas con basura incorporada, para trabajar dentro de sistemas controlados por los grandes del software para mi todo lenguaje que no pueda trabajar independiente de un sistema es basura de alquiler, ojo que me refiero a trabajar sin sistemas operativos no que pueda trabajar en otros sistemas