Aprender a programar para Linux (N00b inside)

Bueno, llevo con ubuntu un tiempecito, incluso he convertido a algun colega, pero tengo un nivel bastante bajo de consola, y 0 de programacion, algo de assambler HTML y C di, pero de C ni me cuerdo y apenas aprendi nada.

El caso es que me compre un chisme en DX y este tenia un programa que solo rulaba en windows XP, no me iva en vista y ademas en XP iva cuando le dava la gana. resulta que en los post de DX encontre que un tio habia decodificado las secuencia del chisme y otro habia programado un programita que mediante consola puede hacer funcionar el chisme incluso mejor que en windows.

Por gracia bendita del software libre pude ver el codigo y modificarlo para hacer la traduccion al español, el problema esta en que lo que quiero es que el programa pregunte en que idioma quieres trabajar, y no flipo ni nada para entender la estructuracion del programa. Yo sueño con hacer una GUI pero soy realista.

Pero claro, necesito aprender un poco del tema para poder cumplir mis deseos, pero ya he mirado y todo lo que hay es la ostia de complicado, te lo explican como si tubieras una base de ingeneria informatica, y yo necesito algo para gente pachi, las funciones basicas y eso, y sobre todo ejemplos de uso.

Una cosa con la que he flipado es que no es necesario compilar ni pollas, escribes el codigo fuente, guardas y ya se ejecuta desde terminal [flipa]

Bueno, espero que alguien que pilote un poco del tema me pueda pasar un link apto para negaos con ganas de aprender.
La programación no es tan fácil como uno pueda pensar.
Hacer un programa simplón (un tirador de dados, un cronometro, un calendario) o cosas así con algo de práctica se puede lograr, pero hacer un driver (que supongo que será lo que "controla el chisme") ya requiere más conocimientos y bastante teoría.
Dependiendo de como esté hecho el programa base, se podría hacer más fácilmente o no una interfaz usando algunas herramientas, como puede ser una aplicación en Java cuyas interfaces son muy fáciles de hacer y que se limite a ejecutar el programa en consola con las distintas opciones según se haya configurado en la GUI.
Pero vamos, que no esperes un tutorial fácil que te enseñe en cómodos pasos como hacer un programa de la ostia.
Deberás empezar desde abajo, con programas sencillos (un Hello World, un conversor de Pesetas a Euros...) y después ir subiendo el nivel de dificultad.

En cuanto a que no se necesita compilar, será por que es un lenguaje interpretado (python, bash, perl, php...)
hombre, si solo quieres que te pregunte el idioma, la cosa se puede simplificar a un par de funciones: read y case, por ejemplo...
asi a lo muy guarro:
read $LANG
echo "elija idioma: a) español b) ingles:$LANG"
case $LANG in
a) llamada_al_programa_en_español ;;
b) llamada_al_programa_en_ingles ;;
esac


eso (puede contener errores de sintaxis y demas) te preguntará por el idioma, tu pulsas a o b y enter, y dependiendo de eso, pues elige una opcion u otra en la funcion case.

eso en caso de tener repetido el programa una vez en cada idioma en tu hdd.

si usas algo como un archivo de idioma (que es la gracia del caso, para no repetir codigo, malgastar espacio y demas) pues sera diferente xD
elchicosinhada escribió:La programación no es tan fácil como uno pueda pensar.
Hacer un programa simplón (un tirador de dados, un cronometro, un calendario) o cosas así con algo de práctica se puede lograr, pero hacer un driver (que supongo que será lo que "controla el chisme") ya requiere más conocimientos y bastante teoría.
Dependiendo de como esté hecho el programa base, se podría hacer más fácilmente o no una interfaz usando algunas herramientas, como puede ser una aplicación en Java cuyas interfaces son muy fáciles de hacer y que se limite a ejecutar el programa en consola con las distintas opciones según se haya configurado en la GUI.
Pero vamos, que no esperes un tutorial fácil que te enseñe en cómodos pasos como hacer un programa de la ostia.
Deberás empezar desde abajo, con programas sencillos (un Hello World, un conversor de Pesetas a Euros...) y después ir subiendo el nivel de dificultad.

En cuanto a que no se necesita compilar, será por que es un lenguaje interpretado (python, bash, perl, php...)



No, si no que sea de la ostia, yo con que de momento me haga la disyuntiva para elegir idioma soy feliz, Lo de la gui ya es un sueño, de todas formas respeto mucho el curro de anteriores que hicieron el driver, se que estoy a años luz, pero me gustaria irme metiendo. Y tu me has dado una pista muy importante, que hay varios idiomas y ademas interpretados, Lo que busco es aprendr a modificarlo y añadirle una funcion, no mas, si hay un tutorial facil para eso ya me contento.
Pues necesitaríamos saber en que lenguaje está por ejemplo así como lo que hace el programa para más o menos guiarte un poco.
Si sólo quieres que te salga una ventanica con una lista de idiomas entre los que elegir uno y luego lanzar el programa con un determinado argumento o lo que sea, zenity es la cosa más sencilla que te puedes encontrar.

#!/bin/bash

IDIOMA=`zenity --list --radiolist --title="Lanzador del programa 123456" --column="Idioma" --column "" FALSE "English" TRUE "Spanish"`

if [ $IDIOMA = "Spanish" ]; then
...
elif [ $IDIOMA = "English" ]; then
...
fi


Argo asín.
5 respuestas