¿Cómo encuentra un nuevo programador todas las API para el idioma que está aprendiendo?

Buena pregunta.

No vamos a dar un paseo feliz desenterrando todas las API para ese idioma. Los abordamos cuando llegamos a la codificación. No durante la etapa de “aprendizaje”.

Entonces, ¿cómo encontramos si existe una API?

  1. Si es básico, podríamos saberlo. Comenzamos con una búsqueda en nuestro IDE.
  2. ¡Lo buscamos en Google! Eso es ante todo.
  3. Si descubrimos que dicha API no existe y que no es muy complejo de codificar, creamos una nosotros mismos. Así nacen las tecnologías internas.
  4. Podríamos construir una API si la actual no nos satisface. O para evitar el bloqueo del vendedor.

PUEDES construir aplicaciones GUI con C. Solo usa The GTK + Project. O si quieres profundizar, usa la API de Windows directamente.

De cualquier manera, puede que no sea fácil escribir su primer programa GUI.

Igualmente para sonido, gráficos e impresión.

Es posible escribirlos todos en C.

Pero no necesariamente tiene que aprender todas las API antes de comenzar a codificar. Aprende los conceptos básicos y comienza a construir algo. Si está atrapado con algo, entonces comience a buscar soluciones.

Esta no es una historia de cómo aprendí a construir aplicaciones que se comunican con un periférico BLE, sino una historia de cómo aprendí la programación funcional.

Una vez, me contrataron para crear una aplicación que manejara la comunicación con un periférico BLE. Al mismo tiempo, estaba tratando de aprender algo de programación funcional para mí, ya que había escuchado que era una habilidad genial. Antes de esa aplicación, solo estaba creando aplicaciones de la manera tradicional e imperativa.

Encontré un marco de programación reactivo (ReactiveCocoa, luego fue renombrado como ReactiveSwift) que estaba tratando de entender y usar.

Mi primer objetivo era establecer una conexión con el periférico BLE usando CoreBluetooth y la forma tradicional (devoluciones de llamada, etc.). Fue bastante fácil hacerlo ya que la documentación por parte de Apple era realmente buena.

Una vez que hice eso, estaba tratando de pensar en agregar ReactiveCocoa en la mezcla para ver cómo se comportaría. Al principio me pirateé un código que parecía funcionar bien y usé ReactiveCocoa. La cuestión era que el código parecía demasiado complejo y era difícil de leer. Tenía que ser algo de mi parte, algo que estaba haciendo que no era tan bueno.

Comencé a investigar la documentación de ReactiveCocoa para obtener algunas respuestas. Había tantas cosas allí que podía leer, tantos operadores que podía usar pero no había ejemplos que pudieran guiarme. Entonces, como usuario de github, abrí un problema en el repositorio de ReactiveCocoa pidiendo ejemplos. Los mantenedores fueron muy serviciales y me señalaron algunos diagramas de mármol que pude ver.

Una vez más, no estaba seguro de cómo usar todo eso, pero comencé a experimentar. El código en mi aplicación se volvió mejor y un poco más legible, pero no me detuve allí.

Comencé a experimentar con ReactiveCocoa en proyectos simples, buscando el código fuente del framework e intentando ver qué estaba disponible.

Mientras tanto, la aplicación de iOS estaba creciendo y creciendo, pero aún sentía que el código no era bueno. Lo reescribí nuevamente usando todo lo que había aprendido desde entonces. Se vuelve mucho mejor. Estaba evolucionando de la misma manera que yo.

Después de eso, encontré un canal de Slack que usan los encargados del mantenimiento. Me uní y seguí todas las discusiones allí. Ayudó mucho también.

Estoy tratando de decir que no se espera que conozcas todas las API de un idioma. Sin embargo, se espera que esté motivado por lo que hace y siempre trate de mejorar. La primera vez serás un pirata informático que copiará el código pegado aquí y allá, pero a medida que pase el tiempo mejorarás cada vez más y no se detendrá mientras tengas la motivación para hacerlo.

Comencé a programar C en los días en que no había red más allá de la compañía.

El compilador de C vino con 3 libros, todos ellos relacionados con la biblioteca estándar de C. En ese momento necesitaba C y ensamblador, eventualmente, los 3 libros eran más pequeños que mi capacidad para recordar la API. Hoy puedo escribir std C sin mirar google o pensar. Todavía puedo recordar la API tal como la aprendí cuando tenía veinte años.

Por desgracia, esto tiene un precio muy alto, si creyeras en nuestro querido líder que no hace ejercicio, ya que cree que el cuerpo tiene una cantidad constante de energía y una vez que lo desperdicias en el ejercicio, lo has perdido para siempre. He comenzado a creer que una vez que su cerebro esté lleno de detalles de API, no tendrá espacio para recordar las cosas que importan, como los cumpleaños de los niños.

Entonces, ¿dónde te deja eso?

Si eres joven, quieres recordar experiencias y no API, quieres recordar ideas no API. Recordará sin esfuerzo la API escribiendo código. Esta es la única forma de hacer esto.

No lo hagas

Aprenda las cosas que necesita, no intente encontrar todas las API, es una pérdida de tiempo.

Estoy trabajando en un proyecto de UWP en este momento, estoy investigando muchas cosas web, pero no estoy haciendo nada con gráficos 3D, así que no me molesto en leer nada de eso.

No intente mantenerse actualizado, no lea las API sin ningún motivo.

Escriba un proyecto y lea sobre las API que necesitará para ese proyecto .

Si no estás escribiendo un proyecto, ¿por qué no?