Notepad++ 5.0 Beta: Más rápido, autocompletado de código…

Cuando a mí me preguntan cómo comenzar a desarrollar una página web, lo que siempre recomiendo es usar un programa de edición visual, e ir comparando lo que haces con el código, para que se vaya comprendiendo la lógica del HTML, pero para uso más avanzado, recomiendo Notepad++, uno de los mejores editores de texto que soporte programación.

Notepad++ 5.0 Beta es la nueva versión aún en desarrollo de este excelente editor de texto, que si bien es cierto ya no lo consideraremos un editor de texto si no más bien un entorno de desarrollo de aplicaciones para distintos lenguajes de programación, que es gratuito.

Entre los lenguajes de programación soportados por Notepad++ 5.0 Beta tenemos Java, Visual Basic, C++, HTML, PHP, Javascript, C, Ruby, Python, SQL, XML, C#, entre otros más. Pero, la característica más destacada es su soporte para el autocompletado de código.

En Visual Basic esto es muy útil, ya que muchas veces es útil para simplificar y optimizar el tiempo que invertimos para desarrollar una aplicación; por otro lado Notepad++ 5.0 Beta tiene soporte para el resaltado y coloreado de sintaxis, y en definitiva, un excelente entorno para el desarrollo de software que a los usuarios avanzados les va a ser de gran utilidad.

codepad: Programando online aplicaciones en C, C++, Perl…

Si eres un programador que se la pasa “echando códigos” en su ordenador, lo más probable es que cuentes con un entorno de desarrollo para el lenguaje de programación en el que te destacas. Pero, ¿qué pasa si estamos en un ordenador ajeno al nuestro?

Si lo que quieres es validar un código, y no tiene un entorno de desarrollo de aplicaciones a la mano ni mucho menos un compilador, entonces usando codepad tienes una opción muy válida. Simula un compilador basado en Web de varios lenguajes de programación.

Entre los lenguajes de programación soportados por codepad tenemos al C, C++, D, Haskell, OCami, Perl, Python, Ruby, Scheme y Tcl. Por otro lado nos permite generar texto plano, es decir, ese texto limpio que en el notepad (bloc de notas) generamos.

Una vez que hayamos compilado nuestro código se nos generará una página estática. El servicio está completamente en inglés, en caso de que haya algún error en tu código se te indicará la línea en la cual se halla el mismo, y alguna información precisa.

Crimson Editor: Software para programar en HTML, Java, C++… 

Principalmente Crimson Editor es una perfecta alternativa al bloc de notas de Windows, es decir, es un práctico editor de texto con las funciones de siempre. No obstante, tiene otras funcionalidades más avanzadas, como la codificación para lenguajes de programación.

Entre los lenguajes de programación soportados por Crimson Editor tenemos C++, HTML, Java, Perl, MatLab y Latex. El programa es bastante ligero y rápido para lo que puede hacer pues tan sólo pesa 1,2 MB, lo cual no es significativamente nada en la actualidad.

Algo que me parece bastante interesante y que no puedo dejar pasar por alto es que si bien es cierto el programa soporta los lenguajes de programación que ya dije, pero, si lo que queremos es expandir las posibilidades del programa, el mismo incluye un editor de sintaxis con el cual podremos agregar sintaxis de otros lenguajes de programación.

Este programa está en inglés, y su licencia es software libre, para cualquier uso.

SSE Setup, crea un instalador / desinstalador a tu software 

SSE Setup es un programa gratuito para Windows con el cual tienes un sistema para crea instaladores y desinstaladores a tus creaciones. Su uso es bastante intuitivo, y más aún lo es su instalación, que a nadie confundirá por ser tan automático y sencillo.

Usando SSE Setup podrás crear tus sistemas de instalación personalizados, añadir y borrar entradas en el registro del sistema, registrar librerías DLL y archivos OCX, crear accesos directos en donde le especifiques (escritorio, menú de inicio, etc).

Por otro lado decir que SSE Setup está completamente en español, y todos sus diálogos de licencia también. Sólo será cuestión de personalización para que puedas conseguir el instalador / desinstalador adecuado para todas tus aplicaciones y desarrollos.

