Libro java, esta bien?

En la universidad el profesor recomienda el siguiente libro de java2:
Libro: "Java 2. Iniciación y Referencia". 2ª Edición. Ed. Mc Graw-Hill, 2005.
Autores: Sánchez Allende, J., Huecas Fernández-Toribio, G., Fernández Manjón, B., Moreno Díaz, P.
El caso es que el profesor ha puesto los apuntes en internet, pero solo sirven para casos de ver como diseñar el programa, de hecho a estas alturas deberia saber que son los punteros, los arrays, y todo eso, cosas que me interesaria saber si estan en ese libro.

Aparte me surgen las siguientes dudas:
¿Java es un lenguaje fuertemente tipado o no? Esque lo acabo de leer por aqui y en la wikipedia pone de lenguajes que no estoy seguro.

Despues de aprender a programar Java (bueno, mas bien apreder programacion y asi), ¿podre realizar mis propios programas para linux? Es que suena interesante, bastante interesante. Me gustaria saber como realizar una interfaz grafica para algun programa, o modificar algun codigo fuente de los que hay por ahi (actualmente no se programar mucho), seria bastante interesante
¿Como abro los codigo fuente de programas que me bajo?. Es para ir mirando, aunque vienen en C, o alguna de sus variedades, pero tengo curiosidad.
¿El ensamblador es un lenguaje relativamente importante a la hora de programar? (esto es porque ya he dado ensamblador y no creo que de mas, asi que si sirve para algo interesante pues tendria que aprenderlo)

Esto es todo, muchas gracias y hasta luego.
En la universidad el profesor recomienda el siguiente libro de java2:
Libro: "Java 2. Iniciación y Referencia". 2ª Edición. Ed. Mc Graw-Hill, 2005.
Autores: Sánchez Allende, J., Huecas Fernández-Toribio, G., Fernández Manjón, B., Moreno Díaz, P.
El caso es que el profesor ha puesto los apuntes en internet, pero solo sirven para casos de ver como diseñar el programa, de hecho a estas alturas deberia saber que son los punteros, los arrays, y todo eso, cosas que me interesaria saber si estan en ese libro.


Búscate 'Piensa En Java', no es muy buen libro... pero es de lo mejor en Java. El problema de Java es que no vas a encontrar nada decente porque todos los libros asumen que eres gilipollas, lo cual es bastante irritante :)

¿podre realizar mis propios programas para linux? Es que suena interesante, bastante interesante. Me gustaria saber como realizar una interfaz grafica para algun programa, o modificar algun codigo fuente de los que hay por ahi (actualmente no se programar mucho), seria bastante interesante


Claro que podrás. Aunque yo no usaría java... eso es cosa de cada uno.

¿Como abro los codigo fuente de programas que me bajo?. Es para ir mirando, aunque vienen en C, o alguna de sus variedades, pero tengo curiosidad.


Hay algunos programas en Java... pero son los menos jeje. Por lo general bajarte las fuentes, abrirlas, y disfrutar :)

¿El ensamblador es un lenguaje relativamente importante a la hora de programar? (esto es porque ya he dado ensamblador y no creo que de mas, asi que si sirve para algo interesante pues tendria que aprenderlo)


Bueno.... depende. Si vas a programar en C, sin duda deberías saber ensamblador. Ya que es la única forma de SABER algo de C. Si vas a programar en Java, Python, Ruby, .... o incluso C++ (depende !), no _necesitas_ saberlo. Aunque nunca te vendrá mal.

- ferdy
Ferdy escribió:Búscate 'Piensa En Java', no es muy buen libro... pero es de lo mejor en Java. El problema de Java es que no vas a encontrar nada decente porque todos los libros asumen que eres gilipollas, lo cual es bastante irritante

No, a ver, me has debido malinterpretar. Busco algo que toque bastante java, pero para ponerme a realizar programas con el no me veo, digo en plan serio. Mas que nada por la lentitud y demas. De todos modos no estoy seguro si es el mejor lenguaje para empezar, pero en segundo se da algo de C, asi que tendre que repasar ensamblador (aunque di de la arquitectura 8086).
Pues a lo que iba, que me enrollo. Que si quiero que se vea java, pero tambien me gustaria que se vieran y explicara que son los punteros, las clases, objetos y todo eso que, si bien el profesor dice algo, de ese algo no me entero.
Acabo de mirar y en segundo se ve java mas en profundidad, SQL, y algo de C (aparte de VHDL que estoy dando, este me parece sencillo [jaja] )

