Ir al contenido principal

Aprender programación en C/C++ desde 0 [Libros]

Hola ! Hace cosa de un año empece por cuenta propia a estudiar el funcionamiento de las computadoras desde una perspectiva mas técnica, un intento de conectar los conceptos de hardware a software, en el trayecto es inevitable chocarse con los fundamentos mas rudimentarios como el lenguaje de maquina (los famosos 1 y 0 al estilo puro), una manera de darle instrucciones a un CPU para que haga algo, luego el lenguaje ensamblador, una abstracción del lenguaje de maquina para facilitar la comunicación (asm), pero si subimos un poco hacia arriba es inevitable toparse con el lenguaje de nivel medio-alto que llevo de la mano a UNIX en el surgimiento de los Sistemas operativos, hablamos de el lenguaje de programación C y su potenciado C++, ambos muy populares a pesar de sus aproximados 50 años, un lenguaje propicio para el estudio de la computación y el diseño de software de propósito general, un lenguaje muy eficiente y portado para casi cualquier sistema operativo conocido.


Así que les dejo un conjunto de manuales para aprender programación en C/C++ desde 0 que vengo consultando esporadicamente y que me han servido muchísimo, los cuales recomiendo por lo completo e introductorios que son.





Antes de pasar a los manuales, quiero comenzar separando las diferencias entre C y C++ por si las moscas.

Lenguaje de programación C:      Es un lenguaje de programación originalmente desarrollado por Dennis Ritchie entre 1969 y 1972 en los Laboratorios Bell,

Lenguaje de programacion C++: Es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

Las ventajas y desventajas entre C y C++ pueden verlas en el siguiente articulo mas a fondo: https://www.americati.com/doc/ventajas_c/ventajas_c.html

Comúnmente se aprende primero C y luego se da el salto a C++, que es el método que sugiero, el primero libro se encarga de hacer eso, el segundo sirve para estudiar precisamente C y no C++, luego el ultimo manual citado que se divide en 2 volumenes "Pensar en C++" toma al programador en C y lo traslada a C++, una lectura muy importante y recomendadisima ya que ademas de aprender las diferencias entre los dos lenguajes hace una introduccion detallada a la Programación orientada a objetos y los patrones de diseños.

Vamos a los links...

1)Como Programar en C/C++  (y Java) - Deitel-Deitel




Contenido sobre C/C++:
  1. Introducción a las computadoras, a Internet y a la World Wide Web
  2. Introducción a la programación en C
  3. Desarrollo de programas estructurados en C
  4. Control de programas en C
  5. Funciones en C
  6. Arreglos en C
  7. Apuntadores en C
  8. Caracteres y cadenas en C
  9. Entrada/Salida con formato en C
  10. Estructuras, uniones, manipulaciones de bits y enumeraciones en C
  11. Procesamiento de archivos en C
  12. Estructuras de datos en C
  13. El preprocesador de C
  14. Otros temas de C
  15. C++ como un “Mejor C”
  16. Clases y abstracción de datos en C++
  17. Clases en C++: Parte II
  18. Sobrecarga de operadores en C++
  19. Herencia en C++
  20. Funciones virtuales y polimorfismo en C++
  21. Entrada/salida de flujo en C++
  22. Plantillas en C++
  23. Manejo de excepciones en C++
Este libro lo recomiendo por ser muy didáctico y llevadero, abarca desde la introducción a las computadoras hasta lo mas profundo del lenguaje, siendo cómodamente transitivo a la hora de pasar de aprender C a C++, los temas están debidamente ordenados, detallados y al final de cada capitulo, contamos con varios ejercicios para resolver, desde analizar los errores de un código hasta completarlo o realizarlo en base a una consigna, también se frecuentan los tips para prevenir errores comunes o sugerencias de ingeniería en software, este es un libro para todos.
De paso también dejo otra edición pero dedicada para aprender C++, si bien tiene todo lo que contiene la otra, esta de alguna manera expande algunas cosas, ideal para darle un vistazo si queres comenzar directamente por C++.

2)El Lenguage C  Kernighan-Ritchie


Contenido:
  • Capítulo 1. Introducción General
  • Capítulo 2. Tipos Operadores y Expresiones
  • Capítulo 3. Control de Flujo
  • Capítulo 4. Funciones y la Estructura del Programa
  • Capítulo 5. Apuntadores y Arreglos
  • Capítulo 6. Estructuras
  • Capítulo 7. Entrada y salida
  • Capítulo 8. La Interface del Sistema UNIX
  • Apéndice A. Manual de referencia
  • Apéndice B. Biblioteca estándar
  • Apéndice C. Resumen de modificaciones
