Aprender a programar desde cero

Lo siento porque seguro que existe algún tema con el mismo contenido, pero no lo encuentro.

Como dice el título, quiero (necesito, mejor dicho) aprender a programar desde cero este verano. Ando bastante perdido con todo: no sé por qué lenguaje empezar ni qué método utilizar (manuales online, libros, ejercicios...)

Me conformaría con hacerme con unas nociones mínimas en estos 2 meses, pero la intención es llegar a aprender cadenas, matrices, herencia, ventanas (en java). Desconozco el tiempo que puede llevar.

Si me podéis dar una luz en lo que he comentado os estaría muy agradecido.
pues tu mismo te has respondido

Me conformaría con hacerme con unas nociones mínimas en estos 2 meses, pero la intención es llegar a aprender cadenas, matrices, herencia, ventanas (en java). Desconozco el tiempo que puede llevar.


eso si, si estas aprendiendo por tu cuenta ten cuidado con las interfaces graficas (ventanas como tu las llamas...) porque puedes hacer muchas salvajadas donde es imposible encontrar un error o mantener el codigo.

como libro te recomiendo el de Deitel septima edicion que esta en español.
y web http://www.javahispano.org/documentacion/

para programar puedes usar eclipse o netbeans (yo prefiero eclipse)
Este año yo he cursado Desarrollo de aplicaciones web y hemos dado Java. Tengo los PDFs que nos ha pasado el profesor con la teoría, ejercicios y soluciones.

Si te interesa dime algo por aquí o por privado y lo ordeno todo y lo subo.
Alecs7k escribió:Este año yo he cursado Desarrollo de aplicaciones web y hemos dado Java. Tengo los PDFs que nos ha pasado el profesor con la teoría, ejercicios y soluciones.

Si te interesa dime algo por aquí o por privado y lo ordeno todo y lo subo.

A mi me interesaria muchisimo!
En cuanto pueda lo busco todo.
Alecs7k escribió:Este año yo he cursado Desarrollo de aplicaciones web y hemos dado Java. Tengo los PDFs que nos ha pasado el profesor con la teoría, ejercicios y soluciones.

Si te interesa dime algo por aquí o por privado y lo ordeno todo y lo subo.


A mi tambien pasamelo por fa
Alecs7k escribió:Este año yo he cursado Desarrollo de aplicaciones web y hemos dado Java. Tengo los PDFs que nos ha pasado el profesor con la teoría, ejercicios y soluciones.

Si te interesa dime algo por aquí o por privado y lo ordeno todo y lo subo.


Pues me interesa muchísimo. Yo he cursado DAM, que el primer año es idéntico al tuyo, y también hemos dado java. Así que me vendría de perlas.

highfredo escribió:pues tu mismo te has respondido

Me conformaría con hacerme con unas nociones mínimas en estos 2 meses, pero la intención es llegar a aprender cadenas, matrices, herencia, ventanas (en java). Desconozco el tiempo que puede llevar.


eso si, si estas aprendiendo por tu cuenta ten cuidado con las interfaces graficas (ventanas como tu las llamas...) porque puedes hacer muchas salvajadas donde es imposible encontrar un error o mantener el codigo.

como libro te recomiendo el de Deitel septima edicion que esta en español.
y web http://www.javahispano.org/documentacion/

para programar puedes usar eclipse o netbeans (yo prefiero eclipse)


Tendría que aprender java, pero según me han comentado y he leído por ahí, empezar con otros lenguajes como C sería más recomendable. Gracias.
Nepth escribió:Pues me interesa muchísimo. Yo he cursado DAM, que el primer año es idéntico al tuyo, y también hemos dado java. Así que me vendría de perlas.


¿DAM es Desarrollo de aplicaciones multiplataforma? Si es así, ¿no se supone que deberías saber programar? :-?
carlosdeoz escribió:
Nepth escribió:Pues me interesa muchísimo. Yo he cursado DAM, que el primer año es idéntico al tuyo, y también hemos dado java. Así que me vendría de perlas.


¿DAM es Desarrollo de aplicaciones multiplataforma? Si es así, ¿no se supone que deberías saber programar? :-?