SimpEdit: Bloc de notas y editor avanzado de programación SimpEdit, del mismo creador de SimplyZip, un compresor con funciones de encriptación. Como que la sencillez es un tema muy importante para Dirk Paehl, así que desentrañemos este programa.

Hablamos de SimpEdit, que como dice en el título de este post, es un bloc de notas, o mejor dicho, un editor de texto, pero que además de eso, es un editor de lenguajes de programación que es de carácter avanzado, que soporta entre más de 10 lenguajes.

Entre los lenguajes de programación soportados por SimpEdit tenemos ASM, C++, C#, CSS, HTML, INI, JAVA, JS, BAT, CMD, INNO, NSIS, Pascal, Delphi, Perl, PHP, Python, SQL, TCL, TeX, HTML y XML. Incluye un visualizador de páginas web y excelente compilador.

Y si lo que quieres es convertir tus páginas estáticas HTML a PHP, Javascript o ASP, ya no tienes que buscar algo del otro mundo pues SimpEdit tiene un conversor de HTML a dichos formatos nombrados. Por cierto, el programa es portátil y no requiere instalación.

Herramienta para comprobar el Pagerank en tu propia web 

En estos días se comentó en el blog de Dr. Max Glaser, a modo de especulación, que está en curso una nueva actualización del Pagerank de Google. Y de forma oportuna, Pablo de Kabytes, nos pone a nuestra disposición un pequeño código PHP bastante interesante.

Dicho código tiene su objetivo bastante concreto: comprobar el valor numérico de nuestro Pagerank en Google en diversos datacenters. Pablo comenta que el código PHP puede ser usado, distribuido y modificado a nuestro gusto, y no es obligatorio incluir el enlace.

Pero como nosotros no somos malagradecidos, vamos a incluir un enlace (o mejor dicho, dejar el enlace que trae el código PHP) hacia Kabytes, que nos ha dispuesto, sin ningún tipo de limitación, dicho código desarrollado en PHP, gratuitamente a todos.

Como yo no quiero hablar sin fundamentos, he descargado el código PHP, lo he instalado y modificado para Blog Informático, y ya lo pueden visitar: Pagerank Check.

Por otro lado, envío mis más sinceras felicidades a Pablo por la labor que se ha tomado con este pequeño código PHP, y aprovecho esta oportunidad para felicitarlo por el buen trabajo que lleva en su blog, Kabytes.

Usa LopeEdit Lite y reemplaza el Bloc de notas de Windows 

LopeEdit Lite, por ejemplo, es un excelente programa gratuito para el S.O. Windows que fácilmente puede convertirse en ese reemplazo al clásico y poco funcional Bloc de notas que incluye Windows. ¿Por qué? Por sus características y sus posibilidades.

Aclaro que LopeEdit Lite no se trata de un editor de texto básico similar al Bloc de notas de Windows, sino más bien un editor de texto avanzado con soporte para diversos lenguajes de programación, como C/C++, Java, JavaScript, Visual Basic, VBScript, XML, HTML, ASP, JSP, SQL, Cobol, C#, CSS (Cascading Style Sheets), Pascal, Perl y también PHP.

Entre otras cosas LopeEdit Lite incluye funciones como: resaltado de sintaxis, grupos de pestañas, búsquedas rápidas y efectivas, opciones para la búsqueda y reemplazos de texto, tabla ASCII, coloreado de sintaxis, vista rápida de archivos y mucho más.

EasyPHP: Entorno de desarrollo PHP + Apache + MySQL 

Muchos dicen que EasyPHP es un sistema WAMP (Windows + Apache + MySQL + PHP), pues ofrece un completo sistema que actúa como un entorno de desarrollo para el lenguaje de programación web PHP, con funcionalidades de trabajar con bases de datos (MySQL), tener tu propio servidor web en tu PC (Apache) en Windows (sistema operativo).

Comenzar en el mundo de la programación web PHP no debe suponer que necesites saber de servidores web (Apache), bases de datos (MySQL) u otras funcionalidades de EasyPHP. Sin embargo, él trae incluído consigo todas esas funcionalidades para así convertirse en una completa plataforma de desarrollo web.

Ahora bien, EasyPHP requiere de una instalación casi transparente de todos estos complementos o subprogramas del mismo.