Esta es la biblia de programación en C y seguramente la influencia de los tantos libros que existen sobre C, es un libro que requiere previamente conocimiento básicos sobre conceptos de programación y ayuda a entender el lenguaje desde una perspectiva técnica con una introducción general.
Este manual fue realizado por el mismo creador del lenguaje C (Ritchie) y un colaborador(Kernighan).

3)Pensar en C++


Abarca una introducción al paradigma de Programación Orientada a Objetos con C++ tratando de ser lo mas precisa y completa posible, compuesta de dos volúmenes para tener un concepto mas general no solo sobre el lenguaje de programación desde 0 si no también sobre patrones de diseños, creación y manejo de proyectos citando metodologías, puntos de vistas y más.
Aunque mencione que puede que el libro trata el lenguaje C++ desde 0 no es del todo cierto, recomendaría tener una visión ya un poco distendida sobre programación antes de embarcarse en este libro.

Contenido general (volumen 1 y omito el 2)
1. Introducción a los Objetos
2. Construir y usar objetos
3. C en C++
4. Abstracción de Datos
5. Ocultar la implementación
6. Inicialización y limpieza
7. Sobrecarga de funciones y argumentos por defecto
8. Constantes
9. Funciones inline
10. Control de nombres
11. Las referencias y el constructor de copia
12. Sobrecarga de operadores
13. Creación dinámica de objetos
14. Herencia y Composición
15. Polimorfismo y Funciones virtuales
16. Introducción a las Plantillas
A. Estilo de codificación
B. Directrices de Programación
C. Lecturas recomendadas



Link con ambos manuales[Actualizado 20 jul 2018][25.8MB]:https://mega.nz/#!ht43UIRY!awaEO3uyQNh0wKsuEna4UcfhKJXLBU-ezKhjFBKbrs0
Visualizador de PDF que recomiendo: http://www.pdflite.com/


Espero que les sirvan y no aflojen que la practica hace al maestro! 😉😉😉Saludos! 😃😃😃😃


Autores del manual "EL Lenguaje C" 1985 tambien conocido como "El C estilo K&R"

Ken Thompson, creador del lenguaje B junto a Dennis Ritchie quien se le atribuye la creación de el lenguaje C
 (si, hubo un B antes de C), ambos sujetos inventores de UNIX junto a su estandar POSIX.
Bjarne Stroustrup, el creador del lenguaje C++



Be a pointer my friend!





Entradas populares de este blog

Visualizar una base de datos Firebird (.fdb)

Para visualizar correctamente una base de datos .fdb de firebird:




1)
Descargar Firebird y su driver ODBC:

 Firebird:Descargar
 Driver: Descargar

2)
Instalan los dos suplementos normalmente.


3)
XBaseView es un programa para abrirla y administrarla,soporta fdb y es la mejor que encontre hasta ahora.
Para descargar click aca







Espero que les sirva,hice este post por que internet me resulto nula al sugerir mas informacion sobre esta extension,Saludos!!

nJoy v1.3.5 {Apk + Server}

Les dejo una app android para poder manipular la pc en una serie de comandos interactivos,usar su smartphone como mouse,gamepad o joystick.

Caracteristicas:            
*Máxima fluidez.
*Conexion por Bluetooh o Wi-fi.
*Con el programa de servidor podes crear perfiles de configuración del mando para diferentes juegos.
*Te permite conectar mas de un dispositivo a la pc para poder hacer partidas multiplayer.
*Integra funciones para controlar la pc (Controles de reproducción,accesos directos,mouse pad.etc)
*Es muy sencilla de manipular.
*Configuración de interfaz del mando con una integración de mousepad y gamepad para manejar juegos en primera persona.
y más..


Imagenes:




Descarga:  nJoy 1.3.5 (Ultima versión) + Servidor (Windows)
       Link Mediafire: http://adf.ly/pg4is
       Link 4Shared: http://adf.ly/pg4i4

Instalación:
1)Solamente tienen que instalar el apk en su android (pasar el archivo apk al telefono y con un buscador instalarlo) o airdroid,
2)Proceden a instalar el servidor,lo inician,in…

Deer Hunter 2005 Crack no CD[v1.0,1.|][LINK RENOVADO[7/2/2013]]

Hola de nuevo,les dejo un crack que saqué de internet medio complicado de conseguir para el DH2005, un juego de simulación de caza muy bueno,uno de los mas conocidos..




DESCARGA: Lamentablemente mediafire me jode con los copyright,pero ahora les dejo el crack subido a 3 servidores (incluyendo de nuevo mediafire).

Mediafire: http://www.mediafire.com/?3xffh2clg3i24ma

4shared   : http://www.4shared.com/rar/y37NSbsP/Deer_Hunter_NetixZencomar.html?