Sí, se supone... Para no desviar el tema:
hilo_2-de-dam-dai-sin-saber-programar_1778697
He leído este hilo y el otro en el coméntabas tu situación. La sé y la conozco. El problema de los profesores es que muchos han salido de la carrera y han hecho las oposiciones directamente y no tienen pajolera idea de programar.

No creo que sea necesario que repitas, la verdad. Pero sí que este verano te pongas las pilas como el primero.

La gente te aconseja que sigas libros y demás. Yo te recomiendo otra manera. Piensa en hacer un proyecto pequeñito, pero por el cual te sientas motivado, cualquier aplicación que te haga falta o que necesites o algo que tengas en mente y comienza a hacerla, planteala por aquí si quieres, yo te ayudaré a que la encauces bien si quieres y tira de mucho de google, muchisimo, ve haciendo proyectos pequeñitos a modo de ejemplo de cualquier cosa que vayas necesitando, una clase, un bucle, una función recursiva, etc.

Si te apetece puedes hacerlo en C# que con java tiene muchas similitudes.

No te agobies, creeme. Yo salí del grado sabiendo a programar, pero no aprendí REALMENTE a programar hasta que comencé en las prácticas de empresa.

Un saludo.
Depende de como quieras y a qué nivel quieres programar.
Java te abstrae de tener conocimientos "elevados" de informática tales como el uso y funcionamiento de la RAM, gestión de memoria y detalles de bajo nivel.

