Consejos sobre programación.

Con riesgo a que me la corten voy a postear unas dudas que me vienen por la cabeza.
Desde aqui quiero agradecer a mi gran amigo Ferdy que siempre me ayuda cuando lo necesito y a mi gran amigo el guerrero samurai Rurouni Kenshin himura (anda cojones ya podias haberte puesto el nick de alguien de nombre más escueto :-p(si, ahora dime que no es de ahi el nick :-p))
y tambien a Cobo que tambien me ayuda (aunque no se le ve el pelo ni en pintura)

Bueno, vamos al grano que me entretengo.

Mi nivel de programación como alguna vez he dicho por aqui es bastante bajo.
Decir que uso gentoo (más que nada porque ya he visto gente que me han dicho que use VB6, asi que por si acaso diré que windows solo para jugar), y que no me gusta java.
Mi verdadera intencion (por ahora) es hacer programas en GTK, mi novia necesita a veces programas que la ayuden en ciertas labores y claro no le voy a dar nada en consola porque se me muere, así que GTK, además, para mi también quiero hacer cosas chulas en GTK.

Bueno, me recomendaron C, me puse con C (no muy en serio, pero ya estoy serio con el tema), y la verdad es que no podía con el, punteros a dia de hoy me pueden y bastante, y la verdad creo que no voy a necesitar (al menos ahora) la velocidad que me brindan los punteros. Vamos que no necesito acceso de bajo nivel ni toquetear memoria, vamos que lo que yo quiero es como dicen los ingleses, Typical UI app, vamos, ventanas con botoncitos. Decir que me parece liante GTK+ con C, vamos no es muy intuitivo.

Asi que por un lado tenemos a C, por otro lado tenemos a python.

Python, ya me parece algo más productivo, aunque más lento en ejecución. Me gusta eso de la shell para poder probar cosas y la verdad es que pygtk tiene una pinta buenisima y cualquier modulo o algo interesante que busco pues lo encuentro, vamos que hay mucho material para python.

Asi que por ahora voy a ponerme serio con python, no hay más vuelta de hoja.

Entonces... ¿Para qué este post? no soy tan malo como para hacer perder el tiempo a nadie, que si no va a ser serio eso de que me la cortan. Pues fácil, no quiero digamos decir, python python y C al carajo, pues no, tengo ahi unos libros de programacion en Linux para C y tienen una pinta buenisima (que no creo que tenga mucho nivel para aprovecharlos ahora), asi que no se que hacer, si también tocar C o dejarlo para cuando tenga más experiencia en la programación. La verdad es que tengo tiempo de sobra (hasta finales de verano) para hacer lo que sea, me levanto y me acuesto estando sin hacer nada. Vamos que puedo hacer cosas por el dia.

Asi que amigos mios, decidme que hago con todo esto que estoy liado.


Buenos, gracias y hasta mañana, que hay sueño.
Bueno yo te puedo sugerir una alternativa, y se llama Mono.
El C# es a la vez potente y facil de usar (relativamente) mientras que GTK# te da muchas posibilidades segun lo que he oido. Y tu codigo seria muy portable. Creo que podrias considerarlo como opción, pero yo no tengo experiencia con Mono.
Bueno... tú y yo ya hemos hablado largo y tendido de esto :). Así que aunque ya sepas lo que pienso, pondré aquí lo que opino por el resto de la gente.

En fin, yo le comenté a Fox que lo intentara en serio con C, porque aunque yo no tengo demasiada idea/experiencia de programación veo en mi corta carrera que C asienta unas bases muy sólidas con las que luego manejarte por otros lenguajes resulta más sencillo. Aunque sea un lenguaje complicado, creo que el esfuerzo al final acaba compensando.
Eso por no comentar lo que le dije a Fox: C es MUY importante, y programes lo que programes seguramente te acabes topando con él, o te pueda resultar útil aunque sea por el mero hecho de leer código de otra gente. Lo digo por ese miedo que tiene Fox a que aprender C sea algo "inutil" o no muy provechoso puesto que el tipo de aplicaciones que piensa desarrollar se desarrollan bien con otros lenguajes de más alto nivel. A la larga Fox quiere hace un módulo superior, donde verá C de todas todas, y creo que es mejor que se allane el camino, aunque entiendo que al principio pueda desesperar.
Como ha comentado, quiere programar ventanitas a toda costa :). Yo creo que es mejor aquello de "pasito a pasito".

Dicho esto, estuve pensando hoy zorrilla mía y... ¿por qué no te pones en serio con C#? Ya lo tienes iniciado, y creo que cumple varias de las cosas que te gustan: POO, fácil programación, GTK, etc... Lo considero mejor que Python, entre otras cosas porque python, si no me equivoco, es dinámicamente tipado y creo que es mejor para aprender acostumbrarse a un tipado estático (aunque pueden ser simples manías mías sin ningún tipo de justificación).
El problema de C# ya lo has visto tú... hay librerías que tienen poca documentación. Recuerdo que es algo que me comentaste que te tiraba para atrás también.
No sé, por todo lo que hemos hablado, creo que no sería una mala opción. Además yo empiezo el 22 de junio a aprenderlo :), así que podemos rayarnos juntos durante el aprendizaje XD.

Lo que me resulta raro es que veas más fácil la OO que la programación imperativa, la mayoría de la gente lo hace al revés. Anyway, siempre has sido un poco rarito... :P.

Pero bueno, sobre todo, lo que siempre te digo y que te repetiré una vez más: elige algo y llega hasta el final.

¡Saludos!

P.D: Y lo de los punteros es un trauma que te has creado. Creo que ahora mismo es más cerrazón y obsesión tuya que otra cosa.
hombre, es que C es el lenguajes de programacion 'para hombres'...

