Azərbaycan dili Bahasa Indonesia Bosanski Català Čeština Dansk Deutsch Eesti English Español Français Galego Hrvatski Italiano Latviešu Lietuvių Magyar Malti Mакедонски Nederlands Norsk Polski Português Português BR Românã Slovenčina Srpski Suomi Svenska Tiếng Việt Türkçe Ελληνικά Български Русский Українська Հայերեն ქართული ენა 中文
Subpage under development, new version coming soon!

Subject: Experimentar Linux

2011-10-19 07:25:17
shell script es malo malo malo, re mal pibe, le pega a la jermu. Mantenete alejado.
2011-10-19 07:26:40
Vos no habias empezado a aprender Python? O estoy confundido? Python tiene muy buenas librerias y faciles de manejo de archivos e IO que tranquilamente te sirven para hacer la gran mayoria de las cosas que quieras hacer en shell.
2011-10-19 15:13:51
Sí, había empezado pero por falta de tiempo, no seguí. Luego vine a los EEUU, reformateé mi compu vieja (precisamente para meter Linux y, ahora, esa cosa rara que se llama Win8) y entonces perdí todo lo que había compilado. Y el manual de Python que habiá imprimido lo dejé en Buenos Aires.

Agarré C++ casi de casualidad, porque en el tutorial de Linux hacían una referencia al CShell, y a que la sintaxis de C++ servía "en general" para los scripts de Linux (que, ciertamente, me sirven para experimentar pero entiendo que no tienen mucho sentido en el largo plazo, salvo, como dice el tipo del tutorial, para "customizar" ciertos comandos que uno usa frecuentemente sin tener que estar tipeando todos los modificadores todo el tiempo), y entonces hice click en un tutorial para ver qué onda el C++ y me enganché.

Pero ya que estamos, vos por qué me recomendarías antes Python que C++?
2011-10-19 15:29:31
Jajajajajajaj me tomó de sorpresa este descuelgue jajajaj
2011-10-19 15:50:52
Pero ya que estamos, vos por qué me recomendarías antes Python que C++?

Son lenguajes bastante diferentes. C++ es mucho más potente, pero su curva de aprendizaje es mucho más empinada. Arrancar programando en C++ no es aconsejable porque la potencia del lenguaje está en las cosas complejas que podés hacer y habitualmente un "newbie" no hace cosas complejas.

De todas formas, si querés aprender C++ no está mal, vas a sufrir un poco, pero no es tan terrible. Eso si, si alguna vez programaste en un lenguaje estructurado y esa es tu base (digamos basic, pascal, etc), te recomiendo agarrar un tutorial de C en lugar de C++. El lenguaje es el mismo, pero C es estructurado y C++ orientado a objetos, o sea que cambia la forma de pensar el problema y si tu base es un estruturado, es mejor arrancar con C, familiarizarse con el lenguaje y más adelante aprender a programar en objetos usando C++.
2011-10-19 16:02:47
habitualmente un "newbie" no hace cosas complejas.

Snif, snif... me tiran para abajo...

Jaja... sí, vi algo también de la diferencia entre lenguaje estructurado y orientado por objetos. Cuando vi que en el tutorial de C++, al principio, explicaba que era un lenguaje "orientado al objeto", recordé que me habían dicho algo así cuando pregunté en su momento, entonces me fui a leer un poco cuál era la diferencia.

Y la verdad, por lo que leí, me cae más cómodo el concepto de programar orientado al objeto, al menos, si bien es cierto que mi experiencia (muy amateur) de programación fue con Basic (el Basic de la Spectrum XD), ha pasado tanto tiempo que de alguna manera siento que empiezo de 0 (con la ventaja de que no tengo problemas con conceptos como AND, OR, y XOR, o bucles como IF/ELSE, incluso con bucles que la Spectrum no tenía, como Do/While). La siguiente experiencia fue alguna vez editar algún macro en Excel (Visual Basic), pero fue algo muy puntual y muy tonto. Pero, obviamente, todavía no programé nada así que tampoco sé cuando me ponga qué va a pasar.

Pero digamos lo siguiente: supongamos que como proyecto para orientar mi aprendizaje a algo concreto, yo quisiera hacer un programa que procese y muestre la info de mi equipo de SK, o de UM. Me imagino que esa "pavada" ya debe ofrecer toneladas de dificultades, desde "obtener" la información hasta "procesarla' y finalmente mostrarla. Pero bueno, si no me pongo algún proyecto, el aprendizaje en abstracto no me ofrece nada.

Lo bueno que veo a C++ (o la idea de programar "orientado al objeto") es que si yo aprendo hoy, por ejemplo, como "ordenar" una matriz de datos y expresarla en la pantalla, pero todavía no tengo ni idea de cómo obtener esa matriz de datos, yo hago esa parte del programa, los "módulos" para esas funciones, y mientras me manejo con una tabla de datos ficticia. Cuando aprenda cómo obtener, entonces programo los módulos para obtener. Y todo debería seguir funcionado OK. No sé, esa es mi percepción.
2011-10-19 16:21:53
Si, estás bastante bien orientado con el tema de programación estrucutrada y orientada a objetos. ;-)

