BandaAncha

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

Necesito orientacion para alto nivel

nmaxcom

Buenas a todos! Llevo un tiempo planteandome que lenguaje de programación quiero aprender. He aprendido a programar cosas de bajo nivel o consola o cutres tipo C, batch, vbscript, mIRC scripting, algo de bash etc..

Tengo ganas de saltar al GUI y me han recomendado python. Me interesa dominar las dos cosas, bajo y alto nivel, para ello me estoy dando caña con C pero de alto nivel estoy en blanco. VisualBasic y C# me los han desaconsejado mucho, ignoro el motivo. C++ tampoco me "gusta" mucho, en el sentido de las críticas que he oido, por ejemplo aquella famosa de Linus Torvalds que se decía que C++ intentaba ser un lenguaje de alto y bajo nivel sin conseguir ninguno de los dos.

En fin, siento el rollazo, que tal python? Que posibilidades reales tiene? Se pueden generar *.exe independientes verdad?

Quiero aprender a programar aplicaciones GUI en principio sin una complejidad muy grande pero que tenga opciones de hacerlo en un futuro si me veo seguro.

En fin, cualquier consejo sobre alto nivel sería estupendo, gracias.

PD: también he leido que hacer GUI con C es una tonteria, habiendo opciones mejores hoy en dia.

vukits

ejem, de todo lo que has dicho, no has dicho java :P

mira a ver si te gusta eclipse ;)

🗨️ 2
nmaxcom

Ostia, se me olvidó java :)

Lo estuve aprendiendo hace unos años, pero no me gustó y la verdad es que le cogí mucha mania (sin motivo coherente). Me lo recomendáis? Además, ví alguna aplicacion hecha en java y iba bastante lento y creo recordar un codigo un poco empalagoso (no se qué de System.print.in...cosas así muy largas xD).

Qué apps hay hechas en java para que pueda ver el resultado?

Gracias vukits.

🗨️ 1
vukits

ah, bueno.. sí sabes java ... sí, java es lento.. no lo uses,... pero por cojones debes saberlo.. un programa acabado, tocho , p.e., es azureus.

lo mismo va por c++ ... debes saberlo de p.m.

de las pocas cosas que sé, sé es que es importante a qué mercado irán orientadas tus aplicaciones.. porque según el campo (o S.O.) en que quieras programar, pues hay lenguajes y lenguajes..

la verdad es que no soy el más indicado para darte consejos, pero el ultimo parrafo va a misa

saludos

BocaDePez

Sólo por aclarar conceptos.

La programación en C, C++, Java, Pascal, Cobol, Perl, Visual Baisc, C#, Delphi... es toda en alto nivel.

Cuanto más abstracción proporcione el lenguaje al procesador, de mayor nivel será. Y yo diría que no sólo mayor abstracción para el procesador, sino también menor para el programador.

Dicho de otra forma, cuanto más sencillo sea un lenguaje para el programador, más alto nivel será.

Ni siquiera ensamblador es bajo nivel puro, es segunda generación.

Bajo nivel es código máquina.

Un saludo.

🗨️ 3
BocaDePez

No estoy de acuerdo en que código máquina y ensamblador sean cosas diferentes. El ensamblador es una representación del codigo máquina binario directo, pero genera exactamente la misma secuencia de bytes que si hubiese sido metido a pelo con unos y ceros. Hay profesores en la universidad que se atreven incluso a decir eso en clase, pero se quedan con el culo al aire en cuanto se les rebate lo más mínimo.

🗨️ 2
BocaDePez

Para salir de dudas, recurro a la wikipedia, pero en cualquier manual básico podrás encontrar información más amplia al respecto.

Primera generación [editar]

El lenguaje de programación de primera generación (por sus siglas en inglés, 1GL), es el lenguaje de código máquina. Es el único lenguaje que un microprocesador entiende de forma nativa. El lenguaje máquina no puede ser escrito o leído usando un editor de texto, y por lo tanto es raro que una persona lo use directamente.

Segunda generación [editar]

El lenguaje de programación de segunda generación (por sus siglas en inglés, 2GL), es el lenguaje ensamblador. Se considera de segunda generación porque, aunque no es lenguaje nativo del microprocesador, un programador de lenguaje ensamblador debe conocer la arquitectura del microprocesador (como por ejemplo las particularidades de sus registros o su conjunto de instrucciones).

Fuente: es.wikipedia.org/wiki/Bajo_nivel

Calario

no es como dices

el (mal llamado) ensamblador no deja de ser un leguaje simbolico y se hacen sustituciones y reemplazos de texto

