# data[].attributes.attachment_link.readable_text
De Wikipedia, la enciclopedia libre

La depuración de programas es el proceso de identificar y corregir errores de programación.​ Es conocido también por el término inglés "debugging", cuyo significado es eliminación de " bugs", esta es la manera en que se conoce informalmente a los errores de programación.

Si bien existen técnicas para la revisión sistemática del código fuente y se cuenta con medios computacionales para la detección de errores ( depuradores) y facilidades integradas en los sistemas y en los ambientes de desarrollo integrado, sigue siendo en buena medida una actividad manual, que desafía la paciencia, la imaginación y la intuición de programadores. Muchas veces se requiere incluir en el código fuente instrucciones auxiliares que permitan el seguimiento de la ejecución del programa, presentando los valores de variables, direcciones de memoria y ralentizando la salida de datos (modo de depuración). Dentro de un proceso formal de aseguramiento de la calidad, puede ser asimilado al concepto de " prueba unitaria ".

Como el software y los sistemas electrónicos se vuelven generalmente más complejos, se han desarrollado varias técnicas comunes de depuración para detectar anomalías, corregir funcionalidades y optimizar código fuente. Existen algunos aficionados que consideran la depuración como una forma de arte.

# data[].attributes.attachment_link.title
Depuración de programas - Wikipedia, la enciclopedia libre

# data[].attributes.attachment_link.description
De Wikipedia, la enciclopedia libre La depuración de programas es el proceso de identificar y corregir errores de programación.​ Es conocido también por el término inglés "debugging" , cuyo significado es eliminación de " bugs", esta es la manera en que se conoce informalmente a los errores de programación.

# data[].attributes.attachment_link.readable_text
Todos hemos escuchado el término "bug" para referirse a un error de software, un fallo en el programa del computador o en el sistema que desencadena un resultado indeseado.

Seguro te has preguntado ¿por qué le denominan a esto bug o bicho?

La historia data de 1947, cuando ingenieros que trabajaban en el Mark II se percataron de un fallo en un relé electromagnético y al revisar la máquina encontraron una polilla (insecto/bicho) que provocó que el relé quedase abierto.

Los ingenieros revisaron el relé sustrajeron el insecto y lo pegaron con cinta adhesiva en la bitácora, con el comentario " First actual case of bug being found", en español "primer caso real de bug encontrado".

Aunque muchos refieren este episodio como el origen del término, en realidad, Thomas Alva Edison lo utilizó en 1889, indicando interferencias y mal funcionamiento en un fonógrafo. Pero es posible que el caso del Mark II, si sea el primero asociado a la informática y relacionado a un insecto real.
FUENTE :ABADIADIGITAL.COM
Bug Informático

Un bug informático se genera en la programación o el diseño del software y, en algún momento, se manifiesta ante el usuario. Algunos bugs son: inclusión de variables que no fueron inicializadas, mala indexación de las tablas en una base de datos, creación de un bucle infinito, uso de fuentes que resultan difíciles de leer o elección de colores que confunden a los usuarios.

Lo habitual es que en el momento de la ejecución del programa, los lenguajes organicen y tipifiquen los bugs para que el programador los resuelva. También existen softwares específicos para advertir y solucionar los bugs. Los debuggers o depuradores, analizan el código del programa y lo depuran borrando cada error que detecte.

Entonces, ya sabes que aunque no consigas insectos viviendo en el interior de tu PC , si puedes tener molestos "bugs" en el sistema impidiendo el correcto funcionamiento del mismo.

Redacción Lissett Flores para Strapp International 2019.

# data[].attributes.attachment_link.description
Todos hemos escuchado el término "bug" para referirse a un error de software, un fallo en el programa del computador o en el sistema que desencadena un resultado indeseado. Seguro te has preguntado ¿por qué le denominan a esto bug o bicho?

# data[].attributes.attachment_link.title
Bugs y Errores en Programación Irreparables | Vida de Programador

# data[].attributes.attachment_link.readable_text
Los programadores informáticos escriben programas computacionales que dan instrucciones a un ordenador para que realice las tareas necesarias para almacenar la información introducida por los usuarios. Este trabajo permite, por ejemplo, controlar las acciones de la empresa, hacer cálculos salariales o mantener registros de personal.

Los programadores pueden escribir nuevos programas o adaptar programas ya existentes. Por ejemplo, pueden alterar paquetes informáticos estándar para satisfacer las necesidades de una empresa en particular, o bien pueden trabajar en un programa o en una serie de programas específicos. Muchos programadores trabajan en aplicaciones web.

Cada vez es más común que un programador analista o creador de software sea responsable de todo el proceso de análisis de las necesidades, la adecuación y el diseño de un sistema, así como la escritura y el desarrollo de los programas. Por esta razón, cada vez hay menos personas que sean exclusivamente responsables de la programación de aplicaciones.

Los programadores informáticos que trabajan para una empresa grande pueden ser responsables del mantenimiento y actualización de uno o más programas. Para ello, deben resolver los problemas de los usuarios y adaptar el programa para que sea capaz de integrar cualquier cambio en la forma de trabajar.

