Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Blitz3D en 15 de Enero de 2007, 09:40:26 PM

Título: Fundamentos de la programación
Publicado por: Blitz3D en 15 de Enero de 2007, 09:40:26 PM
Pues como dice el título, me gustaria que me recomendarais un buen libro para aprender todo el fundamento de la programacion (matrices, variables, tipos de datos, procedimientos...) ya que tengo algunos problemas con algunas de esas funciones, y antes de abordar un lenguaje en concreto me gustaria tener todo eso claro. Vamos, un libro que me enseñe toda la metodologia pero sin tener yo que saber programar, ya que mis conocimientos no pasan del basic (Aun del basic sé muy poco :wink: )

Gracias por vuestras respuestas (si las hay :) )
Título: Fundamentos de la programación
Publicado por: kbks en 15 de Enero de 2007, 11:56:33 PM
A programar se aprende programando y, aunque un buen libro nunca está de mas, para ello necesitas primero "escoger" un lenguaje. Aprender ciertas cosas sin ver directamente en el ordenador como funcionan es imposible.
Título: Fundamentos de la programación
Publicado por: Lex en 16 de Enero de 2007, 01:04:12 AM
...
Título: Fundamentos de la programación
Publicado por: Kain en 16 de Enero de 2007, 04:16:12 AM
Hola

Lo primero que te recomiendo es que no cometas mi error, aprender un Lenguaje de programacion sin saber Programar, lo primero es aprender a programar, como se contruyen Funciones, las variables,  en fin "El Arte de Programar", que tambien es un exlente libro.

Ese es por no decir uno de los mejores te lo recomiendo mucho, cuando aprendas a programar podras aprender a programar en muchos lenguajes.

Y de lenguajes te recomiendo con los ojos cerrados, C o C++, preferiblemente el primero ya que el segundo esta orientado a objetos y si sabes Programar sabras hacerlo hacia los objetos con casi cualquier lenguaje, el Visual Basic tambien sirve para aprender pero no te confies, es de bajo rendimiento y de pocas capacidades al lado de lenguajes de la talla del C, Ensamblador, C++.

Existen multitud de lenguajes cada uno con su especialidad, si quieres programar para una consola, es casi seguro qeu necesitaras un lenguaje de bajo nivel parecido a Ensabmlador, cada are de la informtacia tiene un lenguaje en especial, el de los programas domesticos es el C, el de Red se podria decir que es Java, en Video cualquier lenguaje srve, lo importante esta en la programacion de la API (interfaz para el programa) pero el C++ se acomoda mucho a las necesidades de las API actuales.

PD: No digo que todos aquel que haya empezado con algun lenguaje de programación  sea un mal programador por que dentro de su libro, manual, tutorial o por si mismo puede haber aprendido la programación, pero es recomendable saber programar y luego aprender todos los lenguajes, se aprenden en poco tiempo ya sabiendo programar.

En la Universidad si estudias algo relacionado con programación, te graduas capacitado para aprender un lenguaje de programacion en 2 meses o menos, segun tu nivel.

Saludos, espero haberte ayudado.
Título: Fundamentos de la programación
Publicado por: vincent en 16 de Enero de 2007, 08:14:02 AM
Cita de: "Kain"Programar sabras hacerlo hacia los objetos con casi cualquier lenguaje, el Visual Basic tambien sirve para aprender pero no te confies, es de bajo rendimiento y de pocas capacidades al lado de lenguajes de la talla del C, Ensamblador, C++.

Ojo que EXE te va a saltar a la yugular!!
Título: Fundamentos de la programación
Publicado por: LC0 en 16 de Enero de 2007, 09:27:37 AM
Aprende los fundamentos de POO y luego UML y patrones de diseño.

Libros, ¿para qué? Con la cantidad de documentación que hay en internet sobre esto, que quieres que te diga, es tirar el dinero (incluso hay libros que los puedes descargar por internet desde la página de la editorial o de los autores y que también están impresos).
Título: Fundamentos de la programación
Publicado por: Fran en 16 de Enero de 2007, 09:55:37 AM
Yo aprendí con Pascal (es fácil de ver y hay un autor Jeff Duntemann q es muy bueno por lo didáctico que es. No sé si hay algun libro suyo por ahi - hablo del 88) ->C (Una vez q sabes Pascal es muy sencillo)->C++->Object Pascal (Delphi), Java y ya los complementos (ASP - puaj- , Javascript, vbscript, J2EE (me encanta)). Me falta C#. Para mi es una buena ruta. Ansi Pascal es lo suficientemente serio y potente para empezar y fácil muy fácil de aprender. Ah y si necesitas bases de datos algun buen libro de bases de datos, leer a Codd y aprender SQL (es muy sencillo)

Ah . Y muy importante. Estoy de acuerdo con quien ha dicho q cuando se está aprendiendo es importantísimo programar (aprender programando), y q una vez sabes uno, el 2º es mucho mas sencillo.
Título: Fundamentos de la programación
Publicado por: marc_opolo en 16 de Enero de 2007, 11:43:24 AM
Si queres aprender a programar en serio... mi recomendación seria que aprendas primero los paradigmas funcionales y de objetos (oop). Si, contrariamente a lo que todo el mundo hace...