precisamente se llama "ensamblador" al programa que traduce el codigo escrito "en ensamblador" y lo convierte en codigo maquina

BocaDePez

Sólo por aclarar conceptos.

La programación en C, C++, Java, Pascal, Cobol, Perl, Visual Baisc, C#, Delphi... es toda en alto nivel.

Cuanto más abstracción proporcione el lenguaje al procesador, de mayor nivel será. Y yo diría que no sólo mayor abstracción para el procesador, sino también menor para el programador.

Dicho de otra forma, cuanto más sencillo sea un lenguaje para el programador, más alto nivel será.

Ni siquiera ensamblador es bajo nivel puro, es segunda generación.

Bajo nivel es código máquina.

Y añadir que C++ es alto nivel, y consigue serlo perfectamente por mucho que diga Linus.

Y es tan potente, tanto C, como C++, que con añadir:

asm{

tiras todo el código en ensamblador que quieras.

No es bajo nivel, pero creeme que para ser alto nivel, se le parece mucho por su gran capacidad.

Eso sí, programar en C es sencillo, en C++ es un engorro, pero si le dedicas tiempo comprenderás su versatilidad.

Un saludo.

🗨️ 10
nmaxcom

Ostia pues aprender C ya me está costando sangre jajaj.

Entonces, para programar en un lenguaje de alto nivel (que sea sencillo para el programador como tu dices) que sea favorito para crear GUI, manejar dll de windows (por ejemplo coger informacion de otros programas etc) y que a la larga me acabe sirviendo para todo en general (en principio windows...que funcione en *nix o no creo que por ahora no me importa), qué me recomendáis? C++? C#? VB?

Lo siento si digo alguna chorrada, estoy aprendiendo todo lo que puedo, cualquier explicación justificacion de la respuesta será bienvenida.

Gracias.

🗨️ 9
BocaDePez
1

Para Linux tradicionalmente siempre se ha aconsejado C/C++.Ten en cuenta que Unix-Linux está programado en estos lenguajes... bueno, ahora mismo no se si han empleado más lenguajes, pero en los inicios si fue así.

Microsoft además de su Visual Basic, Visual Net... está apostando fuerte por C#.

Es una elección que debes escoger tú, y en cualquier caso, no te cierres a un único lenguaje de programación.

Una vez domines bien un lenguaje, no te costará demasiado aprender diferencias con otros lenguajes. En cuanto a lenguajes orientados a objetos, muchos te aconsejarán Java antes que C++... pero es una decisión tuya.

Yo no podría sugerirte un lenguaje de forma objetiva, pues mis conocimientos en programación se fundamentaron desde un principio en C/C++. Pero dependiendo del entorno donde te vayas a mover en cada situación, verás como tendrás que adaptarte a más lenguajes, incluso alguno "obsoleto", siempre entre comillas como COBOL.

Lo importante es echarle horas, y no tener miedo a las "alturas" de los niveles de programación.

Mucha suerte, y ánimo, verás como acabas enganchándote a aprender más de un lenguaje, no por necesidad, sino por ganas de conocer más y diferente.

Un saludo.

🗨️ 8
nmaxcom

No si esto es puro hobbie totalmente. Y ojalá en un futuro me mueva entre varios lenguajes. El tema es que...hay que empezar por alguno y por eso preguntaba xD

Dentro de lo que tu conozcas, aunque sea subjetivo (mientras lo argumentes xD), sobre esto de manejar datos de otros programas, dll etc en windows, que tengan un IDE "cómodo"...C#? C++? Python?

Lo bueno es que empecé con C++ bien novatillo y alguien me dijo que mejor me pusiera con C, que C++ se había extendido mucho pero que python era mejor...en fin que llevo un cacao!

🗨️ 7
vukits
vukits
🗨️ 6
nmaxcom
nmaxcom
🗨️ 5
vukits
vukits
🗨️ 4
nmaxcom
nmaxcom
🗨️ 3
vukits
vukits
🗨️ 2
nmaxcom
nmaxcom
🗨️ 1
vukits
vukits
nmaxcom

Muchas gracias, Qt es lo que he estado oyendo en todos lados. Gracias por los links, a ver si me pongo las pilas ya y me dejo de consolas :P

BocaDePez

Cualquier lenguaje te puede dar lo que estás pidiendo. Si Java te pareció empalagoso apaga y vámonos, porque es de los más sencillos y eficientes. Te recomendaría Java y si eres un poco más friki C++, pero vamos, java le dá un par de vueltas. Un saludo