[ home ] [ a / jp / h / lain ] [ b / hum ] [ mu / tech / v / vis / x ] [ meta / nexo ]

/tech/ - Tecnología

No rompas las leyes de Isaac Asimov
Nombre
Email
Comentario
Archivo





[]
Adjuntar
Clave (Para eliminar el post.)

  • Archivos soportados: [ jpg, jpeg, png, gif ] , [ ogg, mp3 ] , [ webm ] & [ pdf ].
  • Adjuntos soportados: [ youtube, vimeo, dailymotion, metacafe & vocaroo ].
  • Tamaño máximo total 20MB.



File: proxy-image.jpeg (574.25 KB, 1920x2560) ImgOpsiqdb

574.25 KB

No.1234

He intentado aprender C varias veces pero termino aburriendome o dejándolo, se que es fundamental aprenderlo (planeo estudiar ciencias computacionales, actualmente estudio mecatrónica aunque solo tuve una materia donde lo utilicé), sin embargo me llaman mucho mas la atención lenguajes como Python o PHP.

¿Alguna recomendación para aprenderlo?, Utilice pic related sin embargo no le entendí nada (ya e estudiado otros lenguajes de programación y ya tengo buenas bases), estuve usando el libro de Deitel C/C++ primera edición pero igualmente nunca tenía las ganas de estudiar.

¿Que hago wai?
>>

No.1235

Hay un hilo muy parecido un poco más abajo >>1201
>>

No.1237

>>1235
Muchas gracias wai, pero ahí no respondieron nada
>>

No.1238

>>1234
Ese lenguaje es genial, es simple, pero necesitas saber cosas sobre ciencias computacionales.
Pero si se te hace demasiado complicado, no sé que decirte. Mejor aprende lenguajes de alto nivel como los que dices, ya para cuando sepas mas de programación, si te interesa, vuelve a intentar aprender C
>>

No.1239

>>1237
Ya lo he respondido antes acá, pero a ver.

Requisitos:
- Tener una idea de cómo funciona el hardware de la computadora (i.e: la memoria), cómo funcionan los sistemas operativos y los sistemas de archivos.
- Tener cierta capacidad lógica para resolver problemas.
- Saber poner en práctica los tutoriales y lecturas que consultes.

Aprender el lenguaje:
https://learn-c.org
Esa página es muy concisa y clara al explicar el lenguaje, su sintaxis y la terminología.