Sin embargo, tú puedes personalizar la instalación y escoger qué quieres que sea instalado por el programa, lo cual me parece muy positivo pues algunos no requerirán que se instale todo el paquete, que dicho sea de paso, es más o menos amplio.

No creas que al tener EasyPHP tus páginas Web se van a programar solas y las vas a tener de una buena vez. Lo que sí ofrece este programa es un entorno de desarrollo PHP para que, desarrolladores Web como tú, se concentren más en lo que les compete.

Ya lo comenté al principio que EasyPHP también ofrece un servidor Web a sus usuarios, y es que, para que tus páginas Web sean interpretadas es necesario que las insertes en la subcarpeta www o en un alias que hayas creado en el proceso de instalación del programa. Si quieres acceder a ellas, sólo escribe en el navegador Web http://localhost/ .

SharpDevelop, fiel entorno de desarrollo de programación 

Si eres un desarrollador de aplicaciones de esos que ya están cansados del monopolio (Microsoft) y pues, ya quieren experimentar algunas nuevas herramientas que actúan como entorno de desarrollo, sin duda SharpDevelop es para ti.

SharpDevelop es una herramienta gratuita que, como ya lo dije anteriormente, actúa como un fiel entorno de desarrollo de programación basándose en lenguajes como: C#, Visual Basic .NET y Boo (programación); con ciertas características interesantes.

Al momento de estar desarrollando tu código con SharpDevelop, el programa tiene la opción de completado para los lenguajes C#, VB.NET y Boo, incluyendo el soporte del atajo de teclas “Ctrl + Space” aumentando la facilidad de programación.

Una característica muy relevante de SharpDevelop es el coloreado de sintáxis para lenguajes como: C#, HTML, ASP, ASP.NET, VBScript, Visual Basic .NET, y XML. Lo cual significa algo muy importante para poder diferenciar fragmentos del código.

SharpDevelop integra una gran diversidad de plantillas de códigos de programas ya predeterminadamente creados para añadir o crear ficheros, proyectos o compiladores. Esto sirve mucho para aquellos que ya conozcan programación avanzada pues el trabajo se les hace más fácil y demasiado automatizado.

Además, es posible la edición de programación XML como también su previsualización a la hora de desarrollar el código. También se incluye un buscador de referencias dentro del mismo código, como un asistente de reemplazamiento de fragmentos del código.

El programa tiene completa disponibilidad de estar en español. Y puede ser extendible con plugins que están disponibles en su misma página oficial como también algunas herramientas adicionales lo cual hace que el programa se más práctico y completo.

Notepad++, perfecto editor de programación multilenguaje A lo largo de los años son muchos editores de textos enfocados en programación que he probado, pero ya he encontrado lo que necesito. Me aventuro a afirmar que Notepad++ es el mejor editor de programación que he conocido y utilizado hasta ahora.

Notepad++ es software libre por lo que, además de ser gratuito, el código está abierto y disponible a cualquier modificación. La versatilidad, facilidad, confiabilidad y rapidez de este editor de programación es relevante. Por cierto, es multilenguaje.

Los lenguajes de programación que son soportados por Notepad++ de los más conocidos tenemos: C, C++, Java, C#, XML, HTML, PHP, JavaScript, VB/VBS, SQL, CSS, Pascal, Perl, Python, Matlab, entre otros.

Ya lo mencioné al principio de este pequeño informe, Notepad++ también está disponible en español por lo que no tendrás problemas si no dominas muy bien el inglés.

La interfaz gráfica del Notepad++ es muy práctica, sencilla, precisa e intuitiva. A mí me ha caído muy bien, además de ser muy organizada, es rápida y nada molestosa. Véanlo ustedes mismos en la siguiente captura:

Las funcionalidades del Notepad++ a la hora del proceso de programación son las más oportunas y avanzadas que he conocido. Vamos desde un autocompletado hatas un completo soporte de búsqueda y también reemplazar expresiones regulares, asimismo herramientas de zoom o el soporte de WYSIWYG.

Es posible que abras varios documentos simultáneamente, es decir que si lo que quieres es programar alguna aplicación en C++ e igualmente administrar tu base de datos en SQL, como también administrar tu página web con HTML o PHP al mismo tiempo.

