Miguel Ángel Ibáñez Gómez - maiges_ps@hotmail.com

Atribución-No Comercial (CC BY-NC) Cc-by new.svg Cc-nc.svg

Translate

Translate

domingo, 19 de diciembre de 2021

(II) EL Estado, los algoritmos y el lenguaje.

 

(II) EL Estado, los algoritmos y el lenguaje.

El lenguaje, inconsecuente/”no lógico”, origen de la toxicidad social.

 

La similitud entre la configuración y el diseño de “cerebros electrónicos” (que pasarían a llamarse computadores/ordenadores) con el propio cerebro/mente humanos, muestra la importancia del lenguaje, por medio del cual se hace posible introducir “datos” y cómo queremos que los procesen/ordenen (por medio de algoritmos) los sistemas de computación que están constituidos por elementos físicos (hardware) desde los que se introduce/accede/recoge el sistema datos/información y (software) que es su parte intangible (formada por programas, datos, información, documentación..).   

 “El Lenguaje lo es Todo” en el paralelismo entre el diseño de ordenadores y el lenguaje que emplean y el cerebro/mente humanos; cómo se desarrollaría el lenguaje informático y qué dificultades se tuvieron que superar para que estos sistemas de procesamientos de información lleguen a los niveles de prestaciones con que se muestran en nuestros días. Desde ahí podremos concebir cómo actúa el lenguaje en el ser humano desde la infancia y tal vez realizar una somera aproximación a los complejos problemas que representa recibir datos/ordenes que no se sujetan a un lenguaje coherente/lógico en la infancia y los resultados y consecuencia de ello – de manera análoga como sucediera en un sistema de computación avanzado “cuando el sistema diseñado pretende aprender de sí mismo”

El lenguaje de programación es el instrumento que permite al “programador”, desde el mundo “físico” (por medio de los elementos hardware del ordenador) acceder al “mundo intangible” del ordenador/computador (software) e introducir datos y ordenar acciones necesarias (algoritmos) para realizar un proyecto concreto – proyecto que también es concebido desde el mundo intangible de las ideas.

En la actualidad, la noción de programación se encuentra muy asociada a la creación de aplicaciones de informática y videojuegos. En este sentido, es el proceso por el cual una persona desarrolla un programa, valiéndose de una herramienta que le permita escribir el código (el cual puede estar en uno o varios lenguajes, como C++Java y Python, entre muchos otros) y de otra que sea capaz de “traducirlo” a lo que se conoce como lenguaje de máquina, que puede "comprender" el microprocesador.1

La programación de computadoras es el proceso de diseñar y construir un programa de computadora ejecutable para lograr un resultado de computación específico o para realizar una tarea en particular. La programación implica tareas como el análisis, la generación de algoritmos , la elaboración de perfiles de la precisión y el consumo de recursos de los algoritmos, y la implementación de algoritmos en un lenguaje de programación elegido (comúnmente denominado codificación ). [1] [2] El código fuente de un programa está escrito en uno o más lenguajes que son inteligibles para los programadores , en lugar de código de máquina., que es ejecutado directamente por la unidad central de procesamiento . El propósito de la programación es encontrar una secuencia de instrucciones que automatizarán el desempeño de una tarea (que puede ser tan compleja como un sistema operativo ) en una computadora , a menudo para resolver un problema dado. Por lo tanto, la programación competente generalmente requiere experiencia en varios temas diferentes, incluido el conocimiento del dominio de la aplicación , algoritmos especializados y lógica formal.

Las tareas que acompañan y están relacionadas con la programación incluyen pruebas , depuración , mantenimiento del código fuente , implementación de sistemas de compilación y administración de artefactos derivados , como el código de máquina de programas de computadora. Estos pueden considerarse parte del proceso de programación, pero a menudo el término desarrollo de software se usa para este proceso más amplio con el término programación , implementación o codificación reservado para la escritura real de código. La ingeniería de software combina técnicas de ingeniería con prácticas de desarrollo de software.La ingeniería inversa es un proceso relacionado utilizado por diseñadores, analistas y programadores para comprender y recrear / volver a implementar. [3] 