Yo empezaría (y empecé) por Java. Aprende el paradigma de POO.
Una vez "domines" como abstraerte y codificar lo que quieres en objetos, pasa a la sintaxis. Lo clásico es empezar con problemas del tipo:
"Queremos hacer un programa que modele un coche que tenga colores, diferentes tamaño de llantas, motor..."
Y tu identifiques qué es un objeto, una clase, atributos...
Lo creas o no, ese es el paso más díficil. Si dominas eso, tienes un 70% del trabajo hecho ya que programar es solo plasmar eso, independientemente del lenguaje que sea (Java, C++, Objective-C, C#...).

Si necesitas ayuda, me la puedes pedir sin abusar mucho. Programar se aprende programando. Te aseguro que valen mas dos horas que te estés comiendo el tarro y que al final lo saques a tener 2000 ejercicios resueltos.
Hoy he acabado los exámenes, así que más tarde me pondré a recopilar todo lo de Java para poder subirlo.

Hace un rato estaba hablando con mi profesor de Entornos de Desarrollo sobre Java y los demás lenguajes de programación. Me ha dicho que nos enseñana Java porque se puede decir que es un lenguaje "general", que una vez lo aprendes, te es fácil cambiar a otros lenguajes como C++, C#, JS, etc.

También me comentaba que Java es un lenguaje enorme. Tenemos la Standard Edition, la Enterprise, JSP, Mobile...y tiene bastante futuro y salidas. Ahora mismo está como el segundo lenguaje más usado del mundo. Hasta hace dos meses era el primero, puesto que ahora ocupa C.

Tú, habiendo cursado DAM imagino que te has planteado programar Apps para smartphones/tables. Las Apps para Android se programan en Java y las de iPhone en Objective C (que alguien me corrija si me equivoco). Sea como sea, Java va muy bien para empezar.

Yo estoy en DAW y este verano voy a aplicarme a fondo con Java por todo lo que he comentado anteriormente, pese a que para desarrollo web hay lenguajes que me gustan más, como PHP, JS, Ruby on Rails...
Nepth escribió:Sí, se supone... Para no desviar el tema:
hilo_2-de-dam-dai-sin-saber-programar_1778697


Uff, vaya putada... Y yo que estaba pensando seriamente en hacer DAM a distancia este curso que viene... (Quería aprender a programar en condiciones, pero si lo que menos voy a aprender es a programar, ¿para qué cojones sirve el módulo? xD).

Centrándonos en el tema, no se si te sonará Codecademy. (http://www.codecademy.com/es/) Quizás no se el mejor método del mundo (en profundidad), pero te asienta las bases de la programación con javascript, de una forma muy sencilla y fácil. Te va guiando por pasos en tutoriales, donde practicas lo que vas leyendo en el mismo momento (todo es interactivo y en todo momento estás escribiendo código). Además, te va dando puntos y logros según haces los ejercicios, para motivarte.

No es aprender java, ni C, pero las bases las tendrás y podrás pasar fácilmente a alguno de estos otros lenguajes.
carlosdeoz escribió:
Nepth escribió:Sí, se supone... Para no desviar el tema:
hilo_2-de-dam-dai-sin-saber-programar_1778697


Uff, vaya putada... Y yo que estaba pensando seriamente en hacer DAM a distancia este curso que viene... (Quería aprender a programar en condiciones, pero si lo que menos voy a aprender es a programar, ¿para qué cojones sirve el módulo? xD).

Centrándonos en el tema, no se si te sonará Codecademy. (http://www.codecademy.com/es/) Quizás no se el mejor método del mundo (en profundidad), pero te asienta las bases de la programación con javascript, de una forma muy sencilla y fácil. Te va guiando por pasos en tutoriales, donde practicas lo que vas leyendo en el mismo momento (todo es interactivo y en todo momento estás escribiendo código). Además, te va dando puntos y logros según haces los ejercicios, para motivarte.

No es aprender java, ni C, pero las bases las tendrás y podrás pasar fácilmente a alguno de estos otros lenguajes.


Todo depende del centro, de los profesores y de ti. En mi caso a distancia no me ha ido mal del todo pese a que he hecho el gandul durante medio año.

Enlace a mis PDFs de Java: http://www.mediafire.com/?m2wdegp7od4yqgw

EDIT: acabo de re-subir el archivo porque me he dado cuenta que había un error en el PDF del capítulo 4.
Vaya! Te mande un correo ahora mismo Alecs7k.

Todo esto es lo que tenias??

Gracias por compartirlo :)
@3NK1 Es una muy buena opción, a ver si se me ocurre algo.

@Alecs7k Muchísimas gracias :)

@carlosdeoz Como te han dicho depende del centro, este caso creo que es extremo o eso espero. Aunque también te digo que lo que he leído aquí y allá sobre los profesores de programación no me da buena espina. No conocía esa página, muchas gracias.
Eso es todo. Son 9 temas. Se empieza hablando un poco de Java, de la POO y luego ya va enseñando el tema de variables, constantes, condicionales, bucles...hasta llegar a usar bases de datos.

La verdad es que con todo eso ya se puede hacer cosillas interesantes.

También os recomiendo "Piensa en Java" de Bruce Eckel. El libro tiene ya unos años y tiene cosas desactualizadas, pero mis profesores de programación me lo han recomendado. Es de lo más completo que hay, aunque algo duro. El libro es totalmente gratuito y de libre distribución.
También te puedes meter en http://www.thenewboston.com explican un montón de lenguajes desde cero, todo muy bien explicado, eso sí, en le lengua de Shakespeare.

Saludos!
Alecs7k escribió:Eso es todo. Son 9 temas. Se empieza hablando un poco de Java, de la POO y luego ya va enseñando el tema de variables, constantes, condicionales, bucles...hasta llegar a usar bases de datos.

La verdad es que con todo eso ya se puede hacer cosillas interesantes.

También os recomiendo "Piensa en Java" de Bruce Eckel. El libro tiene ya unos años y tiene cosas desactualizadas, pero mis profesores de programación me lo han recomendado. Es de lo más completo que hay, aunque algo duro. El libro es totalmente gratuito y de libre distribución.


Y este libro ( Me lo estoy descargando ) es para mentalizar la mente como programador, o aporta cosa rollo manual??

Gracias :)
Yo aprendi a programar en pascal ya que es un lenguaje muy restrictivo, como libro pues recomiendo la biblia de programacion en pascal, osea:

Introducción a la Programación: problemas resueltos en Pascal
M. T. González de Lena et al.
Editorial universitaria Ramón Areces 2005

En el participan varios de los profesores que he tenido y la verdad es que esta todo muy clarito, con muchos ejemplos y ejercicios. 100% recomendado para empezar a dominar esto si no se tienen conocimientos previos. Y luego ya saltar a poo o lo que sea.
Josepht87 escribió:Y este libro ( Me lo estoy descargando ) es para mentalizar la mente como programador, o aporta cosa rollo manual??