Ferdy escribió:Claro que podrás. Aunque yo no usaría java... eso es cosa de cada uno.

Creeme, ni yo. Aparte no tiene algo que ver con Microsoft? XD

Ferdy escribió:Hay algunos programas en Java... pero son los menos jeje. Por lo general bajarte las fuentes, abrirlas, y disfrutar

No, si me da igual el lenguaje, esque se que mirando se aprenden cosas.

Pues gracias nuevamente, y a ver si alguien mas me puede comentar algo sobre esto de punteros, clases, objetos y demas.
Veamos... es que mezclas MUCHOS conceptos muy distintos... si quieres un buen libro sobre programación orientada a objetos (clases, objetos, ... pero aplicado) yo te recomiendo el GoF:

Design Patterns: Elements of Reusable Object-Oriented Software - Erich Gamma

Si quieres un libro sobre C (punteros) entonces quizá quieras:

The C Programming Language 2E - Brian Kernighan & Dennis Ritchie
Mastering Algorithms With C - Kyle Loudon

Por lo general yo te recomendaría buscar un lenguaje que te busque, aprenderlo, leer mucho, y programar más. Eso te obligará a estudiar varios de los conceptos sobre los que preguntas.

- ferdy
Desde mi punto de vista: No te compres ningun libro y abusa las tutorias que pone el profesor a tu disposición.

Si te surgen dudas en tu casa en internet hay portales de java hispanos en los que podras aprender mucho. Si lo que te interesa es la programación orientada a objetos en general haz caso a la recomendación de ferdy.

Muy pocos libros se ajustarán al temario que deis en clase y con 1 solo no vas a dar en la clave....

Salu2

PD: Te comento, en la facultad no te van a enseñar a desarrollar aplicaciones graficas en java, pero cuando apruebes con exito la asignatura en teoria estas preparado para programar cualquier cosa en java, solo tienes que tener ganas y aprender a buscar la documentacion necesaria, aunque sean cosas nuevas su uso no sera muy distinto al de los demas objetos que aprenderas durante el curso.
Ferdy escribió:Veamos... es que mezclas MUCHOS conceptos muy distintos... si quieres un buen libro sobre programación orientada a objetos (clases, objetos, ... pero aplicado) yo te recomiendo el GoF:

Design Patterns: Elements of Reusable Object-Oriented Software - Erich Gamma

Si quieres un libro sobre C (punteros) entonces quizá quieras:

The C Programming Language 2E - Brian Kernighan & Dennis Ritchie
Mastering Algorithms With C - Kyle Loudon


Yo tambien estoy interesado en comprar algun libro de programacion en general ya que en la Universidad estoy empezando con C. ¿Creis que seria negativo (por que sea lioso) tomar alguna referencia tambien de poo? ¿O mejor me centro en C?

Salu2 y gracias!
Por norma general se aprende a programar en pseudo codigo porque son muchas las estructuras nuevas que se supone vais a aprender, estructuras condicionales, iterativas... paranoyas asi (vamos, el if, el while, el for...) no entiendo que te esten enseñando directamente en C.

Desde mi punto de vista los libros de programación, ya sean para C, JAVA, C++ o lo que tu quieras son mas que nada para profundizar a la hora de crear tus propios programas un poco mas elaborados de los que realizarás en clase.

Soy poco partidario de usar libros para aprender a programar puesto que creo que con atender en clase y apoyarse de tutoriales por internet, que los hay muy buenos, tienes mas que suficiente para aprender y apobar con exito.

De todos modos centrate en C porque la POO es bastante distinta, y te vas a liar.
Si quieres aprender java es mejor que escuches a tu profesor o busques tutoriales de internet que ademas te sirven de repaso.Los libros nunca suelen ser la mejor solucion ya que no suelen adaptarse a tu forma de aprendizaje y por imitar al libro empiezas a crearte dudas.Y ademas como bien se ha dicho hay portales java hispanos con mucha gente dispuesta a ayudarte aunque para mi no hay nada como python java se esta imponiendo cada vez mas y es facilmente portable si te animas seguro que consigues y empezaras a hacer cosas de provecho ;)


Ademas siempre que termines de dominar java nadie te impide aprender otros lenguajes ya que con uno no basta debes de especializarte en muchos asi llegaras a ser un programador con todas las letras ;)