Al escribir una aplicación de nuevo programa, los programadores pueden seguir una especificación proporcionada por un analista de negocios. La especificación describe lo que el programa debe hacer, y puede ser muy precisa, en cuyo caso el programador tiene que seguirla con exactitud, o bien puede que deba trabajar sin especificaciones, de forma que podrá ser muy flexible y, por lo tanto, más creativo.

Cada especificación muestra una serie de pasos, que el programador traduce en un lenguaje informático. Una vez desarrollado un nuevo programa, el programador tiene que estudiar su funcionamiento con detalle y probarlo usando datos de la muestra antes de presentarlo al usuario final.

Los programadores deben seguir unos pasos muy lógicos para construir el programa, y tomar notas claras y precisas de estos, para que otros programadores puedan adaptar el programa más adelante.

Los programadores a menudo trabajan en equipo, en el que cada persona contribuye en una parte del proceso de creación del programa o conjunto de programas. Pueden trabajar en estrecha colaboración con directores de proyectos, analizadores de software, diseñadores gráficos y administradores de bases de datos, por ejemplo.

# data[].attributes.attachment_link.description
Los programadores desarrollan los pasos lógicos necesarios para crear un programa, lo prueban y almacenan los registros de forma segura, para poder adaptar los programas en el momento que se necesite.

# data[].attributes.attachment_link.title
Qué es un programa en informática | Curso de Informática básica

# data[].attributes.attachment_link.title
Qué es un Tester de Software y cuáles son sus tareas | OpenWebinars

# data[].attributes.attachment_link.description
¿Quieres saber cuáles son las responsabilidades de un tester de software? Te las detallamos aquí, además de los roles que existen en un equipo de pruebas.

# data[].attributes.attachment_link.title
Informática básica en las oposiciones de la AGE: Test de repaso

# data[].attributes.attachment_link.readable_text
UNIR Revista

En UNIR te explicamos en qué consiste el pensamiento computacional, cuáles son sus ventajas y de qué forma podemos sacarle partido en el aula.

Una de las definiciones más conocidas de este concepto la formuló la primera persona en acuñar el término, la ingeniera estadounidense Jeannette Wing. En UNIR te explicamos en qué consiste el pensamiento computacional, cuáles son sus ventajas y de qué forma podemos sacarle partido en el aula.

El pensamiento computacional es "el proceso de pensamiento que interviene en la formulación de los problemas y sus soluciones, de manera que las soluciones se representen de forma que pueda ser realizada por un procesador de información" (Cuny, Snyder y Wing, 2010).

Wing acuñó el concepto en 2006 y su visión del aporte que la ciencia informática podía hacer ha dado pie a más de una década de investigaciones -no solo para ese sector, sino para el desarrollo del conocimiento humano. Investigaciones centradas en trasladar el sistema de pensamiento que utilizaría un científico informático a la resolución de un problema: aplicar procesos de pensamiento lógico, sistémico, algorítmico... para lograr representar las soluciones a un problema como secuencias de instrucciones y algoritmos.

Su premisa consiste en la capacidad de utilizar el pensamiento abstracto, de simplificar los elementos de un problema, para identificar los aspectos relevantes y desarrollar un modelo, una secuencia de procesos, que ofrezcan una solución y que esa solución pueda ser ejecutada por un sistema informático. En definitiva, desarrollar una solución y descomponerla en los parámetros adecuados para dar forma a esa idea con tecnología.

Otra definición ampliamente aceptada de pensamiento computacional afirma que es un "proceso por el cual se reconocen aspectos de la informática en el mundo que nos rodea y aplicar herramientas y técnicas de la informática para comprender sistemas y procesos naturales y artificiales" ( Royal Society, 2012).

Como la propia Wing explicaba hace ya una década, "el pensamiento computacional puede ser aplicado a la vida diaria", ya que "permite adaptar la computación a tus necesidades". Esta manera de pensar ha llevado al desarrollo de infinidad de programas informáticos que ofrecen soluciones simples a necesidades cotidianas. Por ejemplo, desarrollar una aplicación que permite realizar cobros con tarjeta en un teléfono móvil, de gran utilidad para pequeños comercios o servicios de transporte.

Según su punto de vista es, además, trasladable y de gran relevancia al ámbito educativo. Es un proceso que compone un círculo virtuoso: la tecnología no sólo permite impulsar el aprendizaje de los alumnos, sino fomentar su interés y conocimiento en áreas que son y serán clave para la economía: ciencia, tecnología, ingeniería, matemáticas e informática.

Las claves del pensamiento computacional

El pensamiento computacional se entiende como una batería de herramientas mentales que todas las personas pueden trabajar y desarrollar con el objetivo de resolver problemas aplicando las nociones fundamentales de la informática. Esto hace que las personas sean capaces de:

Entender y evaluar qué aspectos de un problema son abordables a través de técnicas de ciencia informática y solucionables con tecnología.

