Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: kurotenshi en 9 Diciembre 2011, 00:43 am



Título: Lenguaje de programación para ejecutables
Publicado por: kurotenshi en 9 Diciembre 2011, 00:43 am
Hola!
Quiero aprender un lenguaje de programación para computadores, para que me permita crear programas para windows y si luego avanzo mucho talvez  algun OS  :silbar: . También he querido aprender a hacer aplicaciones para android y he buscado encontrándome así con java, pero no se si este lenguaje me servirá también para crear aplicaciones para pc, por lo que tengo algunas preguntas.
¿Cual es el mejor lenguaje de programación para computadores?
¿es realmente necesario saber java antes de aprender a crear widgets para android?
¿Cuales son los beneficios de cada lenguaje de programación?

Cuando me refiero a lenguajes de programación, en este momento me refiero a lenguajes de programación para crear ejecutables, ya que en este momento ya estoy aprendiendo php para sitios web


Espero que me puedan ayudar
De antemano gracias!


Título: Re: Lenguaje de programación para ejecutables
Publicado por: skapunky en 9 Diciembre 2011, 01:07 am
Irémos a lo practico en tu caso, veo que tienes especial interés en programación de aplicaciónes para smartphones, los smartphones segun el tipo que sean los dos lenguajes dominantes són C-sharp y java.

Lo que te recomiendo es que aprendas C y Java, es lo mas útil que puedes hacer. Te soltaría el rollo del pascal y el aprendizaje...pero luego hay gente que cree que estoy sentado encima una piedra y corro detras los dinosaurios. El C te servirá para aprender a programar lo que quieras en tu ordenador y el java también, són algo parecidos y tendrás la ventaja que podrás programar para smartphones en java.


Título: Re: Lenguaje de programación para ejecutables
Publicado por: kurotenshi en 9 Diciembre 2011, 01:24 am
¿Entonces java también sirve para programar para pc?
Si es así, cual es la diferencia entre ambos? porque según lo que entendí java sirve para ambos, por lo que no entendería porque la gente aprende otros lenguajes de programación para ejecutables'??

Cual es la digerencia??


Título: Re: Lenguaje de programación para ejecutables
Publicado por: skapunky en 9 Diciembre 2011, 01:31 am
Cada lenguaje su sintaxis es distinta, va a gustos, yo por ejemplo me gusta Pascal/delphi y C. Hay gente que le guste java (a mi no)...En general también es depende lo que programes y para que plataforma lo programes.

Por ejemplo si quiero hacer una aplicación para un Android en Pascal lo llevo claro...o si quieres hacer un sistema operativo en visual basic tambiñen lo llevas claro...Yo por eso te recomiendo C y Java además de que puedes programar en windows como en Linux.

Por si tienes dudas en java, te pego una respuesta breve pero aclaratorio:

Citar
JME Java Micro Edition (J2ME anteriormente) es la versión de la plataforma Java para desarrollo para dispositivos móviles, entre otros (PDAs, electrodomésticos...)

JEE Java Enterprise Edition (J2EE anteriormente) es la versión de la plataforma Java para desarrollo de aplicaciones de clase empresarial en un entorno Cliente - Servidor (Aplicaciones Web o para Intranet).

JSE Java Standard Edition (J2SE anteriormente) es la plataforma base de Java, esta es la que incluye los paquetes necesarios para crear las aplicaciones con GUI (Interfaz Gráfica, las aplicaciones para PC que mencionas), estas se encuentran en el paquete javax.swing


Título: Re: Lenguaje de programación para ejecutables
Publicado por: kurotenshi en 9 Diciembre 2011, 01:36 am
Entonces con C puedo programar en windows y en linux?

Supongo que empezaré por ese para aprender a programar aplicaciones y luego iré a Java (sigo aprendiendo php y un poco de javascript, por lo que prefiero ver por ahora C)
De todas formas, que C me recomiendas, parece  que está el C++ y el C#? ¿Cual es mejor para crear ejecutables?