En definitiva, ofrece un entorno de programación con muchísima estabilidad, con funcionalidades (ya mencionadas anteriormente) muy interesantes y concretas, como también con opciones que son útiles para los que desarrollamos cualquier aplicación en diversos lenguajes de programación.

RJ TextEd: cómodo, ágil y eficaz editor de programación HTML 

Día a día ya se van inicializándo muchos emprendedores en el mundo del diseño web, al momento en el cual se les hace indispensable y muy necesario conocer un poco más acerca de algunos lenguajes de programación, más específicamente hablamos del lenguaje de programación web estándar HTML, lo que hace que sea necesario el probar varios editores HTML para ver cuál nos conviene realmente.

RJ TextEd nos trae una propuesta simple, sin tantos rodeos, eficaz, rápida y con unas funcionalidades que, como para muchos, para mí son muy interesantes. Funcionalidades desde un cliente FTP integrado hasta la autocompletación de etiquetas HTML mientras estás en el proceso de programación con tu código HTML.

RJ TextEd es un editor de programación HTML que funciona como una herramienta web que, además de tener ese objetivo antes mencionado, tiene ciertas características que lo diferencian y que lo hacen resaltar ante otros editores HTML que ya son algo obsoletos.

La principal característica es que tiene un cliente FTP integrado con el que podrás realizar una conexión con tu servidor FTP para manejar tu página web y sincronizar tus carpetas locales como también, subirlas con una gran rapidez para hacer funcionar la misma.

Si lo que quieres es automatizar el proceso de programación web, ésta característica te va a gustar. Aunque para muchos signifique una sinvergüenzura, para otros probablemente signifique un ahorro de trabajo que ya ven día a día.

RJ TextEd tiene un sistema de autocompletación de etiquetas HTML como también de CSS que actúa oportunamente, mientras vas escribiendo el código en curso, te realizará una sugerencia de lo que posiblemente vas a escribir.

También, tiene la disponibilidad para aquellos desarrolladores web de una confiable y práctica validación del HTML para ver si es necesario ajustar a cualquier formato o reparar tu código HTML usando técnicas previamente configuradas por RJ TextEd.

Por otra parte, una característica que facilita el trabajo del proceso de programación web en HTML es la implementación de colores para cada etiqueta específica; ésto te permite distinguir cada parte de tu código HTML desplegado en la interfaz de programa.

Enhorabuena por RJ TextEd que no se limita a un público tan específico como el inglés, sino que también (en su página oficial), nos facilita una traducción al español de RJ TextEd, así que ya eso de que ‘no manejo muy bien el inglés‘ no te sirve de excusa para no probar el editor HTML que aquí les estoy presentando.

Por último y para finalizar, hay algunas características no mencionadas arriba. Por ejemplo, la comprobación de ortografía, búsqueda avanzada con expresiones regulares. Recomiendo el programa, échenle una probadita y luego verán los resultados.

Ah, y si aún estás dudando o no has quedado totalmente convencido, te recomiendo que veas las capturas de pantalla de RJ TextEd para que tú mismo certifiques que se me han pasado muchísimas características, y que vale la pena probarlo.

Sentencia switch, lenguaje de programación C 

La sentencia switch da una alternativa mucho más refinada a la necesidad de utilizar o implementar múltiples sentencias condicionales if cuando deseamos que una determinada variable tome diferentes valores para cada condición.

Generalmente, la sentencia switch se implementa cuando es necesarario la utilización de un menú de opciones ya que el usuario deberá escoger una de las opciones, a esto me refiero cuando comento que la variable puede tomar diferentes valores.

La sintaxis o estructura general de la sentencia switch es la siguiente:

switch (expresión)
{
case cte_1: sentencia_11;
sentencia_12;
...
case cte_2: sentencia_21;
sentencia_22;
...
...
...
...
case cte_n: sentencia_n;
sentencia_n;
...
}

Vale la pena resaltar que “expresión” es el nombre de la variable que se utilizará como argumento de la sentencia switch.