Aplicar o adaptar una herramienta tecnológica para un uso distinto al original.

Más allá, el pensamiento computacional permite a los distintos profesionales de ámbitos científicos y tecnológicos:

Aplicar métodos informáticos a la resolución de sus problemas.

Reformular los problemas bajo el prisma de la informática para desarrollar una estrategia apoyada en la tecnología.

Analizar, organizar y representar la información de forma abstracta y construir modelos que ofrezcan una combinación eficiente de recursos.

Reformular procesos de resolución para que sean aplicables a problemas distintos del original.

¿Qué ventajas tiene el pensamiento computacional para los niños?

El objetivo de la inclusión del pensamiento computacional en los currículos escolares es impulsar el aprendizaje para formar a los más jóvenes en las competencias que les hagan pasar de consumidores a productores de tecnología.

La introducción en el aula de actividades que fomenten el pensamiento computacional ofrece una serie de ventajas para el aprendizaje de los alumnos:

Estimular la creatividad.

Trabajar la capacidad de razonamiento y de pensamiento crítico.

Desarrollar y reforzar las habilidades numéricas y lingüísticas.

Fomentar los dotes de liderazgo y el trabajo en equipo.

En definitiva, el trabajo con el pensamiento computacional desde el colegio estimula la innovación y supone una inversión a largo plazo para la estructura económica y social de un país, ya que permite poner los cimientos de nuevas generaciones de creadores digitales que contarán con las herramientas y capacidades necesarias para responder en entornos cambiantes, gestionar situaciones complejas y configurar soluciones interdisciplinares.

Fomentar el pensamiento computacional en el aula

Al contrario de lo que puede parecer, introducir el pensamiento computacional en el aula no implica obligatoriamente el uso de dispositivos como un ordenador. El pensamiento computacional es una habilidad cognitiva que permite a los niños desarrollar su capacidad para formular, representar y resolver problemas a través de herramientas y conceptos que se utilizan en informática, pero para el desarrollo de esta capacidad los maestros y profesores pueden apoyarse en actividades y herramientas tanto online como offline.

El primer paso para el desarrollo del pensamiento computacional requerirá que los docentes trabajen con los alumnos actitudes como:

La persistencia ante problemas difíciles de solucionar.

La confianza a la hora de manejar situaciones complicadas.

La tolerancia a la ambigüedad.

La capacidad para enfrentar un problema no estructurado, y ser capaz de ver sus partes y ordenarlo.

El estímulo del trabajo comunicativo y en equipo.

La programación es una de las actividades o herramientas que ayudan a desarrollar el pensamiento computacional. Introducir actividades para aprender programación, como puede ser la robótica educativa, desde las primeras etapas escolares supone un gran estímulo, pero no es la única vía para trabajar el pensamiento computacional en el aula.

La alternativa son las actividades "desenchufadas", es decir, las que no requieren un ordenador o dispositivo electrónico para su desarrollo. Estas permiten, muchas veces a través del juego, que los estudiantes se familiaricen con conceptos propios de la informática y trabajen técnicas de resolución de problemas.

Muchas de estas actividades "desenchufadas" son juegos tradicionales como los puzles o los de construcción tipo Lego, pero todo tipo de material escolar (lápices de colores, cartulinas, tarjetas...) está al servicio del diseño de actividades para el desarrollo de estas competencias en función de su nivel académico.

La introducción en el aula de actividades que ayuden a fomentar el pensamiento computacional es una tendencia al alza a nivel europeo y mundial. El desafío está en contar con profesionales docentes capaces de diseñar y poner en práctica ejercicios y proyectos en los que los alumnos disfruten y aprendan a desarrollar estas habilidades, las cuales serán de gran utilidad tanto para su vida adulta como para la carrera profesional que elijan.

En UNIR abordamos en qué consiste el aprendizaje adaptativo, sus principales ventajas y algunas técnicas para aplicarlo en el aula.

Durante el aprendizaje infantil, pueden surgir distintas dificultades en la lectoescritura. En UNIR las abordamos y vemos cómo trabajarlas en clase.

En UNIR profundizamos en qué consiste el POAP o Plan de Orientación Académica y Profesional y cuál es su importancia dentro de un centro educativo.

# data[].attributes.attachment_link.title
Pensamiento computacional: qué es y cómo llevarlo al aula

# data[].attributes.attachment_link.description
En UNIR te explicamos en qué consiste el pensamiento computacional, cuáles son sus ventajas y de qué forma podemos sacarle partido en el aula.

# data[].attributes.attachment_link.title
Pensamiento Computacional (90) - Cátedra: Camejo: Presentación de la materia

# data[].attributes.attachment_link.title
¿Qué es la abstracción en la programación?

# data[].attributes.attachment_link.title
Como descomponer una cifra introducida por el usuario en los dígitos o cifras que lo componen y sumarlos en python?

# data[].attributes.attachment_link.description
Supongamos que el usuario coloca un valor de 4 cifras, ejemplo: 2134, como descompongo ese valor para poder sumar el 2+1+3+4?
Intente hacerlo por mi cuenta e investigar, pero soy novato aun y neces…

