stringtranslate.com

PowerBASIC

PowerBASIC , anteriormente Turbo Basic , es la marca de varios compiladores comerciales de PowerBASIC Inc. que compilan un dialecto del lenguaje de programación BASIC . Existen versiones para MS-DOS y para Windows , y dos tipos de esta última: Console y Windows. La versión para MS-DOS tiene una sintaxis similar a la de QBasic y QuickBASIC . Las versiones para Windows utilizan una sintaxis BASIC ampliada para incluir muchas funciones de Windows, y las instrucciones se pueden combinar con llamadas a la API de Windows .

Historia

La primera versión del compilador DOS se publicó como BASIC/Z, el primer compilador interactivo para CP/M y MDOS. Más tarde se amplió a MS-DOS/ PC DOS y en 1987 Borland lo distribuyó como Turbo Basic .

Turbo Basic fue creado originalmente por Robert "Bob" Zale (1945–2012) y Borland se lo compró . Cuando Borland decidió dejar de publicarlo (1989), Zale se lo compró, lo rebautizó como PowerBASIC y creó PowerBASIC Inc. para continuar con el soporte y el desarrollo del mismo; más tarde se lo llamó PBDOS. [2] [3] [4]

PowerBASIC pasó a desarrollar compiladores BASIC para Windows, primero PBWIN (su producto estrella) y luego PBCC, que se describe a continuación.

El 6 de noviembre de 2012, Robert Zale, el creador de PowerBASIC, falleció. Durante un tiempo, se asumió que la empresa podría dejar de operar. Su esposa, Vivian Zale, publicó el 8 de marzo de 2014 en los foros de PowerBASIC una declaración en la que afirmaba que la empresa seguiría funcionando. [5] El 10 de mayo de 2015, Vivian Zale anunció que se seguía trabajando en nuevas versiones de compiladores PowerBASIC. [6]

El 2 de noviembre de 2016, Vivian Zale anunció su intención de buscar un comprador para la empresa.

El 31 de enero de 2017, Adam Drake anunció que Drake Software había adquirido el código fuente de PowerBASIC de PowerBASIC, Inc., con la intención de actualizar y mejorar la funcionalidad del producto. [7] Esto fue confirmado más tarde por Vivian Zale con una publicación en el foro agradeciendo a los miembros por su apoyo. [8]

Cuando Bob Zale murió, PBWin11 y PBCC7 estaban en fase de pruebas beta , y los compiladores de 64 bits y PB/Pro (PBWin y CC en un solo compilador) estaban en fase alfa . Sin embargo, el desarrollo de los productos PowerBASIC se ha detenido. No se ha publicado ninguna versión nueva desde la v10.03 (hace 11 años, a fecha de mayo de 2022). No se ha anunciado ninguna versión de 64 bits ni ninguna versión beta. No se ha informado de ninguna actividad de desarrollo. No se han publicado correcciones (como añadir la configuración de DPI correcta para el IDE). PowerBASIC Tools LLC sigue vendiendo nuevas licencias para los compiladores de Windows de 32 bits.

Compiladores

Los programas PowerBASIC son autónomos y no utilizan ningún archivo de tiempo de ejecución para ejecutarse. En todas las versiones del compilador, las aplicaciones se compilan sin bibliotecas externas, aunque puede utilizar dichas bibliotecas si es necesario. PBDOS crea archivos ejecutables DOS MZ de 16 bits , mientras que PBWIN y PBCC crean archivos ejecutables portátiles (PE) de 32 bits .

Turbo Básico

Turbo Basic de Borland contiene extensiones del BASIC clásico (sin romper la compatibilidad), como una API de dibujo y acceso con mouse.

A diferencia de la mayoría de las implementaciones de BASIC de su época, Turbo Basic era un compilador completo que generaba código nativo para MS-DOS. Otras implementaciones eran intérpretes o dependían en gran medida de una biblioteca de tiempo de ejecución . El entorno de desarrollo integrado podía ejecutar un programa BASIC internamente para la depuración BASIC tradicional (ver el ejemplo a continuación) o generar un archivo ejecutable independiente de MS-DOS que podía ejecutarse en otros sistemas sin el producto Turbo Basic ni las bibliotecas de tiempo de ejecución.

Ejemplo de código

El siguiente programa es un ejemplo del dialecto BASIC similar a ALGOL que Turbo Basic admitía. A diferencia del BASIC tradicional, [ cita requerida ] que utilizaba números de línea y tenía estructuras de control limitadas y no admitía subrutinas similares a ALGOL, los dialectos BASIC modernos que comenzaron en este período se ampliaron para hacer que el lenguaje fuera compatible con el estilo de programación estructurada moderna al hacer que los números de línea fueran opcionales y agregar las estructuras de control y las definiciones de subrutinas necesarias para la programación estructurada.