Ahora bien, en la sintaxis de la sentencia switch que anteriormente presenté se comprueba el valor que ingrese el usuario que es el que tomará la variable expresión y lo compara con algunas de las etiquetas que acompañen a cada case. En caso de no encontrar ninguna coincidencia, el valor lo tomará como default.

Por otra parte, como antes lo mencioné, si la sentencia switch no contiene el valor ingresado por el usuario (que lo tomará la variable expresión o el argumento), se puede crear un default (que es una palabra clave reservada del lenguaje C), y mostrar un mensaje que diga, por ejemplo: “opción errónea, intente de nuevo.”, así de esa manera, cuidamos nuestro programa.

En tal sentido, se podría hacer un caso práctico. Creemos un programa donde se muestre al usuario un menú de opciones conformado por:

1. Capital de Puerto Rico
2. Capital de España
3. 10000+58000 = ?
4. Capital de Alemania

A su vez, si el usuario ingresa una opción errónea que no se presenta en el menú de opciones, que se muestre un mensaje al mismo. Utilice la sentencia switch.

Se puede observar en el programa anterior nuevas cosas que quiero aclarar que se refiere a la sintaxis de la sentencia switch que propuse al principio del artículo.

Si bien, dentro de la sentencia switch es necesario la implementación de ” { } ” (abrir/cerrar el ciclo); también, para cada case (en español: caso), es necesario que al final se rompa el case con una palabra clave reservada llamada break.

Es muy elegante utilizar esta sentencia switch.

Sentencia condicional if, lenguaje de programación C 

Dedicaré unos artículos exclusivamente al lenguaje de programación C que es el que personalmente me gusta mucho, y que hasta ahora, es el que manejo más.

La sentencia if permite una acción previamente predeterminada por el programador, la cual se cumplirá si la condición tiene valor lógico verdadero (según la tabla de la verdad es 1) o valor lógico falso (según la tabla de la verdad es 0).

La sintaxis o estructura general de la sentencia condicional if es la siguiente:

if (expresión)
sentencia_1;
else /* Opcional */
sentencia_2;

Si la expresión (conocida también como condición o argumento) posee un valor distinto de cero (valor lógico TRUE = 1), se ejecuta la acción sentencia_1. En cambio, si es cero (valor lógico FALSE = 0), no se ejecutará, a menos que exista un bloque else (como el que se mostró en la sintaxis anterior), en cuyo caso se ejecutará la sentencia_2.

Vale la pena resaltar que no es necesario que esté un bloque else. De hecho, con la sentencia condicional if basta para determinar alguna condición, y saber qué se ejecutará, según lo que previamente haya sentenciado el programador.

Por ejemplo, realicemos un ejercicio básico donde se aplique la sentencia condicional if. Creemos un programa donde el usuario ingrese un número, y mediante la sentencia condicional if, se determine si es o no un número par.

Se puede ver anteriormente que con una sentencia condicional if es posible, a través de una condición previamente establecida por el programador, determinar si es posible o no (dependiéndo del valor lógico que obtenga la variable) realizar acciones.

Por otra parte, cabe resaltar que si es una sentencia condicional if SIMPLE no es necesario utilizar ” { } ” para abrir/cerrar la expresión; es simple cuando sólo hay una línea de sentencia. Si son varias líneas (como en nuestro ejemplo, que utilizamos una para sentenciar y otra para imprimir un mensaje), sí se debe utilizar las llaves para abrir/cerrar el ciclo porque sino, lo próximo a la primera línea no se tomará en cuenta.

Manejo de archivos en Lenguaje C 

C es uno de los lenguajes de programación más amplios y extensos que existen en la actualidad; por ello, el manejo de archivos o manipulación de estos no es una tarea tan difícil que digamos.

Al hablar de manejo de archivos en programación C nos referimos no al común almacenamiento en memoria (como normalmente se realiza con variables globales en C) sino a un almacenamiento en cualquier archivo ubicado en nuestro disco rígido, que en la mayoría de los casos es nuestro disco duro.

La entrada y salida (E/S) de datos es una de las características más habitualmente utilizadas en cualquier lenguaje programación para el manejo de datos…

Para poder manejar archivos en C es oportuno utilizar un puntero predefinido por nosotros dirigido a una estructura FILE que es un tipo de dato específico definido en la librería < stdio.h >.