Una vez te manejes en estos dos paradigmas, aprender a programar en procedural (cosa que ya haces, seguramente), va a ser MUCHO mas facil.

Y como lenguajes: para funcional, supongo que haskell, gopher o lisp; para objetos, Smalltalk o Squeak.

Aprender a programar con lenguajes procedurales (basic, pascal, c, y otros) o hibridos mal hechos (java, c++) puede llevarte a adoptar muchisimos vicios, tanto de programacion como de diseño.

Y a programar, se aprende programando, como ya dijeron por aca. Algunos me van a decir que aprender directamente un lenguaje procedural es mucho mas facil...  si, probablemente lo se, pero tambien "invita" a ser muuuucho mas perezoso como programador (y en ultima instancia, MAL programador).


Saludos.
Título: Fundamentos de la programación
Publicado por: Fran en 16 de Enero de 2007, 12:49:26 PM
Cita de: "marc_opolo"Si queres aprender a programar en serio... mi recomendación seria que aprendas primero los paradigmas funcionales y de objetos (oop). Si, contrariamente a lo que todo el mundo hace...

Una vez te manejes en estos dos paradigmas, aprender a programar en procedural (cosa que ya haces, seguramente), va a ser MUCHO mas facil.

Y como lenguajes: para funcional, supongo que haskell, gopher o lisp; para objetos, Smalltalk o Squeak.

Aprender a programar con lenguajes procedurales (basic, pascal, c, y otros) o hibridos mal hechos (java, c++) puede llevarte a adoptar muchisimos vicios, tanto de programacion como de diseño.

Y a programar, se aprende programando, como ya dijeron por aca. Algunos me van a decir que aprender directamente un lenguaje procedural es mucho mas facil...  si, probablemente lo se, pero tambien "invita" a ser muuuucho mas perezoso como programador (y en ultima instancia, MAL programador).


Saludos.

Hay un lenguaje que se llama gopher? Pensaba q era un protocolo y/o servicio de Inet muy antiguo. Lisp.... eso sigue? Pensaba q habia desaparecido hace muchos años.  Smalltalk muy bueno. Pero casi no se usa por lo menos en Europa a nivel profesional. En cuanto a que Java y C++ son caca , culo, pis... pos bueno. Pero si quieres trabajar en el mundo real creo q son muy buenas elecciones . No voy a entrar a discutir otra vez el sexo de los ángeles. Solo estoy de acuerdo contigo en que el programar proceduralmente te hace adoptar malos hábitos en OOP. Pero vamos, si entiendes bien la OOP quitártelos es fácil y la procedural te hace falta.
Título: Fundamentos de la programación
Publicado por: marc_opolo en 16 de Enero de 2007, 01:01:26 PM
CitarHay un lenguaje que se llama gopher? Pensaba q era un protocolo.

Si, hay un lenguaje que se llama gopher... se usa mas que nada en ambientes academicos (al menos en mi caso). Y tambien es un protocolo (por cierto, alguien lo usa todavia?)

CitarLisp.... eso sigue? Pensaba q habia desaparecido hace muchos años.
Si, el Lisp sigue.. de hecho, todavia hay congresos, si no me equivoco. Otro lenguaje muy academico (aunque el Emacs lo usa para casi todo)

CitarSmalltalk muy bueno. Pero casi no se usa por lo menos en Europa a nivel profesional. En cuanto a que Java y C++ son caca , culo, pis... pos bueno. Pero si quieres trabajar en el mundo real creo q son muy buenas elecciones . No voy a entrar a discutir otra vez el sexo de los ángeles. Solo estoy de acuerdo contigo en que el programar proceduralmente te hace adoptar malos hábitos en OOP. Pero vamos, si entiendes bien la OOP quitártelos es fácil y la procedural te hace falta.

Bueno, estaba hablando de aprender a programar... pero mi opinion sigue siendo que aprendiendo este tipo de lenguajes, pasar luego a cosas mas "reales" es relativamente facil, mientras se tienen herramientas de analisis muy fuertes, mucho mas dificiles de conseguir directamente con lenguajes procedurales.


Hay otra forma de aprender a programar... y es con el lenguaje que ya manejamos desde pequeños: programar se puede programar en cualquier lenguaje, incluso en español.
Título: Fundamentos de la programación
Publicado por: Fran en 16 de Enero de 2007, 01:13:21 PM
Cita de: "marc_opolo"
CitarHay un lenguaje que se llama gopher? Pensaba q era un protocolo.

Si, hay un lenguaje que se llama gopher... se usa mas que nada en ambientes academicos (al menos en mi caso). Y tambien es un protocolo (por cierto, alguien lo usa todavia?)




No tengo ni idea. Yo llegué tarde para usarlo.

Citar
Cita de: "marc_opolo"
Lisp.... eso sigue? Pensaba q habia desaparecido hace muchos años.
Si, el Lisp sigue.. de hecho, todavia hay congresos, si no me equivoco. Otro lenguaje muy academico (aunque el Emacs lo usa para casi todo)

Lo poco que vi cuando queria hacer sistemas expertos hace ni me acuerdo, era elegante. La verdad es q no entiendo xq se malogró xq la programación declarativa para muchas cosas es muy muy util

