PDA

Ver la Versión Completa Con Imagenes : ¿cual es el mejor lenguaje para programar ? y ¿cual es el mas requerido por las empresas?


Ayudante De Santa
06-11-2015, 22:19:08
Los mejores licores
mono1389
17-01-2010, 19:56:07
exiten varios lenguajes como los son c#,java, visual basic entre otros cual es tu preferido y por que

Ayudante De Santa
06-11-2015, 22:19:08
Los mejores licores
faberosky
17-01-2010, 19:59:47
esos tres, html y flash

faberosky
17-01-2010, 20:00:55
y te recomiendo el phyton... es muy facil

rondamoncito
17-01-2010, 20:12:52
pequeño saltamontes. si esta interesado en aprender a programar peguele a java o c#.

aprenda algo de SQL como para bases de datos..

y algo de php para programacion web.

con eso conseguira trabajito

WeBMaSTeR_ShEvI
17-01-2010, 20:14:02
esto esta en zona equivocada.

se mueve a programacion y se aplica el reglamento!

Wilco
18-01-2010, 05:40:34
Si está relacionado con la Web, HTML/CSS (muy fácil) JavaScript, y php , son casi indispensables.

Si es para desarrollo de software, que realmente depende de las empresas.

Java y Python parecen dar resultados antes que otros lenguajes, mientras que C o C + + son más difíciles de dominar.

Wilco
18-01-2010, 07:49:04
Porque me pregunto la misma pregunta, he hecho un poco de investigación, y encontré esto: los idiomas de programación más utilizados:

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Java es el primero, segundo C, y entonces PHP. Usted notará que el objetivo C está a sólo 12, pero está creciendo rápidamente (+1,25% en un año), probablemente porque es el idioma utilizado para aplicaciones de Iphone.