La sintaxis básica es:

FILE *nombre;
nombre = facciónarealizar ( ” nombredelarchivo.doc ” , ” modo ” ) ;

Nótese que para una acción específica, ha de anteponérsele a la misma una f (proveniente de file, que es archivo en español); es indispensable el uso de ésta “palabrita” antes de la acción específica.

Un ejemplo básico:

FILE *fp;
fp = fopen ( " documento.txt " , " w+ " );

Allí abriremos el fichero documento.txt.

Existen diversos modos para manipular archivos:

- r : Sólo abre un fichero para su lectura.
- w : Si el fichero no existe, lo crea. Si existe, lo borra y añade uno nuevo.
- a : El fichero debe (ó no) existir. Lo abre para añadir información al final.
- r+ : El fichero ya existe y lo abre para actualizarlo.
- w+ : Crea un nuevo fichero para actualizarlo y si existe, sobreescribe en él.
- a+ : Abre un fichero para añadir información al final. Si no existe, lo crea.

Hagamos un ejemplo simple, abramos un documento Word y escribamos en él un texto que será solicitado al usuario desde lenguaje C.

Puedes descargar el código fuente desde aquí, y también, puedes descargar el ejecutable del programita de prueba.

Lamentablemente, no podré desarrollar aquí el código por limitaciones de mi servicio de hospedaje; no me permite la inclusión de códigos en programación C.

Lenguajes de Programación: Definición y concepto 

Por sí misma, una computadora no haría nada útil. Debe haber un programa que dirija a la computadora para realizar alguna tarea específica. Por supuesto, la habilidad para programar una computadora para realizar diferentes es lo que la hace más potente ante diversas máquinas electrónicas.

Un programa (también llamado software) es una secuencia de instrucciones que le dice a la computadora qué debe hacer. Las instrucciones se escriben en un lenguaje que está específicamente diseñado para dar órdenes a una computadora, para que así se realicen tareas predeterminadas.

Estos lenguajes se denominan lenguajes de programación. Uno de ellos se denomina lenguaje máquina. Un programa en lenguaje máquina puede ser comprendido directamente por la computadora. Un lenguaje máquina está por instrucciones que representan las operaciones fundamentales de la computadora.

En consecuencia, distintos tipos de comptuadoras usan lenguaje máquina diferentes. Por ejemplo, el ejemplo máquina que entiende un Pentium de Intel es bastante distinto al lenguaje de máquina que comprende un procesador PowerPC de IBM.

Parte del diseño de una computadora es determinar las operaciones fundamentales que puede llevar a cabo y la codificación binaria de esas instrucciones. La codificación binaria es el patrón de bits que representa una instrucción en particular. Las operaciones y su codificación binaria se denominan juego de instrucciones.

La mayor parte de las máquinas incluyen instrucciones para realizar operaciones aritméticas, tales como sumar, restar, multiplicar y dividir. Otra clase de operaciones distintas son las operaciones de salto, que permiten cambiar el contador de programa.

Incluso en las computadoras actuales, el lenguaje máquina es bastante primitivo, y escribir un programa directamente en lenguaje máquina es tedioso. Para empeorar las cosas, sin ningún tipo de asistencia, se debe usar directamente la codificación binaria de las instrucciones.

Manejo de archivos en Lenguaje C 

C es uno de los lenguajes de programación más amplios y extensos que existen en la actualidad; por ello, el manejo de archivos o manipulación de estos no es una tarea tan difícil que digamos.

Al hablar de manejo de archivos en programación C nos referimos no al común almacenamiento en memoria (como normalmente se realiza con variables globales en C) sino a un almacenamiento en cualquier archivo ubicado en nuestro disco rígido, que en la mayoría de los casos es nuestro disco duro.

La entrada y salida (E/S) de datos es una de las características más habitualmente utilizadas en cualquier lenguaje programación para el manejo de datos…

Para poder manejar archivos en C es oportuno utilizar un puntero predefinido por nosotros dirigido a una estructura FILE que es un tipo de dato específico definido en la librería < stdio.h >.

La sintaxis básica es:

FILE *nombre;
nombre = facciónarealizar ( ” nombredelarchivo.doc ” , ” modo ” ) ;