Cita de: "marc_opolo"
CitarSmalltalk muy bueno. Pero casi no se usa por lo menos en Europa a nivel profesional. En cuanto a que Java y C++ son caca , culo, pis... pos bueno. Pero si quieres trabajar en el mundo real creo q son muy buenas elecciones . No voy a entrar a discutir otra vez el sexo de los ángeles. Solo estoy de acuerdo contigo en que el programar proceduralmente te hace adoptar malos hábitos en OOP. Pero vamos, si entiendes bien la OOP quitártelos es fácil y la procedural te hace falta.

Bueno, estaba hablando de aprender a programar... pero mi opinion sigue siendo que aprendiendo este tipo de lenguajes, pasar luego a cosas mas "reales" es relativamente facil, mientras se tienen herramientas de analisis muy fuertes, mucho mas dificiles de conseguir directamente con lenguajes procedurales.


Hay otra forma de aprender a programar... y es con el lenguaje que ya manejamos desde pequeños: programar se puede programar en cualquier lenguaje, incluso en español.
[/quote]
Bueno. Yo entiendo que querrá aprender a programar para hacer juegos o  algo asi, y creo (es mi opinión) q es mejor  q aprenda con algo q vaya a poder usar.
Título: Fundamentos de la programación
Publicado por: Vicente en 16 de Enero de 2007, 02:41:27 PM
Lisp se usa en temas de IA en algunos juegos: el Rise of Nations lo usaba, el Jack and Dexter (o como se ponga) y algunos otros por ahí.

Aún así yo tiraría por la ruta Pascal->C->C++/Java/C#/VB.NET

Quizás los lenguajes procedurales sean más propensos a enseñarte vicios que los declarativos, pero también son mucho más intuitivos de entender para alguien que empieza. Ya tendrá tiempo de aprender ese tipo de cosas si le gusta el tema.

Un saludo!

Vicente
Título: Fundamentos de la programación
Publicado por: marc_opolo en 16 de Enero de 2007, 03:32:17 PM
No se en qué es mas intuitivo hacer

var
 coche :Coche;

begin
 coche.color := ROJO;
 if coche.cabriolet = True then
   coche.desmontarTecho();
end.



a esto

coche <- Coche nuevo
coche color: ROJO
coche esCabriolet: [ desmontarTecho ]



por poner un ejemplo bien sencillito. Si tengo que explicar Pascal, tengo que explicar para que sirve var, begin, end, if, then, =, :=, el parentesis.... si tengo que explicar smalltalk (o squeak) es un poco mas facil: el :, los [], y poco mas. Además de la interfaz visual, el poco codigo que hay que escribir, y todo lo que se menciono antes...

igual, al final cada uno elige lo que quiere...

(como yo, que como no sabia, y empece con gwbasic... puaj!)


Saludos!
Título: Fundamentos de la programación
Publicado por: Kain en 16 de Enero de 2007, 03:53:29 PM
Cita de: "marc_opolo"Si queres aprender a programar en serio... mi recomendación seria que aprendas primero los paradigmas funcionales y de objetos (oop). Si, contrariamente a lo que todo el mundo hace...

Una vez te manejes en estos dos paradigmas, aprender a programar en procedural (cosa que ya haces, seguramente), va a ser MUCHO mas facil.

Y como lenguajes: para funcional, supongo que haskell, gopher o lisp; para objetos, Smalltalk o Squeak.

Aprender a programar con lenguajes procedurales (basic, pascal, c, y otros) o hibridos mal hechos (java, c++) puede llevarte a adoptar muchisimos vicios, tanto de programacion como de diseño.

Y a programar, se aprende programando, como ya dijeron por aca. Algunos me van a decir que aprender directamente un lenguaje procedural es mucho mas facil...  si, probablemente lo se, pero tambien "invita" a ser muuuucho mas perezoso como programador (y en ultima instancia, MAL programador).


Saludos.

Hola, queria aclarar algunas cosas de tu Post, para que la gente no se confunda, los lenguajes que dijiste puede llevar a muchos vicios, pero a un buen programador no  le pasaria, por que si sabe programar, programara bien.

Pero decir  que es un produce vicio el C, el unico vicio que produce es el de seguir programando, el C es unos de los mejores lenguajes de programcion a alto nivel del mundo, fue creado para poder hacer lo que ensamblador no podia, y es mas en un videojuego, logro que se pudieran portar los programas con cambios de 20 lineas o mas, en ves de cambiar todas las direcciones de memoria.

Compara un programa hecho con un lenguaje Procedural  con otro lenguaje, cuesta mas hacer un programa con un lenguaje Declarativo que con uno Procedural, algunas cosas las hace mejor los Procedurales y otras los Declarativos, pero es mas facil usar un Procedural  y se llevan mejores resultados en menos tiempo, y si el personaje que esta estudiando programacion quiere programar tendra que aprender todos los tipos de lenguaje que sean de mayor utilidad en el campo que desea trabjar.

Ademas es matarse hacer un juego con Ensamblador, sabes todas las llamadas al sistema que habria que hacer,correria a una velocidad sorprendete que no serviria de mucho ya que corre en un solo tipo de computador, y habria que portarlo tantas veces que la empresa cerraria.

