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 Windows, y dos tipos de esta última: Consola y Windows. La versión MS-DOS tiene una sintaxis similar a la de QBasic y QuickBASIC . Las versiones de Windows utilizan una sintaxis BÁSICA ampliada para incluir muchas funciones de Windows y las declaraciones se pueden combinar con llamadas a la API de Windows .

Historia

La primera versión del compilador de DOS se publicó como BASIC/Z, el primer compilador interactivo para CP/M y MDOS. Posteriormente se extendió 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 volvió a comprar, le cambió el nombre a PowerBASIC y creó PowerBASIC Inc. para continuar con su soporte y desarrollo; Más tarde se 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 falleció Robert Zale, el creador de PowerBASIC. 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 un comunicado de que la empresa seguiría funcionando. [5] El 10 de mayo de 2015, Vivian Zale anunció que continuaba el trabajo en nuevas versiones de los 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 pruebas beta, y los compiladores de 64 bits y PB/Pro (PBWin y CC en un compilador) estaban en etapas alfa. Sin embargo, el desarrollo de productos PowerBASIC se ha detenido. No se ha lanzado ninguna versión nueva desde la v10.03 (hace 11 años en mayo de 2022). No se ha anunciado ninguna versión de 64 bits ni versión beta. No se ha informado de ninguna actividad de desarrollo. No se han publicado correcciones (como agregar la configuración de DPI correcta para el IDE). PowerBASIC Tools LLC todavía vende nuevas licencias para los compiladores de Windows de 32 bits.

Compiladores

Los programas PowerBASIC son autónomos y no utilizan ningún archivo de ejecución para ejecutarse. En todas las versiones del compilador, las aplicaciones se compilan sin bibliotecas externas, aunque pueden usar 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 al 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 en tiempo de ejecución. El entorno de desarrollo integrado podría ejecutar un programa BASIC internamente para la depuración BASIC tradicional (consulte el ejemplo a continuación) o generar un archivo ejecutable independiente de MS-DOS que podría ejecutarse en otros sistemas sin el producto Turbo Basic o las bibliotecas de tiempo de ejecución.

Ejemplo de código

El siguiente programa es un ejemplo del dialecto BASIC similar a ALGOL que admitía Turbo Basic. A diferencia del BASIC tradicional, [ cita necesaria ] que usaba números de línea y tenía estructuras de control limitadas y no admitía subrutinas tipo ALGOL, los dialectos BASIC modernos a partir de este período se ampliaron para hacer que el lenguaje fuera compatible con el estilo de programación estructurado moderno al hacer que los números de línea sean opcionales. y agregar las estructuras de control y 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$ BUCLE MIENTRAS LEN ( q$ ) = 0 q$ = LCASE$ ( IZQUIERDA$ ( q$ , 1 )) BUCLE MIENTRAS q$ = "y" IMPRIMIR "Adiós " ; n$                                            

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

Al igual que los otros 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 la serie de 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 viene con 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 de caracteres con este compilador. Los ejecutables compilados por PBCC también se pueden utilizar como ejecutables de Common Gateway Interface (para servidores web).

PBCC crea sólo archivos ejecutables, no archivos DLL. (PBWin, ver más abajo, puede crear ambos).

Compilador PowerBASIC para Windows (PBWin)

PBWin es un compilador de 32 bits compatible con la serie de sistemas operativos 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 enlaces dinámicos . Las aplicaciones PBWin pueden leer bibliotecas de enlaces dinámicos]. PBWin viene con un compilador, IDE con editor y 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 declaraciones BÁSICAS que envuelven las funciones API de Windows , particularmente en la creación y manejo de cuadros de diálogo y controles secundarios, se conoce colectivamente como Herramientas de diálogo dinámico. Usar DDT requiere menos codificación que crear un programa similar usando la API de Windows . El uso de DDT y la API de Windows (conocido como estilo SDK como en el SDK de Microsoft Windows ) 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 gratuitos, sin costo alguno. nag, versiones de prueba 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. Produce automáticamente código fuente utilizando la extensión de lenguaje DDT que crea formularios utilizando la interfaz gráfica de usuario de Windows.

Navegador COM

El navegador COM PowerBASIC, que viene con PBWin, es una aplicación que expone las interfaces, métodos y propiedades de objetos COM, como se describe 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 código PowerBASIC y proporciona 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 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 ensambladores en línea que pueden usarse para la optimización manual de rutinas críticas. Los compiladores de Windows (PBWin y PBCC) admiten casi todo el conjunto de instrucciones x86 , incluidos FPU , SIMD y MMX , siendo las principales excepciones algunas 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 hay que considerar las posibles interacciones 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 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 la consola se cierre automáticamente hasta que el operador vea el texto mostrado.

Función PBPrincipal  Imprimir "¡Hola mundo!" Tecla de espera $  Función final 

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

Función PBPrincipal  MsgBox "¡Hola mundo!" Función final 

Programación orientada a objetos

PBWin y PBCC admiten programación orientada a objetos en forma de clases COM ; sin embargo, los compiladores no le obligan a utilizar 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 declaraciones GRAPHIC son de nivel superior a las funciones de la biblioteca de la interfaz de dispositivo gráfico (GDI) de Windows. [15] [16]

Elementos de las declaraciones GRÁFICAS

Las VENTANAS GRÁFICAS son cuadros de diálogo dedicados, cada uno de los cuales contiene 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 nuevamente admiten la funcionalidad de dibujo GRÁFICO, pero como objetos puramente de memoria, como mapas de bits de Windows o secciones DIB . Las declaraciones de manejo del teclado y el mouse se incluyen entre las declaraciones GRÁFICAS. La salida de caracteres a un destino GRÁFICO utiliza fuentes especificadas mediante la instrucción FONT NEW.

Creando una aplicación de 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 sola declaración BÁSICA creará una VENTANA GRÁFICA y especificará su tamaño, posición y título. No es imprescindible especificar un WNDPROC para la VENTANA GRÁFICA. A continuación se muestra un breve ejemplo de código fuente para una aplicación de VENTANA GRÁFICA completa:

# Compilar Exe ' usando el compilador PBCC6 o PBWIN10 # Dim All   Función PBMin Local GW As Dword ' inicia una VENTANA GRÁFICA Ventana Gráfica Nueva " ventana gráfica" , 100 , 100 , 200 , 200 a GW ' muestra un disco coloreado Elipse Gráfica ( 10 , 10 ) - ( 190 , 190 ), % rgb_Red , % rgb_SeaGreen , 0 ' esperar a que se presione una tecla Gráfico Waitkey$ Función final                             
Comparación de declaraciones PB GRAPHIC con la API GDI

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

Cuando se utilizan las declaraciones PB GRAPHIC, no es necesario definir un pincel o lápiz como una entidad separada, ni 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 GRÁFICOS son persistentes.

Cuando se adjuntan objetivos GRÁFICOS, se puede especificar una opción REDIBUJAR 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 manera similar a la técnica de dibujar en los DC de memoria [17] cuando se usa la API GDI.

Las operaciones de píxeles son posibles utilizando las declaraciones GRAPHIC GET|SET PIXEL, de manera similar a GetPixel/SetPixel de la API de GDI. GRAPHIC GET BITS permite cargar todo el mapa de bits en una cadena dinámica. Esto se puede manipular como una cadena o asignando una matriz a ella. Se puede volver a colocar en el objetivo GRÁFICO mediante GRAPHIC SET BITS.

Complementariedad de declaraciones GRÁFICAS y la API GDI de Windows

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

Comunidad de usuarios

PowerBASIC proporciona 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 (sólo una fracción de ellos seguía activo) y contenía 50.093 hilos que comprendían 408.642 publicaciones desde el 26 de agosto de 1998. Sólo la sección de Código fuente contenía 3.768 hilos. [19]

A principios de 2024, el sitio web de PowerBASIC pasó al modo de mantenimiento. Esto fue muy discutido en los foros de PB. El propietario de los derechos escribió que el sitio web no volverá a aparecer.[1]

Referencias

  1. ^ Lanzamiento del compilador PowerBASIC 10.0 para Windows
  2. ^ "PowerBASIC avanza sin problemas; la empresa de tecnología considera atractiva la asequibilidad de la región". Tribuna del Herald de Sarasota. 2000-10-10 . Consultado el 12 de marzo de 2008 .
  3. ^ Tooley, Michael H. (2005). Instrumentación y control basados ​​en PC . Elsevier. pag. 214.ISBN 0-7506-4716-7.
  4. ^ "Una 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, Juan. "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/12/2016; no ofrecido el 28/02/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... velocidad y potencia del C++ subyacente ... funciona extremadamente rápido") Google Books 
  14. ^ Caos y análisis de series temporales , 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 encontrado") Google Books 
  15. ^ "PoderBASIC".
  16. ^ "PoderBASIC".
  17. ^ Petzold, Charles (1998). Programación de Windows Quinta edición, Microsoft Press, ISBN 978-1-57231-995-0 
  18. ^ "PoderBASIC".
  19. ^ Estadísticas del software del foro vBulletin de PowerBASIC

enlaces externos

Soporte de terceros