2010-05-26 12 views
11

En mi búsqueda de un recurso bueno, de libre acceso que me enseñará C++ me encontré con http://www.learncpp.com/.¿Es bueno learncpp.com para principiantes?

Mi pregunta es para estudiantes intermedios y experimentados programadores de C++ ...

¿Este sitio parece ser un buen recurso para un principiante para aprender C++ desde?

He revisado las primeras secciones del sitio, y siento que estoy empezando a comprender el idioma, pero como soy principiante en C++, realmente podría estar aprendiendo cosas incorrectas y no tengo ni idea.

EDIT: Después de hacer algunas investigaciones sobre el tema, y ​​la lectura de las respuestas y los comentarios aquí, parece como si no hago el tutorial, lectura Accelerated C++, y luego leer STL eficaz ... Voy a estar en el camino correcto Por supuesto, escribiré programas para resolver proyectos de programas de Euler y demás. ¿Alguno de ustedes tiene una mejor idea para un principiante con intenciones de ser competente en el idioma?

+0

Si sientes que estás empezando a aprender, ¡probablemente el sitio funcione! :) ... en serio, * he * echo algunas páginas en este momento. Estoy muy oxidado en C++ pero parece estar bien escrito. Soy más un aprendiz visual y prefiero los diagramas a las listas de códigos (cuando es posible), pero parece un buen sitio. Espero que aprendas algo bueno de este sitio. – FrustratedWithFormsDesigner

+1

Mucha gente siente que están empezando a aprender cuando usan recursos que enseñan prácticas horribles que no son inmediatamente obvias como horribles. Tome el tutorial PHP SQL de W3School, no he encontrado un ejemplo que tome la entrada del usuario sin demostrar aún un agujero de inyección SQL. – Quentin

+0

Este tutorial es el tutorial más votado sobre esta colección de tutoriales de C++: https://hackr.io/tutorials/learn-c-plus-plus. Si está interesado en otros formatos de cursos/tutoriales en C++ (como basado en cursos, basado en videos, formato de libro, etc.) entonces verá sugerencias para otros tutoriales también en la página mencionada. –

Respuesta

7

El sitio no se ve tan mal.

Sin embargo, realmente es un tutorial, ya que solo explica los conceptos básicos de C++.

Notablemente, omite por completo una introducción a la STL y el uso adecuado de la misma. Apenas ves std::cout y std::string. No hay mención de <algorithm> que pude ver y ninguna mención de <vector> o <deque> o <map> que son los contenedores más utilizados en C++.

Puede que no le haga daño aprender con este sitio, pero solo tendrá un nivel muy básico cuando haya terminado con él.

+0

Acepté esta respuesta porque siento que responde de manera concisa e informativa a mi pregunta. ¡Gracias! Supongo que esto significa que terminaré el tutorial, y luego buscaré un libro para temas más avanzados (pero aún para principiantes). –

+0

Puede probar 'Effective STL' de Scott Meyers para el punto específico de STL. Si no está listo para comprarlo, quizás podría preguntarle a sus amigos acerca de lo que tienen en sus bibliotecas :) –

+1

@Matthieu - Yo diría que este libro sería sobre la cabeza de un principiante que no ha sido presentado a el STL ya. Un mejor libro para leer después o en lugar de este tutorial sería Accelerated C++ de Koenig and Moo. Entonces los libros de Meyers y Sutter serán más fáciles de entender y seguir. –

3

Sí.

Los tutoriales tienen una sección de comentarios, y el administrador parece responder a preguntas allí. Esto indica que hay algo de responsabilidad por el material en las lecciones.

5

Este sitio no se ve muy mal, pero tampoco creo que sea genial. Un gran recurso gratuito para aprender C++ es el libro "Thinking in C++". Es simplemente excepcional y lo recomiendo encarecidamente. ¡Otra cosa que te recomiendo es comenzar a escribir código en C++ ahora mismo! Project Euler es mi fuente favorita para tareas de programación para principiantes (especialmente si te gustan las matemáticas ;-))

+0

Acabo de empezar a usar Project Euler, y parece ser una gran plataforma para probar los nuevos conceptos que aprendo en C++. Buen consejo, gracias! –

5

Aunque las pocas páginas que he visto parecen razonables, cualquier instrucción en C++ que recomiende el uso de la notación húngara omite por completo el punto y, por lo tanto, es sospechosa.

+0

Me gustaría saber más sobre esto. ¿Podría proporcionar algunos enlaces o alguna explicación adicional sobre por qué la notación húngara no debería utilizarse? –

+6

Un artículo - http://www.joelonsoftware.com/articles/Wrong.html – Secko

+1

En realidad, el artículo que acaba de vincular es una apología de la notación húngara (la original). Simplemente regaña a los programadores por usar una versión pervertida de la misma porque omitieron completamente el punto:/ –

5

No hace daño comenzar a aprender un idioma a través de un tutorial, pero tenga en cuenta que un tutorial no puede (no cubrirá) todos los temas de un idioma. Siempre hay cosas mejores que los tutoriales, como un libro y un compilador.

Yo recomendaría que basar su estudio en un buen libro como The C++ Programming Language (Third Edition and Special Edition) por el creador de C++ Bjarne Stroustrup.

No es necesario que sea este libro, puede ser cualquier libro useful que otros programadores hayan usado y aprendido. Los libros también son herramientas de programadores.

+0

Argumento en contra de un libro aquí, ya que siempre tuve que hacer algo con un lenguaje de programación para realmente aprenderlo. Leer un libro no ayudó mucho. – Nils

+6

@Nils Un libro amplía su visión del idioma en general, sino que también explica algunos conceptos que puede haber omitido. – Secko

+0

Es bueno leer este libro, pero no lo recomendaría como punto de partida. –

0

Aprender haciendo fue lo único que me ayudó a entenderlo. Por ejemplo, si desea aprender sobre plantillas y sobrecarga del operador, escribir su propia clase de vector que use plantillas para el tipo de datos de los elementos y la sobrecarga de longitud y operador para todas las operaciones así como la asignación será un ejercicio largo que requiere bastante nervios al principio;) Pero te darás cuenta de que aprendiste cómo C++ realmente funciona.

Aunque recomiendo escribir algunas cosas pequeñas como el ejemplo ilustrado anteriormente, seguir el tutorial para aprender la sintaxis y los principios básicos probablemente no es malo para empezar.

+0

Acabo de venir en mi mente: ¿Estás familiarizado con C? Sugeriría aprender C primero o usar C++ sin todas las características OOP primero. – Nils

+1

Puedes editar tu publicación en lugar de hacer un comentario;) – samoz

10

Si desea aprender C++ de la manera correcta, le recomiendo que compre una copia de Accelerated C++. Es el mejor libro de C++ para un principiante sin lugar a dudas.

1

Actualmente estoy leyendo el tutorial de C++ en learncpp.com y creo que es genial!

Para un principiante de C++, como yo, eso es. No obtendrá todas las respuestas, pero ¿realmente lo quiere como principiante de C++? Yo diría que no. Al menos, yo no.

Lo que obtendrá son muchas respuestas cortas a preguntas sobre conceptos básicos de C++, que creo que serán útiles cuando más tarde aprenda sobre otros aspectos de C++.

Como dije, soy un principiante de C++, pero he usado PHP durante varios años. No diría que soy un experto en PHP, pero tampoco soy un principiante, así que creo que sé más o menos de lo que estoy hablando cuando se trata de idiomas que se parecen a PHP, como C++.

+1

From una mirada corta parece estar bien, pero hay una cosa que IMO hace que no sea el mejor recurso para principiantes. Introducen matrices y cadenas tipo C en el capítulo 6, mientras que omiten totalmente los contenedores STL y dejan std :: string para el capítulo 17. Lo cual deja una impresión equivocada.Las cuerdas tipo C y las matrices desnudas rara vez deben usarse, y ciertamente no por principiantes. –

+0

Cuando conozco más C++, lo más probable es que esté de acuerdo con el comentario anterior. Pero, como dije antes, la razón por la que creo que learncpp.com es bueno para los principiantes es que obtienes respuestas cortas a preguntas sobre conceptos básicos de C++, que son comprensibles para un principiante de C++ como yo. No he encontrado ningún otro sitio escrito en el mismo estilo. La mayoría de los tutoriales recuerdan el comentario anterior. En otras palabras, en muchos casos los términos como "matrices", "cadenas de estilo C", "contenedores STL", "std :: cadena" y "matrices desnudas" no se explican de una manera que un principiante puede entender. – matsolof

+0

Lo que tampoco puedo encontrar en el comentario anterior es un enlace a un sitio con un tutorial que el autor cree que es mejor que learncpp.com Y que está escrito en el mismo estilo que learncpp.com. Publique tal enlace, por favor, ¡y ayúdeme a estar de acuerdo con usted! – matsolof

2

He usado C# durante varios años ... A veces tengo que trabajar con código C++ heredado (algunos datan de VC6, escrito hace 10 años), pero no entendía lo básico de C++ bastante bien, por ejemplo, cómo funcionan los archivos de encabezado y por qué el compilador de C++ requiere las declaraciones de reenvío, así como también la palabra clave extern. Así que decidí buscar un tutorial en línea para aprender algunos conceptos básicos de C++, ¡y esto es lo que encontré, learnCPP.com!

El tutorial está muy bien escrito, en inglés simple, comprensible, casi no tengo que volver al diccionario :-) (No soy un hablante de inglés). Ahora he estado aprendiendo en este sitio durante un par de meses, y tengo que decir que todo lo que necesito saber para comenzar a programar en C++ se puede encontrar en este tutorial.

Es cierto que este tutorial no es "una enciclopedia para el básico de C++", no incluye un capítulo dedicado sobre unicode, u otro capítulo sobre el crt ... pero este tutorial no pretende cubrir estos temas, de lo contrario habrá muchos más capítulos en este tutorial.

¡Prueba y disfruta!