ximation
18-01-2010, 19:33:57
Socio si estas interesado en programación para web los 3 lideres del mercado (como ya lo han mencionado) son:
JAVA
.NET (C#)
PHP

Dentro de estos JAVA es el lider indiscutible por la gran cantidad de APIs que provee para el desarrollo practicamente de cualquier de tipo de aplicación y que es gratuito (como no lo es .NET). Existe en este lenguaje una extensión para el desarrollo de aplicaciones empresariales llamado J2EE/JEE (Java Enterprise Edition) y otra para el desarrollo de aplicaciones para dispositivos móbiles: JME (Java Micro Edition). Como puedes ver la variedad de aplicaciones que puedes construir es bastante amplia. Si eres ambicioso y sobre todo juicioso te recomiendo aprender JEE, este sabor de JAVA incluye APIs muy robustas (algunas complejas) para el desarrollo de Web Services (si has escuchado de una vaina que se llama SOA, este es la base para el desarrollo de este tipo de arquitecturas con JAVA), Java Server Pages (JSP)., SErvlets, Java Server FAces, etc, etc, etc.....

.NET es una opción muy interesante, sin embargo la remuneración que puedes obtener vs JAVA es menor. PHP es una opción también interesante sobre todo la versión orientada a objetos

Si tu rollo es con aplicaciones Standalone (de escritorio) entonces puedes usar también JAVA (mira una vaina que se llama swing), visual c#, visual basic, c++ builder, power builder, etc, etc, etc....

Cuidate y si estas interesado recuerda que debes trabajar duro para dominar cualquier lenguaje

ximation
18-01-2010, 19:36:36
esos tres, html y flash


Amigo HTML como tal no es propiamente un lenguaje de programación, técnicamente es u lenguaje de marcado para representar las páginas que ves a través de cualquier browser. Flash tampoco es un lenguaje, es un producto de Macromedia para desarrollar secuencias de animaciones, como tal FLASH si tiene un lenguaje que se llama ACTION SCRIPT

Slds

rondamoncito
19-01-2010, 12:21:35
si el html ya paso a ser coquito de bachillerato

alejopelaez
22-01-2010, 11:08:31
Ps depende mucho de lo que quieras realizar.

Para aplicaciones web, ruby utilizando el framework de rails es muy superior a otros, otra opción sería python utilizando django. Tambien javascript y actionscript para esas paginas dynamicas, ademas con el nuevo framework para actionscript llamado FLEX puedes hacer cosas increibles. (Por cierto el uso de javascript y actionscript no es exclusivo, ya que estos se pegan facilmente de cualquier aplicación que hagas con rails o django).

Para software empresarial o de escritorio, C# con el framework .NET es muy bueno, pero solo serviría en windows, para un enfoque mas general me iría con ruby o python por la facilidad.
C/C++ si necesitas velocidad y ahorro de memoria. Lo único que lo supera es asembler. En realidad yo casi todos los algoritmos y funciones importantes las programo en C++ y genero librerias dynamicas que llamo desde otros lenguages.

Para cosas mas especificas como simulaciones matematicas usa matlab (no estoy seguro como se llama el lenguage que usan). Y para estudiar ciencias de la computación alguno funcional como agda o haskell.

Objective-C si te gusta Mac.

Java personalmente no me gusta, porque si yo voy a utilizar un lenguaje compilado espero que generé codigo rapido y que me de mucho control de la maquina, cosa que no pasa con java (y en verdad no es compilado, porque se genera java bytecode, que luego lo interpreta la maquina virtual, por lo que pierde todos los benficios de un lenguage compilado y se convierte simplemente en un lenguage interpretado con sintaxis de lenguage compilado). Las ventajas como el manejo automatico de memoria, lo multiplataforma, excepciones, api etc. las igualan lenguajes como python y ruby, que como son puramente interpretados le dan mas flexibilidad a los programas.

A tu segunda pregunta, yo todavía soy estudiante pero por lo que e visto creo que la mayoría de empresas buscan C# con .NET y lamentablemente java.

ximation
27-01-2010, 08:23:30
Respeto tus comentarios Alejo, pero le quitas credibilidad a JAVA, el hecho que java sea compilado en la etapa de desarrollo en un lenguaje intermedio (byte code) no le resta nada en su utilidad y funcionamiento. De hecho se hace para garantizar lo multiplataforma. Te aclaro que el objetivo de la JVM es compilarlo en código de máquina una vez ejecutas el software sobre la plataforma destino. Porque dices que Python y Ruby igualan a JAVA en APIs... esto la verdad no lo veo tan claro.

Python es un lenguaje interesante y rapido pero no es una buena elección comparada con JAVA.

Por algo el mercado como lo comentas en tu ultimo segmento prefieren JAVA y .NET.

Un saludo y gracias por participar

alejopelaez
28-01-2010, 15:52:43
Yo no quiero desacreditar ningun lenguage, puse mi opinión sobre java porque vi que muchas personas estaban comentando mucho sobre él y lo estaban sobreestimando, simplemente quiero darle el valor que es, ni mas ni menos.

Java es muy buen lenguage para su objetivo. El cuál es ser "un lenguage de no programadores" (Cita de un profesor mio de la U), esto porque para programar en java no se necesita saber de compiladores, ni de manejo de recursos, ni de algoritmos, ni de sistemas operativos, etc. Por esto java es muy buen lenguage para hacer aplicaciones comunes (como software de contabilidad, aplicaciones simples de escritorio, desarrollo web, etc) rapidamente, lo cuál es normalmente lo que necesitan las empresas y por eso es que buscan muchos desarrolladores de java, basicamente pueden hacer el mismo software en menos tiempo y por gente sin un titulo en ing. de sistemas (ahorro de dinero).
La gran ventaja de java y personalmente pienso que si la explotan java puede convertirse en uno de los mejores lenguages es la JVM (java virtual machine), lamentablemente java no explota toda su capacidad. Ademas de la portabilidad la JVM le podría permitir a java tenere un sistemas de tipos menos estático, inferencia de tipos, menos verbosidad, retornos multiples, retorno implicito, flexibilidad de clases. Ademas que al lenguage le falta tener cosas simples como funciones lambda, tuplas, accessores para los atributos (para ahorarse los sets y gets), constantes (aja, java no tiene constantes), pasar funciones por parametro, permitir otros paradigmas de programación (se limita mucho la arquitectura del sistema solo usar POO), herencia multiple, punteros, sobrecarga de operadores y seguramente olvido muchos. Lenguages como C#, python y ruby implementan muchas de estas cosas y van mas alla.
Pero estos defectos son mas de gustos, porque de todas maneras con java se puede realizar cualquier tarea, el único defecto que es sumamente crítico e importante para considerar es el de seguridad, java tiene fama de tener huecos de seguridad, y grandes. En verdad no se como ha evolucionado el lenguage, pero hace como dos años que lei sobre los problemas que tenía y automaticamente me desencante de lo que parecía un buen lenguage.

Por eso para una aplicación casual, o la mayoría del desarrollo web (teniendo en cuenta la seguridad), java es suficiente (claro que tambien lo son lenguages como C#, python y ruby). Para un desarrollo mas complicado donde se necesite implementación de algoritmos complicados, manejo minucioso del sistema, optimización de recursos y de ejecución no recomiendo usar java. Yo personalmente para el desarrollo que normalmente hago java no me sirve, por ejemplo he implementado algoritmos complicados como el cortado de mallas y motion planning (algoritmos de computación gráfica), tambien e hecho un ray tracer y no me imagino como hubiera hecho con java, el rendimiento simplemente no me hubiera servido. Te aseguro que empresas como google, microsoft labs, hasta el mismo SUN (excepto en partes de su suite openoffice) no utilizan java, ya que estas empresas estan creando tecnología de punta y se tienen que ir con lenguages o muy flexibles (python y a veces ruby) o muy potentes (C/C++), no creo que utilicen lenguages ademas de esos 4, depronto php para cosas web.

Ximation: En lo del api superior en python de lo que e hecho nunca e tenido problema en encontrar una función, lo mismo me pasa con ruby, siempre esta la función que hace lo que uno necesita. Pero yo me refería mas a rails y django(frameworks de desarrollo web), no se si los has mirado, pero si te gusta hacer cosas web en java, rails va a ser lo mejor que te ha pasado, la velocidad en que uno puede hacer una aplicación web robusta y segura es sorprendente, yo me atrevo a decir que reduce el ciclo de desarrollo de software por ahi en un tercio o menos, ademas te abstrae todo el manejo de bases de datos, incluso mas que java. Si necesitas una referencia, twitter esta hecho en rails.

jrlexx
28-01-2010, 23:36:22
PHP muy interesante para web y con un enorme potencial

ximation
08-02-2010, 07:52:15
Hola Alejo, me habia perdido un poco, pero volvi.

Amigo definitivamente hay opciones para todo tipo de problemas y gustos personales, asi como hay adectos a PHP, encontrarás uno que otro que aun le gusta desarrollar sistemas complejos en python, en conclusión es cuestión de gusto y necesidades y en eso nada que hacer.

Sin embargo tus apreciaciones de JAVA estan bastante desinformadas, creo que es mejor que investigues un poco mas. De hecho decir que JAVA es un lenguaje para "no programadores" es bastante aventurado. Si hay algo que le costo mucho a cualquier programador JAVA medio nuevo en el tema de programar es aprender a utilizar el lenguaje y la gran cantidad de APIS que trae (sobre todo para el mundo Web), además de los cientos de utilidades y frameworks que compiten por destacarse en este mundo tan amplio. Java esta posicionado hace mucho tiempo como uno de los lenguajes lideres del mercado sobre todo para aplicaciones empresariales para Web.. no solo puedes hacer los tipos de sistemas que mencionas, puedes hacer cualquier aplicación que se te ocurra, obviamente cada lenguaje esta construido con un propósito específico y orientado a unas áreas específicas, si lo que quieres hacer es una aplicación científica, en la que es vital la rapidez y los algoritmos son muy complejos pues JAVA no es la opción, para eso es mejor usar c/c++...etc, etc..

Yo creo que si Ruby es una buena opción la misma dinámica del mercado lo irá posicionando, pero eso sólo el tiempo lo dirá. Creo que afurtunadamente hay opciones de todo tipo en el mercado!

Saludos

alejopelaez
14-02-2010, 02:43:15
Hola Ximation, que mas.

Mira con el tema de lenguaje para no programadores no me refiero a usar apis, eso es lo más fácil de cualquier lenguage, para eso son. Yo me refiero al hecho de conocer el impacto a nivel de máquina que causa tu codigo, por ejemplo ¿Como harías que java asigne la memoria al stack y no al heap?(Normalmente el stack es mas rapido), ¿Como accesarías a una posición de memoria solo con su dirección? ¿Como lees una posición de memoría con el formato que deseas, o leer la misma posición de memoria de dos formas diferentes? (Esto útlimo ayuda a ahorrar espacio, teniendo varias cosas en la misma posición de memoria).
Depronto confundes el termino codificador a programador. El codificador sabe un lenguage y lo domina, y sabe utilizar sus fortalezas de alto nivel, apis, etc. Con esto realiza las tareas deseadas, sin importar como funcione la máquina, mientras de el resultado correcto. El programador tiene que saber esto mismo, pero ademas estructura el codigo (ya sea utilizando algo de OOP, patrones de dieño, algo de ing. de software, etc.), y también sabe el impacto a nivel de máquina del código y genera optimizaciones sobre este para generar codigo mas eficiente.

Un ejemplo simple. En C++(creo ke tambien java) para un codificador usar ++i ó i++, es exactamente igual, ps obtiene el valor de i aumentado en uno, pero sabías que i++ guarda el valor de i en memoría y llama a la función ++i?, entonces para un programador si no se necesita ese valor de i temporal de la memoria es mucho mejor ++i, ya que te ahorras las intrucciones de asembler para guardar i en la memoria, y las intrucciones para el llamado a ++i. Si tienes una aplicación que llame a estas funciones millones de veces por segundo, te aseguro que puedes alcanzar a notar una diferencia. Es un ejemplo sencillo pero ilustra mi punto, y te aseguro que casi nadie sabe eso. Yo creo ke yo solo se porgramar en C++(y eso que poco), en los demas lenguages no tengo idea que esta pasando cuando hago las cosas, por lo que no se si es mejor realizar una función de X ó Y forma. Programar de verdad es realmente dificil, codificar es relativamente facil.

Acepto que le estaba dando muy duro a java con una información algo desactualizada, yo me basaba en mis experiencias con versiones anteriores. Al parecer las versiones mas nuevas de java son mas flexibles y potentes, ademas que la JIT que usa java (Just in Time compilation) es bastante buena, y el java bytecode se auto-optimiza en tiempo de ejecución haciendo que el programa mientras corra se vuelva mas rapido, algo bastante interesante (C# tambien usa esto pero solo si corre sobre .NET). Tengo que volver a mirar java nuevamente sobretodo para hacer aplicaciones multihilo distribuidas y portables ya que parece ser la mejor opción (python y ruby son la otra, pero java si es mas rapido que ellos).
No se si le gane a C# pero por lo menos java esta madurando rapido.

Por cierto, mira lenguages funcionales, ellos si te ponen a pensar, pero el codigo es demasiado elegante ;)

ximation
14-02-2010, 10:16:12
Hola Alejo!

Amigo no le veo sentido a los terminos codificador y programador, en el mercado simplemente tienes programadores que dependiendo de la experiencia se pueden clasificar en junior, normal y senior. Ahora con relación al uso de la memoria directamente, sencillamente no conozco ninguna aplicación que requiera manejar la memoria directamente (en C/C++ es porque toca porque es la opcion que permite el lenguaje para los programas que asi lo requieren.. porque no todos requieren manejar la memoria directamente). Java es un lenguaje que viene estructurado para que no tengas que hacerlo (para que te concentres en lo realmente importante, que son los requerimientos funcionales de tu software), pero puedes hacer exactamente lo mismo que cualquier otro lenguaje (incluso puedes trabajar con estructuras como árboles, pilas, listas, etc, sin necesidad de preocuparme por cómo almacena la JVM la información.. para que quiero yo acceder una misma posición de distintas maneras??? he hecho decenas de aplicaciones para web y standalone de cualquier tipo que no te imaginas y no lo he necesitado!!).

Con relación al tema de APIS, es la base de extensión del lenguaje, no puedes decir que es lo más fácil porque hay algunas que son realmente complejas, y es lo que ha hecho a JAVA como una opción interesante por la variedad de APIs para hacer multiples cosas. Aunque debo aceptar que también es un punto de rechazo de JAVA por parte de la comunidad de desarrolladores, pues existen a veces hasta 5 apis para hacer una misma cosa. Pero yo lo vería mas bien como una ventaja, pues tienes mas de donde elegir.

El ejemplo de uso del operador ++ esta mal citado. Sencillamente el uso de ++i o i++ no tiene efecto sobre el uso de memoria, tiene efecto sobre la operación de suma, el operador ++ normalmente lo usas implicito en otras operaciones, ej:

diferencia = control - (i++);
ó
diferencia = control - (++i);

El efecto que tiene el uso del operador ++ antes o despues es funcional, mas no de optimización de alguna operación. Si usas ++i el efecto es que se usa el valor de la variable i antes de sumarle 1; si usas i++, primero se le suma 1 y luego se usa el resultado dentro del contexto de la operación que deseas ejecutar. Entonces usas el operador ++, sencillamente dependiendo de que necesitas.

Yo diria Alejo que si quieres realmente pensar cualquier lenguaje lo hace (en este punto no se que es lo que quieres defender, si lo que argumentas es que sea dificil programar o que sea fácil, que permita hacer sistemas de cualquier tipo o aplicaciones específicas...), si te refieres a sintaxis fijate que JAVA se hizo con una sintaxis muy parecida a C++ para facilitar que los desarrolladores lo usaran sin muchas dificultades.

Definitivamente amigo para no alargar mucho mas esto, pienso que hay lenguajes para todos los gustos, hay casos excepcionales en los que definitivamente tienes que usar uno específico porque con ningún otro puedes hacer tu tarea. Pero JAVA no esta posicionado donde esta porque si, .Net no esta alli porque si, respeto el hecho que salgan nuevas opciones que intenten mejorar los procesos de desarrollo pero tendrá que pasar mucho tiempo para que salgan opciones que logren superar el potencial y flexibilidad de JAVA para hacer aplicaciones o incluso superar a .NET.

Ruby + Rails se ve interesante, pero prefiero irme por una plataforma mas madura, con mas años en el mercado, que me ofrece X mas opciones para elegir (Sólo por mencionar los mas maduros - estandarizados y no estandarizados - y mas utilizados: Hibernate, Java EE con session beans y entity beans, JPA, JDO, OpenJPA, iBatis o hacerlo a código pelado con JDBC e inventarme mi propio framework, etc, etc) que una única combinación.

Un abrazo.

GRAFO0505
15-02-2010, 17:36:09
YO RECOMENDARIA EL C++ ES UN LENGUAJE DEFINIDO Y MUY BUENO

C++ es un lenguaje de programación (http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n) diseñado a mediados de los años 1980 (http://es.wikipedia.org/wiki/A%C3%B1os_1980) por Bjarne Stroustrup (http://es.wikipedia.org/wiki/Bjarne_Stroustrup). La intención de su creación fue el extender al exitoso lenguaje de programación C (http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_C) con mecanismos que permitan la manipulación de objetos (http://es.wikipedia.org/wiki/Objeto_%28programaci%C3%B3n%29). En ese sentido, desde el punto de vista de los lenguajes orientados a objetos (http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos), el C++ es un lenguaje híbrido.
Posteriormente se añadieron facilidades de programación genérica (http://es.wikipedia.org/wiki/Programaci%C3%B3n_gen%C3%A9rica), que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada (http://es.wikipedia.org/wiki/Programaci%C3%B3n_estructurada) y la programación orientada a objetos (http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos)). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma (http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_multiparadigma).
Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT.
Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de operadores (http://es.wikipedia.org/wiki/Sobrecarga)), y de poder crear nuevos tipos (http://es.wikipedia.org/wiki/Tipo_de_datos) que se comporten como tipos fundamentales.
El nombre C++ fue propuesto por Rick Mascitti (http://es.wikipedia.org/w/index.php?title=Rick_Mascitti&action=edit&redlink=1) en el año 1983 (http://es.wikipedia.org/wiki/1983), cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.

d0hk0
20-02-2010, 21:56:11
python es muy bueno pero java, c# y c++ mandan la parada....

ARICARRARO
14-12-2010, 15:39:23
esos tres, html y flash


De hecho HTML no es tanto para "programar" es para darle un formato a las páginas Web. De Flash no esun lenguaje, ActionScript si lo es. El tercero ¿cual es?

ARICARRARO
14-12-2010, 15:41:10
A mi criterio el lenguaje más usado es Java. De hecho los programadores Java son más cotizados que cualquier otro.