Saludos
Título: Fundamentos de la programación
Publicado por: marc_opolo en 16 de Enero de 2007, 04:25:44 PM
eh.. no.
CitarHola, queria aclarar algunas cosas de tu Post, para que la gente no se confunda, los lenguajes que dijiste puede llevar a muchos vicios, pero a un buen programador no le pasaria, por que si sabe programar, programara bien.
Para programar bien, primero hay que aprender, y mientra se aprende, se cometen errores. Algunos (o mucho) de esos errores se transforman en vicios. Un lenguaje complejo de utilizar (como el c++ o el java), confunde al aprendiz, y por ende puede llevar a cometer errores, y a enviciar su modo de programar.

CitarPero decir que es un produce vicio el C, el unico vicio que produce es el de seguir programando, el C es unos de los mejores lenguajes de programcion a alto nivel del mundo, fue creado para poder hacer lo que ensamblador no podia, y es mas en un videojuego, logro que se pudieran portar los programas con cambios de 20 lineas o mas, en ves de cambiar todas las direcciones de memoria.
El C esta lejos de ser uno de los mejores lenguajes de programación del mundo. No hay mas que ver los distintos simposios y congresos que giran alrededor de paradigmas a los que un lenguaje como el C (o el C++) no puede hacer frente. Y en mi opinion, paradigmas como el de objetos o el de aspectos, desplazan al lenguaje C/C++ al nivel medio.

Es cierto que algunas cosas es mas facil hacerlas en procedural que en funcional, declarativo u objetos. Precisamente por eso hay tantos paradigmas, porque con un solo paradigma no puede hacerse todo (de manera prolija y correcta, claro). Pero aprender a programar en funcional y objetos da una serie de herramientas que el procedural no da, y que hoy por hoy son más que utiles (bueno, dudo del funcional para este proposito, pero ayuda mucho a estructurar la cabeza...).

En fin, si el chico quiere aprender a programar cosas concretas y nada mas, aprender un lenguaje procedural o pseudo-objetos esta bien, al final todos empezamos por ahi.


Por cierto, muy buena la frase de Kropotkin.

Saludos!
Título: Fundamentos de la programación
Publicado por: Kain en 16 de Enero de 2007, 04:33:15 PM
Es cierto la mayoria de lo que dices, pero estoy en desacuerdo con tu Opinion del C, pero es tu opinion asi que no me meto mas, y por cierto quien es Kropotkin :oops:, yo no he dicho nada de el, por lo menos concientemente.

Saludos
Título: Fundamentos de la programación
Publicado por: marcode en 16 de Enero de 2007, 04:33:27 PM
Yo te recomiendo que practiques en C, pero no que hagas programas, si no ejercicios en el main con algunas funciones propias, y usando solo printf y scanf.

Deberías practicar cosas como Tipos de datos, calificadores de tipos, variables y constantes, operadores aritméticos binarios y unarios, operadores lógicos, comparaciones, sentencias de control, bucles, vectores, matrices de 2 o más dimensiones, datos compuestos, funciones, referencias y punteros, etc.

Busca ejercicios y problemas y resuélvelos en C.

Cuando ya sepas manejar todo eso puedes empezar a hacer programas largos, para no viciarse mucho mejor empezar con la programación orientada a objetos, a ser posible C++.
Título: Fundamentos de la programación
Publicado por: Fran en 16 de Enero de 2007, 04:38:33 PM
Cita de: "marc_opolo"No se en qué es mas intuitivo hacer

var
 coche :Coche;

begin
 coche.color := ROJO;
 if coche.cabriolet = True then
   coche.desmontarTecho();
end.



a esto

coche <- Coche nuevo
coche color: ROJO
coche esCabriolet: [ desmontarTecho ]



por poner un ejemplo bien sencillito. Si tengo que explicar Pascal, tengo que explicar para que sirve var, begin, end, if, then, =, :=, el parentesis.... si tengo que explicar smalltalk (o squeak) es un poco mas facil: el :, los [], y poco mas. Además de la interfaz visual, el poco codigo que hay que escribir, y todo lo que se menciono antes...

igual, al final cada uno elige lo que quiere...

(como yo, que como no sabia, y empece con gwbasic... puaj!)


Saludos!


Bueno. Yo empecé programanado basic en una calculadora hace 25 años o mas . Pero eso ni lo cuento xq eso fué progrmaación negativa. Una venganza
Título: Fundamentos de la programación
Publicado por: marc_opolo en 16 de Enero de 2007, 04:52:55 PM
Citar...y por cierto quien es Kropotkin , yo no he dicho nada de el, por lo menos concientemente.

Piotr Kropotkin, pensador ruso, el autor de la frase que llevas en la firma...


CitarBueno. Yo empecé programanado basic en una calculadora hace 25 años o mas . Pero eso ni lo cuento xq eso fué progrmaación negativa. Una venganza
jeje... igual, resulta que al final es muy divertido programar en plataformas "raras" o "no convencionales".
Título: Fundamentos de la programación
Publicado por: Fran en 16 de Enero de 2007, 05:15:49 PM
Cita de: "marc_opolo"
Citar...y por cierto quien es Kropotkin , yo no he dicho nada de el, por lo menos concientemente.