Gracias :)


Es bastante teórico, aunque ejemplos no faltan. Como he dicho, puede ser bastante pesado porque explica muchas cosas pero creo que es perfecto para entender realmente la POO y en general el funcionamiento de Java.

Yo lo tengo en PDF pero estoy esperando a que lo publiquen aquí http://epubgratis.me/node/9333 en formato epub para poder meterlo al Kindle y leer más a gusto.

Repito, el libro es gratuito, no es "ilegal" bajarlo y compartirlo. Aquí tenéis un poco más info sobre el libro, los premios que ha ganado, etc... http://en.wikipedia.org/wiki/Thinking_in_Java
Voi a leer y probar ls paginas, son my buenas!
Bueno pues muchas gracias tio, la verdad es que da gusto gente como tu.

Ahora estoy de examenes, pero en unos dias lo mirare bastante bien :)

De nuevo gracias!
solo vi un poco de programacion en la uni y era pascal XD, pero es bueno saber algo de logica matematica antes de empezar, todo resulta mas facil de entender despues

me refiero a operadores Y O and or, en excel se puede practicar con eso y los parentesis y el respeto o prioridad de los operadores matematicos (suma, resta, division, multi) <= < > >=, etc
Alecs7k escribió:Este año yo he cursado Desarrollo de aplicaciones web y hemos dado Java. Tengo los PDFs que nos ha pasado el profesor con la teoría, ejercicios y soluciones.

Si te interesa dime algo por aquí o por privado y lo ordeno todo y lo subo.


Yo también quisiera esos apuntes, por fa. :D
kaiseki escribió:
Alecs7k escribió:Este año yo he cursado Desarrollo de aplicaciones web y hemos dado Java. Tengo los PDFs que nos ha pasado el profesor con la teoría, ejercicios y soluciones.

Si te interesa dime algo por aquí o por privado y lo ordeno todo y lo subo.


Yo también quisiera esos apuntes, por fa. :D


Ya los he posteado. Mira mis mensajes de este hilo y los verás.
Alecs7k escribió:
carlosdeoz escribió:
Nepth escribió:Sí, se supone... Para no desviar el tema:
hilo_2-de-dam-dai-sin-saber-programar_1778697


Uff, vaya putada... Y yo que estaba pensando seriamente en hacer DAM a distancia este curso que viene... (Quería aprender a programar en condiciones, pero si lo que menos voy a aprender es a programar, ¿para qué cojones sirve el módulo? xD).

Centrándonos en el tema, no se si te sonará Codecademy. (http://www.codecademy.com/es/) Quizás no se el mejor método del mundo (en profundidad), pero te asienta las bases de la programación con javascript, de una forma muy sencilla y fácil. Te va guiando por pasos en tutoriales, donde practicas lo que vas leyendo en el mismo momento (todo es interactivo y en todo momento estás escribiendo código). Además, te va dando puntos y logros según haces los ejercicios, para motivarte.

No es aprender java, ni C, pero las bases las tendrás y podrás pasar fácilmente a alguno de estos otros lenguajes.


Todo depende del centro, de los profesores y de ti. En mi caso a distancia no me ha ido mal del todo pese a que he hecho el gandul durante medio año.

Enlace a mis PDFs de Java: http://www.mediafire.com/?9hl94nylzob0nhy

He de decir que estan increibles los apuntes!
Mmmm para empezar a jugar un poquito quizá tambien te vengan bien esta serie de tutoriales que encontré en youtube un dia estudiando para un examen de Java, ya que tenia bastantes dudas con los objetos, es muy sencillo, pero esta bastante bien para empezar, aquí te lo dejo:

http://www.youtube.com/watch?v=JbcB3AUw ... ure=relmfu
bill gates escribió:Mmmm para empezar a jugar un poquito quizá tambien te vengan bien esta serie de tutoriales que encontré en youtube un dia estudiando para un examen de Java, ya que tenia bastantes dudas con los objetos, es muy sencillo, pero esta bastante bien para empezar, aquí te lo dejo:

http://www.youtube.com/watch?v=JbcB3AUw ... ure=relmfu



Buenos videos! :)
Los tutoriales de niko son muy buenos, gracias a ellos aprendí unas cosas que no entendí muy bien por mí mismo.

