Ir a contenido


Foto
- - - - -

Sobre Programacion.


  • Please log in to reply
96 replies to this topic

#43 willem

willem

    Member

  • Hentais
  • Pip
  • 159 Mensajes:

Escrito 03 July 2005 - 11:44 AM

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 :malo: , son dos cosas distintas, y además la experiencia (no sólo la mía, en muchos libros de Java y C++ el autor lo comenta en la introducción) demuestra que lo que ocurre es que encima es un lastre. Precisamente yo aprendí Pascal antes que Java, y no sirve de NADA.

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) :ohh: , 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 :bailar: , y además muy útil.
Imagen enviada

#44 RoRo

RoRo

    Member

  • Hentais
  • Pip
  • 173 Mensajes:

Escrito 03 July 2005 - 01:38 PM

Muy bien dicho, willem.
No subestimen a la Gran Serpiente.
Imagen enviada

#45 Frikjan

Frikjan

    Mini Thexsam

  • Hentais
  • PipPipPipPipPipPipPipPip
  • 6726 Mensajes:

Escrito 03 July 2005 - 02:54 PM

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

Ver mensaje

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.
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: mmmmm
Lord: nada, que ya te lamere, si quieres
(1 semana despues) Lord: pues al final me la he tragado enterita

#46 jal

jal

    Jovencito apuesto

  • FL Vintage
  • 2804 Mensajes:

Escrito 03 July 2005 - 07:40 PM

Pascal sería una buena opción, si estuviéramos en 1991.
Mejor alguno de sus nietos.

Ver mensaje



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.

Ver mensaje



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.
en España cada día que amanece el número de tontos crece
- "Si a mí me gusta ir de viaje. Lo que me jode es moverme."
Imagen enviadaImagen enviadaImagen enviada

#47 Frikjan

Frikjan

    Mini Thexsam

  • Hentais
  • PipPipPipPipPipPipPipPip
  • 6726 Mensajes:

Escrito 03 July 2005 - 11:56 PM

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.

Ver mensaje

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).
Lord: mmmmm
Lord: nada, que ya te lamere, si quieres
(1 semana despues) Lord: pues al final me la he tragado enterita

#48 vimora

vimora

    Super Advanced Member

  • Hentais
  • PipPipPip
  • 1904 Mensajes:

Escrito 04 July 2005 - 07:46 AM

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.

Ya 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... :pc:
Para jugar al electronico prefiero los PIC's, ahora estan de moda. X-D

En fin, yo solo C q nada C de C. :guu2:
... y queria preguntar donde pillo un tutorial/libro para ponerme a jugar con QT, es para hacer SCADA en linux.

TALue :zea:
Imagen enviada
My flickr // Refrescar, Refrescar, Refrescar !!!! // A los Politicos !!!!
"Mateo 10:8 "Lo que ustedes recibieron gratis, denlo gratuitamente" FL-Seeds !!!

#49 Guest_mrithail_*

Guest_mrithail_*
  • Guests

Escrito 04 July 2005 - 09:18 AM

Ya 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... :pc:
Para jugar al electronico prefiero los PIC's, ahora estan de moda. X-D

Ver mensaje

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 xDDDD

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 Xim

Xim

    Advanced Member

  • Hentais
  • PipPip
  • 444 Mensajes:

Escrito 04 July 2005 - 06:30 PM

Yo opino como Willem, aprender en primer lugar la programación imperativa y funcional para luego adaptarse al paradigama de OO es más un lastre q otra cosa. Vale q muchos de nosotros hayamos aprendido de esta forma y lo veamos lógico empezar primero por ahi en lugar de meterse directamente a OO, pero luego puedes tender en muchos casos a crear funciones y procedimientos por ahi sueltos, llenar todo de ifs, crear mil variables, etc en lugar de encapsular las cosas en objetos cuando esto es posible. Por otra parte, lenguajes como PASCAL solo tienen utilidad en el caso de q no sepas ni q coño es un IF, ELSE, WHILE, etc... por su parecido al lenguaje natural y tal, pero de no ser asi es tonteria. Lo mejor es aprender las nociones básicas de OO, q son sencillas, intuitivas y bastante lógicas en realidad (pero aprender la teoria a saco primero, solo teoria con ejemplos sencillos y tal) y luego meterse directo en un lenguaje tipo Java, C#, etc...

Este tema ha sido editado por Xim: 04 July 2005 - 06:47 PM

bleh~~~~~~~~~~~~~~~~~~~~~ FRIKI-BLOG

#51 Guest_langrisser_*

Guest_langrisser_*
  • Guests

Escrito 07 July 2005 - 11:06 AM

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 :D

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 Ligreman

Ligreman

    Groar ^^

  • Hentais
  • PipPipPipPipPipPipPipPipPip
  • 7685 Mensajes:

Escrito 07 July 2005 - 11:10 AM

Java es muchísimo más fácil de aprender que C++. Pero sus usos no son los mismos claro, a nivel profesional quiero decir.

¿Es un pájaro? ¿es un avión?. No, es un Ligre disfrazado de cocodrilo.


#53 Carlosslow

Carlosslow

    Super Advanced Member

  • Hentais
  • PipPipPip
  • 1178 Mensajes:

Escrito 07 July 2005 - 07:10 PM

Yo aprendí primero java (Applets y luego Aplicaciones) y ahora estoy estudiando C++ y le estoy entendiendo perfectamente! Te recomiendo que empieces por java :)

#54 emulation

emulation

    Gaymer cacarero 2.0

  • Hentais
  • PipPipPipPipPipPipPipPip
  • 6012 Mensajes:

Escrito 07 July 2005 - 07:12 PM

al fin alguien que opina igual que yo xD

#55 kebrantador

kebrantador

    Osaka

  • FL Vintage
  • 22478 Mensajes:

Escrito 07 July 2005 - 07:21 PM

A ver, no es lo mismo si quieres aprender un lenguaje por "hobby" o para buscarle salida profesional.

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 kebrantador

kebrantador

    Osaka

  • FL Vintage
  • 22478 Mensajes:

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 :D

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)

Ver mensaje


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 NeoRagod

NeoRagod

    Hentai-sama

  • Hentais
  • PipPipPipPipPipPipPip
  • 4661 Mensajes:

Escrito 07 July 2005 - 07:23 PM

Si mas bien ahorita serie mas un hobby para disfrutar que algo serio.
~ NeoRagod Blog ~ | ~ AnimeTeam Fansub ~
Imagen enviada
~ Como se puede arruinar toda una vida en instante... ahora toca superarlo y crecer con el afan de algun dia ser feliz ~

#58 kebrantador

kebrantador

    Osaka

  • FL Vintage
  • 22478 Mensajes:

Escrito 07 July 2005 - 07:35 PM

Pues si es por hobby y no eres muy friki, aprende POO con php que ya sabes (PHP5 ya tiene POO bastante mejorado) y luego ya pegarte con java o cualquier otro es tema de sintaxis más que otra cosa. Lo bueno de php es que lo puedes probar en casi cualquier servidor sin problemas y hay miles y miles de movidas por internet.

#59 gamamew

gamamew

    Super Advanced Member

  • FL-Workers
  • 1899 Mensajes:

Escrito 07 July 2005 - 07:57 PM

Para aprender .net esta este curso de Microsoft que te explica todo de manera muy clara paso a paso:

Desarrollador 5 Estrellas

Esta muy bueno, esta semana lo comence.

Pero como dices que solo por hobbie mejor busca otras opciones como java.

#60 VaDeR

VaDeR

    uhmmm

  • Hentais
  • PipPipPipPipPip
  • 2624 Mensajes:

Escrito 07 July 2005 - 07:59 PM

hombre keb , atraso... Que yo sepa bastantes juegos estan programados en C

#61 gamamew

gamamew

    Super Advanced Member

  • FL-Workers
  • 1899 Mensajes:

Escrito 07 July 2005 - 08:11 PM

hombre keb , atraso... Que yo sepa bastantes juegos estan programados en C

Ver mensaje

Y ademas con C se pueden optimizar aplicaciones ya que hasta le puedes meter ensamblador.

#62 VaDeR

VaDeR

    uhmmm

  • Hentais
  • PipPipPipPipPip
  • 2624 Mensajes:

Escrito 07 July 2005 - 08:15 PM

y hacer pitar al sp1ker , que es la cuspide de la programacion xDDD

#63 Frikjan

Frikjan

    Mini Thexsam

  • Hentais
  • PipPipPipPipPipPipPipPip
  • 6726 Mensajes:

Escrito 07 July 2005 - 09:03 PM

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.

Ver mensaje

Eiffel es POO puro no como C++ y Java y permite herencia multiple.
Lord: mmmmm
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