Piotr Kropotkin, pensador ruso, el autor de la frase que llevas en la firma...


CitarBueno. Yo empecé programanado basic en una calculadora hace 25 años o mas . Pero eso ni lo cuento xq eso fué progrmaación negativa. Una venganza
jeje... igual, resulta que al final es muy divertido programar en plataformas "raras" o "no convencionales".

No. Es q era la primera vez q veia algo q se pudiera prgramar y con 14 años me llamó mucho la atención
Título: Fundamentos de la programación
Publicado por: Vicente en 16 de Enero de 2007, 05:51:42 PM
Cita de: "marc_opolo"Si tengo que explicar Pascal, tengo que explicar para que sirve var, begin, end, if, then, =, :=, el parentesis.... si tengo que explicar smalltalk (o squeak) es un poco mas facil: el :, los [], y poco mas. Además de la interfaz visual, el poco codigo que hay que escribir, y todo lo que se menciono antes...

igual, al final cada uno elige lo que quiere...

(como yo, que como no sabia, y empece con gwbasic... puaj!)

Saludos!

Lo que has puesto de pascal es simplemente sintaxis, que es bastante sencilla de entender, el problema es entender conceptos, y es mucho más ligero de digerir Pascal que Smalltalk a nivel de conceptos.

Un saludo!

Vicente
Título: Fundamentos de la programación
Publicado por: Fran en 16 de Enero de 2007, 06:14:01 PM
Cita de: "Vicente"
Cita de: "marc_opolo"Si tengo que explicar Pascal, tengo que explicar para que sirve var, begin, end, if, then, =, :=, el parentesis.... si tengo que explicar smalltalk (o squeak) es un poco mas facil: el :, los [], y poco mas. Además de la interfaz visual, el poco codigo que hay que escribir, y todo lo que se menciono antes...

igual, al final cada uno elige lo que quiere...

(como yo, que como no sabia, y empece con gwbasic... puaj!)

Saludos!

Lo que has puesto de pascal es simplemente sintaxis, que es bastante sencilla de entender, el problema es entender conceptos, y es mucho más ligero de digerir Pascal que Smalltalk a nivel de conceptos.

Un saludo!

Vicente

Para mi, Pascal es quizás el mejor lenguaje en relación potencia/cruva de aprendizaje además de q para mi te crea buenos hábitos de programación estrucutrada. Pero es una opinión
Título: Fundamentos de la programación
Publicado por: marc_opolo en 16 de Enero de 2007, 06:17:34 PM
En Smalltalk estan los mismo conceptos que manejamos dia a dia: "un fiat es un coche, un coche es un vehiculo... un fiat tiene puertas, porque un coche tiene puertas..." etc etc (etc simplificado)

En smalltalk no hay estructuras, ni saltos condicionales, ni bucles ni nada de esas cosas inventadas tan solo porque los ordenadores no pueden representar la realidad tal como la vemos nosotros.

En smalltalk solo hay clases, objetos y mensajes. Y ni hablar de lenguajes todavia mas cercanos a la realidad, como Self (donde ni siquiera hay clases).

En cuanto a que Pascal es mas facil de digerir... la verdad es que no tengo idea. Yo empece programando en procedural, el Pascal fue mi segundo lenguaje (despues del Basic), y nunca conoci a nadie que haya empezado programando en Squeak, Smalltalk o algo parecido.

Pero bueno, esto se esta transformando mas en una tertulia academica que en una ayuda al que empezo el thread   :wink:


Saludos!
Título: Fundamentos de la programación
Publicado por: Fran en 16 de Enero de 2007, 06:21:57 PM
Cita de: "marc_opolo"En Smalltalk estan los mismo conceptos que manejamos dia a dia: "un fiat es un coche, un coche es un vehiculo... un fiat tiene puertas, porque un coche tiene puertas..." etc etc (etc simplificado)

En smalltalk no hay estructuras, ni saltos condicionales, ni bucles ni nada de esas cosas inventadas tan solo porque los ordenadores no pueden representar la realidad tal como la vemos nosotros.

En smalltalk solo hay clases, objetos y mensajes. Y ni hablar de lenguajes todavia mas cercanos a la realidad, como Self (donde ni siquiera hay clases).

En cuanto a que Pascal es mas facil de digerir... la verdad es que no tengo idea. Yo empece programando en procedural, el Pascal fue mi segundo lenguaje (despues del Basic), y nunca conoci a nadie que haya empezado programando en Squeak, Smalltalk o algo parecido.

Pero bueno, esto se esta transformando mas en una tertulia academica que en una ayuda al que empezo el thread   :wink:


Saludos!

Pos ahí tá. Q nadie ha empezado en Smalltalk. Es más, la inmensa mayoría ni ha terminado. Para empezar una buena elección es Pascal. Como todos. Y coincido en q Smalltalk es un gran lenguaje. Pero yo y un montón de gente más preferimos a una de sus secuelas : Java. Xq al fnal se acerca más a la realidad y tiene mucho soporte.
Título: Fundamentos de la programación
Publicado por: marc_opolo en 16 de Enero de 2007, 06:31:15 PM
Java.. si... y ademas nos da de comer.... y bastante bien ultimamente!