Título: Re: Lenguaje de programación para ejecutables
Publicado por: [Case] en 9 Diciembre 2011, 01:48 am
Creo deberias buscar en Google sobre java. En resumidas cuentas; java corre sobre una maquina virtual, por lo que si existe una maquina virtual para el Sistema Operativo en donde quieras que corra entonces java correrá en el Sistema (para mas información sobre esto busca en google).
Ahora, C y java tienen diferentes paradigmas, C por un lado es orientado a estructuras, mientras que java es orientado a objetos.
Ademas de estos paradigmas, existen otros que son muy útiles para diferentes problemas (funcional(haskell, logico(prolog),orientado a aspectos(python)).
Pero todos pueden resolver los mismos problemas.

Esta es una de las principales razones por las cuales existen varios lenguajes de programación, pero no es la única razón, por ejemplo esta la filosófica de cada lenguaje, etc.

Para programar en android es casi seguro que necesites Java, aunque he leido que usando MonoTouch lo puedes hacer en C#.


Título: Re: Lenguaje de programación para ejecutables
Publicado por: kurotenshi en 9 Diciembre 2011, 02:18 am
Y C también corre bajo maquina virtual o no se necesita nada para ejecutarlo?
En el caso de C#, C no lo utilizaría para programar android, eso lo haría después programando en java. Por lo tanto ¿visto desde el punto de vista de programar para pc, cual de los C es mejor?


Título: Re: Lenguaje de programación para ejecutables
Publicado por: [Case] en 9 Diciembre 2011, 03:01 am
C no corre bajo ninguna maquina virtual, lo que implica que si lo necesitas para alguna arquitectura en especifica tendrías que compilarlo para ella. Pero C es tan usado que encontraras compilador en casi todas las arquitecturas.

En mi opinión, yo recomiendo comenzar con Java o cualquier lenguaje orientado a objetos, dado que es un paradigma que es muy intuitivo a la hora de pensar la solución.
Por ejemplo en el MIT en la clase de Introduction to Computer Science, ellos comienzan a aprender a programar con Python, el cual es un lenguaje Orientado a objetos y que tiene una sintaxis mucho mas sencilla que Java.

Por otro lado, una vez manejes un lenguaje, aprender otro te tomara casi nada de tiempo a comparación con el primero.



Título: Re: Lenguaje de programación para ejecutables
Publicado por: kurotenshi en 9 Diciembre 2011, 03:11 am
Y la compilación significaría transformar el codigo de C en un .exe?
Ahí yo creo que voy a ver ambos para ver con cual empezar, porque en parte por ahora me interesa un poco más crear .exe , pero si java acelerara el aprendizaje sería bastante conveniente, aunque estoy a punto de salir a vacaciones de verano en el colegio, por lo que tiempo tengo (mientras me aplique puede que termine de ver php y el lenguaje que empiece ahora)


Título: Re: Lenguaje de programación para ejecutables
Publicado por: Ferno en 9 Diciembre 2011, 03:13 am
A grandísimos rasgos, sí, la compilación es el proceso por el cual se crea el ejecutable. (más allá de eso, durante este proceso pasan otra cantidad de cosas importantes).


Título: Re: Lenguaje de programación para ejecutables
Publicado por: kurotenshi en 9 Diciembre 2011, 04:27 am
Y por lo tanto, cual versión "versión" de C sería mejor para crear ejecutables, solo quiero uno que sea para programar ejecutables, no que despues sea para crear webs (para eso ya tengo php)
Espero con ansias la respuesta!  :D


Título: Re: Lenguaje de programación para ejecutables
Publicado por: Ferno en 9 Diciembre 2011, 04:31 am
Todos crean ejecutables.
No es que hay diferentes versiones de C, sino que son lenguajes de programación diferentes (si bueno, C# y C++ están "basados" en C, son como una extensión, pero esa definición queda a gusto de cada uno).
El hecho de qué lenguaje usar va a depender de cómo quieras implementar el ejecutable.


Título: Re: Lenguaje de programación para ejecutables
Publicado por: kurotenshi en 9 Diciembre 2011, 04:34 am
Ultima pregunta (se que se podría buscar en google, pero prefiero leerlo de alguien que sabe del tema por experiencia y no encontrar información incorrecta)
¿Cual es la diferencia entre los C (C++ y C#)?
 


Título: Re: Lenguaje de programación para ejecutables
Publicado por: [Case] en 9 Diciembre 2011, 06:40 am
A grandes rasgos es lo siguiente:

- C es orientado a estructuras
- C++ es orientado a objetos y orientado a estructuras, por lo que se considera un lenguaje "hibrido"
- C# es orienta a objetos esta creado para la plataforma .NET

En Wikipedia viene clara la diferencia.

Compilar es convertir tu programa a lenguaje maquina (Ceros y Unos), un "ejecutable" es eso.


Título: Re: Lenguaje de programación para ejecutables
Publicado por: kurotenshi en 9 Diciembre 2011, 21:12 pm
Y visual basic (vi algo sobre ese lenguaje) me lo recomiendas?

Por lo que he entendido hasta ahora, mejor aprender primero un poco de C, por ser la base y luego  C++ por ser hibrido, pero no se nada sobre visual basic

Laamento estar causando tantas molestias con esto, pero es algo que me interesa y encuentro que es muy importantet seleccionar bien el lenguaje de programación que más me guste  :)


Título: Re: Lenguaje de programación para ejecutables
Publicado por: skapunky en 9 Diciembre 2011, 21:43 pm
Olvida Visual basic, hay muchas razones para hacerlo entre otras que C puede ser multiplataforma, te será mas util en el presente como en el futuro y no tiene dependencias de librerias externas como es el caso justamente de vb.

Además vb da muy malos hábitos a los programadores.


Título: Re: Lenguaje de programación para ejecutables
Publicado por: seba123neo en 10 Diciembre 2011, 00:16 am
Además vb da muy malos hábitos a los programadores.

puntapie inicial para el flame !!!  ;-)

@kurotenshi

es todo depende de lo que queres hacer, hacer hay lenguajes para todo, asi que fijate bien en los mas usados.

El lenguaje Java sigue siendo el Rey (http://foro.elhacker.net/noticias/el_lenguaje_java_sigue_siendo_el_rey-t344418.0.html)

saludos.


Título: Re: Lenguaje de programación para ejecutables
Publicado por: [Case] en 10 Diciembre 2011, 00:40 am
Con cuerdo con skapunky en que Visual Basic da malos habitos, pero siento que es mejor que aprendas java o pyhton primero.


Título: Re: Lenguaje de programación para ejecutables
Publicado por: kurotenshi en 10 Diciembre 2011, 17:55 pm
Case, tu que recomiendas java, ¿para que sirve? ¿no se puede solucionar el problema de que corra en una maquina virtual?

Es que java al igual que C++ me interesa, pero no me serviría mucho si no corre en computadores que aun no instalan esa maquina virtual


Título: Re: Lenguaje de programación para ejecutables
Publicado por: [Case] en 10 Diciembre 2011, 18:40 pm
Te recomiendo Java, claro que si no tiene la maquina virtual instalada pues no correran tus programas.
Pero java esta en la mayoría de las computadoras, puesto que se muchos programas están implementados en Java, por ejemplo "JDownloader".


Título: Re: Lenguaje de programación para ejecutables
Publicado por: kurotenshi en 10 Diciembre 2011, 18:51 pm
Y después se puede hacer que se la imágen que aparece en los proyectos de java (la taza) desaparezca y cambiarla por otros.

Estoy quedando un poco enredado, si los programas como Jdownloader están creados en java, para que es C++ y cuales son sus diferencias?

//Edito

Por las aplicaciones que he visto, se podría decir?
C++ es para crear programas que corran en el cmd
Java corre en una plataforma virtual y se le puede crear de esa forma los bordes y darle un diseño diferente a cada aplicación

O de lo contrario, cuales son las diferencias entre estos sin contar en donde corren?


Título: Re: Lenguaje de programación para ejecutables
Publicado por: [Case] en 10 Diciembre 2011, 19:24 pm
Todo lo que puedes hacer en un lenguaje, se puede hacer en otro. Lo que cambia es su forma de implementar la solución.
El cmd tengo entendido que es una consola aparte parecido al prompt de UNIX.

Yo te recomiendo Java, por su sintaxis, que es mas sencilla a la hora de aprender, (desde mi punto de vista).
Existen varios lenguajes de programación por que la solución de un problema puede ser implementado de diferentes formas.
Prolog es un leguaje logico, por lo que lo único que implementas son hechos y reglas que se deben cumplir para que la solución sea tal.