# data[].attributes.attachment_link.title
Algoritmo en Informática - Concepto, partes, tipos y ejemplos

# data[].attributes.attachment_link.description
Algoritmo ✓ Te explicamos qué es un algoritmo informático y para qué sirve. Características y partes de un algoritmo. Ejemplos prácticos…

# data[].attributes.attachment_link.title
🤓 ¿QUÉ es un ALGORITMO en informática? [Diccionario del PROGRAMADOR]

# data[].attributes.attachment_link.readable_text
¿Qué es el almacenamiento de datos?

El almacenamiento de datos son medios magnéticos, ópticos o mecánicos que registran y preservan información digital para operaciones en curso o futuras.

Definición del almacenamiento de datos

Hay dos tipos de información digital: datos de entrada y de salida. Los usuarios proporcionan los datos de entrada. Los ordenadores proporcionan datos de salida. Pero la CPU de un ordenador, no puede calcular nada ni producir datos de salida sin la entrada del usuario.

Los usuarios pueden introducir los datos de entrada directamente en un ordenador. Pronto se descubrió que el introducir datos continuamente, de forma manual, era prohibitivo en términos de tiempo y energía. Una solución a corto plazo es la memoria del ordenador, también conocida como memoria de acceso aleatorio, RAM. Pero su capacidad de almacenamiento y retención son limitadas. La memoria solo-lectura, ROM, consiste, como su nombre indica, en datos que sólo se pueden leer pero no necesariamente editar. Ellas controlan la funcionalidad básica de un ordenador.

Aunque se han realizado avances en la memoria de los ordenadores, con RAM dinámica (DRAM) y DRAM síncrona (SDRAM), todavía están limitados por el coste, el espacio y la retención de memoria. Cuando un ordenador se apaga, también lo hace la capacidad de la RAM para retener datos. ¿La solución? El almacenamiento de datos.

Con espacio de almacenamiento de datos, los usuarios pueden guardar datos en un dispositivo. Y si el ordenador se apaga, los datos se conservan. En lugar de ingresar datos manualmente en un ordenador, los usuarios pueden indicarle a éste que extraiga datos de los dispositivos de almacenamiento. Los ordenadores pueden leer datos de entrada de varias fuentes, según sea necesario, y luego crear y guardar la salida, en las mismas fuentes o en otras ubicaciones. Los usuarios también pueden compartir el almacenamiento de datos con otras personas.

Hoy en día, las organizaciones y los usuarios requieren almacenamiento de datos que satisfagan las necesidades computacionales de alto nivel actuales, como proyectos de big data, inteligencia artificial (IA), aprendizaje automático e Internet de las cosas (IoT). Por otro lado, requerir grandes cantidades de almacenamiento de datos hace necesario protegerlos contra la pérdida debido a desastres, fallos o fraudes. Así, para evitar la pérdida de datos, las organizaciones pueden utilizar soluciones como la copia de seguridad.

Cómo funciona el almacenamiento de datos
En términos simples, los ordenadores o terminales modernos se conectan a dispositivos de almacenamiento, ya sea directamente o a través de una red. Los usuarios indican a los ordenadores que accedan a los datos y los almacenen en estos dispositivos de almacenamiento. A un nivel básico, los pilares básicos del almacenamiento de datos son dos: la forma que toman los datos y los dispositivos en los que se registran y almacenan.

Dispositivos de almacenamiento de datos

Para almacenar datos, independientemente de su forma, los usuarios necesitan dispositivos de almacenamiento. Los dispositivos de almacenamiento de datos se dividen en dos categorías principales: almacenamiento de conexión directa y almacenamiento en red.

El almacenamiento de conexión directa o DAS, funciona como su propio nombre indica. Este almacenamiento suele estar en una zona cercana y directamente conectado a la máquina que accede a él, que a menudo es la única máquina conectada. DAS también proporciona servicios de copia de seguridad locales , pero el uso compartido es limitado. Los dispositivos DAS incluyen disquetes, discos ópticos como los discos compactos (CD) y los discos de video digital (DVD), unidades de disco duro (HDD), unidades flash y unidades de estado sólido (SSD).

El almacenamiento en red permite que más de un ordenador acceda a él a través de una red, lo que es mejor para compartir datos y colaborar. Su capacidad de almacenamiento externo también lo hace más adecuado para copias de seguridad y protección de datos. Dos configuraciones comunes de almacenamiento basadas en red, son el almacenamiento conectado a la red (NAS) y la red de área de almacenamiento (SAN).

NAS suele tratarse de un dispositivo único, compuesto por contenedores de almacenamiento redundantes o una matriz redundante de discos independientes (RAID). El almacenamiento SAN puede ser una red de varios dispositivos de diferentes tipos, incluido el almacenamiento SSD y flash, el almacenamiento híbrido, el almacenamiento en el cloud híbrido, el software y los dispositivos de copia de seguridad y el almacenamiento en el cloud. Así es como se diferencian NAS y SAN:

NAS

Dispositivo de almacenamiento único o RAI

Sistema de almacenamiento de archivos

Red Ethernet TCP/IP

Usuarios limitados

Límite de velocidad

Opciones de expansión limitadas

Menor coste y fácil configuración

SAN

Red de múltiples dispositivos

Sistema de almacenamiento en bloque

Red de canal de fibra

Optimizado para múltiples usuarios

Rendimiento más rápido

Altamente expandible

Mayor coste y configuración compleja

Tipos de dispositivos de almacenamiento

Almacenamiento SSD y flash
El almacenamiento flash, es una tecnología de estado sólido que utiliza chips de memoria flash para escribir y almacenar datos. Una unidad flash de disco de estado sólido (SSD) almacena datos mediante la memoria flash. En comparación con los HDD, un sistema de estado sólido no tiene partes móviles y, por lo tanto, tiene menos latencia, por lo que se necesitan menos SSD. Dado que la mayoría de los SSD modernos están basados en flash, el almacenamiento flash es sinónimo de un sistema de estado sólido.

Formas de almacenamiento de datos
Los datos se pueden registrar y almacenar de tres formas principales: En archivos, en bloques y en objetos.

Almacenamiento en archivos
El llamado almacenamiento a nivel de archivo o basado en archivos, es una metodología de almacenamiento jerárquica que se utiliza para organizar y almacenar datos. En otras palabras, los datos se almacenan en archivos, los archivos se organizan en carpetas y las carpetas se organizan bajo una jerarquía de directorios y subdirectorios.
Descubra el almacenamiento en archivos

Almacenamiento en bloques
A veces denominado "almacenamiento a nivel de bloque", es una tecnología que se utiliza para almacenar datos en bloques. Luego, estos bloques se almacenan como piezas separadas, cada una con su identificador único. Los desarrolladores prefieren el almacenamiento en bloques para situaciones que requieren una transferencia de datos rápida, eficiente y fiable.
Descubra el almacenamiento en bloques

Almacenamiento en objetos
A menudo denominado "almacenamiento basado en objetos", es una arquitectura de almacenamiento de datos para manejar grandes cantidades de datos no estructurados. Estos datos no se pueden organizar fácilmente en una base de datos relacional, tradicional con filas y columnas. Algunos ejemplos: correo electrónico, vídeos, fotos, páginas web, archivos de audio, datos de sensores, y otros tipos de medios y contenido web, textual o no textual.
Descubra el almacenamiento en objetos

Almacenamiento de datos para empresas
La memoria del ordenador y el almacenamiento local pueden no ofrecer suficiente almacenamiento, protección, acceso a múltiples usuarios, velocidad y rendimiento para las aplicaciones empresariales. Así, la mayoría de las organizaciones emplean algún tipo de SAN además de un sistema de almacenamiento NAS.

SAN
La red detrás de los servidores, una SAN es una red especializada de alta velocidad que conecta servidores y dispositivos de almacenamiento. Es una infraestructura de comunicación que proporciona conexiones físicas, permitiendo que cualquier dispositivo pueda hacer un puente a través de la red, utilizando elementos interconectados, como conmutadores y directores. La SAN también puede verse como una extensión del concepto de bus de almacenamiento. Esto permite que los dispositivos de almacenamiento y los servidores se interconecten mediante el uso de elementos similares, como las redes de área local (LAN) y las redes de área amplia (WAN). Una SAN también incluye una capa de gestión que organiza las conexiones, los elementos de almacenamiento y los sistemas informáticos. Esta capa garantiza transferencias de datos seguras y sólidas.

Tradicionalmente, sólo se podía conectar un número limitado de dispositivos de almacenamiento a un servidor. En cambio, una SAN introduce la flexibilidad en la red, permitiendo que un servidor o muchos servidores heterogéneos en múltiples centros de datos, compartan una unidad de almacenamiento común. La SAN también elimina la conexión tradicional entre un servidor y el almacenamiento, y el concepto de que el servidor posee y administra de manera efectiva los dispositivos de almacenamiento. Por lo tanto, una red puede incluir muchos dispositivos de almacenamiento, incluidos discos, cintas magnéticas y almacenamiento óptico. Además, la unidad de almacenamiento puede estar ubicada lejos de los servidores que utiliza.

Componentes SAN
La infraestructura de almacenamiento es la base sobre la que se apoya la información. Por lo tanto, la infraestructura de almacenamiento debe respaldar los objetivos comerciales y el modelo comercial de la empresa. Una infraestructura SAN proporciona disponibilidad de red mejorada, accesibilidad de datos y capacidad de administración del sistema. En este entorno, no basta con implementar más dispositivos de almacenamiento más rápidos. Una buena SAN comienza con un buen diseño.

Los componentes centrales de una SAN son el canal de fibra, servidores, dispositivos de almacenamiento, y hardware y software de red.

Lo último en almacenamiento de datos