Si entendéis inglés os recomiendo estos vídeos, http://thenewboston.org/list.php?cat=31

EDIT:

He borrado el anterior archivo y lo he resubido. El PDF del capítulo 4 tenía un error gráfico, no se veía una imagen correctamente.

Enlace a documentos de Java: http://www.mediafire.com/?m2wdegp7od4yqgw
Josepht87 escribió:
Alecs7k escribió:Eso es todo. Son 9 temas. Se empieza hablando un poco de Java, de la POO y luego ya va enseñando el tema de variables, constantes, condicionales, bucles...hasta llegar a usar bases de datos.

La verdad es que con todo eso ya se puede hacer cosillas interesantes.

También os recomiendo "Piensa en Java" de Bruce Eckel. El libro tiene ya unos años y tiene cosas desactualizadas, pero mis profesores de programación me lo han recomendado. Es de lo más completo que hay, aunque algo duro. El libro es totalmente gratuito y de libre distribución.


Y este libro ( Me lo estoy descargando ) es para mentalizar la mente como programador, o aporta cosa rollo manual??

Gracias :)


Holaa, Alecs7k da la casualidad que yo empiezo este septiembre este curso aqui en barna, aver que tal ... Me podrias pasar mas temario de las demas asignaturas, osea los libros para ir con una base? yo me hice el grado medio y algo tengo en mente jejeje un placer y dinos que tal fue tue experiencia. :)
Esta noche a ver si hago una recopilación de todo y lo subo.
Buas me harias un favor, es dificil el curso?
siamatnekerm escribió:Buas me harias un favor, es dificil el curso?


Esa pregunta es algo subjetiva, pero no, no es un curso difícil.

En mi clase hay mucha gente que no ha tenido mucho contacto con la informática antes y mucho menos con la programación. No sabían de qué iba la cosa y luego se han llevado una sorpresa. Igual hay gente que piensa que vamos a usar el Dreamweaver para hacer una página bonita y subirla.

La asignatura que suele dar más problemas es programación. Ya lo he dicho mil veces, pero no hay que tomársela como las demás asignaturas. No se trata de aprenderte la teoría solamente. Es cuestión de practicar y practicar mucho para ser capaz de plasmar toda esa teoría en código y que seas capaz de hacer el programa que te pidan. Mucha gente venía a clase y decía que había estudiado unas horas antes, que se lo había mirado todo por encima y había hecho algún que otro ejercicio. Esto te puede servir para algunas cosas, pero para programar no. Si le echas un poco de ganas y de tiempo no tiene porque ser difícil, pero si haces el tonto e intentas avanzar a pasos agigantados te estrellarás y lo peor de todo es que te acabas desanimando. A mí me ha pasado cuando me dejé bastante temario atrasado y lo quise recuperar en un par de días. Intenté hacer tantas cosas de golpe que ni siquiera llegaba a comprender del todo y cuando algo me salía mal, me bloqueaba y ya no sabía que hacer.

Las demás asignaturas son fáciles. FOL es un poco tostón, va sobre derechos del trabajador y eso. Inglés es una de las más fáciles. Yo como usuario de internet que suelo visitar páginas en inglés, no he tenido que estudiar absolutamente nada y he sacado 9. Sistemas informáticos diría que ha sido la más fácil, salvo algunas cosillas puntuales, se aprueba aplicando conocimientos que el usuario medio ya tiene. Bases de datos es algo más dificilita que las demás pero nada del otro mundo, haciendo los ejercicios de clase se puede aprobar con una nota decente. Lenguajes de marcas para mí ha sido facilita y creo que para casi todos, pues apenas ha suspendido gente; se da XML, (X)HTML, CSS, XSD, Xpath, XSLT... Por último está entornos de desarrollo que varía mucho dependiendo del centro. Algunos la han fusionado con programación aunque en nuestro caso hemos dado cosas sobre el Eclipse, diagramas UML, hacer testeos con JUnit, nada demasiado difícil y bastante útil todo.

Cualquier duda, pregunta.
Hola compañeros, aprovecho el hilo para que nos pueda servir a todos :). Actualmente estoy cursando el superior de DAM y quisiera empezar a programar c++ por mi cuenta.