INPUT "¿Cuál es tu nombre?: " , n$ PRINT "Hola " ; n$ DO s$ = "" INPUT "¿Cuántas estrellas quieres imprimir?" ; s FOR i = 1 TO s s$ = s$ + "*" NEXT i PRINT s$ DO INPUT "¿Quieres imprimir más estrellas?" ; q$ LOOP WHILE LEN ( q$ ) = 0 q$ = LCASE$ ( LEFT$ ( q$ , 1 )) LOOP WHILE q$ = "y" PRINT "Adiós " ; n$                                            

( s$es una cadena y ses un punto flotante de precisión simple (número). Son variables separadas).

Al igual que los demás productos Borland de esta época, el código se ejecuta dentro del entorno de desarrollo integrado.

PowerBASIC para DOS (PBDos)

PBDOS incluye un entorno de desarrollo integrado (IDE) y es compatible con DOS 3.30 y todas las versiones posteriores. [9]

Compilador de consola PowerBASIC (PBCC)

PBCC es un compilador de 32 bits para los sistemas operativos Windows 9x y Windows NT , incluidos Windows XP , Windows Server 2008 , Windows Vista y Windows 7. Las aplicaciones PBCC pueden utilizar bibliotecas de vínculos dinámicos (DLL). El compilador incluye un IDE que incluye un editor y un depurador paso a paso .

No se requieren conocimientos de programación de Windows para crear aplicaciones gráficas o en modo carácter con este compilador. Los ejecutables compilados con PBCC también se pueden utilizar como ejecutables de interfaz de puerta de enlace común (para servidores web).

PBCC solo crea archivos ejecutables, no DLL. (PBWin, consulte a continuación, puede crear ambos).

Compilador PowerBASIC para Windows (PBWin)

PBWin es un compilador de 32 bits compatible con los sistemas operativos de la serie Windows 9x y Windows NT , incluidos Windows XP , Windows Server 2008 , Windows Vista , Windows 7 , Windows 8 ( 8.1 ) y Windows 10. [ 10] PBWin puede crear bibliotecas de vínculos dinámicos . Las aplicaciones PBWin pueden leer bibliotecas de vínculos dinámicos. PBWin viene con un compilador, un IDE con editor y un depurador paso a paso .

Herramientas de diálogo dinámico (DDT)

Puede crear la interfaz gráfica de usuario de una aplicación utilizando la API de Windows o utilizando las extensiones de lenguaje DDT integradas. El grupo de instrucciones BASIC que encapsulan las funciones de la API de Windows , en particular en la creación y el manejo de cuadros de diálogo y controles secundarios, se conoce colectivamente como Herramientas de diálogo dinámico. El uso de DDT requiere menos codificación que la creación de un programa similar utilizando la API de Windows . El uso de DDT y la API de Windows (conocido como estilo SDK como en Microsoft Windows SDK ) no son mutuamente excluyentes.

Versiones de prueba de compiladores

PowerBASIC renombró PBWin v9.07 y PB/CC v5.07 como "Classic PBWin" y "Classic PB/CC", respectivamente, y el 1 de noviembre de 2016 los ofreció por un corto tiempo a través de su tienda en línea como versiones de prueba gratuitas y sin inconvenientes junto con PBForms v1.0 (PowerBASIC Forms). [11]

Herramientas

Formularios PB

PowerBASIC Forms, disponible para su compra por separado, es un complemento de herramienta de diseño de interfaz gráfica de usuario para PBWin. Genera automáticamente código fuente mediante la extensión de lenguaje DDT que crea formularios utilizando la interfaz gráfica de usuario de Windows.

Navegador COM

El Navegador COM de PowerBASIC, que viene con PBWin, es una aplicación que expone las interfaces, los métodos y las propiedades de los objetos COM, tal como se describen en los archivos de biblioteca de tipos. El Navegador COM de PowerBASIC exporta una estructura de interfaz de un objeto COM para fines de enlace temprano en el código PowerBASIC y proporciona una referencia de sintaxis y ayuda contextual sobre los miembros de la interfaz expuestos por un objeto COM. [12]

Lenguaje de programación

Características