Me parece muy bien que te plantees un objetivo concreto, es la mejor forma de aprender a programar. En todos los lenguajes tenés librerías que te facilitan las cosas. En el ejemplo de procesar los datos de tu equipo de Sk tendrías 3 bloques fundamentales: obtener los datos (conexión a red, autentificación y bajado de archivos), procesarlos (xml) y mostrarlos (librería gráfica o impresión de texto). Si tu idea es hacer eso y no querés morir en el intento, arrancá con Python. En C/C++ todo es bastante más complicado de hacer y alguien que empieza quiere ver resultados relativamente rápidos para no frustrarse y sentir que todo es demasiado abstracto. ;-)
2011-10-19 16:39:08
OK, ok... :P me busco un tutorial de Python :P
2011-10-19 19:46:25
habitualmente un "newbie" no hace cosas complejas.

Tambien C/C++ tiene el otro problema, abarca tanto y hay tantas formas de hacer algo (donde el 90% de esas formas no son las indicadas), si te pones a codificar una "cosa simple" es muy probable que termines programando algo de una manera no muy recomendable.

En Python, o Java, donde la idea es lo contrario, dar al programador una set minimo de herramientas estandar, el lenguaje te encamina mas a andar por "el sendero correcto". Siguen siendo potentes, te podes mandar mil cagadas, pero estas mas contenido. En C/C++ te podes mandar diez mil cagadas.

Yo iria por Python.

salute
2011-10-21 13:05:59
OPS!

Pido mil disculpas por el descuelgue improvisado!

Es que me mande un mensaje sobre Linux y programación Python.
Casi media carilla y cuando hice el copy paste de la firma, vino como un bajo de tención.
Y luego vi que sólo quedo, en un mensaje eso de crea tu insignia y en el otro solo la firma

Bueno...
Resumiendo, no voy a volver a escribir todo....

Los que usan Linux y además gustan de jugar con la programación, os recomiendo Python.
(edited)
2011-10-21 22:46:50
Che, un tema con el Python:

Cuando empecé el tutorial de C++, me hizo bajar un compilador que es una masa, CodeBlocks, que en lo relevante me hacía crear un proyecto, y en ese proyecto yo ponía el código fuente y todo quedaba muy prolijito y a la vista.

Ahora, el tutorial de Python, sacado de la página de Python (docs.python.org) me instaló una carpeta Python 2.7, con, básicamente, un Python command line y un Python GUI.

Estas dos opciones son, o lucen cual, unas suertes de terminales: tengo un cursor, pongo las instrucciones, etc. De momento, para ir testeando lo que el tutorial muestra (por ejmplo, definir una función) sirve... pero lo que he notado es que, precisamente, por ser una "terminal", no queda el "código fuente" registrado en ningún lado.

Es decir, cuando yo quiera programar "en serio", cuando tenga que escribir renglones y renglones de un programa en Python, qué tengo que hacer, ¿trabajar en un txt?

Alguno sabe si el CodeBlocks se puede adaptar a Python?
2011-10-21 23:30:31
Nunca usé CodeBlocks, pero tirando en Google una búsqueda con Python y CodeBlocks parece que algo hay.

Los fuentes de Python son archivos de texto, tal como te expliqué para bash, la diferencia es que suele ponérseles la extensión .py (aunque no es obligatorio) y en la primera línea hay que poner:

#!/usr/bin/env python

que es el intérprete de comandos de Python. Recorda que C++ es un lenguaje compilado, por eso el tutorial te hizo bajar un compilador, pero Python es un lenguaje interpretado y por eso no es necesario un compilador. ;-) Una vez que tenés el archivo hecho, le das permisos de ejecución y lo ejecutás desde la consola con ./pepito.py suponiendo que pepito es el nombre del archivo que creaste.
2011-10-22 00:36:26
Tenes que trabajar en un archivo .py.

No se que IDE buena hay para Python, la que yo usaba era PyDev que es una extension para Eclipse. pero solo porque yo estoy acosutmbrado a trabajar con eclipse.

Es muy posible que haya IDEs especificas para Python

salute

2011-10-22 00:55:13
Gracias a los dos!
Efectivamente, hay un plugin para el CodeBlocks pero que no sé bien qué hace.

Pero dentro del mismo Python GUI había una opción para crear un archivo, y escribir ahí el programa, y luego ejecutarlo como módulo, para ver qué sale, así que por lo menos salgo del paso sin tener que andar investigando más.

Ahora, Yogurtu, pregunta: lo que vos me decís funca para Linux, pero siempre que tengas el python instalado. Supongo que lo mismo para Windows (en algún lado leí que si pongo el directorio de Python en el path de windows, los archivos con extensiones .py los ejecuta el intérprete instalado).

Pero si yo quiero que mi programa finalmente sea ejecutado por cualquiera, haya instalado o no el python, supongo que se podrá "compilar" o algo así para que sea .exe en Windows, no?
2011-10-22 01:09:56
Se pueden crear archivos ejecutables para Windows directamente con py2exe. Igualmente, estás queriendo correr antes de haber aprendido a gatear. ;-)
2011-10-22 01:55:54
Jaja!
No, obvio, no es que ya tengo un ejecutable, pero era por curiosidad, por saber todo el proceso. Con el Code::Blocks era todo muy claro, más allá de que no pasé del imprimir pavadas en la pantalla. Pero era para saber.