Tenga los últimos conocimientos, noticias y actualizaciones técnicas del blog Servidores y almacenamiento. Conozca las últimas mejoras y soluciones en almacenamiento de protección de datos, o cómo las soluciones y la tecnología de almacenamiento de datos en cinta, ayuda a los clientes con el coste de almacenamiento y los retos de la protección de datos.

Centro de formación y aprendizaje sobre almacenamiento

Encuentre formación específica sobre almacenamiento en el Centro de Formación de IBM. Conozca las novedades de almacenamiento, comience un proceso de aprendizaje o explore por su cuenta. Lea más artículos sobre almacenamiento.

¿Qué es el almacenamiento flash?

Descubra qué es el almacenamiento flash y los principales tipos de almacenamiento que se utilizan en las empresas. Lea los casos de uso y cómo el almacenamiento flash satisface las demandas comerciales. Además, revise su historia y las próximas tendencias.

Comunidad de almacenamiento en línea

Lea las últimas conversaciones en la comunidad de almacenamiento de IBM. Los debates más recientes, los últimos blogs y los últimos archivos relacionados con el almacenamiento de datos. Reúnase, comparta, debata y aprenda como miembro de la comunidad.

# data[].attributes.attachment_link.title
¿Qué es el almacenamiento de datos? | IBM

# data[].attributes.attachment_link.description
Definimos el almacenamiento de datos, por qué es importante y cómo funciona en el ámbito empresarial.

# data[].attributes.attachment_link.title
Dispositivos de almacenamiento (definición, características y tipos)

# data[].attributes.attachment_link.readable_text
Si no eres ni programador ni diseñador web, probablemente nunca te hayas planteado qué hay detrás de los programas y de las páginas web que utilizas a diario. Estos se basan en parte en instrucciones largas y muy complejas que se le dan al ordenador. Al texto que incluye todos los comandos se le denomina código fuente, texto fuente o source code en inglés. Basándose en un determinado lenguaje de programación, los programadores establecen todas las normas para las aplicaciones ejecutables por ordenador. Si el autor inserta un error imperceptible en su trabajo y este contraviene las normas del lenguaje de programación, el programa no funciona o se bloquea al realizar determinados procesos.

Por código fuente se entiende todo texto legible por un ser humano y redactado en un lenguaje de programación determinado. El objetivo del código fuente es crear normas y disposiciones claras para el ordenador y que este sea capaz de traducirlas a su propio lenguaje. De este modo, el texto fuente es la base de los programas y de las páginas web.

¿Qué es el código fuente?

Los ordenadores, ya sean PC domésticos, modernos móviles u ordenadores para la industria o la ciencia, trabajan con un sistema binario: encendido/apagado, cargado/no cargado, 1/0. Una secuencia de estados (bits) indica al ordenador lo que tiene que hacer. Mientras que en los comienzos de la tecnología informática se creaban comandos con estas dos condiciones, hace tiempo que se ha pasado a escribir aplicaciones en un lenguaje de programación legible por los humanos. Esto puede sonar un poco raro a priori, pues para los profanos en la materia un código fuente es más un galimatías que otra cosa.

En este contexto, "legible por los humanos" es antónimo de " legible por las máquinas ". Mientras que los ordenadores solo trabajan con valores numéricos, las personas utilizamos palabras para comunicarnos. Al igual que las lenguas extranjeras, los lenguajes de programación también tienen que aprenderse antes de utilizarse.

Diversos lenguajes de programación

Hay cientos de lenguajes de programación diferentes y no se puede decir per se que unos sean mejores que otros, pues esto depende del contexto del proyecto y de la aplicación para la que se use el código fuente. Entre los lenguajes de programación más conocidos se encuentran:

BASIC

Java

C

C++

Pascal

Python

PHP

JavaScript

Para que los ordenadores puedan comprenderlos, estos deben traducirse al código de máquina.

Compilador e intérprete

Para que los ordenadores puedan procesar el texto fuente creado por los programadores tiene que haber un traductor entre ambos en forma de programa adicional. Esta aplicación auxiliar puede presentarse como compilador o como intérprete:

Intérprete: un intérprete traduce el código fuente línea a línea y lo ejecuta directamente. El proceso de traducción funciona mucho más rápido que en un compilador, pero la ejecución es más lenta y se necesita una gran cantidad de memoria.

Con todo, la elección de uno u otro no es libre, pues es el el lenguaje de programación el que determina si debe utilizarse un compilador o un intérprete, aunque hoy en día cada vez es más frecuente recurrir a una solución provisional: just-in-time ( JIT) compilation, en españolcompilación en tiempo de ejecución. Este tipo de traducción intenta combinar las ventajas de ambos programas (análisis y ejecución rápidos) y se emplea, por ejemplo, en los navegadores para gestionar JavaScript, PHP o Java más eficazmente.

Lenguajes de marcado