Creo que al final Blitz3d no se ha pronunciado... seria interesante saber mas qué tipo de cosas quiere programar, tal vez se lo pueda guiar mejor todavia, no?

Saludos!
Título: Fundamentos de la programación
Publicado por: Fran en 16 de Enero de 2007, 06:44:01 PM
Vaya una pregunta... :lol:  :lol:  :lol:  :lol:  querrá programar un MMORPG

Ya q estamos, q opinais del futuro de Java??? Supone XAML+C# una amenaza?
Título: .
Publicado por: Blitz3D en 16 de Enero de 2007, 07:28:22 PM
Cita de: "Fran"Vaya una pregunta... :lol:  :lol:  :lol:  :lol:  querrá programar un MMORPG

Ya q estamos, q opinais del futuro de Java??? Supone XAML+C# una amenaza?
Pues sí, quiero hacer un MMORPG.... :wink:  aunque a lo mejor en otra vida... porque en esta creo que no llego :D
Bueno, veo muy interesante vuestro debate, y creo que de él se pueden sacar muchas conclusiones, pero lo que yo busco es (como casi todos los de este foro) la programación orientada a juegos (es decir, librerias como ogre, torque etc...) y claro, como mi nick indica, yo solo he manejado Blitz 3D, por lo que a lo que variables, matrices, bucles etc sé, pero eso es muy básico comparado con lo que necesito en C/C++ (de los que no tengo NI IDEA), y cuando veo un código escrito en uno de esos lenguajes pues la verdad es que me asusto de la complejidad que tienen si lo comparamos con BASIC (es cuando se entiende a que se refieren con que basic es un lenguaje de alto nivel :wink: ) y por eso empecé diciendo en el tema que si conoceis libros (quien dice libros, dice material de la red, manuales etc...) sobre los fundamentos, porque si no sé que es una herencia o un puntero, pues no me sirve mirar códigos escritos en C/C++ como dicen aqui algunos.