PowerBASIC es un compilador BASIC de código nativo cuyos méritos informados son la simplicidad de uso y la velocidad en comparación con otros lenguajes. [13] [14] Aunque el código compilado es lo suficientemente rápido para la mayoría de los propósitos, los compiladores también admiten ensamblador en línea que se puede utilizar para la optimización manual de rutinas críticas. Los compiladores de Windows (PBWin y PBCC) admiten casi todo el conjunto de instrucciones x86 , incluyendo FPU , SIMD y MMX , siendo las principales excepciones unas pocas que son útiles principalmente para programadores de sistemas. Se pueden insertar instrucciones no compatibles insertando sus códigos de operación con las declaraciones "db", "dw" y "dd". Las líneas de código ensamblador se pueden intercalar libremente con líneas de código BASIC, aunque siempre se deben considerar las interacciones potenciales entre los dos tipos de código.

Hola Mundo

Hola mundo se utiliza para dar un ejemplo muy pequeño de la sintaxis utilizada por un lenguaje de programación y, a menudo, es el programa más pequeño posible para cualquier lenguaje de programación determinado.

A continuación se muestra un ejemplo de un programa de Hola mundo de PBCC. De forma predeterminada, PBCC crea una ventana de consola en tiempo de ejecución para mostrar la salida. El uso de Waitkey$ en este ejemplo evita que la ventana de consola se cierre automáticamente hasta que el operador vea el texto mostrado.

Función PBMain  Imprimir "¡Hola, mundo!" Waitkey $  Función final 

Aquí está la versión PBWin, que muestra un cuadro de mensaje de "diálogo" de Windows.

Función PBMain  MsgBox "¡Hola, mundo!" Función final 

Programación orientada a objetos

PBWin y PBCC admiten la programación orientada a objetos en forma de clases COM ; sin embargo, los compiladores no lo obligan a utilizar la programación orientada a objetos, es simplemente una opción. También se pueden crear servidores COM en proceso y fuera de proceso utilizando estos compiladores.

Gráficos

Tanto el compilador de consola como el compilador de Windows pueden crear ventanas gráficas. Las instrucciones GRAPHICs son de nivel superior a las funciones de la biblioteca de interfaz de dispositivo gráfico (GDI) de Windows. [15] [16]

Elementos de las declaraciones GRAPHIC

Las VENTANAS GRÁFICAS son cuadros de diálogo dedicados que contienen cada uno un único control que llena el área de cliente del cuadro de diálogo. Los controles GRÁFICOS son ventanas secundarias que admiten la misma funcionalidad de dibujo GRÁFICO que las ventanas GRÁFICAS. También se definen MAPAS DE BITS GRÁFICOS, que también admiten la funcionalidad de dibujo GRÁFICO, pero como objetos puramente de memoria, como mapas de bits de Windows o secciones DIB . Las instrucciones de manejo del teclado y del mouse se incluyen entre las instrucciones GRÁFICAS. La salida de caracteres a un destino GRÁFICO utiliza fuentes especificadas mediante la instrucción FONT NEW.

Creación de una aplicación VENTANA GRÁFICA

Una VENTANA GRÁFICA es el equivalente a un cuadro de diálogo de Windows que contiene un control estático en el que se pueden realizar operaciones de dibujo. Una única instrucción BASIC creará una VENTANA GRÁFICA y especificará su tamaño, posición y título. No es esencial especificar un WNDPROC para la VENTANA GRÁFICA. A continuación se muestra un breve ejemplo de código fuente para una aplicación VENTANA GRÁFICA completa:

# Compilar Exe ' usando el compilador PBCC6 o PBWIN10 # Atenuar todo   Función PBMain Local GW Como Dword ' iniciar una VENTANA GRÁFICA Ventana Gráfica Nueva "ventana gráfica" , 100 , 100 , 200 , 200 a GW ' mostrar un disco de color Elipse Gráfica ( 10 , 10 ) - ( 190 , 190 ), % rgb_Red , % rgb_SeaGreen , 0 ' esperar una pulsación de tecla Gráfica Waitkey$ Fin de función                             
Comparación de las declaraciones PB GRAPHIC con la API GDI

Al utilizar las instrucciones PB GRAPHIC, primero se selecciona un GRÁFICO (VENTANA, MAPA DE BITS o control) como el destino GRAPHIC actual y luego se realizan operaciones en él sin necesidad de volver a identificarlo. Compare esto con el enfoque de la API GDI, donde se requiere el identificador de contexto del dispositivo para cada operación de dibujo.

No es necesario, al utilizar las instrucciones PB GRAPHIC, definir un pincel o una pluma como una entidad separada, ni tampoco es necesario volver a dibujar el objetivo GRAPHIC (cuando está a la vista) en respuesta a mensajes de Windows como WM_PAINT y WM_ERASEBKGND. Los objetivos GRAPHIC son persistentes.

