De Wikipedia, la enciclopedia libre
  (Redirigido desde Turbo Basic )
Saltar a navegación Saltar a búsqueda

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 de MS-DOS tiene una sintaxis similar a la de QBasic y QuickBASIC . Las versiones de Windows utilizan una sintaxis BÁSICA expandida para incluir muchas funciones de Windows, y las declaraciones se pueden combinar con llamadas a la API de Windows .

Historia [ editar ]

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 se lo compró Borland . Cuando Borland decidió dejar de publicarlo (1989), Zale se lo compró, lo renombró como PowerBASIC y estableció 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, murió Robert Zale, el creador de PowerBASIC. Durante un tiempo, se asumió que la empresa podría cesar sus operaciones. Su esposa, la Sra. Vivian Zale, publicó el 8 de marzo de 2014 en los foros de PowerBASIC un comunicado de que la empresa continuaría en funcionamiento. [5] El 10 de mayo de 2015, la Sra. Zale anunció que se continuaba trabajando en las nuevas versiones de los compiladores de PowerBASIC. [6]

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

El desarrollo activo de los productos PowerBASIC se ha detenido. Ya no esperan lanzar PBWin11 y PBCC7, que estaban en prueba beta cuando murió Bob Zale, ni los compiladores de 64 bits o PB / Pro (PBWin y CC en un compilador), que todavía estaban en las etapas alfa.

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]Lamentablemente, nunca se lanzó una nueva versión (la última versión v10.03 fue hace 8 años en diciembre de 2020), ni siquiera se lanzaron pequeños ajustes como agregar la configuración correcta de DPI para el IDE, y como tal deja bastante claro cuál es el el futuro de PowerBASIC es. Tampoco se ha mostrado ninguna actividad de desarrollo en forma de informes de progreso o versiones beta. Aparentemente, una persona está trabajando en algo durante esos 8 años que, incluso si es cierto, reintroduce el único punto de falla. Sin embargo, todavía se pueden comprar nuevas licencias.

Compiladores [ editar ]

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 usar dichas bibliotecas si lo desea. PBDOS crea archivos ejecutables DOS MZ de 16 bits , mientras que PBWIN y PBCC crean archivos ejecutables portátiles (PE) de 32 bits .

Turbo Basic [ editar ]

Turbo Basic de Borland contiene extensiones a BASIC clásico (sin romper la compatibilidad). Uno de ellos fue una API de dibujo y acceso al mouse.

A diferencia de la mayoría de las implementaciones BASIC de su tiempo, 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 (ver 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 [ editar ]

El siguiente programa es un ejemplo del dialecto BASIC similar a ALGOL que admite Turbo Basic. A diferencia del BASIC tradicional [ cita requerida ] , que usaba números de línea y tenía estructuras de control limitadas y sin soporte para subrutinas similares a ALGOL, los dialectos BASIC modernos a partir de este período se extendieron para hacer que el lenguaje fuera compatible con la teoría de programación estructurada moderna descartando los números de línea. 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 desea imprimir" ; s PARA i = 1 A s s $ = s $ + "*" SIGUIENTE i IMPRIMIR s $ DO ENTRADA "¿Desea imprimir más estrellas" ; q $ BUCLE MIENTRAS LARGO ( q $ ) = 0 q $ = LCASE $ ( IZQUIERDA $ (                                     q $ , 1 )) LOOP MIENTRAS q $ = "y" PRINT "Adiós" ; n $       

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

Como los otros productos Borland de esta era, el código se ejecuta dentro del entorno de desarrollo integrado.

PowerBASIC para DOS (PBDos) [ editar ]

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) [ editar ]

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 usar 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 carácter con este compilador. Los ejecutables de Common Gateway Interface también se pueden compilar utilizando PBCC.

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

Compilador PowerBASIC para Windows (PBWin) [ editar ]

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 vínculos dinámicos]. PBWin viene con un compilador, IDE con editor y depurador paso a paso .

Herramientas de diálogo dinámico (DDT) [ editar ]

Puede crear la interfaz gráfica de usuario de una aplicación utilizando la API de Windows o utilizando las extensiones de lenguaje DDT incorporadas. El grupo de instrucciones BASIC que envuelven las funciones de la 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 Microsoft Windows SDK ) no se excluyen mutuamente.

Versiones de prueba de compiladores [ editar ]

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 gratis, no nag, versiones de prueba junto con PBForms v1.0 (PowerBASIC Forms). [11]

Herramientas [ editar ]

Formularios PB [ editar ]

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 usando la extensión de lenguaje DDT que crea formularios usando la interfaz gráfica de usuario de Windows.

Navegador COM [ editar ]

El navegador PowerBASIC COM, que viene con PBWin, es una aplicación que expone las interfaces, los métodos y las propiedades de los objetos COM, como se describe en los archivos de la biblioteca de tipos. El Explorador COM de PowerBASIC exporta una estructura de interfaz de un objeto COM para fines de enlace temprano en el 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 [ editar ]

Características [ editar ]

PowerBASIC es un compilador BASIC de código nativo cuyos méritos reportados 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 el ensamblador en línea para optimizar el código adicional. Los compiladores de Windows (PBWin y PBCC) admiten casi todo el conjunto de instrucciones x86 , incluidos FPU , SIMD y MMX, las principales excepciones son algunas que son útiles principalmente para programadores de sistemas. Aún se pueden usar las instrucciones no admitidas 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 [ editar ]