El texto fuente también es el término utilizado para definir la estructura básica de una página web. Sin embargo, esta no se basa en un lenguaje de programación, sino en el lenguaje de marcado HTML. Un lenguaje de marcado establece la manera en que se estructuran los contenidos. Así, por ejemplo, HTML permite definir encabezados, párrafos o resaltes. Un documento HTML no es en sí un programa, pero puede incluir alguno en forma de código JavaScript, lo que también se aplica a otros lenguajes de marcado como XML.

Estructura del texto fuente

Al escribir programas hay que cumplir determinadas convenciones independientemente del lenguaje de programación que se emplee. Muy pocos lenguajes se crean de la nada, sino que la mayoría se desarrolla a partir de los otros, de ahí que haya determinados elementos que aparecen reiteradamente en diferentes códigos de programación:

Comentarios: todos los lenguajes de programación actuales permiten comentar líneas dentro del código, con lo que es posible escribir texto en el código fuente que el programa no tiene en cuenta. El autor puede así introducir comentarios en el texto fuente para que él mismo u otro desarrollador puedan entender en el futuro las diferentes partes del código.

La creación de código fuente siempre está ligada a un problema. Los desarrolladores escriben programas para ofrecer soluciones, pero no se establece cuál es el camino para ello. Cuando dos programadores se ocupan del mismo problema, puede ocurrir que ambos textos fuente difieran significativamente entre sí, incluso a pesar de que se trabaje con el mismo lenguaje.

A pesar de que en muchos casos no hay una solución única, todas las tareas de programación tienen algo en común: un buen texto fuente debe prescindir de código innecesario, pues este hace que el programa sea más complejo, lento y propenso a errores. El código fuente poco claro que ni siquiera los profesionales pueden comprender se denomina código espagueti, pues su estructura es tan confusa como un montón de espaguetis en un plato.

Creación del código fuente

Para escribir un texto fuente solo se necesita un editor de textos simple, como Editor (cuyo nombre original es Notepad) en Windows o TextEdit en Mac. El código fuente se guarda como texto sin formato (por ejemplo en código ASCII o como UTF-8) a partir de la extensión del nombre de archivo correcto para el lenguaje de programación. Si encuentras un archivo con la terminación ".cpp" en tu disco duro, se trata de un archivo de texto que contiene código en el lenguaje de programación C++.

Las extensiones de archivo son convenciones. El sufijo que normalmente se separa por un punto y se agrega al nombre del archivo debe mostrar el formato que tiene el archivo. Windows reconoce la extensión del archivo -siempre que esta sea conocida- y el programa con el que se debe ejecutar el archivo correspondiente. Otros sistemas operativos basados en Unix (p. ej., macOS) también tienen en cuenta el contenido del archivo para determinar el formato.

Editor de texto

Además de los programas estándares de los sistemas operativos, también hay editores de texto mejorados que facilitan el trabajo con código fuente con diversas funciones:

Edición multilínea: escribir código fuente a mano puede ser una tarea muy costosa, de ahí que los programadores se alegren cuando pueden realizar la mayor cantidad de pasos posible simultáneamente. Mediante la edición multilínea se realizan las mismas modificaciones en varias partes del documento, lo que ahorra tiempo.

Entorno de desarrollo integrado (IDE)

Los proyectos de mayor envergadura pueden desarrollarse con programas especiales. Los entornos de desarrollo integrados engloban diversas herramientas (de ahí el calificativo "integrado") necesarias para los desarrolladores y así aceleran el flujo de trabajo. Otra ventaja de los IDE (Integrated Development Environment) es que las herramientas integradas se comunican entre sí de forma continua y realizan cambios de manera sincrónica. Entre estas herramientas se encuentran:

Editores de texto: el editor de texto también es el núcleo de los entornos de desarrollo. Aunque existen algunos lenguajes de programación visuales que funcionan mediante la colocación de elementos gráficos, la mayoría de aplicaciones se escribe a través de un texto fuente clásico. Los editores de texto que forman parte de un IDE tienen funciones similares a las de los editores usados fuera de un entorno de programación.

Compiladores/intérpretes: los IDE también comprenden compiladores y/o intérpretes. Así, los programadores pueden ejecutar su código directamente desde el entorno.

Depuradores: el empleo de un depurador es imprescindible para realizar trabajos de programación decentes, por lo que esta herramienta también es un componente habitual de los entornos de desarrollo integrados. Con esta herramienta se puede examinar el código fuente en busca de errores (bugs) interrumpiendo el desarrollo del programa con puntos de parada y analizando los procesos ya ejecutados.

Enlazadores: para finalizar un proceso de compilación deben combinarse diferentes elementos. Un enlazador es un programa que realiza esta tarea y genera un archivo ejecutable.

Gestión de las versiones: esta herramienta protocoliza todos los cambios realizados en el texto fuente y puede restablecer versiones más antiguas del código, con lo que se evita poner en peligro todo el proyecto al cometer un error por descuido. Controlar las versiones también es imprescindible cuando varios desarrolladores colaboran en un mismo proyecto.