no obstante, cuando se pretende hacer algo en GUI de forma RAPIDA, creo que deberias echarle un vistazo a 'Gambas', que es un entorno de trabajo al estilo VisualBasic y el lenguaje de programacion es Basic.

que no te de reparo el BASIC. al fin y al cabo lo que importa es el programa final, no el lenguaje que uses...

tambien puedes echarle un vistazo a Python+Boa Constructor, pero te sigo recomendando Gambas...
Cada vez que leo algo sobre Basic me viene en mente una frase de Edsger Dijkstra:

"Es prácticamente imposible enseñar programación correctamente a estudiantes que han estado expuestos al lenguaje BASIC con anterioridad. Como potenciales programadores, tienen la mente mutilada sin esperanza alguna de regeneración."

[/pensando en voz alta]

Saludos
Mi amigacho quelcom tiene más razon que un santo si, aunque bueno, hace 15 años tocaba basic en el AMSTRAD CPC464 ejejj.

Txukie, he tratado bastante con mono, mono es un amigo mio jaajj, cuando yo vine a Linux era "programador" en C#.NET, asi que mono para mi era el paraiso, y lo sigue siendo, yo estoy muy contento con la plataforma, pero creeme a mi que yo he tratado con esto, si vas a monodoc buscando info sobre el metodo X de la libreria X que acepta 5 parametros, pues ves que pone:

Not implemented yet.

Entonces te cagas en mono y en la madre que lo parió. Mono es la polla para qué mentir, pero hasta que la documentación no se anime un poco y mejore no creo que le dedique TODO mi tiempo.

Recordad que tengo muuucho tiempo (aunque algunas mañanas trabajo como ahora mismo, CEV++ jaajaj)


f5inet, me remito a lo dicho por mi amigo quelcom, y bueno más que python+boa, prefiero python+gtk+glade, no se, muchisima gente está recomendando wxPython, aun no le he visto las virtudes, que las tendrá, pero soy muuuuuuuuuuuuy fanatico de las GTK, además de que ya me las conozco al haber usado GTK# y se de que pata cojean :PP.

Sobre que C es para "hombres", eso son tonterias, yo siempre he sido una persona que ha dicho que se elija el lenguaje dependiendo de lo que se quiera hacer, si quieres hacer programas que necesiten un rendimiento guay, manejo de memoria, y cosas tan avanzadas y chulas de C, pues se coge C. Si quieres hacer scripts, bash, perl, python.... Si se quieren hacer las Typical UI apps, pues MONO, mono rules jodereee :P, pero ahora mismo mismo creo que necesita crecer un poquito más. Python es la siguiente forma IMHO para este trabajo. Python se que es interpretado, que puede ser algo lento si, pero para lo que yo necesito, va perfecto. Además, que un programa sea rápido o lento no es SOLO cosa del lenguaje, el programador tiene el poder de hacer algo rápido o lento jejej.

Y C no lo olvido está claro, pero tengo que decidir, cuando empezar con el o no, supongo que con python podré abrir más mi mente a esto de la programacion y ya C no lo vería tan complicado.

Y San jaCobo, cuando te pongas con mono avisamé, seguro que podremos llegar a un acuerdo, ajajjj, aun asi, puedo ayudarte bastante creo.

Bueno, un saludo.

EDITO: C, fue una recomendacion de alguien al que aprecio mucho, para el es un lenguaje que le sirve para mucho, pero las cosas que hace son muuuuuuuy distintas a las que yo quiero hacer.
Hola,

debería estar estudiando... haciendo unas prácticas... y trabajando (he de corregir unos trabajos y hacer un par de webs)... pero soy un perraco, y aquí estoy.

Sé que pides opinión al resto de mortales, ya que ya sabes la mía... pero hay un nuevo aspecto que debes saber:

Puedes programar librerías, sin mucha complicación, en C para que funcionen en Python... y en Python para que funcionen en C.

Parece tonto... pero es realmente útil. Ahora lo que necesitas es hacerle aplicaciones a tu novia. Python+Glade y no hay más que decir.

Aprendes un lenguaje útil en muchos ámbitos (desde scripting corriente, hasta lenguaje de server para webs), y además portable. ¿Sabías que puedes generar ejecutables standalone (.exe) para windows? (mirate pyexec). La gente no necesitará python para hacer funcionar tus programas en ese SO (en Linux, casi que viene por defecto en todas las distros).

Con C... ves haciendo incursiones... Glade genera intefraces GENÉRICAS, lo que significa que también las puedes utilizar en programas en C. ¿Por qué no haces cosas en Python, y luego, cuando funcionen, sepas lo que hacen y tu novia esté contenta (ese es el sentido de la programación, impresionar y tener contentas a las chicas) las pasas a C? Claro, dirás, rehacer las cosas da palo... pero, nunca habrás tenido tan claro lo que hacer.

Bueno, ahora sí que me voy a trabajar... o me cortan los websters.

Saludos!!!!
Buenas ruro, gracias por tu respuesta. Lo de la integración de C en python lo tengo muy en cuenta porque puede ser muy interesante.

Sobre las incursiones a C, pues si, era realmente lo que queria, una vez que tengo un programa en python, pasarlo a C es una idea que tenía en mente, y no, no me da palo porque una vez que tengo el codigo solo debería de pensar como portar eso a C, la GUI es la misma porque si, glade como dices genera XML y eso usando libglade pues no hay problema, ya que como dices, no tendré las cosas más claras.

Bueno ruro, no te quejes que yo estoy en el trabajo y estoy posteando tambien jajajaaj.
7 respuestas