Nótese que para una acción específica, ha de anteponérsele a la misma una f (proveniente de file, que es archivo en español); es indispensable el uso de ésta “palabrita” antes de la acción específica.

Un ejemplo básico:

FILE *fp;
fp = fopen ( " documento.txt " , " w+ " );

Allí abriremos el fichero documento.txt.

Existen diversos modos para manipular archivos:

- r : Sólo abre un fichero para su lectura.
- w : Si el fichero no existe, lo crea. Si existe, lo borra y añade uno nuevo.
- a : El fichero debe (ó no) existir. Lo abre para añadir información al final.
- r+ : El fichero ya existe y lo abre para actualizarlo.
- w+ : Crea un nuevo fichero para actualizarlo y si existe, sobreescribe en él.
- a+ : Abre un fichero para añadir información al final. Si no existe, lo crea.

Hagamos un ejemplo simple, abramos un documento Word y escribamos en él un texto que será solicitado al usuario desde lenguaje C.

Puedes descargar el código fuente desde aquí, y también, puedes descargar el ejecutable del programita de prueba.

Lamentablemente, no podré desarrollar aquí el código por limitaciones de mi servicio de hospedaje; no me permite la inclusión de códigos en programación C.

Lenguaje de programación C: Concepto, principios… 

C es un lenguaje de programación de propósito general asociado, de modo universal, al sistema operativo UNIX. Sin embargo, la popularidad, eficacia y potencia de C se ha producido porque este lenguaje no está prácticamente asociado a ningún sistema operativo, ni a ninguna máquina en especial.

Esta es la razón fundamental por la que C es conocido como el lenguaje de programación de sistemas por excelencia.

C es un lenguaje de alto nivel, que permite programar con instrucciones de lenguaje de propósito general.

También C se define como un lenguaje de programación estructurado de propósito general; aunque en su diseño también primó el hecho de fuera especificado como un lenguaje de programación de sistemas, lo que proporciona una enorme cantidad de potencia y flexibilidad.

El estándar ANSI C formaliza construcciones no propuestas en la primera versión del lenguaje C, en especial asignación de estructuras y enumeraciones. Entre otras aportaciones, se definió esencialmente la biblioteca estándar de funciones otra de las grandes aportaciones.

En la actualidad, el lenguaje C sigue siendo uno de los más utilizados en la industria del software, así como en institutos tecnológicos, escuelas de ingeniería y universidades.

Prácticamente todos los fabricantes de sistemas operativos (tomando en cuenta a: UNIX, Linux, MacOS, Solaris, Windows, entre otros.), soportan diferentes tipos de compiladores de lenguaje C.

Ventajas del lenguaje C

El lenguaje C tiene una gran cantidad de ventajas sobre otros lenguajes y constituyen precisamente la razón fundamental de que después de casi dos décadas de uso C siga siendo uno de los lenguajes más populares, utilizados en empresas, organizaciones y fábricas de software de todo el mundo.

C se caracteriza por su velocidad de ejecución. En los primeros días de la informática los problemas de tiempo de ejecución se resolvían escribiendo todo o parte de una aplicación en lenguaje ensamblador (muy al lenguaje de máquina).

Debido a que existen muchos programas escritos en el lenguaje C, se han creado numerosas bibliotecas C para programadores profesionales que soportan gran variedad de aplicaciones.

Características del lenguaje C

Hay numerosas características que diferencian al lenguaje C de otros, y lo hacen eficiente, potente, eficaz, rápido, indispensable para todos los programas. Algunas son:

? Una nueva sintaxis para declarar funciones. Una declaración de función puede añadir una descripción de los argumentos de la función. Esta información adicional sirve para que los compiladores detecten más fácilmnete lo errores causados por argumentos que no coinciden.
? Asignación de estructuras (registros) y enumeraciones.
? Preprocesador más sofisticado.
? Una nueva definición de la biblioteca que acompaña a C. Entre otras funciones se incluyen: acceso al sistema operativo (por ejemplo, lectura / escritura de archivos), entrada y salida con formato, asignación dinámica de memoria, manejo de cadenas de caracteres.
? Una colección de cabeceras estándar que proporciona acceso uniforme a las declaraciones de funciones y tipos de datos.