Constructores de GUI (interfaz gráfica de usuario): la interfaz gráfica de usuario (GUI) forma parte de muchas aplicaciones y también debe estar definida por medio del código fuente. Un constructor de GUI respalda a los desarrolladores al diseñar la interfaz y a menudo se pueden ordenar los elementos gráficos por drag and drop en un editor WYSIWYG. El constructor de GUI lo traduce dentro de un IDE en funciones del lenguaje de programación.

Algunos de los ejemplos más comunes para entornos de desarrollo integrados son la plataforma de software de Eclipse, de código abierto, o el producto de Microsoft Visual Studio.

Texto fuente de páginas web

Al hablar de la estructura básica de las páginas web también se puede hablar generalmente de código fuente, incluso cuando se trata de un documento y no de un programa. Las páginas web se escriben en el lenguaje de marcado HTML, pero no es raro que estas también contengan elementos redactados en lenguajes de programación como JavaScript. Ambos tipos de lenguaje tienen en común que se pueden escribir en editores de texto, por lo que las páginas web también pueden redactarse completamente con Editor o TextEdit.

Incluso si no eres un diseñador web, puede que te resulte interesante analizar el código fuente de una página web para, por ejemplo, identificar elementos defectuosos. Los navegadores actuales ofrecen diversas posibilidades para examinar el texto fuente de las páginas web y, aunque estas tengan otras denominaciones, puedes encontrar las mismas funciones en Mozilla Firefox, Internet Explorer (o Microsoft Edge) y en el navegador Chrome de Google.

Una variante para hacer visible el código fuente de una página web es guardándola como archivo HTML haciendo clic con el botón derecho del ratón o desde el menú. En este sentido es importante que te decidas únicamente por "solo HTML" como tipo de archivo (si guardas la versión completa de la página esta se mostrará tal y como aparece en el navegador, incluidas las imágenes, pero sin que se visualicen las etiquetas HTML). A continuación puedes abrir el archivo con un editor de texto. Es probable que los editores sencillos que proporciona el sistema operativo presenten el código de un modo muy confuso. Sin embargo, los editores de texto con una funcionalidad más amplia permiten mostrar el código fuente de un modo más legible.

Pero también puedes ver el código fuente de una página web sin necesidad de guardarla. Para ello, los navegadores modernos te ofrecen dos métodos: o bien se visualiza el código HTML de toda la página web o una herramienta de análisis que ayuda a inspeccionar el código. La primera variante se diferencia mínimamente de la presentación de los archivos descargados y en este caso se abre una nueva pestaña o una nueva página que presenta el texto fuente estructurado mediante números de línea.

La segunda variante resulta más interesante y ofrece más funciones: la herramienta de análisis se encuentra en el menú en el apartado "Inspeccionar" (Chrome) o "Inspeccionar elemento" (Internet Explorer y Firefox). A continuación se abre un campo en la ventana en el cual también puedes (además de realizar otras funciones) visualizar el código fuente. La diferencia con las otras variantes es que esta herramienta de desarrollo permite marcar directamente los elementos correspondientes en la página web moviendo el cursor por el texto fuente. Esto significa que la herramienta te muestra la línea de código a la que se hace referencia, método que también utilizan los profesionales del diseño web para, por ejemplo, revisar la presentación de sus páginas web.

Puedes abrir la función de "Inspeccionar" de muchas maneras. Además de acceder mediante el menú de contexto haciendo clic con el botón derecho del ratón, esto también funciona en los navegadores más usuales presionando la tecla F12.

Derechos de autor para el código fuente

Tras el texto fuente de un programa se esconde una gran cantidad de trabajo y mucha energía creativa, de ahí que esté protegido por los derechos de autor. Como en cualquier otro tipo de propiedad intelectual, no está permitido difundir o plagiar el código de un tercero sin autorización, lo que se aplica sobre todo al llamado software propietario.

La situación es distinta en los programas de código abierto. En el ámbito del desarrollo de software hay una escena open source muy activa en la que el código se maneja con mucha más libertad. El sentido de esta cultura abierta entre los desarrolladores es el de trabajar conjuntamente en proyectos y así desarrollar software y mejorarlo a largo plazo. En GitHub, SourceForge u otras plataformas similares, los desarrolladores ponen código fuente, en gran medida de forma gratuita, a disposición de otros programadores. No obstante, los desarrolladores de programas open source deben ceñirse generalmente a determinadas limitaciones como, por ejemplo, citar al autor y la licencia cuando se quiere utilizar el código.

Artículos similares

¡No te vayas! ¡Tenemos algo para ti!
Consigue tu dominio .es un año gratis.

Introduce el dominio que deseas en la barra de búsqueda para comprobar su disponibilidad.

12 meses desde 0€/año IVA incl.

después 10 €/año IVA incl.

# data[].attributes.attachment_link.title
El código fuente: ¿qué es y cómo se escribe?

# data[].attributes.attachment_link.description
Si no eres ni programador ni diseñador web, probablemente nunca te hayas planteado qué hay detrás de los programas y de las páginas web que utilizas a diario. Estos se basan en parte en instrucciones largas y muy complejas que se le dan al ordenador.