Saludos
Yo tambien estoy interesado en comprar algun libro de programacion en general ya que en la Universidad estoy empezando con C. ¿Creis que seria negativo (por que sea lioso) tomar alguna referencia tambien de poo? ¿O mejor me centro en C?


Depende. Hace unos días utilicé el Composite Pattern para solucionar un problema en una librería en C. Pero por lo general, las aplicaciones se piensan de forma distinta. Depende de tu interés, claro.

Soy poco partidario de usar libros para aprender a programar puesto que creo que con atender en clase y apoyarse de tutoriales por internet, que los hay muy buenos, tienes mas que suficiente para aprender y apobar con exito.


Nah, en clase no enseñan a programar. Enseñan a tirar código contra un editor y 'a ver qué sale'.

- ferdy

Los libros nunca suelen ser la mejor solucion ya que no suelen adaptarse a tu forma de aprendizaje y por imitar al libro empiezas a crearte dudas.


Ein ? Anda no flipes...

- ferdy
Ferdy escribió:
Nah, en clase no enseñan a programar. Enseñan a tirar código contra un editor y 'a ver qué sale'.

- ferdy


Pues yo he tenido que tener unos profesores excepcionales.
4eVaH escribió:Por norma general se aprende a programar en pseudo codigo porque son muchas las estructuras nuevas que se supone vais a aprender, estructuras condicionales, iterativas... paranoyas asi (vamos, el if, el while, el for...) no entiendo que te esten enseñando directamente en C.


Pues en mi carrera, enseñan a programar directamente en C. (Haciendo guiones previos en DFD)

Eso si, se daba un fenómeno curioso: en clase había dos tipos de alumnos: Los que sacaban de notable y sobresaliente para arriba y los que no lograban aprobar. Estaba totalmente polarizada
Pues yo he tenido que tener unos profesores excepcionales.


Yo diría que no... abre el código de un software real e intenta entenderlo y que te acepten parches no triviales. Te darás cuenta de que te enseñaron a aprobar asignaturas. (por desgracia todos hemos pasado por ahí)

- ferdy
Los de las asignaturas de 1º curso de programación (del que hablan los que escribieron antes) son :

# Desarrollar una aproximación disciplinada a la especificación, implementación, verificación y documentación de programas
# Apreciar el papel central que juega la abstracción en la tarea de programar
# Conocer estructuras de datos, algoritmos y esquemas de uso general
# Proporcionar los fundamentos teóricos y prácticos básicos para cursar posteriores estudios en programación
# Estudiar un lenguaje de alto nivel estructurado, general y extendido
# Introducir el paradigma de la programación orientada a objetos (POO)
# Aprender un lenguaje de programación orientado a objetos (POO)


Y eso no lo digo yo, eso lo dice un plan de estudios planificado por profesionals de toda Europa.
Todos esos objetivos no se consiguen con libros, esos se consiguen atendiendo en clase, preguntando tus dudas al profesor y asistiendo a tutorias.

Si quieres profudizar entonces, como dije antes, SI, comprate un libro.
No, eso por si solo no vale para nada. Haz la prueba de fuego que te he dicho, veras que la vida real es muy distinta a los libros puramenta académicos.

- ferdy
Cuando quiera hacer la prueba de fuego, me daré cuenta de que si quiero profundizar tendré que hacer uso de los libros que un dia compré y que me di cuenta de que son precisamente para eso, para profundizar.

Estoy totalmente de acuerdo en que eso de ahi arriba son solo objetivos academicos y que pueden quedar muy lejos de la vida real, pero ellos lo que querian es aprender a programar con fundamentos, y no de cualquier modo, y tu mejor que nadie en este foro sabes a que me refiero.
Sin duda se a qué te refieres y creo que tienes razón. Pero yo por lo general iría a un estándar / libro reconocido / persona-que-sabe-mucho-y-todo-el-mundo-lo-reconoce antes que a un profesor (depende del profesor claro).

Los libros que he recomendado son especialmente buenos y reconocidos por todo el mundo. Además que el K&R es un libro que debería leer cualquier persona que se medio considere programador, o quiera aprender C (no a programar ojo ! no enseña a programar).

- ferdy
En eso tambien estoy de acuerdo, no quiero que nadie interprete con lo que he dicho que asistiendo a clases aprenderá todo lo que necesite saber.... Nada mas lejos de la realidad, en un buen libro, escrito por verdaderos profesionales, se aprenderan cosas en cuanto a consistencia, estructuras y contenidos de un lenguaje que no se aprenden de manera autonoma ni en 1 millon de años.

