Estos son los términos principales de informática que debe conocer si es nuevo en programación

Terminologías y conceptos cruciales de informática explicados en inglés sencillo

Dado que muchos amigos y familiares que no tienen antecedentes de informática me preguntan acerca de diferentes terminologías y conceptos, intentaré explicar los siguientes conceptos de informática en el lenguaje más simple posible.

En esta guía rápida, aprenderá qué significa cada término / concepto y por qué es importante :

  • Desarrollo de backend
  • Desarrollo frontend
  • Lenguajes de programación
  • Algoritmos
  • API
  • Insecto
  • Fuente abierta
  • Crowdsource

Al final de este artículo, también compartiré algunos recursos para que aprendas más.

Desarrollo de backend

Es posible que haya escuchado el término "Desarrollo de backend". Especialmente si has estado merodeando por LinkedIn.

"Backend", en este caso, se refiere a una capa de la pila de tecnología. Esto implica principalmente escribir o mantener un servicio web con una base de datos para almacenar datos.

A menudo, el desarrollo de backend está asociado con tecnologías como Java, Scala, Python, DynamoDB, MongoDB, nodeJS, MySQL, MapReduce y muchas, muchas más.

Esto contrasta con el desarrollo de front-end, que a menudo se refiere a la capa de interfaz de usuario (UI) o al lado de una función orientada al cliente.

Porque es esto importante

Comprender las diferencias entre el desarrollo de frontend y backend le permite saber en qué componentes debe pensar antes de comenzar a desarrollar una aplicación en el futuro.

Desarrollo frontend

El desarrollo de frontend a menudo implica trabajar en funciones orientadas al cliente, como una página web o una aplicación iOS / Android.

Hay diferentes tipos de tecnologías involucradas aquí, como HTML, CSS, JavaScript, jQuery, React, Angular, Swift, etc.

La razón por la que los llamo tecnologías y no lenguajes de programación es porque algunos de estos son marcos que te ayudan a configurar tus bases y guían la forma en que programas, pero no son lenguajes de programación en sí mismos. Ejemplos de estos son React y Angular.

Un lenguaje de programación es simplemente una forma en que los humanos se comunican con las computadoras. Algunos podrían argumentar que HTML es un lenguaje de programación ... Creo que ese es un tema para otro día. ?

Por qué es importante

El desarrollo de frontend solía ser solo HTML, CSS y JavaScript. Hoy en día, es una bestia en sí mismo con su propia pila de tecnología y herramientas de construcción. La tecnología de frontend avanza a la velocidad del rayo. Recomiendo mucho el aprendizaje de herramientas frontend para que pueda comprender lo que está sucediendo en el mundo de la programación actual.

Lenguaje de programación

Una computadora es muy buena para ejecutar los comandos que se le indica. Para que los seres humanos nos comuniquemos con una computadora, necesitamos un conjunto común de lenguajes comprensibles, un conjunto de instrucciones con las que tanto los humanos como las computadoras puedan ponerse de acuerdo y comunicarse.

En el mundo humano, utilizamos idiomas como inglés, mandarín, español, etc. para comunicarnos.

Cuando se trata de computadoras, lo llamamos lenguaje de programación . Un lenguaje de programación permite que los humanos y las computadoras se comuniquen . Ejemplos de lenguajes de programación son Java, C ++, Python y muchos más.

Por qué es importante

Aprender un lenguaje de programación le permite comprender cómo funciona algo que ve en Internet debajo del capó; es como saber cómo y por qué funciona su automóvil. Con un poco de esfuerzo, podrá crear sus propias aplicaciones, como Candy Crush o Twitter también.

Algoritmos

Un proceso o conjunto de reglas que se deben seguir en los cálculos u otras operaciones de resolución de problemas, especialmente por una computadora. - Google :)

Las computadoras son excelentes para ejecutar instrucciones y, como ingenieros de software, escribimos instrucciones para que las ejecuten. Un algoritmo es una lista de pasos o instrucciones que se pueden realizar con o sin una computadora para resolver un problema específico.

Uno de los primeros problemas que aprendemos como estudiantes de informática es el problema de la clasificación. La esencia de esto es clasificar un conjunto o una colección de artículos de la manera más eficiente.

Hay muchas formas de clasificar. Uno de los más populares es Bubble Sort, también conocido como "orden de comparación". Implica comparar y seleccionar el más grande de dos elementos y repetir para todos los demás elementos hasta que finalmente todo se ordena. Otros incluyen la clasificación por inserción, la clasificación por fusión y muchas, muchas más.

Te animo a que los explores, ya que es una introducción fascinante a los algoritmos. Aquí hay un video de Youtube para obtener más información sobre los algoritmos de clasificación.

Por qué es importante

Los algoritmos son el núcleo de la informática: comprender qué son los algoritmos y cómo funcionan te convierte en un mejor ingeniero de software. Período.

API

API, también conocida como interfaz de programación de aplicaciones, también conocida como fuente de información. En términos más concretos, imagina que te tomaste una limonada en casa. Tus vecinos quieren un sorbo de tu limonada, pero tú no quieres que el pozo se contamine. ¿Que haces entonces?

Decidiste construir una manguera que se conecta a una pequeña manguera fuera de tu casa. Todos tus vecinos que quieran probar tu mágica limonada se alinearán y abrirán la manguera para acceder a tu limonada. Todo esto sin acercarse nunca a su pozo, y también puede controlar cuándo bombear la limonada, cambiar la limonada si su pozo se seca algún día, o tal vez cobrar a las personas que beben mucha limonada.

