Sobre Programacion.
#43
Escrito 03 July 2005 - 11:44 AM
El primer problema que te va a dar Pascal es que es muy distinto de TODO lo demás, incluso si usas FreePascal que compila en 32 bits (windows y linux). Pascal tiene procedimientos anidados, no es naturalmente OO, no tiene un recolector de basura, ni un entorno gráfico asociado, además Pascal tiene Units (bibliotecas) y se compila muy facilmente.
Los procedimientos anidados están muy bien para el paradigma imperativo porque te permiten separar tareas dentro de tareas, la estructura descendente es perfecta, pero claro eso luego no lo tienes en los demás lenguajes (vaya), además que programando patrones encuentras soluciones más interesantes.
No tener un reco lector de basura (elimina los objetos de memoria a medida que se deajn de utilizar) significa que si quieres hacer estructuras dinámicas, punteros, etc... tienes que estar muy muy muy atento a la memoria, y hacer una buena gestión de memoria es fundamental siempre pero no es algo que es para empezar. Ni C, ni C++ tampoco tienen recolector.
En Python tienes bindings para muchos sistemas de ventanas, en Pascal no tienes ninguno, en FreePascal tienes bindings para muchos pero claro volvemos al tema de los punteros, que puta gracia te va a hacer, y de que los bindings son ANTIPascal, porque vienen normalmente de C o C++.
Compilar en Pascal es un sueño, F5 en FreePascal y compilas, pero en el resto de los lenguajes tienes que pensar en enlazar o el CLASSPATH, con lo cual luego dar el salto es bastante traumático, porque tus programas NO van a llevar el make.
Si una cosa tienes que aprender es a conocer tu compilador y como crea en memoria las estructuras que tu defines (de ahí viene el rendimiento que tenga tu programa), hay un libro muy bueno de Brian Kernighan (uno de los creadores del lenguaje C) , The Practice of Programming, que incide mucho sobre esto, y de paso te recomiendo este artículo suyo:
Por qué Pascal no es mi lenguaje favorito de programación
Vamos que Pascal es un juguete viejo y es poco productivo, Python es un juguete nuevo que permite tanto programación imperativa como POO pero es MUY productivo, 10 líneas LEGIBLES (con sus tabs y sus espacios, que para eso están, BadCRC) de mierda en Python mueven montañas, los programas que empieces a hacer en Python van a ser útiles desde el primer momento.
Si te da por aprender C te recomiendo que lo primero de todo juguetees a compilar programas grandes, y a mirarte su código fuente, ten en mente que no son la labor de una sola persona. Pero vamos en cuanto lleves unos tres meses programando, empieza a mirar otros lenguajes, cuantos más mejor, comparando es como vas a ver las sutilezas y ventajas de usar uno u otro para una tarea.
En cualquier caso, pues mucha suerte, aprender a programar es siempre divertido , y además muy útil.
#44
Escrito 03 July 2005 - 01:38 PM
No subestimen a la Gran Serpiente.
#45
Escrito 03 July 2005 - 02:54 PM
Pues de hecho es bastante recomendable, tienes una visión mucho más amplia, pero se aparta de todo lo que la gente entiende por programar.Decir que para aprender a POO es necesario antes aprender el paradigma imperativo, (hacer programas cuya lógica está en una sucesión de órdenes, ¿por qué intentan las otras ciencias copiarnos el lenguaje matemático?), es como decir que es necesario aprender programación funcional antes que POO, pues es que no lo es
Es por esa razón que un matemático es mucho mejor programador que un informático, porque tienen una visión mucho más abstracta (con los funcionales es más facil abstraer).
Lord: nada, que ya te lamere, si quieres
(1 semana despues) Lord: pues al final me la he tragado enterita
#46
Escrito 03 July 2005 - 07:40 PM
Pascal sería una buena opción, si estuviéramos en 1991.
Mejor alguno de sus nietos.
No estoy de acuerdo, en cuanto a programación estructurada Pascal es el mejor lenguaje que existe para introducir al paradigma imperativo, junto con ADA.
Y no me salgas con que ahora no podria hacer nada aprendiendo eso, pues Delphi (el RAD de Object Pascal) es el siguiente paso muy rápido de aprender.
creo que se refiere a cosas como modula-2 o modula-3, evoluciones puras de pascal, creo que ademas los hizo el mismo tio.
Yo aprendí con modula-2, y aunque no vale para nada hoy en día, te deja las ideas muy claras y estructuradas a la hora de coger otro lenguaje. Estoy con frijk que es muy util.
- "Si a mí me gusta ir de viaje. Lo que me jode es moverme."
#47
Escrito 03 July 2005 - 11:56 PM
Por eso he dicho Pascal y no Modula-2, porque el paso a ObjectPascal y por lo tanto al RAD Delphi es mucho más sencillo. En mi facultad de hecho se enseñaba introduccion a la programación y en programación metódica mediante Modula-2 y actualmente se hacen en Java (es una hez).creo que se refiere a cosas como modula-2 o modula-3, evoluciones puras de pascal, creo que ademas los hizo el mismo tio.
Yo aprendí con modula-2, y aunque no vale para nada hoy en día, te deja las ideas muy claras y estructuradas a la hora de coger otro lenguaje. Estoy con frijk que es muy util.
Lord: nada, que ya te lamere, si quieres
(1 semana despues) Lord: pues al final me la he tragado enterita
#48
Escrito 04 July 2005 - 07:46 AM
Ya decia yo q programar uP era malo para la salud mental, pero eso de programar z80 es de locos/arqueologos.D'ya see, d'ya see, i'm l33t jajaja
tube todo un año con assembler y eso es algo k se puede "poner" aka, pk originalmente tube k programar sobre la ram: tirar a vcc o gnd los bits correspondientes, poner en R/W mientras Write Enable estaba activo y grabarel dato (de 1 byte) y repetirlo para todo el programa de uans 80 instrucciones (sencillitos k mis clases no duran 1 semana) y luego kitar el WE para poner el Program Counter en High y dejar k el proce calcule y al fin ver el resultado en un arreglo de display man71 de diodos de 7 segmentos, eso si ke es programar, lo unico k hay es el proce, Ram, cables, dip switch y man71 con sus correspondientes conversores hex/7seg ahm, y el clock, un cristal de 4 MHz, kise hacerle un OCing pero el proce en uso era malito, un Z80, talvez rearme el aparatejo mas adelante con un 8085 o un 8086.
Yo con los 8051 quede algo enfermo... eso de borrar EPROMS con luz utravioleta...
Para jugar al electronico prefiero los PIC's, ahora estan de moda.
En fin, yo solo C q nada C de C.
... y queria preguntar donde pillo un tutorial/libro para ponerme a jugar con QT, es para hacer SCADA en linux.
TALue
My flickr // Refrescar, Refrescar, Refrescar !!!! // A los Politicos !!!!
"Mateo 10:8 "Lo que ustedes recibieron gratis, denlo gratuitamente" FL-Seeds !!!
#49 Guest_mrithail_*
Escrito 04 July 2005 - 09:18 AM
eh, que yo me acabo de pasar un cuatrimestre programando en un 8086 en asm y el cuatrimestre siguiente usando un 80c552 en ansi c xDDDDYa decia yo q programar uP era malo para la salud mental, pero eso de programar z80 es de locos/arqueologos.
Yo con los 8051 quede algo enfermo... eso de borrar EPROMS con luz utravioleta...
Para jugar al electronico prefiero los PIC's, ahora estan de moda.
como molan los microcontroladores y los microprocesadores ^^ xDDDDD
edit: eso sí, si te gusto el 8051, el 80c552 (que es sucesor directo) te va a encantar, que a parte de lo que lleva el 8051lleva 8 canales de ADC, el puerto I2C, dos timers más, 2 pwm... la verdad es que es una pasada jugar con esos cacharritos
edit2: respecto al tema del post... la verdad es que yo _no_ se mucho de lenguajes, sólo se que manejo C y C++ y que me sirven de puta madre para hacer lo que hago (entre otras cosas, pegarme con la API de windows para hacer drivers y aplicaciones completas que se basen en esos drivers), aunque me gustaría ampliar un poco los horizontes y aprender otros lenguajes para hacer más chorraditas
Este tema ha sido editado por mrithail: 04 July 2005 - 09:28 AM
#50
Escrito 04 July 2005 - 06:30 PM
Este tema ha sido editado por Xim: 04 July 2005 - 06:47 PM
#51 Guest_langrisser_*
Escrito 07 July 2005 - 11:06 AM
A parte de ser uno de los lenguajes más potentes, también es de lo más documentados, tanto en internet como en libros y demás. Además, si te organizas bien, al principio no te costará mucho más que Pascal y ANSI C, y tienes la ventaja de aprender POO sin necesidad de cambiar de lenguaje
Java es peor para aprender, porque te metes directamente con objetos, clases y demás.
Pascal es bueno para aprender, pero como lo sería ANSI C, y al cabo de poco tiempo se te quedará pequeño (C++ da mucho más juego).
Python es muy fácil de comprender, pero es malo para aprender a programar. Es quizás junto con Ruby el lenguaje más productivo que existe, pero su sintaxis es mucho menos complicada que Java, C# y cosas por el estilo, así que si algún día te metes en un proyecto de otro lenguaje te va a costar bastante más comprender lo que hace cada cosa (por cierto, python también se usa mucho en web con el módulo ese del Apache, pero más para aplicaciones de gestión, juegos online y cosas así, ah y no tiene recolector de basura aunque Ruby sí).
Ruby, lo mismo que Python, además tienes un incoveniente: que no hay una comunidad tan extendida así que la búsqueda de documentación es mucho más difícil.
IDEs como Visual Basic, Gambas, Real Basic y demás son juguetitos que no enseñan programación, es sólo para hacer programas chorras y rápidamente (aunque muchas veces cunde hacer un programa con estas cosas, porque con programación a saco te llevaría años, véanse programas de gestión simples y cosas así)
Edit: POO = Programación Orientada a Objetos (es que antes me fijé y casi nadie lo aclaraba, igual andabas un poco liado)
Este tema ha sido editado por langrisser: 07 July 2005 - 11:07 AM
#52
Escrito 07 July 2005 - 11:10 AM
¿Es un pájaro? ¿es un avión?. No, es un Ligre disfrazado de cocodrilo.
#53
Escrito 07 July 2005 - 07:10 PM
#54
Escrito 07 July 2005 - 07:12 PM
#55
Escrito 07 July 2005 - 07:21 PM
Si quieres salida profesional :
Hoy en día, java (orientado a web con j2ee principalmente). Y después .NET (.ASP, c# y esas cosas). Y luego XML/XSL que te lo encontrarás casi seguro (y el XSL no es trivial ni de coña)
Como Hobby :
Pues los que dicen la mayoría, phyton, o como bien dice dead el lenguaje g33k de moda "ruby". Y luego aprender el "ajax" de moda, que no es más que controlar bastante de XML y javascript para hacer peticiones asíncronas al servidor y actualizar la página sin recargarla. En general controlar de javascript, te va a ser útil tanto para hacer chorraditas, como para un curro, ya que se suele utilizar js a saco.
-----
Hmmm, releyendo , te he hablado sólo de programación orientada a web... pero es que en fin, tanto para buscar curro, como para hobby, es lo que más "pita" ahora.
-----
Aprender C hoy en día lo considero un atraso... yo aprendí con C a saco en la uni sí... pero la verdad, salvo que vayas a programar sistemas operativos, o aplicaciones críticas, meterte con el tratamiento de memoria, los punteros y demás polladas es un coñazo muy grande xD
#56
Escrito 07 July 2005 - 07:23 PM
Yo empezaría directamente en C++.
A parte de ser uno de los lenguajes más potentes, también es de lo más documentados, tanto en internet como en libros y demás. Además, si te organizas bien, al principio no te costará mucho más que Pascal y ANSI C, y tienes la ventaja de aprender POO sin necesidad de cambiar de lenguaje
Java es peor para aprender, porque te metes directamente con objetos, clases y demás.
Pascal es bueno para aprender, pero como lo sería ANSI C, y al cabo de poco tiempo se te quedará pequeño (C++ da mucho más juego).
Python es muy fácil de comprender, pero es malo para aprender a programar. Es quizás junto con Ruby el lenguaje más productivo que existe, pero su sintaxis es mucho menos complicada que Java, C# y cosas por el estilo, así que si algún día te metes en un proyecto de otro lenguaje te va a costar bastante más comprender lo que hace cada cosa (por cierto, python también se usa mucho en web con el módulo ese del Apache, pero más para aplicaciones de gestión, juegos online y cosas así, ah y no tiene recolector de basura aunque Ruby sí).
Ruby, lo mismo que Python, además tienes un incoveniente: que no hay una comunidad tan extendida así que la búsqueda de documentación es mucho más difícil.
IDEs como Visual Basic, Gambas, Real Basic y demás son juguetitos que no enseñan programación, es sólo para hacer programas chorras y rápidamente (aunque muchas veces cunde hacer un programa con estas cosas, porque con programación a saco te llevaría años, véanse programas de gestión simples y cosas así)
Edit: POO = Programación Orientada a Objetos (es que antes me fijé y casi nadie lo aclaraba, igual andabas un poco liado)
Y C++ no tiene objetos y clases? XD joer segun lo pones parece que digas eso. Aparte tiene una de las rayadas más grandes en POO y que cualquier POO puro no permite, que es la herencia multiple.
#57
Escrito 07 July 2005 - 07:23 PM
~ Como se puede arruinar toda una vida en instante... ahora toca superarlo y crecer con el afan de algun dia ser feliz ~
#58
Escrito 07 July 2005 - 07:35 PM
#59
Escrito 07 July 2005 - 07:57 PM
Desarrollador 5 Estrellas
Esta muy bueno, esta semana lo comence.
Pero como dices que solo por hobbie mejor busca otras opciones como java.
#60
Escrito 07 July 2005 - 07:59 PM
#62
Escrito 07 July 2005 - 08:15 PM
#63
Escrito 07 July 2005 - 09:03 PM
Eiffel es POO puro no como C++ y Java y permite herencia multiple.Y C++ no tiene objetos y clases? XD joer segun lo pones parece que digas eso. Aparte tiene una de las rayadas más grandes en POO y que cualquier POO puro no permite, que es la herencia multiple.
Lord: nada, que ya te lamere, si quieres
(1 semana despues) Lord: pues al final me la he tragado enterita
0 usuarios están leyendo este tema
0 miembros, 0 invitados, 0 usuarios anónimos