La clave en el lenguaje informático (y también del humano) se halla en el concepto “ejecutable” programa de computadora ejecutable  cuya ejecutabilidad dependerá del lenguaje empleado para introducir los datos en el sistema y lenguaje de programación elegido que es implementado con algoritmos; todo ello común mente denominado codificación. En informática.

 

En informática, un ejecutable o archivo ejecutable, es tradicionalmente un archivo binario, cuyo contenido se interpreta por el ordenador como un programa.1

Generalmente, contiene instrucciones en código máquina de un procesador en concreto, pero también puede contener bytecode que requiera un intérprete para ejecutarlo. Además, suele contener llamadas a funciones específicas de un sistema operativo (llamadas al sistema).

Para que el sistema lo ejecute (como un sistema operativo, firmware o cargador de arranque ), un archivo ejecutable debe ajustarse a la interfaz binaria de aplicación (ABI) del sistema[6] En interfaces simples, un archivo se ejecuta cargándolo en la memoria y saltando al inicio del espacio de direcciones y ejecutándolo desde allí. En interfaces más complicadas, los archivos ejecutables tienen metadatos adicionales que especifican un punto de entrada separado . Por ejemplo, en ELF, el punto de entrada se especifica en el e_entrycampo del encabezado , que especifica la dirección de memoria (virtual) en la que comenzar la ejecución. En GCC ( colección de compiladores GNU ) este campo lo establece el enlazador en función de la_start símbolo.

Determinar si un archivo es ejecutable es sobre todo una cuestión de convención. Unos sistemas operativos se basan en la extensión de archivo (como la terminación .exe) y otros lo hacen leyendo los metadatos (como los bits de permiso de ejecución en Unix).3

​Hay muchas maneras de entender cuando un programa no es ejecutable por un computador, aunque en principio el diseño del mismo programa se considere perfecto. Basta con que el diseño del ordenador (software) contenga errores de programación que no han sido depurados y se bloquee, o se hallen en funcionamiento varios programas que no terminan de realizar las operaciones que tienen encomendadas y consumen memoria y recursos del sistema; o simplemente  contenga un “virus” que actúa cada vez que el sistema intenta activarse.

Para que se entienda sencillamente, un Virus es información “maliciosa” que se recibe y entra en el sistema usando el lenguaje de programación y alterando y bloqueando las funciones del computador, destruyendo datos o tomando el control del sistema.

Un virus o virus informáticon. 1​ es un software que tiene por objetivo alterar el funcionamiento normal de cualquier tipo de dispositivo informático, sin el permiso o el conocimiento del usuario principalmente para lograr fines maliciosos sobre el dispositivo. Los virus, habitualmente, reemplazan archivos ejecutables por otros infectados con el código de este. Los virus pueden destruir, de manera intencionada, los datos almacenados en una computadora, aunque también existen otros más inofensivos, que solo producen molestias o imprevistos.

Los virus informáticos tienen básicamente la función de propagarse a través de un software, son muy nocivos y algunos contienen además una carga dañina (payload) con distintos objetivos, desde una simple broma hasta realizar daños importantes en los sistemas, o bloquear las redes informáticas generando tráfico inútil. El funcionamiento de un virus informático es conceptualmente simple.

Se ejecuta un programa que está infectado, en la mayoría de las ocasiones, por desconocimiento del usuario.

El código del virus queda residente (alojado) en la memoria RAM de la computadora, incluso cuando el programa que lo contenía haya terminado de ejecutar.

El virus toma entonces el control de los servicios básicos del sistema operativo, infectando, de manera posterior, archivos ejecutables que sean llamados para su ejecución. Finalmente se añade el código del virus al programa infectado y se graba en el disco, con lo cual el proceso de replicado se completa.

 

El código fuente es cualquier colección de código, con o sin comentarios , escrito utilizando un lenguaje de programación legible por humanos , generalmente como texto sin formato . El código fuente de un programa está especialmente diseñado para facilitar el trabajo de los programadores de computadoras , quienes especifican las acciones que debe realizar una computadora principalmente escribiendo el código fuente. El código fuente a menudo es transformado por un ensamblador o compilador en código de máquina binario que puede ser ejecutado por la computadora. El código de la máquina puede almacenarse para su ejecución. en otro momento. Alternativamente, el código fuente puede interpretarse y, por tanto, ejecutarse inmediatamente.