Esta es la idea detrás de muchas empresas en estos días: estas empresas construyen un "pozo" de datos valiosos y luego los venden a otros que desean acceder a esos datos a través de una API.

Por qué es importante

Internet hoy se basa en una comunicación fluida entre diferentes servicios. Así es como podemos crear herramientas / sitios web que se comuniquen entre sí. La API es la capa fundamental que permite que suceda toda la comunicación. Por eso es importante saber cómo y qué utiliza Internet para comunicarse.

Insecto ?

Es posible que haya visto el siguiente meme en los sitios web de las redes sociales y no haya entendido lo que realmente significa.

Un error es un error en un programa de computadora que evita que el programa se ejecute como se esperaba.

Por ejemplo, supongamos que descargó una aplicación de iOS, que es un tipo de programa de computadora, que se supone que muestra la temperatura del clima local en grados Fahrenheit. Sin embargo, la aplicación de iOS puede mostrar la temperatura solo en grados Celsius, en lugar de los grados Fahrenheit que esperaba.

En tal caso, el programa no está funcionando como se esperaba (debería mostrar Fahrenheit, no Celsius), y llamaría al error un error.

Esto es tan común en la industria que los ingenieros de software lo convirtieron en una broma interna, de ahí el meme, "no es un error, es una característica".

Por que es importante

Los errores ocurren todo el tiempo. Saber esto le ayuda a navegar por Internet y señalar cosas cuando ve que algo no funciona bien. La próxima vez, lo llamará "error" correctamente en lugar de "esa cosa no se desplaza correctamente".

Fuente abierta

Intentaré explicar el código abierto con una analogía simple que se me ocurrió :)

Imagina que eres el dueño de un puesto de limonada y tienes una receta especial para hacer la mejor limonada de la ciudad. No comparte la receta secreta con nadie porque tiene miedo de que alguien más pueda tomarla y robar a sus clientes. Su receta secreta se considera "Código cerrado" en este caso, donde nadie más que usted puede acceder a ella.

Alternativamente, imagina que compartes tu receta de limonada libremente en línea y usas el poder de Internet para ayudarte a mejorarla para que todos puedan disfrutar y beneficiarse de la mejor limonada posible. En este caso, su receta se considera "Código Abierto" porque está disponible gratuitamente y otros pueden contribuir, usar y / o modificar.

Este término se ha vuelto mucho más popular con el auge de Facebook y la ola de empresas de tecnología que alientan a la comunidad de Internet a participar en el desarrollo de tecnologías nuevas y emocionantes.

Por qué es importante

Internet ha progresado mucho más rápido en los últimos años debido al código abierto. Es una revolución y todos deberían saber por qué tiene sentido hacer cosas gratis y compartirlas con el mundo.

Crowdsourcing

Crowdsourcing: para obtener (información o aportes a una tarea o proyecto en particular) contratando los servicios de un gran número de personas, pagadas o no, generalmente a través de Internet.

Crowdsource es la idea de conseguir que un gran grupo de personas contribuya a una causa común.

Supongamos que está ejecutando el mismo puesto de limonada nuevamente. Sus clientes dicen que su limonada necesita un nuevo sabor. Te das cuenta de que usando el poder de Internet, puedes pedirle a la gente que te ayude a pensar en la mejor receta de limonada.

A continuación, puede abrir una cuenta de Twitter y hacer que la gente contribuya con su mejor receta de limonada de todo el mundo. Esto se llama Crowdsourcing, que es el acto de hacer que las personas contribuyan a una causa común (en este caso, la fabricación de limonada).

Por qué es importante

Internet ha permitido a toda la población unirse y poner su mejor cerebro detrás de algunos de los desafíos más difíciles del mundo. El crowdsourcing nos ha permitido hacerlo sin problemas a través de Internet. Creo que es un gran paso adelante para la humanidad.

Recursos recomendados

  • CS 101 en línea de Stanford: el curso le brinda una descripción básica de la terminología de la informática, cómo funciona Internet, cómo se forman y procesan las imágenes digitales, etc. Lo mejor de todo es que ¡es GRATIS!
  • Curso intensivo de Python: uno de los mejores recursos para comenzar a programar en Python. Si desea ensuciarse las manos con la programación, le recomiendo comenzar con Python y el siguiente libro.
  • Python, Practical Guide - Este es un libro interesante para obtener, una vez que haya terminado con el Curso intensivo de Python. Imagino que puedes hacer la mayoría de las cosas aquí sin el libro, pero te da instrucciones paso a paso más detalladas sobre cómo hacerlo. Ideal para personas que prefieren aprender con el ejemplo.
  • Introducción a los algoritmos: si desea obtener más información sobre los algoritmos, que es un principio básico de la informática, este libro es muy recomendable. Este es EL libro de texto para muchos cursos de informática.
  • Accediendo a la entrevista de codificación: este es mi curso de coaching personal, donde le muestro cómo me preparé para mis entrevistas, mis consejos y trucos para acometer la entrevista de codificación y muchos más.

Zhia Chong es ingeniera de software en Twitter. Aunque no lanza código, juega al tenis, escribe artículos o hace videos de Youtube.

Si te gustó este artículo y te gustaría obtener una copia de este en PDF, considera suscribirte a mi lista de correo donde comparto noticias de la industria, información sobre programación, notas de entrevistas y mucho más.