Y claro, quien sabe, a lo mejor si llegase a aprender en lenguaje de bajo nivel, pues diria "no ha sido tan dificil", pero es que ahora mismo no se como aprender uno de ellos, igual me pasaba con BASIC (blitz), pero claro, cuando veia codigos escritos en Blitz pues mas o menos sin tener ni idea de basic me enteraba, hasta que poco a poco lo he dominado, pero es que, como dije antes, este metodo a mi porl o menos no me funciona con C/C++, ya que cuando veo sus codigos me pierdo :(  , por eso me pregunto (como la mayoria de los que se inician) como demonios habeis llegado a comprenderlo :x

Saludos, y que continue el debate (aunque no estaria mal que de vez en cuando me dijerais algo respecto a lo que he escrito ahora :D )
Título: Re: .
Publicado por: Fran en 16 de Enero de 2007, 07:32:45 PM
Cita de: "Blitz3D"
Cita de: "Fran"Vaya una pregunta... :lol:  :lol:  :lol:  :lol:  querrá programar un MMORPG

Ya q estamos, q opinais del futuro de Java??? Supone XAML+C# una amenaza?
Pues sí, quiero hacer un MMORPG.... :wink:  aunque a lo mejor en otra vida... porque en esta creo que no llego :D
Bueno, veo muy interesante vuestro debate, y creo que de él se pueden sacar muchas conclusiones, pero lo que yo busco es (como casi todos los de este foro) la programación orientada a juegos (es decir, librerias como ogre, torque etc...) y claro, como mi nick indica, yo solo he manejado Blitz 3D, por lo que a lo que variables, matrices, bucles etc sé, pero eso es muy básico comparado con lo que necesito en C/C++ (de los que no tengo NI IDEA), y cuando veo un código escrito en uno de esos lenguajes pues la verdad es que me asusto de la complejidad que tienen si lo comparamos con BASIC (es cuando se entiende a que se refieren con que basic es un lenguaje de alto nivel :wink: ) y por eso empecé diciendo en el tema que si conoceis libros (quien dice libros, dice material de la red, manuales etc...) sobre los fundamentos, porque si no sé que es una herencia o un puntero, pues no me sirve mirar códigos escritos en C/C++ como dicen aqui algunos.

Y claro, quien sabe, a lo mejor si llegase a aprender en lenguaje de bajo nivel, pues diria "no ha sido tan dificil", pero es que ahora mismo no se como aprender uno de ellos, igual me pasaba con BASIC (blitz), pero claro, cuando veia codigos escritos en Blitz pues mas o menos sin tener ni idea de basic me enteraba, hasta que poco a poco lo he dominado, pero es que, como dije antes, este metodo a mi porl o menos no me funciona con C/C++, ya que cuando veo sus codigos me pierdo :(  , por eso me pregunto (como la mayoria de los que se inician) como demonios habeis llegado a comprenderlo :x

Saludos, y que continue el debate (aunque no estaria mal que de vez en cuando me dijerais algo respecto a lo que he escrito ahora :D )

En serio yo empezaría por Pascal. Es muy muy parecido en cuanto a potencia a C y es mucho más sencillo de aprender. Luego algo de Delphi por el tema de los objetos. Luego me pasaría si no te gusta Delphi (Object Pascal Visual) a C++ . El cambio es muy pequeño. Y me qdaría en C++. Hay mucho hecho. A mi me gusta más Java, pero el camino sería mucho mas largo. Y C++ ta muy bien. En Delphi hay mucha gente desarrollando juegos. Y potentes. Si quieres te puedo dar enlaces a gente con DirectX, con OpenGL, .... La biblia de Turbo Pascal de Jeff Duntemann, editada por Anaya en el 87 , siendo muy antigua, te enseña MUY BIEN Pascal. Y los compiladores siguen estando por ahi. Mucho progrmaa de consola para aprender las bases y luego ya a Delphi. Yo lo haría así. Y cuando estés ahí y sepas OOP bñásica a C++ si no te gusta. El salto es muy pequeño. Cambio de palabras clave y poco más. Ah. Y Delphi no tiene algunas cosas de OOP estilo herencia multiple. Pero eso, hoy por hoy creo q te da igual.
Título: Re: .
Publicado por: Vicente en 16 de Enero de 2007, 07:50:53 PM
Hola,

Cita de: "Blitz3D"y por eso empecé diciendo en el tema que si conoceis libros (quien dice libros, dice material de la red, manuales etc...) sobre los fundamentos, porque si no sé que es una herencia o un puntero, pues no me sirve mirar códigos escritos en C/C++ como dicen aqui algunos.

Casi cualquier libro de C te va a servir para empezar a aprender (aunque ya te han comentado algunos en concreto). En la red también tienes tutoriales para aburrir del tema :) Al principio es un poco árido, pero bueno, paciencia y a dedicarle horas, nadie nace programador :p

Cita de: "marc_opolo"
En smalltalk no hay estructuras, ni saltos condicionales, ni bucles ni nada de esas cosas inventadas tan solo porque los ordenadores no pueden representar la realidad tal como la vemos nosotros.

(x>0) ifTrue:[ x:=x+1. ] ifFalse:[ x:=0 ].

1 to:10 do:[:i|
 Transcript show: (i asString).
].

Eso son condicionales y bucles :D

Cita de: "marc_opolo"
En smalltalk solo hay clases, objetos y mensajes. Y ni hablar de lenguajes todavia mas cercanos a la realidad, como Self (donde ni siquiera hay clases).

Los conceptos de clase, objeto y mensaje son bastante complejos de por si (o eso creo yo).

Cita de: "Fran"Vaya una pregunta... :lol:  :lol:  :lol:  :lol:  querrá programar un MMORPG

Ya q estamos, q opinais del futuro de Java??? Supone XAML+C# una amenaza?

Mmmm, yo diría más que Java vs C# (el XAML es simplemente un añadido para WPF, una librería de las muchas del Framework), compararía J2EE vs .NET. Yo creo que .NET es superior como plataforma (y C# superior como lenguaje a Java). Pero es una opinión totalmente subjetiva ;)

Pero con todo lo que hay ya desplegado en Java, y todos los temas de interoperatibilidad que se están haciendo en WS de unos y otros, supongo que terminarán viviendo las dos plataformas al 50/50. Además les viene bien, así ninguno se duerme en el trono (que Sun anda que no estaba parada, y fue empezar a pegar .NET y van y sacan la 1.5, la 1.6 y encima abren el código).

Un saludo!

Vicente
Título: Re: .
Publicado por: Fran en 16 de Enero de 2007, 07:53:54 PM
Cita de: "Vicente"Hola,

Cita de: "Blitz3D"y por eso empecé diciendo en el tema que si conoceis libros (quien dice libros, dice material de la red, manuales etc...) sobre los fundamentos, porque si no sé que es una herencia o un puntero, pues no me sirve mirar códigos escritos en C/C++ como dicen aqui algunos.

Casi cualquier libro de C te va a servir para empezar a aprender (aunque ya te han comentado algunos en concreto). En la red también tienes tutoriales para aburrir del tema :) Al principio es un poco árido, pero bueno, paciencia y a dedicarle horas, nadie nace programador :p

Cita de: "marc_opolo"
En smalltalk no hay estructuras, ni saltos condicionales, ni bucles ni nada de esas cosas inventadas tan solo porque los ordenadores no pueden representar la realidad tal como la vemos nosotros.

(x>0) ifTrue:[ x:=x+1. ] ifFalse:[ x:=0 ].

1 to:10 do:[:i|
 Transcript show: (i asString).
].

Eso son condicionales y bucles :D

Cita de: "marc_opolo"
En smalltalk solo hay clases, objetos y mensajes. Y ni hablar de lenguajes todavia mas cercanos a la realidad, como Self (donde ni siquiera hay clases).

Los conceptos de clase, objeto y mensaje son bastante complejos de por si (o eso creo yo).

Cita de: "Fran"Vaya una pregunta... :lol:  :lol:  :lol:  :lol:  querrá programar un MMORPG

Ya q estamos, q opinais del futuro de Java??? Supone XAML+C# una amenaza?

Mmmm, yo diría más que Java vs C# (el XAML es simplemente un añadido para WPF, una librería de las muchas del Framework), compararía J2EE vs .NET. Yo creo que .NET es superior como plataforma (y C# superior como lenguaje a Java). Pero es una opinión totalmente subjetiva ;)