Máquina virtual de Java (JVM) 

Java es un lenguaje interpretado, como ya se ha comentado. Cuando se escribe un programa Java, bien en un entorno de desarrollo o bien en un editor de texto, necesita ser compilado, generando un conjunto de instrucciones optimizadas denominadas programa bytecode.

Este programa bytecode es independiente de la plataforma y no se puede ejecutar por el procesador. En su lugar, una Máquina Virtual Java (Java Virtual Machine, JVM) ejecuta (interpreta) los bytecode.

Existen muchas JVM disponibles para cada plataformas, que permiten a los programas Java ser independientes de la plataforma. Por ejemplo un programa compilado en una estación de trabajo UNIX puede ser ejecutado en un Macintosh.

La clave que permite a Java resolver problemas de seguridad y portabilidad es que la salida de un compilador Java no es código ejecutable. En su lugar son bytecode. Los códigos de bytes son un conjunto de instrucciones muy optimizadas y diseñadas para ser ejecutadas por un sistema Java en tiempo de ejecución denominado JVM. Es decir, en su formato estándar JVM es un intérprete de códigos de bytes, aunque la mayoría de los lenguajes modernos están diseñados para ser compilados, no interpretados.

La razón de la estructura del lenguaje Java reside en que sólo se necesita implementar JVM para cada plataforma. Si un programa se compilara a código nativo, entonces las diferentes versiones del mismo programa tendrán que existir para cada tipo de CPU (Unidad Central de Proceso) conectada a Internet. Ésta, naturalmente, no es una solución factible. Por consiguiente, la interpretación de bytecodes es el medio más fácil de crear plataformas realmente portables.

El hecho deque un programa Java sea interpretado también ayuda para hacerlo más seguro, ya que la ejecución de cada programa está bajo el control de JVM y además previene de generar efectos laterales fuera del sistema.

Cuando se interpreta un programa normalmente corre de modo sustancialmente más lento que si se ejecuta de modo compilado a código ejecutable. Sin embargo, con Java la diferencia entre los dos no es tan grande. El uso de bytecode pennite al sistema ejecutar programas en tiempo de ejecución mucho más rápido de lo que era de esperar.

Otra fortaleza de Java proviene de sus bibliotecas incorporadas. Los paquetes que vienen con JDK (Java Development Kit) contienen muchos centenares de clases incorporadas con muchos millares de métodos. Estas clases y métodos contienen funcionalidad usada frecuentemente, significando que una gran cantidad de trabajo de programación ha sido hecho ya. Es responsabilidad del desarrollador integrar las clases incorporadas en su aplicación específica.

El Kit de Desarrollo de Software de Java (Software Development Kit) contiene todas las clases que se necesitan para desarrollar programas Java, herramientas de compilación, ejecución y depuración de código. Para desarrollar Java se necesita obtener un SDK, pero está disponible para su descarga gratuita del sitio Java de Sun.

La principal ventaja del SDK es su carácter gratuito, autorizado y actualizado. Su principal desventaja es que proporciona sólo herramientas de desarrollo estilo línea de órdenes en vez de un entorno gráfico de programación visual.

La compilación en lenguajes de programación y sus fases o etapas 

La compilación es el proceso de traducción de programas fuente a programas objeto. El programa objeto obtenido de la compilación ha sido traducido normalmente al código común del lenguaje de máquina.

Para conseguir el programa máquina real se debe utilizar un programa llamado montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje máquina directamente ejecutable.

El proceso de ejecución de un programa escrito en un lenguaje de programación y mediante un compilador tiene los siguientes pasos:

1. Escritura del programa fuente con un editor (programa que permite a una computadora actuar de modo similar a una máquina de escribir electrónica) y guardarlo en un dispositivo de almacenamiento (por ejemplo, un disco).

 

2. Introducir el programa fuente en memoria.

3. Compilar el programa con el compilador.

4. Verficar y corregir errores de compilación (listado de errores).

5. Obtención del programa objeto.

6. El enlazador (linker) obtiene el programa ejecutable.

7. Se ejecuta el programa y, si no existen errores, se tendrá la salida del programa.