La mayor parte del software de aplicación se distribuye en una forma que incluye solo archivos ejecutables . Si se incluyera el código fuente, sería útil para un usuario , programador o administrador del sistema , cualquiera de los cuales podría desear estudiarlo para conocer y/o modificar el programa.

El código fuente es una instancia de Code . En las comunicaciones y el procesamiento de la información.

 

Ell código es un sistema de reglas para convertir información , como una letra , palabra , sonido, imagen o gesto, en otra forma, a veces abreviada o secreta , para la comunicación a través de un canal de comunicación o almacenamiento en un almacenamiento. medio . 

Un ejemplo temprano es una invención del lenguaje , que permitió a las personas, a través del habla, para comunicar lo que pensaron, vieron, escucharon o sintieron a los demás. Pero el habla está limitada en su alcance porque el medio que precisa para trasmitirse por lo que  limita la audiencia a los presentes cuando se pronuncia el discurso. 

La invención de la escritura , que convirtió el lenguaje hablado en símbolos visuales , amplió el alcance de la comunicación en el espacio y el tiempo .

La utilidad del proceso de codificación es que convierte la información de una fuente en símbolos para la comunicación o el almacenamiento; y su decodificación (que es el proceso inverso), convierte los símbolos de código en una forma que es accesible al destinatario cualquiera que sea su lengua de origen o país donde viva.

 

Si miramos a nuestro alrededor podemos verificar que la idea de código está con nosotros y nuestras sociedades de manera habitual; como el código de un semáforo. Así mismo podemos observar también que los códigos se hallan en la Naturaleza y actualmente los hemos expresados en lenguaje de código código genético o cómo también el idioma es un sistema de códigos empleado para la comunicación por medio del lenguaje/idoma que usa el habla, los gestos, los signos y la escritura idioma , e incluso las normas que nos damos para convivir e interrelacionarnos se halla codificada código de derecho .

 

Cuando decimos que “El Lenguaje lo es Todo” nos acercamos a la idea del nivel de calidad que debe tener el lenguaje para que “opere” como se espera dentro de un sistema de computación.

 

Requisitos de calidad para programación. 

Cualquiera que sea el enfoque del desarrollo, el programa final debe satisfacer algunas propiedades fundamentales. Las siguientes propiedades se encuentran entre las más importantes: [16] [17]

·  Fiabilidad : la frecuencia con la que los resultados de un programa son correctos. Esto depende de la corrección conceptual de los algoritmos y la minimización de los errores de programación, como errores en la gestión de recursos (p. Ej., Desbordamientos de búfer y condiciones de carrera ) y errores lógicos (como errores de división por cero o errores de uno por uno ).

·  Robustez : (Capacidad de un programa para anticiparse a los errores) Qué tan bien un programa anticipa problemas debido a errores (no errores). Esto incluye situaciones como datos incorrectos, inapropiados o corruptos, falta de disponibilidad de los recursos necesarios, como memoria, servicios del sistema operativo y conexiones de red, errores del usuario y cortes de energía inesperados.

·  Usabilidad : la ergonomía (Versatilidad  y polivalencia de un programa): la facilidad con la que una persona puede usar el programa para su propósito previsto o, en algunos casos, incluso para fines inesperados. Estos problemas pueden hacer o deshacer su éxito incluso independientemente de otros problemas. Esto implica una amplia gama de elementos textuales, gráficos y, a veces, de hardware que mejoran la claridad, la intuición, la cohesión y la integridad de la interfaz de usuario de un programa.

·  Portabilidad  (Transversalidad para ser usado en distintos medios o sistemas operativos diferentes): la gama de plataformas de sistema operativo y hardware informático en las que se puede compilar / interpretar y ejecutar el código fuente de un programa . Esto depende de las diferencias en las funciones de programación proporcionadas por las diferentes plataformas, incluidos los recursos de hardware y sistema operativo, el comportamiento esperado del hardware y el sistema operativo, y la disponibilidad de compiladores específicos de la plataforma (y a veces bibliotecas) para el lenguaje del código fuente.