Salu2
buscate JAVA 2 de agustin froufe, de la editorial RAMA

en general, cualquier libro de la editorial RAMA o en su defecto de mcgraw hill son buenas inversiones.
En clase te enseñan la base sin mas, en un proyecto real solo vale la experiencia, las horas, y un buen manual de referencia.

Esa al menos es mi experiencia.
Moki_X escribió:
Pues en mi carrera, enseñan a programar directamente en C. (Haciendo guiones previos en DFD)

Eso si, se daba un fenómeno curioso: en clase había dos tipos de alumnos: Los que sacaban de notable y sobresaliente para arriba y los que no lograban aprobar. Estaba totalmente polarizada


a) Los de notable eran repetidores
b) Los de notable ya tenían nociones de la estructura de algoritmos, programas y funciones.

EDIT:

Claro que si Txukie, cuando me refiero a profundizar lo que quiero decir es precisamente eso, proyectos reales.

Pero el proceso de abstracción, indispensable para aprender a programar, es dificil de aprender el libros.

Salu2
Si bien teneis razon en que es muy distinto en la vida real el estudio no se basa solo en un libro.De que te sirve estudiarte 980 paginas sin practica?.De que te sirve empezar un lenguaje sin unas bases y un metodo de enseñanza?.Si bien la vida real es mas cruda y dura por leerte el libro del mayor programador de java o el creador no terminaras de aprender java.Por que estudiarse un lenguaje de programacion es igual que estudiar un lenguaje para comunicarte con extranjeros te puedes estudiar un libro entero sobre el pero sin practicas de conversacion ni un metodo de estudio no podras comunicarte con extranjeros


Recuerda que aprender a programar es un camino sin fin.


Saludos
Inventado escribió:No, a ver, me has debido malinterpretar. Busco algo que toque bastante java, pero para ponerme a realizar programas con el no me veo, digo en plan serio. Mas que nada por la lentitud y demas.


Vamos a ver, se podria hacer un flame sobre lenguajes de programacion asi que si este post deriva en esto me podeis hechar a los leones.

Cada lenguaje tiene sus pros y sus contras, pero descartar java por la velocidad lo encuentro un poco absurdo. Evidentemente el hecho de ser interpretado no juega a su favor en ese campo, pero no creo que le sea un handicap tan grande como para descartarlo de buenas a primeras.

Como ejemplo chorra de aplicacion bestia hecha en java (aunque acepto que me lo considereis trampa por ser un port) http://www.bytonic.de/html/jake2.html

Yo no haria un juego gordo en java, pero vamos, no lo considero un lenguaje de juguete.

Inventado escribió:Aparte no tiene algo que ver con Microsoft? XD


Si, que le puso un juico por sacarse su java incompatible de la manga y microsoft perdio. No tiene nada que ver con microsoft, es mas, Sun tiene su propio sistema operativo y microsoft su propio lenguaje de programacion

Saludos
Hola que tal! estas, te cuento mi experiencia, no se nada de programacion pero todo lo que sea nuevo para mi es un reto.

Te digo esto por estoy dando un curso de java 2 por sun (en la web de cisco), y a distancia de 180 horasy encima me regalaron el libro nuevo,
CORE JAVA 2 FUNDAMENTOS.

Decirte que tengo 13 examenes por la web de cisco y encima en ingles de aqui al final de año y tengo que sacar un 65 por ciento minimo para aprobar.

Y me e llevado como 3 dias para instalar el sdk en linux y xp(y en linux de momento no me sale en la shell, por lo que no estara bien instalado)




Alguna recomendacion de foros para visitar o web??
Yo de JAVA tengo estos libros, y ami parecer son de lo mejorcito.

JAVA 2 Fundamentos de Cay S. Hortsmann y Gary Cornell de la editorial Prentice Hall Volumen I

JAVA 2 Caracteristicas Avanzadas de Cay S. Hortsmann y Gary Cornell de la editorial Prentice Hall Volumen II

Saludos
Animo inventado si aprendes a programar en java podras hacer software facilmente compatible con windows solaris linux y hasta moviles a la vez sin complicarte mucho el coco. Si bien java es muy reciente y se usa mas para paginas que nada se esta implementando en mas cosas y muchas aplicaciones que usamos en la vida diaria como limewire estan escritas en java



Saludos Cualquier lenguaje te parecera dificil al principio pero no te rindas y ya veras como lo logras ;)


Saludos
24 respuestas