Herramientas para trabajar en C:
Posix Shell, es la manera más rápida y eficiente de trabajar C y casi cualquier lenguaje sin un IDE pesado y bloteado. Instala cmder si usas Windows o si usas Linux/BSD/Mac ya deberías tener instalado el shell (la terminal)
GCC, el compilador más maduro y popular para C. Para Windows, necesitarás MinGW.
GNU Make, para automatizar la compilación. Para usarlo deberás aprender un pseudo-lenguaje extra llamado make (https://www.tutorialspoint.com/makefile/index.htm).
GDB, que es un depurador para C.

Editor de código:
Vim, si estás dispuesto a aprender una herramienta nueva para un flujo de trabajo más óptimo.
Visual Studio Code, si solo quieres un editor que funcione.
No uses IDEs, son lentos para trabajar.

Para los mods: Estoy haciendo un uso adecuado del "markdown" del IB, por favor no ban ;-;

Espero te sirva wai.
>>

No.1241

>>1239
Muchas gracias wai lo tomare en cuenta pero ¿hasta que punto es necesario estudiar y cuando se que puedo aplicarlo en proyectos personales o decir que ya lo dominó?
>>

No.1247

>>1241
Es necesario estudiarlo hasta que consideres que tienes un buen entendimiento y forma de aplicación para el lenguaje, o hasta que logres satisfacer tus necesidades informáticas (ejemplo, que logres completar un programa que estés desarrollando). Sabrás que lo puedes aplicar a proyectos personales porque deberías empezar aplicarlo directamente a proyectos personales. Es decir, mientras estudias el lenguaje por medio de videos, documentación, libros, etc. deberías estar aplicándolo a un proyecto que ya estés desarrollando. Puedes empezar por algo sencillo, como la típica calculadora, una herramienta de línea de comandos, un programa sencillo de ncurses, etc.
>>

No.1249

File: 1592354265804.jpg (33.51 KB, 293x420) ImgOpsiqdb

33.51 KB
>>1239
Buenas Wai, mira, como te explico, soy un lento de mierda y me gustaría que me aclarases unas cosas.
>Posix Shell, es la manera más rápida y eficiente de trabajar C y casi cualquier lenguaje sin un IDE pesado y bloteado
¿A qué te refieres con todo eso?
>Vim, si estás dispuesto a aprender una herramienta nueva para un flujo de trabajo más óptimo.
¿A qué te refieres con eso, ¿qué tiene Vim para que digas eso?, yo uso Notepad++.
>also
Estoy aprendiendo C++, ¿lo que mencionas igual aplica?
>inb4: Google
Ya, ya voy.
>>

No.1250

>>1247
Muchísimas gracias wai, me haz abierto la mente
>>

No.1252

File: 159530348192.jpg (220.06 KB, 1920x1080) ImgOpsiqdb

220.06 KB
>>1249
POSIX shell = la terminal de comandos o interfaz CLI. Funciona mejor porque no tienes que lidiar con miles de GUIs ni descargar tar.gzs del navegador cuando quieras instalar por ejemplo, bibliotecas como ncurses, wxWidgets o SDL2 (muy usada para sonido, fuentes de letra y gráficos). En una terminal lo único que haces para instalar y usar las libs en el código es usar tu gestor de paquetes: $ sudo <gestor de paquetes> install <nombre de la librería> y listo, se inicia la descarga e inmediatamente puedes hacer #include<lib.h>. Otra ventaja es que puedes compilar directamente sin instalar ningún IDE con $ gcc mi_codigo.c -o mi_programa

>yo uso Notepad++.

Asumo que estás en Windows, el cual no tiene un gestor de paquetes. Deberías instalar cmder como mencioné arriba para que tengas acceso a una buena terminal, aunque no tengo idea si viene con un gestor de paquetes, pero creo que puedes usar chocolatey (https://chocolatey.org/). Ahí puedes encontrar muchas bibliotecas de C.

En cuanto a Vim o su versión gráfica gvim, solo son una recomendación porque yo uso vim y es bastante organizado, ligero y personalizable, pero si tienes que darte un tiempo para aprender a usarlo y a integrarlo con tu workflow, cosa que no muchos están dispuestos a hacer. En realidad cualquier editor de texto sirve.

>Estoy aprendiendo C++, ¿lo que mencionas igual aplica?

Sí, lo que menciono aplica a casi cualquier lenguaje. No hay nada como trabajar con Vim/VS Code y la terminal. Es rápido, cómodo y ligero. No necesitas ni un IDE, además las dependencias de tus programas son más fáciles de instalar. Por ejemplo, para python es cómodo porque tienes pip, en JS tienes npm, en Lua luarocks, en Rust cargo, etc.
>>

No.1253

>>1252
>POSIX shell = la terminal de comandos o interfaz CLI.
Lo unico que bash no es POSIX. Creo que "los comandos de linux" habría sido un mejor termino.
>>

No.1255

>>1253
>"los comandos de linux"
Solo "la terminal" bastaba ahora que lo pienso. Y Linux no es el único sistema con una terminal. Está BSD, Mac OS, etc.
>>

No.1256

>>1255
Vamos a ponernos elitistas

Terminal: La ventana (rxvt, gnome-terminal)
Shell: Donde escribes los comandos realmente (bash, zsh, sh, ksh, dash)
>>

No.1644

>herramientas.
Creí que estos hilos eran sobre aprender C, no sobre accesorios. Yo entiendo que gdb vis y /bin/sh son indispensables (y valgrind, weon, nunca olvides tu valgrind), pero eso no te hará aprender Se.
Yo lo que hice fue hartos ejercicios del Project Euler, que me dieron la experiencia práctica usando C para resolver problemas. Luego, si quieres, puedes tratar de implementar cosas que te interesen, como una pequeña repl, un editor de texto, o tu fractal de Julia favorito.
Pero sí, léete un libro antes. Es tedioso pero ya teniendo la base teórica, no te quedas con lagunas en tu entendimiento de C.
>>

No.1645

>>1644
Yo aprendí con tutoriales + pŕactica y sé de todo sobre C, no como experto, pero conozco el lenguaje lo suficiente para trabajar con él.


[Post a Reply]
[ ]
[ home ] [ a / jp / h / lain ] [ b / hum ] [ mu / tech / v / vis / x ] [ meta / nexo ]