Mega: https://mega.nz/#!mZxAAKDL!2q8ECRtWbuKmoSPCJhQg5YLjtZkyeJ6GHq6JiuJeMLU

Contraseña:No tiene contraseña


Virus:No,Puede que el antivirus te lo detecte como troyano,esto es falso,ya que los antivirus tienden a detectar cracks como programas malignos, solo desactiva el escudo por 1 min o añade el archivo a una lista de excepciones y usa el crack normalmente.


MANUAL:Montar servidor Lineage II C4 JAVA

Sobre el tutorial:
-►Contiene especificaciones de como montar el server de l2 java con el datapack de l2jfree,tambien como configurarlo via hamachi u otros.
-►Contiene mas de 50 imagenes del proceso echas por mi..
-►Los link del pack de herramientas y datapack los subire despues cuando tenga tiempo,pero tiene el tutorial como base hasta que llegue dicho momento (en unos dias cuando lo termine bien).  

Requisitos:
Tener una leve capacidad de manejo informatico

 Aca les dejo el link y los futuros mirrors:

MEDIAFIRE.COM

Para el datapack:

http://netixzen.blogspot.com.ar/2014/09/l2j-server-c4-2014sep.html


Especificaciones sobre el archivo:
Tipo de Archivo: .rar donde adentro hay un .doc que se visualiza con word u otro.
Peso:6mb aproximadamente.
Virus:Ningun virus detectado. 


Clean Code [PDF-Mega]

Hola a todos! En esta ocasión les dejo lugar a una muy interesante lectura dedicada exclusivamente para los programadores.


 "Código Limpio" es un libro que habla acerca de las diferentes técnicas, modalidades y consejos para tratar un tema muy importante que es la escritura,como lo dice el titulo, de un código limpio, claro y eficiente para su entendimiento, haciendo alusión a la profesionalidad.
Si necesitas una guía de acerca de como escribir un buen código, que sea fácil de entender para uno mismo, otros programadores o parte propia del equipo , estas ante una de las mejores consejeros para conseguir el objetivo ya seas un programador recién iniciado o ya experimentado.
Contiene diferentes tips, consejos, citas, un poco de historia, casos hipotéticos, fragmentos de códigos, un antes y después, y otros ejemplos prácticos para mejorar el entendimiento y convertirte en un programador ágil a la hora de expresar código de una manera correcta y legible que involucre buenas pract…

L2j Server C4 2014/sep

Les dejo una versión del datapack basado en  L2j Lisvus, donde añadí unas mejoras y npc nuevos,como el de subclase y otros..

Características:

-Basado hasta el ultimo update de  L2j Lisvus pack server.
-Los skilles corregidos.
-Pagina web añadida.
-Npc posicionados.
-Npc Buffer corregido.
-GK global.
-Habilite el bar de Gludin como en C1 xD aunque tiene el npc de juegos,despues veo si programo uno que venda bebidas jaja.
-Incluí las herramientas necesarias y la db completa (obligatoria)
-Otras cosas..

Descarga:

 Descarga por Mediafire:https://www.mediafire.com/?hw0o2k0rnnns02v
 Descarga por 4shared:   http://www.4shared.com/rar/iCEux-AAba/L2J_Server_C4_netixzenblogspot.html


Instalacion:

Siguen masomenos el manual este: http://www.netixzen.blogspot.com.ar/2012/09/megatutorial-de-como-hacer-un-server-de.html

Luego en vez de instalar la db,crean la db desde el navicat e inyectan el sql que deje en la carpeta principal del server,para que funcione.La inyección va a tomar un rato.

Aclaraciones…

Usar Dispositivo Android como Volante para PC

En esta ocasion les dejo una app para usar su dispositivo android con acelerometro como manubrio/volante/joystick para su pc.


Lo que tienen que hacer es descargar el siguiente archivo:
https://www.mediafire.com/?ewbcjrqslt93y8z

Luego van a ver que tiene un apk y un programa para instalar,el programa es el cliente y el apk es lo que vamos a instalar en nuestro dispositivo.
A la hora de instalar el cliente le damos si a lo que la instalacion de drivers y soportes que tiene para que funcione,les va a quedar algo asi:


Luego van a instalar el apk en su celualr,copiando el apk a la memoria,buscandolo con un gestor de archivos y abriendolo para proceder a la instalacion.

Una vez instaladas las dos cosas,procedemos a abrir la aplicacion 




En el cliente tienen que apretar en "Start Server" y se va a iniciar el servidor para que nuestro dispositivo se conecte a través de la app y pueda funcionar como un control real.

En la app colocamos la ip que aparece en el cliente de la pc

Y si todo…