Me podríais indicar la mejor forma? Es bastante diferente a java y me hago un poco "la picha un lio". Si me decis la mejor manera de empezar para poder enterarme de como crear bien el proyecto,etc... os lo agradecería enormemente.

Java lo llevo muy muy bien y no tengo problemas, pero ha sido "ver" algo de c++ y me ha entrado pánico [Ooooo]

Un saludo!
elenano2 escribió:Hola compañeros, aprovecho el hilo para que nos pueda servir a todos :). Actualmente estoy cursando el superior de DAM y quisiera empezar a programar c++ por mi cuenta.

Me podríais indicar la mejor forma? Es bastante diferente a java y me hago un poco "la picha un lio". Si me decis la mejor manera de empezar para poder enterarme de como crear bien el proyecto,etc... os lo agradecería enormemente.

Java lo llevo muy muy bien y no tengo problemas, pero ha sido "ver" algo de c++ y me ha entrado pánico [Ooooo]

Un saludo!


Yo cuando estuve mirando cosas de C/C++ lo hice en esta web: http://c.conclase.net/curso/index.php?cap=000 Mucha gente me la recomendó. Eso sí, con C++ vas a tardar el doble en crear lo mismo que con Java, aunque sirve para cosas que Java no.
Muchas gracias por el enlace. Es que quiero aprender para poder programar para windows 8.

He visto los lenguajes que va a utilizar y este es el que mas me atrae...

Estais al tanto de esto? Lo digo por si podeis compartir opiniones o consejos :)


Gracias de nuevo:)
elenano2 escribió:Muchas gracias por el enlace. Es que quiero aprender para poder programar para windows 8.

He visto los lenguajes que va a utilizar y este es el que mas me atrae...

Estais al tanto de esto? Lo digo por si podeis compartir opiniones o consejos :)


Gracias de nuevo:)


¿Programar para Windows? Yo tiraría por C#. Muy similar a Java y perfecto para hacer aplicaciones para Windows.
Os recomendaria este libro para empezar en java
http://www.tecnun.es/asignaturas/Inform ... /Java2.pdf
Es de la universidad de navarra , tambien tienen de otros lenguajes y temas.


personalmente recomiendo el siguiente libro:

The Practice of Programming
by Brian W. Kernighan and Rob Pike.
Excelente libro que me cambió la forma de programar- valido para cualquier lenguaje.

al principio te recomiendo que no uses ide (eclipse-netbeans-etc), tampoco hace falta ser psicopata y programar con notepad, pero un notepad++, sublime text te vendrá bien, no te realizan nada automaticamente y te obliga a hacerlo tu, y es importante saber esas cosas(compilar, paquetes, poner los use-import necesarios,etc), y ademas no te veras abrumado por el mundo de posibilidades de un ide que en este momento no te hacen falta (pronto las necesitaras como el comer, pero tiempo al tiempo), el ide es para cuando domines lo basico.

Recomiendo empezar realizando aplicaciones de consola, los tipicos ejercicios que encontraras por todos lados (fibonacci, calculo de numeros primos, etc) y luego pasarse a entornos graficos, te ahorrara malos habitos y con ello tiempo.

Respecto a elenano2 decirle que si algo tiene bueno microsoft es precisamente su magnifica documentacion:

http://msdn.microsoft.com/en-us/vstudio/hh388566.aspx

Además en windows 8 se pueden realizar aplicaciones usando html5 y Javascript con lo que matas 2 pajaros de un tiro (aprendes web y aplicaciones de escritorio), eso si, javascript es un monstruo enorme (soporta ciertas funcionalidades de programacion funcional y el modo de implementar la poo es muy especialico), complejo y dificil de dominar, por suerte tienes librerias como jquery para ayudarte.

la recomendacion de c# que de han dado es excelente también, y ademas una vez controlado c# no te costará nada dar el paso a java

curso jquery:
http://tutsplus.com/course/30-days-to-learn-jquery/ hay mas pero a mi me gusta este (editado, hoy está caido)

edit:
http://www.w3schools.com/jquery/default.asp mas sobre jquery

c++ es el GRAN COCO junto con los lenguajes funcionales (haskel,clojure,etc), es uno de los pocos que son realmente POO junto con smaltalk (aunque lo parezca java no es realmente poo ).
C++ es complicado como el solo, dificil de controlar, eficiente como pocos, y probablemente el que mas posibilidades da, recomendado una vez conocido un leguaje mas sencillo dada su gran curva de aprendizaje, eso si cuando consigues hacerlo funcionar bien te sientes genial.

Estaría bien que te hicieras un grupo de gente en tu misma situación, aprenderas a trabajar en equipo y además se hará mas ameno.

Casi todo lo que he puesto está en ingles, si intentas aprender en español lo tendras muy complicado, ya que hay poco y mayormente anticuado, se podria decir que el inglés es el idioma de las tecnologías de la informacion.

Y sobre todo animo y no te agovies, aunque parezca complicado cuando consigues que la maquina responda justo como quieres es una satisfación muy grande.(si no ves gracia en esto, mejor dedicate a otra cosa).
@el_itinerante

¿Ese libro de Java no está un poco obsoleto? Veo que la edición es del año 2000.

¿Puedes explicar eso de que Java no es realmente POO?
elenano2 escribió:Hola compañeros, aprovecho el hilo para que nos pueda servir a todos :). Actualmente estoy cursando el superior de DAM y quisiera empezar a programar c++ por mi cuenta.

Me podríais indicar la mejor forma? Es bastante diferente a java y me hago un poco "la picha un lio". Si me decis la mejor manera de empezar para poder enterarme de como crear bien el proyecto,etc... os lo agradecería enormemente.

Java lo llevo muy muy bien y no tengo problemas, pero ha sido "ver" algo de c++ y me ha entrado pánico [Ooooo]

Un saludo!


http://mat21.etsii.upm.es/ayudainf/apre ... ualcpp.pdf

Animo con los punteros y la sobrescritura de operadores.

@Alecs7k

Java no soporta herencia multiple, lo cual lo hace mas simple, pero le quita algo tremendamente potente de la POO.

Respecto a que es del 2000, para aprender ni caso, el libro te vale perfectamente, si necesitas las nuevas funcionalidades de java 7 es que este tipo de libros ya no son necesarios para ti.
Hombre, lo de la herencia múltiple en ocasiones es muy útil, pero el hecho de que Java carezca de ello no deja de ser un lenguaje orientado a objetos.

Es como decir que un Lamborghini no es un coche potente porque el Buggati Veyron tira mejor.
via wikipedia:
http://es.wikipedia.org/wiki/Programaci ... _a_objetos
Existe un acuerdo acerca de qué características contempla la "orientación a objetos", las características siguientes son las más importantes:

Abstracción: denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción.El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar.

Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.

Modularidad: Se denomina Modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. Estos módulos se pueden compilar por separado, pero tienen conexiones con otros módulos. Al igual que la encapsulación, los lenguajes soportan la Modularidad de diversas formas.

Principio de ocultación: Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.
Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.
Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple.
Recolección de basura: la recolección de basura o garbage collector es la técnica por la cual el entorno de objetos se encarga de destruir automáticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignación o liberación de memoria, ya que el entorno la asignará al crear un nuevo objeto y la liberará cuando nadie lo esté usando. En la mayoría de los lenguajes híbridos que se extendieron para soportar el Paradigma de Programación Orientada a Objetos como C++ u Object Pascal, esta característica no existe y la memoria debe desasignarse manualmente.


Si no cumple todo esto no es poo, y es que aunque una moto corra mas que el veyron sigue siendo una moto, no un coche, jeje me encantan estas conversaciones de friki, de todas manera es una tontaca, conversación muy recurrente, si buscas en google veras esta discursión por todos lados, para mi el verdadero motivo es que al realizar un proyecto en java se tira a la programacion imperativa casi siempre, mientra que en otros lenguajes como ruby pues no, y esta es mi principal razón para pensar que java parece poo pero no lo es, solo tienes que ver el 60% del codigo de ejemplo que hay por internet sobre java y veras que es imperativo no poo.