Pero con todo lo que hay ya desplegado en Java, y todos los temas de interoperatibilidad que se están haciendo en WS de unos y otros, supongo que terminarán viviendo las dos plataformas al 50/50. Además les viene bien, así ninguno se duerme en el trono (que Sun anda que no estaba parada, y fue empezar a pegar .NET y van y sacan la 1.5, la 1.6 y encima abren el código).

Un saludo!

Vicente

Ya . Lo de XAML+C# lo digo xq C# por sí solo aunq tengo claro q es el parangón de Java, no ha supuesto ningun empuje ni preocupación a Java. Cuando los Microsoft han dicho de hacer XAML y los de Sun han visto lo q puede hacer en conjunción con C# es cuando han empezado a correr.
Título: Fundamentos de la programación
Publicado por: Lex en 16 de Enero de 2007, 08:03:22 PM
...
Título: Re: .
Publicado por: Vicente en 16 de Enero de 2007, 08:23:52 PM
Cita de: "Fran"Ya . Lo de XAML+C# lo digo xq C# por sí solo aunq tengo claro q es el parangón de Java, no ha supuesto ningun empuje ni preocupación a Java. Cuando los Microsoft han dicho de hacer XAML y los de Sun han visto lo q puede hacer en conjunción con C# es cuando han empezado a correr.

Mmm, ¿seguro? La 1.5 incluye genéricos (descafeinados) y metadatos por ejemplo, justo lo mismo que la versión 2.0 de .NET. La 1.6 trae soporte para integración con servicios de WCF. Y liberar el código es algo que le llevan pidiendo a Sun la tira de tiempo, pero hasta que MS no ha sacado .NET con el suyo liberado pues no se habían movido.

XAML es principalmente para aplicaciones de escritorio, y ese es un entorno en el que Java no compite demasiado (WinForms se basta y se sobra para medirse con Swing). J2EE en particular se mueve mucho más por entornos web (EJBs y cosas así) y por entornos webs veo mucho más rival de JSP a ASP.NET, Atlas y similares que a WPF (que para mi es la leche, pero no creo que se imponga en la web a menos que den un soporte impresionante a Firefox).

¿Por qué crees que XAML le da miedo a Sun?

Un saludo!

Vicente
Título: Fundamentos de la programación
Publicado por: Harko en 17 de Enero de 2007, 12:07:17 AM
Muy buena pagina Lex, gracias. Estaba buscando algo asi para repasar la POO :D

Harko.
Título: Re: .
Publicado por: Fran en 17 de Enero de 2007, 12:14:24 AM
Cita de: "Vicente"
Cita de: "Fran"Ya . Lo de XAML+C# lo digo xq C# por sí solo aunq tengo claro q es el parangón de Java, no ha supuesto ningun empuje ni preocupación a Java. Cuando los Microsoft han dicho de hacer XAML y los de Sun han visto lo q puede hacer en conjunción con C# es cuando han empezado a correr.

Mmm, ¿seguro? La 1.5 incluye genéricos (descafeinados) y metadatos por ejemplo, justo lo mismo que la versión 2.0 de .NET. La 1.6 trae soporte para integración con servicios de WCF. Y liberar el código es algo que le llevan pidiendo a Sun la tira de tiempo, pero hasta que MS no ha sacado .NET con el suyo liberado pues no se habían movido.

XAML es principalmente para aplicaciones de escritorio, y ese es un entorno en el que Java no compite demasiado (WinForms se basta y se sobra para medirse con Swing). J2EE en particular se mueve mucho más por entornos web (EJBs y cosas así) y por entornos webs veo mucho más rival de JSP a ASP.NET, Atlas y similares que a WPF (que para mi es la leche, pero no creo que se imponga en la web a menos que den un soporte impresionante a Firefox).

¿Por qué crees que XAML le da miedo a Sun?

Un saludo!

Vicente

Xq precisamente donde cojea Java es en el lado del cliente. Vamos. No cojea. Renquea.  Muchos desarrolladores llevan pidiendo hace mil años multimedia e integración con programación del lado del cliente para hacer más cosas q las q se hacen con Swing y estos no hacen ni p. caso. Ahora encima la tendencia es a hacer lo que va a hacer XAML (desarrollar aplicaciones de escritorio que sirvan igual para distribuirlas por internet y con conexion a servidor) con una capacidad multimedia brutal. Es donde está hace tiempo Flash+Flex pero sin por ejemplo lenguajes del calibre de C#sino con ActionScript.Y de pronto aparece XAML que cubre todas esas necesidades pero además con 3D y con integración con una plataforma como NET. Es impactante. No olvidemos que al final muchos webmaster-desarrolladores se decantan por plataformas no solo por su potencia sino por su vistosidad (Xq la potencia ya se consigue con muchas cosas) y si no mira el éxito de Flash. Si a eso le añadimos poder programar como se puede con el nuevo modelo de M$.... Sun está preocupado. Llevo leyendo blogs del tema y hay gente q están pesnadno en cambiarse. Yo sin embargo estoy corriendo en sentido contrario a ver si consigo llevar mi proyecto adelante en el lado de Java (aunque realmente es independiente del lenguaje, tengo claro q con la parte M$ no tengo nada que hacer) y la multiplataforma.