·  Mantenibilidad : (Flexibilidad para adaptarse a cambios y personalizaciones, versatilidad) la facilidad con la que un programa puede ser modificado por sus desarrolladores actuales o futuros para realizar mejoras o personalizarlo, corregir errores y agujeros de seguridad , o adaptarlo a nuevos entornos. Las buenas prácticas [18] durante el desarrollo inicial marcan la diferencia en este sentido. Esta cualidad puede no ser directamente evidente para el usuario final, pero puede afectar significativamente el destino de un programa a largo plazo.

·  Eficiencia / rendimiento : medida de los recursos del sistema que consume un programa (tiempo de procesador, espacio de memoria, dispositivos lentos como discos, ancho de banda de red y, hasta cierto punto, incluso interacción del usuario): cuanto menos, mejor. Esto también incluye una gestión cuidadosa de los recursos, por ejemplo, la limpieza de archivos temporales y la eliminación de pérdidas de memoria . Esto a menudo se discute bajo la sombra de un lenguaje de programación elegido. Aunque el lenguaje ciertamente afecta el rendimiento, incluso los lenguajes más lentos, como Python, puede ejecutar programas instantáneamente desde una perspectiva humana. La velocidad, el uso de recursos y el rendimiento son importantes para los programas que atascan el sistema, pero el uso eficiente del tiempo del programador también es importante y está relacionado con el costo: más hardware puede ser más barato.

 

Cuando hablamos de Depurado, (limpeza) (revisado de los códigos y algoritmos introducidos en el software), como operación esencial en el desarrollo de un software establos hablando de errores de información debidos al lenguaje empleado, donde unos lenguajes son más propicios a establecer fallos.

Esta tarea de revisión del programa (el lenguaje empleado, la precisión e interpretación del mismo) suele ser realizada por el propio sistema cuando es diseñado para que “aprenda” desde los datos, algoritmos y procesos que ya tiene instalados en la memoria.

Herramientas de análisis de código estático puede ayudar a detectar algunos posibles problemas. Normalmente, el primer paso de la depuración es intentar reproducir el problema. 

Se pone como ejemplo el desarrollo de un software para el mercado que son introducidos en sistemas para diversión o actividades profesionales a realizar con el computador.

La depuración es una tarea muy importante en el proceso de desarrollo de software, ya que tener defectos en un programa puede tener consecuencias importantes para sus usuarios. Algunos lenguajes son más propensos a algunos tipos de fallas porque su especificación no requiere que los compiladores realicen tantas comprobaciones como otros lenguajes. El uso de una herramienta de análisis de código estático puede ayudar a detectar algunos posibles problemas. Normalmente, el primer paso de la depuración es intentar reproducir el problema. Esta puede ser una tarea no trivial, por ejemplo, como ocurre con los procesos paralelos o algunos errores de software inusuales. Además, el entorno de usuario específico y el historial de uso pueden dificultar la reproducción del problema.

Una vez que se reproduce el error, es posible que sea necesario simplificar la entrada del programa para facilitar la depuración. Por ejemplo, cuando un error en un compilador puede hacer que se bloquee al analizar un archivo fuente grande, una simplificación del caso de prueba que dé como resultado solo unas pocas líneas del archivo fuente original puede ser suficiente para reproducir el mismo bloqueo. Se necesita prueba y error / divide y vencerás: el programador intentará eliminar algunas partes del caso de prueba original y comprobará si el problema persiste. Al depurar el problema en una GUI, el programador puede intentar omitir alguna interacción del usuario de la descripción original del problema y comprobar si las acciones restantes son suficientes para que aparezcan errores. La creación de scripts y los puntos de interrupción también son parte de este proceso.

 

El procedimiento de revisión es similar al análisis que las personas realizamos de los datos que hemos ido adquiriendo desde la infancia y los procedimientos que hemos usados para aplicarlos y combinarlos según el conjunto de algoritmos de naturaleza familiar/social/proceso educativo que hemos tenido; y para ello empleamos las relaciones sociales (en intercambio y verificación de nuestros datos y algoritmos) y las interactuaciones en la sociedad (para verificar la compatibilidad y los resultados de la “programación” adquirida desde la infancia y localizar errores y fallos para su subsanación).