Además esto no tiene nada de malo, siempre preferiré el codigo espaguetti de la imperativa que un laberinto de interfaces a la hora de encontrar y solucionar un bug, cada lenguaje es para un conjunto de problemas, y java para aplicaciones web es muy bueno, igual que pesimo para interfaces graficas.

por cierto hay gente que dice que c++ tampoco es poo por el recolector de basura, con lo cual nos quedamos solo con smaltalk
Cada uno con su opinión XD

Yo pienso que mientras se pueda trabajar con objetos y tenga todas o casi todas las características de la POO se puede considerar un lenguaje orientado a objetos.
Gracias por el enlace, pero ese es justo el que tenia [carcajad]

Me ha recomendado mi jefe que empieze mejor por C para coger una buena base. Que creis vosotros?

Si creis que es buena idea, conoceis alguna pagina para estudiarlo y que tenga ejercicios?

Mira que me muevo con soltura en java pero cambian tantas cosas que prefiero empezarlo como si no supiera nada de programacion. Aunque evidentemente entienda todo facilmente o bastante mas facilmente.


Muchasn gracias :)
No creo que en el mundillo haya un consenso aceptado de que la OO requiere que la herencia pueda ser múltiple. Al final que un proyecto sea realmente OO depende sus responsables, no del lenguaje elegido. Menos aún tiene que ver la forma en que se maneja la memoria con la orientación a objetos. La recolección de basura precisamente se inventó para su uso con LISP, un lenguaje funcional. Ni siquiera sé por qué aparece en la wikipedia en castellano en la página de OO, son conceptos totalmente ortogonales.
Si no es mucho pedir no me mandéis privado pidiéndome todos los apuntes de DAW. Cuando tenga un poco de tiempo libre haré una recopilación de todo y la subiré.

PD: Todo lo de programación ya está subido. Buscad en este mismo hilo.
viendo este post y otro de videojuegos me ha picado el gusanillo y he estado mirando, primero prové con source hacer modificaciones, deciros que hacer algo es muy sencillo, puedes cambiar el modelo de un arma , su daño y tal muy facil, en los tutoriales de steam viene muy bien explicado(cambie el fusil del hl2 por una ak en apenas 4 horas), pero hacer algo decente, no una mod de alguno existente, es muy complicado, motivo por el que lo he desechado, eso si si disponeis alguien que controle de diseño grafico(photoshop, autocad, maya y esas cosas) podriais hacer algo decente.Es en c++

Luego lo siguiente que he encontrado es xna, y para aprender no va nada mal, es en c#, y si eres universitario puedes desarrollar para xbox gratuito, aprovechando el codigo que usas para windows (para un plataformas y demas, si vas en 3d es diferente), con lo cual me he puesto en ello, me está gustando bastante, de hecho no es necesario saber demasiado de programacion dado que la documentacion en ingles te va enseñando.

xna, para windows es gratuito, sin embargo para xbox360 y windows phone necesita registro en apphub:
http://create.msdn.com/en-US/education/ ... ng_started

Si eres universitario es gratuito, solo tienes que darte de alta en:
https://www.dreamspark.com/

Si no, es de pago (para xbox360 y windows phone), para windows es gratuitoito .No se si es posible con consolas modificadas eludiendo esto, en mi caso no es necesario, si alguien sabe como que lo diga.

De momento estoy siguiendo esto:
http://create.msdn.com/en-US/education/ ... ng_started
http://www.xna-tutorial.com/
http://desarrolloxna.wordpress.com/tuto ... orial-xna/

De momento estoy liado realizando el tutorial a mi manera, si hay interes podemos hacer un tutorial cuando tenga algo en claro, si alguien se anima a meterse en el fregao, pues aqui estoy.
Yo ahora mismo estoy con el curso que colgaron por aqui de Java, que me parece muy interesante.

Vosotros que recomendariais? Seguir con Java, mejor con C? O pasar directamente a C++? [sonrisa]
Josepht87 escribió:Yo ahora mismo estoy con el curso que colgaron por aqui de Java, que me parece muy interesante.

Vosotros que recomendariais? Seguir con Java, mejor con C? O pasar directamente a C++? [sonrisa]


Pueeeeees, depende. Depende que lo que quieras hacer.
62 respuestas
1, 2