Cuando se adjuntan objetivos GRAPHIC, se puede especificar una opción REDRAW que almacena en búfer los resultados de las operaciones de dibujo hasta que se soliciten específicamente. El uso de esta técnica reduce el parpadeo de una manera similar a la técnica de dibujo en controladores de dominio de memoria [17] cuando se utiliza la API GDI.

Las operaciones con píxeles son posibles mediante las instrucciones GRAPHIC GET|SET PIXEL, de manera similar a GetPixel/SetPixel de la API GDI. GRAPHIC GET BITS permite cargar el mapa de bits completo en una cadena dinámica. Esta se puede manipular como una cadena o asignándole una matriz. Se puede volver a colocar en el destino GRAPHIC mediante GRAPHIC SET BITS.

Complementariedad de las sentencias GRAPHIC y la API GDI de Windows

Las declaraciones GRAPHIC contienen todas las funciones de API GDI comúnmente utilizadas, pero si necesita una que no está incluida, es posible obtener el hDC de cualquier objetivo GRAPHIC y así utilizar las funciones de API GDI en él.

Comunidad de usuarios

PowerBASIC ofrece un foro en línea para que los usuarios hagan preguntas y compartan conocimientos. [18] El 8 de julio de 2012, el foro tenía 5.623 miembros (solo una fracción de ellos todavía activos) y contenía 50.093 hilos que comprendían 408.642 publicaciones desde el 26 de agosto de 1998. Solo la sección de Código fuente contenía 3.768 hilos. [19]

A principios de 2024, el sitio web de PowerBASIC pasó a modo de mantenimiento. Esto se debatió mucho en los foros de PB. El propietario de los derechos escribió que el sitio web no volverá a funcionar.[1]

Referencias

  1. ^ Lanzamiento del compilador PowerBASIC 10.0 para Windows
  2. ^ "PowerBASIC hace un movimiento suave; la empresa tecnológica considera atractiva la asequibilidad de la región". Sarasota Herald Tribune. 10 de octubre de 2000. Consultado el 12 de marzo de 2008 .
  3. ^ Tooley, Michael H. (2005). Instrumentación y control basados ​​en PC . Elsevier. pág. 214. ISBN. 0-7506-4716-7.
  4. ^ "Introducción a PowerBASIC". Archivado desde el original el 27 de mayo de 2011. Consultado el 7 de diciembre de 2010 .
  5. ^ Zale, Vivian. "Actualización de PowerBASIC". Foros de PowerBASIC . PowerBASIC . Consultado el 5 de julio de 2015 .
  6. ^ Eccles, John. "Planes PowerBASIC". Foros de PowerBASIC . PowerBASIC, Inc. Archivado desde el original el 24 de septiembre de 2015. Consultado el 5 de julio de 2015 .
  7. ^ Drake, Adam (31 de enero de 2017). "PowerBASIC tiene un nuevo hogar". Foros de soporte de PowerBASIC . Archivado desde el original el 19 de febrero de 2017.
  8. ^ Zale, Vivian (12 de febrero de 2017). "Gracias". Foros de soporte de PowerBASIC . Archivado desde el original el 19 de febrero de 2017.
  9. ^ "PowerBASIC 3.5 para DOS". Archivado desde el original el 17 de enero de 2016.
  10. ^ "Compilador PowerBASIC para Windows". Archivado desde el original el 8 de marzo de 2008.
  11. ^ PowerBASIC 9 para Windows y PowerBASIC Console Compiler 5: $99 y $89 el 5 de octubre de 2016; $0 y $0 el 6 de noviembre de 2016; $0 y $0 el 18 de diciembre de 2016; no se ofrece el 28 de febrero de 2017.
  12. ^ "Com Browser en el sitio web de PowerBASIC".
  13. ^ Nuevas geometrías para nuevos materiales , Eric A. Lord, Alan Lindsay Mackay, Srinivasa Ranganathan, Cambridge University Press, 2006, ISBN 0-521-86104-7 ("una interfaz de usuario muy simple... la velocidad y la potencia del C++ subyacente... se ejecuta extremadamente rápido") Google Books 
  14. ^ Chaos and Time-series Analysis , Julien C. Sprott, Oxford University Press, 2003, ISBN 0-19-850840-9 ("fácil de aprender, potente y tan rápido como cualquier compilador de C que haya conocido") Google Books 
  15. ^ "PowerBASIC".
  16. ^ "PowerBASIC".
  17. ^ Petzold, Charles (1998). Programación de Windows Quinta edición, Microsoft Press, ISBN 978-1-57231-995-0 
  18. ^ "PowerBASIC".
  19. ^ Estadísticas del software del foro vBulletin de PowerBASIC

Enlaces externos

Soporte de terceros