Tanto en el mundo de la programación (como en la vida de los seres humanos), la depuración y revisión de errores es una tarea muy importante en el proceso de desarrollo de software (de datos y procesos algorítmicos para realizar tareas); errores que emanan del lenguaje (en el caso de los humanos alcanza el habla, en todas sus modalidades y versatilidades en las que se incorporan gestos, códigos, escritura, lenguaje no verbal…y otras formas de lenguaje como castigos, amenazas, etc) ya que tener defectos en un programa puede tener consecuencias importantes para sus usuarios.

La coherencia del lenguaje, su precisión, su lógica… resultan esenciales para dotar de datos y algoritmos que permitirán recibir otros “mensajes con datos y algoritmos” del mundo exterior e incorporarlos en la “memoria” adecuadamente para su uso en ese proceso de auto-aprendizaje (que existe en el mundo de la computación).

Desde esta idea podríamos entender el perjuicio que esta pandemia causa a la gente más joven y a los niños, pues precisan de las relaciones interpersonales para determinar la certeza de sus “datos y algoritmos familiares” estableciendo afinidades y amigos y con ello la fiabilidad, viabilidad y confianza en su propia personalidad y singularidad para “manejarse” socialmente. 

Cuando el lenguaje es explícitamente “I-lógico” (como muestran algunos  relaciones no solo sociales o con empresas para solucionar problemas en atención al cliente, que incluso en determinadas situaciones alcanza la esfera  de la Administración del Estado) podemos estar en presencia de un programa concebido como “virus” que se activa para actuar contra ciertos ciudadanos concebidos como molestos, por alguna razón, a los que se pretende “volver locos” mediante errores de una Administración que se muestra así inaccesible a rectificar actuaciones erróneas o lesivas contra los derechos de una persona o un conjunto de personas.

Le estrategia del lenguaje i-lógico formaría parte de “un recurso” cuando no se quisiera reconocer un error o fallo grave y el perjuicio que causa; (es posible concebir estrategias de este tipo cuando se intentan resolver errores muy graves y reiterados en la lectura de contadores –antes analógicos - de manera reiterada, prolongadas en el tiempo y de las cuales, a veces, se puede considerar intencionalidad).

Y también puede ocurrir una situación similar cuando una persona en su rol de educador  (de rol familiar, o de formación reglada obligatoria, o de papel de psicoterapeuta) usara alternativamente lenguaje “lógico/ilógico” propio de relaciones que sostienen prejuicio/estigmatización, que determinarán sin duda un bloqueo en la persona así tratada.

Siendo que la naturaleza humana es versátil, es concebible que en las relaciones sociales el lenguaje i-lógico e inconsecuente (que haría inviable la comunicación, como demuestra la informática) sea un recurso manifiesto de adversidad o castigo hacia una persona o grupo de personas por razones que no se quieren expresar abiertamente de manera sincera - ni al así tratado y no siempre al entorno social que contempla y ante quien se justifica el trato dado a veces con silencio. Es así donde entraríamos en la idea de que se hubiera confeccionado una “estrategia social”, un programa específico de lenguaje i-lógico, destinado, a veces, a hacer daño (como una especie de venganza) similares a los “virus informáticos”, cuyo objetivo sería destruir datos y hacer inviables algoritmos construidos desde la creencia de la existencia de la bondad que sustenta derechos tal y como señalaría genéricamente la Constitución (es decir destruyendo vidas) y cuyo objetivo final puede incluso ir más allá (como análogamente hacen los piratas informáticos cuando atacan los datos de un banco, o capturan información y documentos de personas o empresas; y con ello amenazan su existencia): Obtener un rédito, un beneficio.   

De alguna manera la maldad por maldad no es concebible sino tiene un origen y una finalidad lógica, por mucho que emplee de medios ilógicos para sus fines.   


Necesitamos tu colaboración: Apoya la defensa y la causa de Víctor Miguel;

IBAN:ES41-0128-0406-3101-0003-0266

No hay comentarios: