PDA

Ver la versión completa : Aprendiendo a programar



Muerteamou
18/03/2003, 15:10
Wenas

Dado que sois la caña compañeros (que pelota :lol: ) os queria preguntar por una cosilla, yo no se programar y me gustaria aprender, en plan autodidacta, y no se por que lenguaje de programacion empezar, y supongo que vosotros me aconsejareis muy bien 8) y si me podeis pasar alguna pagina con tutoriales sobre ese lenguaje mejor (por pedir..)

Muchas gracias y un saludo a todos

ArkJoCe
18/03/2003, 15:59
Whenas...

Masokas los hay en todas partes, bienvenido al club

En la uni te empiezan a enseñar a programar en Ada (o Pascar, es casi lo mismo) y luego empiezan a cambiar a C/C++ y por ultimo se da Java.

Ada es idoneo para empezar ya que es un lenguaje muy estructurado y la compilacion es muy estricta
C es un autentico KAOS donde puedes hacer casi lo que te salga del pijo (me gusta mas C que ADA)

Paginas y Guias de ADA buscare a ver si tengo algo y ya te lo pasare, de todas maneras de C estos PDFs estan bien
PDF1 (http://www1.ceit.es/asignaturas/Informat1/ayudainf/aprendainf/Cpp/manualcpp.pdf)
PDF2 (http://www.esi.uem.es/~salvador/Cursocpp/cursocpp.pdf)

Un Saludo

Juano
18/03/2003, 16:08
Lo mejor para empezar es usar algun lenguaje sencillo de los llamados imperativos, como el Pascal o el Ada... el Basic no me gusta, pero tambien puede servir.
Y si tienes mucho coraje, metete directamente con el C, que tiene muchas mas aplicaciones y es muy bueno, además luego puedes aprender sin mucha dificultad la programacion orientada a objetos con C++, o incluso Java, que es muy parecido.

Sal-U2.

Juano
18/03/2003, 16:23
Vaya... veo que ArkJoce y yo coincidimos bastante :mrgreen:

Sal-U2.

imported_admin
18/03/2003, 19:22
Veo que estas bien asesorado por otros miembros del foro... Sigue el camino y al final (pero que muy al final) mirate algo de .NET...

ArkJoCe
18/03/2003, 20:25
Juano xDDD se nota donde hay calidad ;) xDDD

Empezar con C no es recomendable ya que el programador puede cojer mucho vicios y actuar muy anarquicamente... el paso logico es Pascal/Ada y luego C->C++->Java

Juano, bajando los manuales que has puesto, que siempre biene bien mas informacion

Personalmente me gusta mas ADA que pascal, te pongo los programas que uso.

*Para Ada
[list:beacf5a027]Compilador GnAT (ftp://ftp.cs.nyu.edu/pub/gnat/)
Entorno [list:beacf5a027]AdaGuide (http://www.usafa.af.mil/dfcs/bios/mcc_html/adagide.html)
Jgrasp (http://www.eng.auburn.edu/grasp/)[/list:u:beacf5a027]
*Para C -> Dev-C++ (http://www.bloodshed.net/devcpp.html)[/list:u:beacf5a027]Uso Habitualmente el AdaGuide (aprendi con el y le tengo gran cariño, el jgrasp esta cojonudo porque genera OSD y lo uso para trazar e imprimir)
El Dev-C++ simplemente es lo mejor que tengo sin recurrir a cosas gordas como los Visual...

En cuando me haga la cuenta del Mesenger de una PUTA VEZ (Plaka plaka, me pego) te puedo mandar practicas mias antiguas y hechar ese quakes (he estado practicando, lo siento xDDD)

Un Saludo

PD: estoy empezando a currar con ensamblador (ASM) y mola, pero DIOS K PUTO INFIERNO... suerte que soy masoka perdido (por no decir insomne cronico)

Acerbaturix
20/03/2003, 09:10
Buenas,

solamente corroborar la opinion de los compañeros sobre Pascal y Ada para empezar para luego irse hacia otros lenguajes mas "modelnos" y/o potentes...

entre otras muchas cosas estoy empezando a escribir un manual de introduccion a la programacion, precisamente basado en Pascal... algun dia se publicara :D

ArjCode, yo tb he estado ultimemente currando algo en ASM, no ASMx86 sino ASM51 para microcontroladores de la familia Intel 8051, que tiene sus parecidos con el x86 pero mas orientado a trabajo con bits y a control, y la verdad es que le he cojido el gustillo :D (panda piraos que tamos heshos :twisted:)

Bleach
20/03/2003, 11:23
Coincido con el resto aunque no se ADA asi que te aconsejo Pascal, luego puedes dar el paso a Delphi, que es pascal con objetos.

Si quieres un compilador de pascal, tienes el Free Pascal en http://www.freepascal.org

P.D.: Este puede ir a la lista de God Mode de programas gratis.

_^Ghost^_
20/03/2003, 13:15
A mi en la uni me enseñaron una especie de pseudocódigo y las prácticas las entregabamos en pascal.

Luego a mi aire me pasé al C, hice cositas en delphi y ahora lo hago todo con el compilador masm. Lo que en delphi no baja de 300 kb, con masm en menos de 20 lo tengo hecho y de sobra.
De todos modos yo he llegado a asm por el camino contrario. Antes de programar en asm me he hartado de leer código desensamblado.

ArkJoCe
20/03/2003, 16:08
Acerbaturix, yo con x86 y la verdad es que le he jojido el gustillo, pero despues del compilador del ADA que es pa tontos el ASM poco mas te marca que la linea donde peta

Acabo de entregar una practica que ponia la pantalla a un color y luego dibujaba un Sprite y para tan poca cosa han sido mazo horas (un problema tonto con el Lea y un Segmento mal metido a la pila)

Ya veremos el juegecito que hay que entregar como practica fina xDDD

Bleach, ADA y PASCAL son practicamente gemelos, alguna pequeña diferencia hay (ADA incorpora recolector de basura) pero sabiendo uno sabes otro (que son practicamente Pseudocodigo)

_^Ghost^_ Igual que a mi, nos enseñaban Pseudocodigo y currabamos en ADA...

A C saltamos a hostias, teneis que entregar esto en C, buscaros la vida (Yuhuuu!! pa caparlos)

Yo ASM me lo he encontrado de frente y en pelotas, pero a hostias la verdad es que es como mejor se aprende y me esta gustando... este finde a empezar con la practica3

Un Saludo

PD: Sana Lokura ;) xDDD

FernaD
20/03/2003, 16:59
Pues yo no tengo ni papa de programar y me he metido con Visual Basic 6, con una manual que encontré en la mula de esos para tontos :mrgreen:

Creo que os voy a fusilar a preguntas y dudas, así que prepararos :mrgreen:

Saludos

ArkJoCe
20/03/2003, 17:19
Tu pregunta lo que necesites, que repuestas tendras... posiblemente en el quake4 que estes haciendo termine disparando misiles nucleares y atrayendo OVNIS :twisted: :twisted: xDDD

Es la magia de la programacion

De visual basic no tengo npi asi que sera mejor que me quede en modo lector, por k sino k peligro

Un Saludo

PD: curiosamente al hacer el programa que mostrase un sprite en ASM parecia mas bien un sintonizador de Canal+ xDDD y luego un generador de camisetas del Betis xDDD

Hay que joderse lo que hace una letra en un mal sitio

Juano
20/03/2003, 17:52
Mmmm... teneis algun buen manual de ASM? :roll:
Es que yo de ensamblador he tocado muy poco (solo algo de PDP-11 y DLX) y me gustaria echarle un vistazo...

Thanx :wink:

ArkJoCe
20/03/2003, 19:16
Aqui (ftp://aurora.esi.uem.es/pub/Asignaturas/IngenieriaInformatica/PrimerCiclo/segundo/LaboratorioEstructuraComputadores/) tienes un poquito de material

Algunos PDFs son muy utiles
*e8086.pdf -> Muy Util
*dosints.pdf -> Las Interupciones, imprescindibles
*Instrucc8086.htm -> Las Instrucciones, un buen resumen

Tb hay 3 ejemplos (solo el exe) de los programas hechos por la gentuza del año pasao...
Hecho en falta algo que informe donde leches se declara cada cosa, pero lo saque a hostias y no se me olvida en la vida

Un Saludo

Bleach
21/03/2003, 06:21
Yo me he peleado con el Visual Basic y te puedo echar una mano, aunque te recomiendo el Delphi, ya que en el Visual Basic.NET por lo poco que he visto hace las cosas como Dios manda (no como las manda Bill) y usa objetos de verdad ademas lo ha hecho el que diseño Delphi.

En Delphi hay una ilusion para que los programas tengan pocos Kb que es usar packages, es util si vas instalar varias aplicaciones hechas en delphi. También puedes pasar de la VCL pero eso ya es mucha curro.

Acerbaturix
21/03/2003, 19:15
Yo tenía por aqui un manualito interesante de ASMx86, a ver si lo encuentro por aqui perdío entre gigas de documentos... :D

ArkJCode, te comprendo, solo viendo el tocho de codigo que tuvimos que picar para "combertir" un microncontrolador 8051 en un peluco que se comunicara por puerto seria con el ordenador... :lol: , una de las mayores puñetes con estos microncontroladores, es trabajar con RAM externa, ya que tienes que hacerlo con direccionamiento de 16bits, y son micrcontroladores de 8bits, por lo que solo tienen un registro de 16bits, y como tengas que mantener varias direcciones simultaneamente, te puedes morir haciendo operaciones solo para eso :x, y eso fué justo lo que nos tocó hacer en el examen

yo miré algo de VB hace muuucho tiempo, y la verdad es que no me gusta demasiao, yo es que soy bastante "masoca", y me quedo con mi shell, mi compilador en linea de comandos y un editor :D, en todo caso me quedo mejor con Delphi

_^Ghost^_
22/03/2003, 11:45
Yo los manuales que he visto por ahí suelen ser un poco castaña porque están bastante desfasados. Suelen ser para 16bits y explican los fundamentos del asm pero con eso no tienes para programar nada.


Mirate los de iczelion que es más que nada código comentado para masm, y luego haz pruebas. Lo que si que te tienes que saber de memorieta es la Api de windows, si dominas eso, tienes el 50% hecho.

Muerteamou
24/03/2003, 00:14
Wenas

Perdonadme por no contestar antes :oops: y gracias a todos por contestar.

Estoy indeciso, por lo que me habeis aconsejado estoy entre ADA y Visual Basic, dudo con VB por que tengo aqui un libro que se titula "Visual Basic para torpes" :D y tb tengo por aki la version 5 original y en español, aparte de que un amigo me lo aconsejo y me ha dejado todo esto. Esta bien VB para empezar?

Me dejo en vuestras manos :wink:

Saludos

Bleach
24/03/2003, 06:19
Yo te recomiendo que en vez de empezar por el Visual Basic, empiezes por Ada o Pascal y luego sigas con lenguajes orientados a objetos como object Pascal o sigas con C/C++ y luego acabes con Visual Basic, ya que con los otros aunque sean mas dificiles de aprender aprenderas muchisimo mas que si solo usas Visual Basic.

Un saludo y ya sabes si tienes alguna duda de lo que aprendas comentalo.

Rasczak
25/03/2003, 08:33
A mí en la universidad me dieron directamente C++ y me ha ido bastante bien (el profesor me suspendió la primera asignatura de programación por hacer un programa que no entendió, al usar rutinas que se salían del temario y de las que el tipo no tenía la menor idea), aunque antes había tocado algo del Basic del Spectrum (buena forma de empezar donde las haya), y ahora toco algo de Visual Basic (en otra asignatura me pidieron que hiciera un programa de comunicación y envío de datos entre dos ordenadores, yo me excedí un poco y el mío admitía 32 usuarios en LAN, con nick y formatos de texto, con paso de testigo y todo; nunca le perdonaré a ese &%#@& que me pusiera el mismo 5 cutre salchichero que a los que solo hicieron la comunicación de 2 ordenadores) y C++ Builder, aunque este más bien poco.

Si tienes moral, y una forma de trabajar ordenada y estructurada, yo te recomiendo que pases directamente al C, que es uno de los más potentes y prácticos que puedes encontrar. Eso si, si no eres ni ordenado ni estructuras bien las ideas, mejor empieza por los de pseudocódigo, porque no te las vas a aclarar con el C.

Bleach
25/03/2003, 09:08
En la torre de babel, es decir en la pagina de Francisco Charte he visto que ha sacado un libro de programación en ensamblador. Puede que sea interesante, cuando tenga un rato libre ire a la FNAC a ver si lo tienen y hojearlo un poco.

Muerteamou animate ya de una vez empieza por lo que quieras pero empieza ya, que una vez que se empieza ya no se puede parar, eso al principio será un poco arido no esperes hacer nada mas empezar un juego tipo Quake IV pero a todo se llega.

·orb·
27/03/2003, 15:12
En cuanto a ensamblador, si controlais algo de ingles, os recomiendo "The Art of Assembly". Es la biblia del ensamblador! Es un libro electrónico gratuito que lleva desarrollandose desde tiempos inmemoriales :D por lo que está continuamente actualizado. Creo que ahora son tres libros. Según las necesidades podeis cojer Win16, Win32 y Linux. Os lo recomiendo encarecidamente. Ahora mismo no recuerdo la web para descargarlo, pero si buscais el titulo en el google os aseguro que salen unas cuantas páginas. También en lo referente a libros electrónicos de programación gratuitos os recomiendo "Thinking in Java" y "Thinking in C". Creo que estos tres no deben faltar en ninguna libreria :D:D

Un saludo.

OberkLokeaO
29/03/2003, 00:52
Hola estuve leyendo sus comentarios, solo queria dar mi opinion, que como la mayoria de las veces hasta a mi mismo me parecieran que son con el afan de llamar la atencion por lo negativas, pero no, la verdad, me parece bien que haya discusión y eso es siempre constructivo mientras haya respeto y se aporte o al menos eso se intente,.

Bueno primero puntualizar que no soy programador sino soy ingeniero mecanico, pero programo hace mas de 10 años (basic, Fortran 77 (si, fotran 77 y no es que yo sea tan viejo :oops: ), RPL User (Lenguaje base de la mitica para mi y muchos otrros fanaticos calculadora HP48GX) RPL System (Lenguaje como el anterior de bajo nivel) ambos toda una experiencia), Pascal, Visual Basic y un poco de C++, y queria referirme a algo que he visto en muchos lados, al menos en el mundo de la gente que no es programadora profesional, (que es mi mundo ) respecto al lenguaje C++ .

Y es que se le toma por muchos, no hablo por los foreros sino por gente que conozco que al hablarle de el, sin conocerlo, lo toman como un lenguaje muy complejo, de bajo nivel, y reservado casi para gurus, pues ni uuna ni la otra, yo trate de entender C++ no por necesidad sino por la curiosidad de saber de que se trata este lenguaje tan nombrado.

El caso es que a medida que me voy interiorizando, leyendo manuales bajados de la red, etc, programando algunas pequeñas rutinas, me voy dando cuenta que el famoso lenguaje es.
En primer lugar De alto nivel, lo encontre hasta similar a lenguajes antiguos como el susodicho fortran77, me parecio muy entendible en cuanto a su estructura, en ningun caso se trata de algo que haya que temerle, o en una escala de complejidad mayor, ni mucho menos, desde luego si se quiere ahondar mas alla en el, se puede llegar mucho mas lejos.

2do Es ademas multiplataforma, (segun lo que he leido) porque lo he probado solo en windows las aplicaciones echas con el.

3ro Es muy potente para ser un lenguaje de alto nivel, eso lo doy por echo dogmaticamente, por lo leido de gente que sabe, no lo digo yo.

5to Es un lenguaje orientado al objeto (aunque hoy en dia todos dicen hacer eso, algunos realmente otros no)

Ahora, viene lo que quiero plantear, y es que, todas estas cualidades y muchas otras mas hay que contraponerlas con la real necesidad de lo que se programa, porque C++ se trata de un tipo de lenguaje en el que uno se enfrenta en una linea de comandos, donde la programacion esta en un estado puro, insisto sin ser de bajo nivel, pero donde todo hay que programarlo, cosa que en lenguajes como por ejemplo Visual Basic donde ya estan resueltos la mayoria de las complejidades mas comunmentes utilizadas en un programa tipico, tales como otorgarles a una ventana ciertas propiedadees, a partir de un set ya preestablecido de propiedades, y que a la vez esta se comporte de una manera determinada ante algun evento dado, tambien de una lista pre definida de posibles eventos por este lenguaje.
Y eso le otorga una enorme facilidad y flexibilidad de programacion para personas que muchas veces requieren de programas con rutinas que no necesariamente "exprimiran" al PC y que requieran disponer en poco tiempo de una aplicacion buena.
Se puede argumentar, en C se hara el mismo programa, mas rapido y mas estable, ok, pero a que costo de tiempo de programacion?, se requeria realmente tal potencia o nivel de optimizacion?.

Si se va hacer un motor 3d, sin dudarlo uun lenguaje potente es lo mejor o si se hara un codec donde sera utilizado por terceros programas y donde el ahorro de recursos vale su peso en oro, o una aplicacion potente, pero no siempre es asi y muchas veces resulta mas conveniente en terminos de tiempo y dinero un lenguaje no tan potente tal vez, pero que si sirva, porque no todos los programas requieren ser ni programados a bajo nivel. Si el ahorro de tiempo al ejecutar el programa, sera tanto como un 0.02 segundo y para lograr ese ahorro de tiempo me ha tomado 5 veces mas tiempo en hacer ese programa no lo merecen, ojo no digo que Visual sea mejor (cosa que seria un disparate) sino que es importante plantearse en primer lugar que tipo de aplicaciones se haran y en base a eso dedterminar el lenguaje mas apropiado, no solo porque C lo usen grandeds programadores, sera el que todos deban usar.

Bueno tambien hay alternativas que ofrecen versiones como las de Visual Estudio version empresarial que una aplicacion realizada en Visual Basic puede ser depurada en C++.


A proposito aprovecho para plantear una duda, he estado haciendo un programa en visual 6, el codigo me ha quedado mas que extenso, leyendo hace tiempo manuales de visual 5, no se si es cosa de mi imaginación o me parecio haber leido en ese manual que el maximo tamaño de codigo admitido por formularios y modulos es de 64kb ?, el caso es que en algunos modulos y formularios del programa he pasado esa cantidad por lejos,
al hacer correr el programa anda perfecto (no lo he compilado aun, porque me falta, solo al hacerlo correr desde el mismo visual), pero estoy con la duda sobre ese supuesto limite de codigo, que tal vez sea obra de mi propia imaginacion.

Salu2