Hello world 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 dado.

A continuación se muestra un ejemplo de un programa de PBCC Hello World. De forma predeterminada, PBCC crea una ventana de consola en tiempo de ejecución para mostrar la salida. El único propósito de Waitkey $ en este ejemplo es mantener la consola activa para que pueda leer la salida.

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

Aquí está la versión de 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 [ editar ]

PBWin y PBCC admiten la programación orientada a objetos en forma de clases COM , sin embargo, los compiladores no lo obligan a usar OOP, es simplemente una opción. Los servidores COM en proceso y fuera de proceso también se pueden construir usando estos compiladores.

Gráficos [ editar ]

Tanto el compilador de consola como el compilador de Windows pueden crear ventanas gráficas. Las declaraciones GRAPHIC son de nivel superior que las funciones de la biblioteca de Interfaz de dispositivo gráfico (GDI) de Windows . [15] [16]

Elementos de las declaraciones GRÁFICAS [ editar ]

Las VENTANAS GRÁFICAS son cuadros de diálogo dedicados, cada uno de los cuales contiene un único control que llena el área del 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 BITMAS 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 GRAPHIC. La salida de caracteres a un objetivo GRÁFICO utiliza fuentes especificadas a través de la instrucción FONT NEW.

Creación de una aplicación de VENTANA GRÁFICA [ editar ]

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 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 GRÁFICA completa:

# Compile  Exe  'usando el compilador PBCC6 o PBWIN10 # Dim  AllFunción  PBMain  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 de color Gráfico Elipse ( 10 , 10 ) - ( 190 , 190 ), % rgb_Red , % rgb_SeaGreen , 0 'espera a que se presione una tecla Gráfico Waitkey $ End Función                     
Comparación de declaraciones PB GRAPHIC con la API de GDI [ editar ]

Usando instrucciones PB GRAPHIC, primero se selecciona un GRÁFICO (VENTANA, MAPA DE BIT o control) como el objetivo GRÁFICO actual, luego se realizan operaciones en él sin requerir que se vuelva a identificar. Compare esto con el enfoque de la API de GDI, donde se requiere el identificador de contexto del dispositivo para cada operación de dibujo.

No es necesario cuando se utilizan las instrucciones PB GRAPHIC para definir un pincel o lápiz como una entidad separada, ni es necesario volver a dibujar el objetivo GRÁFICO (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 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 dibujar en DC de memoria [17] cuando se usa la API de GDI.

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

Complementariedad de declaraciones GRAPHIC y la API de GDI de Windows [ editar ]

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

Comunidad de usuarios [ editar ]

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 todavía activos) y contenía 50.093 hilos que comprendían 408.642 mensajes desde el 26 de agosto de 1998. La sección del Código fuente por sí sola contenía 3.768 hilos. [19]

Soporte de terceros [ editar ]

  • Taller de informática (EZGUI)
  • Foro de Theo: José Roca Software
  • Foros de PlanetSquires

Referencias [ editar ]

  1. ^ Lanzamiento del compilador PowerBASIC 10.0 para Windows
  2. ^ "PowerBASIC avanza sin problemas; la empresa de tecnología encuentra atractiva la asequibilidad de la región" . Sarasota Herald Tribune (octubre de 2000). 2000-10-10 . Consultado el 12 de marzo de 2008 .
  3. ^ Michael H. Tooley (2005). Instrumentación y control basados ​​en PC . Elsevier. págs.  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, 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
  10. ^ Compilador PowerBASIC para Windows Archivado 2008-03-08 en Wayback Machine
  11. ^ PowerBASIC 9 para Windows y compilador de consola PowerBASIC 5: $ 99 y $ 89 el 2016-10-05 ; $ 0 y $ 0 el 2016-11-06 ; $ 0 y $ 0 el 18 de diciembre de 2016 ; no ofrecido el 2017-02-28 .
  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. ^ Análisis de series de tiempo y caos , 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. ^ https://www.powerbasic.com/support/help/pbwin/index.htm
  16. ^ https://www.powerbasic.com/support/help/pbcc/index.htm
  17. ^ Petzold, Charles (1998). Programación de Windows Fifth Edition, Microsoft Press, ISBN 978-1-57231-995-0 
  18. ^ https://www.powerbasic.com/support/pbforums/faq.php?faq=vb3_board_faq#faq_faq_forum_rules
  19. ^ Estadísticas del software del foro vBulletin de PowerBASIC

Enlaces externos [ editar ]

  • Sitio web oficial Sitio web de la empresa PowerBASIC
  • Comunidad de apoyo entre pares de PowerBasic
  • Archivos de Börje Hagsten
  • Código PowerBASIC de Don Dickinson
  • GbSnippets de Gary Beene
  • Página de FreeBase en PowerBASIC (archivada en 2014)
  • Los proyectos PowerBASIC de TheirCorp en SourceForge
  • Libros en Internet Archive :
    • Utilizando Turbo Basic. Frederick E. Mosher y David I. Schneider. Descarga y Streaming Gratis. Archivo de Internet
    • borland. Manual del propietario de Borland Turbo BASIC 1987. Descarga y transmisión gratuitas. Archivo de Internet
  • Borland Turbo Basic 1.x - Estadísticas, descargas y capturas de pantalla :: WinWorld - Software de abandono y prelanzamiento