[LinuxFocus-icon]
�����  |  �����  |  ������  |  �����

������� | ������ | ������ | ��� LF
��� �������� �������� �� ��������� ������: English  Castellano  Deutsch  Francais  Nederlands  Russian  Turkce  

[Photo de l'Auteur]
����� John Perr
<johnperr(at)Linuxfocus.org>

�� ������:

������������ Linux � 1994, ���� �� ����������� ���������� LinuxFocus.



������� �� �������:
Dmitry Martsynkevitch <ursa(at)zaba.ru>

����������:

 

���������������� �� BASIC � Unix

[Illustration]

������:

���������� �� ��� Linux ��� ������ Unix -������� �� BASIC? ������ ���? ������������� ���������� ����������� ��������� ��� ������������ BASIC ��� �������� ��� ����������������, ��� � ���������������� ����������.


_________________ _________________ _________________

 

����������

�� ������ �� ��, ��� BASIC �������� �� ������������ ����� ����� ������ ������, �� ������ ���� ����������Σ���� �� �������� �������� �� Unix � ��� ��������, ��� ���������� ������ ���������. �������� ��� ������� �������, �� ������� ������������ Unix ����� ��������� � ������ ����� �����. Unix � ������ �������� ������� ������� ����� ������� ������� ���������. ���� �����, ��� � ��� ������ ������ ���������, ��� BASIC ��������� ��������������. �� �������� ���������� ������� ����������� — ��� ����� ������, �� ����� �������� ����� � �����. ������ ��-�� ����� �������� � ����������� � ������� ���� ����� ������� ��������� ����������������, BASIC � ������� ��ϣ ��������.

� ���������, ���������� ��������������, ���ף� � ��������� �������������� ������, � ����������� ��ϣ� �� �����������. ����� ���� �������, ��� ������� ���������������, ������� � ������ BASIC -�, ��� ������ ��� ������ �����������.
�� ������ �� ���� �������������, � ������ ������ ����������, � ������� ��� �������� "��������� ������������", BASIC �������� ����� �� ��������� ������� ��� �������� �������� ��������� ��������. ������ ���� ��� ���� �������� ������� � Windows �������, ��� �������� ������� � Windows �������, ���, � ������� ��������������� ����� ����������, ����� ��������� ����������� ��������� �� ��������� ������ ������. ����� ����, ��� ������, ��������� "Visual", ������������ ��� ���������� ������������ ����������, �� �ޣ� ��������� ��������, ��� ��������� ��������������� ���� ���������� ����� �����, ������� ������� �� ��� � �� ������ ���������������.
����� �� ���������� ��������� �������� ��������� ������ BASIC ��� Linux � ��������� �������� ��.

 

������� �������

�������� ����� �� ������������ � kbasic, Andrea M. Marconi.

 

�������� BASIC

���� BASIC (������������� ������������� ������� ������ ��� ����������) ������� � ����������� ������������, � ��� �������� (���), � 1964 ����. ��� ����������� ��. ������ (1926-93) � ����� �. ���� (1928-). �� ����� ������ ������� � ������� ��������� (1945), � ������� (1948-49), ��� ��������� �������� ���������. �� �������� ����� � ��������, � 1956.

��� ��� ������ �������� ��� ����� ����ݣ���� ������ ����������������, � ����� ������, ������� ���������� Darsimco � DOPE, ��� �������������� ��� ���� ��������� �������� ��������� �����:

  1. ����������� ���������� � ������ ��������
  2. ������� � �������������
  3. � ������������ ����������
  4. �������������
  5. � �������� ������ � �������
  6. ������������
  7. ����������� �� ������������ �����������
  8. ����������� �� ������������ �������

����� ����������� ��� ��� ������ � FORTRAN � ALGOL. ������������� ������ ���������� "Dartmuth BASIC" � �������� � ���� 14 ������. "����������� BASIC" ��� ���������������, � ������ ������ ������� ��� ���� �������.

������ ������ � ����� ���� ������������� 1 ���, 1964 ����, � 4 ���� ����, ����� ��� BASIC ��������� ���� ������������ �������� �� ���������� �������� �������� 255 � �� ������������ ������������.

 

�������� BASIC

������ � ���� �� ����� ����������� ��ϣ �����������, ��� �������������� ��� �������� � ���������� ����� ������. ����� ������ ������������� BASIC ���� � �������� �������� ��������, ��������� GE-255 � �������.

� ������� ������ ������ BASIC ����� ������ ������ (������� ������������� �������� ��������). � 1970 ����� E-BASIC, �� ����������� ���������, ��� ������� Java. ����� ��� CBASIC � ����� ������, ��� ��������� ANSI ���������� ��������� ���������. �� ����� � 1978 ��� �����, ��� ����� �� ���� ������������: BASIC ��� ����������� ��� ����� ������.

� ��� �� ����� (1975), ��� �������� � ������ ������� ��������� TinyBasic: �� �������� ����� ��� 2 ���������� ����������� ������. ����� �� ���������� � ������ ������������� BASIC. ��� ����������� ������ �. ����� III (1955-, ������ ��������� ��� ����) � ��� ����� (1953-). ������������� ����������� ����� ���������� ����� BASIC �� ���������� ������������ ���������� ����� �����. � ����� 70 -�, ������ ������������ ���������� ����� ����� ���� ������ BASIC:

 

�������� BASIC

� ������ 80 -�, ������� BASIC ����� ������� � �������� �����������. ��� �������� ������������ �� �����: IBM ���������� BASIC A � PC-DOS, ��� �������������, ������� � ROM, ���������. MS-DOS ���������� Gee-Witz BASIC (��� ��� BASIC).
� 1984 ���������� ���������� Microsoft BASIC, � �� ��� �������������� ������, ����� ������� ����� QuickBASIC. � ������ ��������� � 1985, � ��������� � 1990 ������� Microsoft BASIC Professional Development System 7.1

��������� ������������ ���������� (GUI) � ������������ ������, �������� � ��������� ���������� � �����. ������� Visual BASIC, ��������� ���������� ��� ��������� GUI; ������������, ��� �� ��������-���������������. ������ ������������ � ���� �� ��������, ������, �� ��������� ����ޣ��� �� 90% �������� ��� Windows 9x ���������� Visual BASIC.

 

BASIC(�) �������

���� �� ������� ��������� ������ Basic ��������� ��� Linux, �� ���ģ� ����� ���������� ����� ����� ���������� ��� ������������. �� ����� sourceforge ���� "������� BASIC", �� ������� ����� ������ � ���������� ����������:

��� �������� ����������� ������ � Sourceforge.net

  1. XBasic
  2. SmallBASIC
  3. wxBasic
  4. GNU/Liberty Basic
  5. YaBASIC
  6. X11-Basic

����� ��� ��������, ��� Gnome � KDE ����� ������, ������� ������ �������� Visula BASIC. ����� ����, ������ �������� ������� � ������������� ���������� ������������ VB ������� � ��������-������ "the register", �� 10 ������� 2002 ����.
������ ������� (ajl13-at-bellatantic.net), ����� GLBCC (��������� ������������ Liberty Basic) ������������ ������ BASIC � ����������� GNU, ����� ������ �� ���� �� ����� GLBCC (lbpp.sourceforge.net).

������� ���������� ������ ������ BASIC, ����� ��������� ������������� �� �� ���������� � ������������ ���������������� �����:

 

XBasic

XBasic — ��� ����� ���������� � ����� �� �������� ������ ���������������� �����������. ��� ��������������� ����� ������������, �� ����, ��� ����������� ��������� ����������� ��������� ���������, ���������� ţ � �������������. ������� "����� - �������" ("dot commands") ��������� ������������ ����������� ����� �� ������, � �����������, ������� �����, � �� ��� �������, � ���� ����� ����� ������ �������� ����:

XBasic
XBasic, ��� 1a: ������� ����

XBasic math
XBasic, ��� 1b: ���������� Math

��� �������� ������������, XBasic ����� �ӣ ����������� ��� ���������������� ����������� �����������, � ����� ����� ����������. ����� ��������, ��� ������� ����������� ������ ��������, ���������� �� C. ���� ����� ����� ����� C, ��� ����������� ����� �����, ���������� ����������, �������� ���������.
� ���������: XBasic �������� �� GPL ��� Windows ��� Linux ��: http://www.xbasic.org


 

SmallBASIC

SmallBASIC — ��� �������������, ���������� ���� ��� Win32, Linux � PalmOS. ��� ����������� �������� �� ������ �������, ���� ����������� ������� ������������. ������������� ����� ���� ������ ��� ������ �����������:

�� ����� ���� ������� ��� � ���������, ��� � � ����������� ������. ���� ������ ��������� ��������� System_info.bas:

 

��������� �����

$ sbasic  System_info.bas
SmallBASIC version 0.8.2, use -h for help
http://smallbasic.sourceforge.net

VMT Initialization...
File: System_info.bas
Section: Main
PASS1: Line 24; finished
SB-MemMgr: Maximum use of memory: 30KB

PASS2: Node 3/3
Creating byte-code...
Variables  20
Labels     0
Proc/Func  0
Code size  707

System Information

OS:     Unix/Linux version 2.4.18-6mdk (quintela @ bi.mandrakesoft.com)
       (gcc version 2.96 20000731 (Mandrake Linux 8.2 2.96-0.76mdk))
       #1 Fri Mar 15 02:59:08 CET 2002 204018
SB:     802
Display 99x58
Colors  16
Font:   1x1

Total free memory: 127728 KB
Stack size: 127728 KB
Largest free memory block: 127728 KB

 * DONE *

SB-MemMgr: Maximum use of memory: 30KB
$
 

����������� �����

   $ sbasic -g  System_info.bas
   SmallBASIC version 0.8.2, use -h for help
   http://smallbasic.sourceforge.net


   VMT Initialization...
   File: System_info.bas
   Section: Main
   PASS1: Line 24; finished
   SB-MemMgr: Maximum use of memory: 30KB

   PASS2: Node 3/3
   Creating byte-code...
   Variables  20
   Labels     0
   Proc/Func  0
   Code size  707

   SB-MemMgr: Maximum use of memory: 30KB
   $

SmallBASIC
��� 2: SmallBASIC. ����������� ����� SDL.

���� SmallBASIC ���������� ����� � ������ � ����, ��� �� ������ ������� �� "������������" BASIC. ����� ����������� ������� ��� ������ ������, � ������������ RECTANGLE � CIRCLE ����� ���� ������������ �� �����, ��������� ����� ������������ �������. ���� ���������� �����������.
������, SmallBASIC ��������� �� ������� TINYBasic � QuickBasic � ������ ������������ � PalmOS, ������� ��� ����� �� http://smallbasic.sourceforge.net

 

wxBasic

wxBasic ����� ����� QuickBASIC�, �� ���-��� �� ���� �� Unix , ��� �������� ��������������� �������. wxBasic — ��� �������������, �� ���������� ����� �� ���� �������, �������� ������ ������������� (138 ���.), ��������� � ������� pdf. � �������� �������� ������ ����������� ����������, ����������� ������ ��������� ��� X Window ��� Windows. � ���� ������� ������ ���� ������ � ��������-���������������, ��� �������� C++. ������, ����������� ��������� ���������� ������ �������, ����� ��� �������� ����������� ���������� ����������.

 // My first wxBasic demo...
 option explicit

 // create the window
 dim frame=new wxFrame(0,-1,"wxBasic App",wxPoint(10,10),wxSize(300,200))
 frame.Centre()

 // place a panel in the window
 dim panel = new wxPanel(frame, -1)

 // add a status bar
 dim sBar = frame.CreateStatusBar( 1 )
 sBar.SetStatusText("wxBasic Frame Demo")

 // attach a menubar to the window
 dim mBar = new wxMenuBar()
 frame.SetMenuBar(mBar)

 // build the "File" dropdown menu
 dim mFile = new wxMenu()
 mBar.Append(mFile,"&File")

 // populate it
 mFile.Append(wxID_NEW, "&New", "Creates a new file")
 mFile.Append(wxID_OPEN, "&Open", "Loads an existing file from disk")
 mFile.Append(wxID_SAVE, "&Save", "Saves current file")
 mFile.Append(wxID_SAVEAS, "Save &As", "Saves current file with new name")
 mFile.AppendSeparator()
 mFile.Append(wxID_EXIT, "&Exit", "Exit Application")

 // build the "Edit" dropdown menu
 etc.....

wxBasic

wxBasic
��� 3: wxBasic: ���� �� demo-��������

��� ���� : http://wxbasic.sourceforge.net

 

GNU/Liberty Basic

����� ���������� GLBCC (��������� ������������ Liberty Basic), ��� ����������, � ������ ��������� � GNU ����������� gcc, ����������� BASIC � C. ��� ������� ������ �� ��������� ����������� C++, ����������� ����� ��������������� C++ � C. ��� ����� �� ��������, ���� ���������� ������������ ��������� � Liberty BASIC. ��������� �������� � 90 -�, �� Windows ����������, � ���� ������ ������� ������������ ��-�� ����� ����������� (������ � ��������). �� ���������� �����������, ����������� �� ���� ����, �� Σ� �� ���ģ�� ����� ������������� �������� �������� ������� ������������ ��������. ���� ���� �� ���������, �� ������� ������ ����� �������.

���������� GLBCC ����� ���������� ��� ��� Linux, ��� � ��� Windows, � ����� ��������� ����������� ���������� �����, ���������� �� ���������, ��� ����� ��, �� ���������� �� ����� ������ �����. ����� �������� ��������, ��� ��������� �� Liberty BASIC, ���������������� c GLBCC, � ��������� �������� "������" Visual BASIC.

��������� GLBCC ��� Linux ���������� ������ — ���������� ������������ "tar", ����� ����������� �����, � "make install".
� ������� ������, ��������� ���������� ��������� ������. "glbcc hello.bas" ������� ���������� ���� �������� ���:

$ glbcc
/usr/local/bin/lbpp -I/usr/local/lib/glbcc-lib/0.0.7/include -o out.c hello.bas
gcc -g -I/usr/local/lib/glbcc-lib/0.0.7/include `gnome-config --cflags gnomeui`
    -o hello out.c /usr/local/lib/glbcc-lib/0.0.7/lib/lbcrt0.o
    -L/usr/local/lib/glbcc-lib/0.0.7/lib -lLB
    -lm `gnome-config --libs gnomeui`
$ ls -l hello*
-rwxr-xr-x  1 john  john  339671 oct 13 21:55 hello
-rw-r--r--  1 john  john      22 avr 14 17:41 hello.bas
$ cat hello.bas
print "Hello, world!"
$ ./hello
Hello, world!

����� ��������� �� �������, GLBCC ������� ����������� ������ � �������� ��� ������ ��� ����� � ����� �� BASIC � ��� ����������� �����, ������� ����� ������. �� ���������, ��� Windows � ����� ������� ��������� ��������� ������� ".exe", � ��� Linux �� ��������� �������.

GNU/Liberty Basic
��� 4: GNU/Liberty Basic

������ � �������� � GLBCC �������� �� ���������� GTK. �������, ��� GLBCC ��� ������� �� BASIC.

 

YaBASIC

�ݣ ���� Basic ��� Unix � Windows

���� YaVASIC � ��ģ� ���� ��� �������������, ��������������� �� �� ��������. ������ �������� �� ���� ��� �� ����� ����������� � ����� �� ���������. YaBASIC ���������� �� ��������� ������, � ��������� � �������� ��������� ����� �����. ���� ���� ������, �� �� � �������������, ���� ���, �� �� ����ģ�� � ����� �������������, ��� � ���� �������:

$ yabasic
Enter your program, type RETURN twice when done.
for i=1 to 10
   print i,"hello, world"
next i

1hello, world
2hello, world
3hello, world
4hello, world
5hello, world
6hello, world
7hello, world
8hello, world
9hello, world
10hello, world
$

����� ������ ������ YaBASIC ��������� ������ �� � Unix �������� ��� ���� CGI �������, �������� � ������ ����� ������ ���� "#!/bin/yabasic", � ����� ����� ���� ����������.

���� YaBasic ������ � Quick BASIC, ��� ����� ����������. ���� ������ ����������� ��������� ������ � �����, ����� ��� ��� ������ $ � ����� ����� ����������. ����� ��� ��������-���������������� ����������������, �� ���� ����������� ��������� ���� ����������� ����������, ���� ������� ������� � ����������� ������� X11 ��� Windows, � ����������� �� ������������ �������. ���� ����� ��������� �������� ��������, ����� ��� ������� split(), �������� �����ͣ���� �� Perl ��� php, ����� FOR, WHILE ��� REPEAT UNTIL, � ����� ����������� IF ELSE ENDIF; ��������� ����������� ����� � BASIC � 80 -�, � ���������� ������������ ����������������.

 

X11-BASIC

X11-BASIC — ��� ������������� ������������������ BASIC, � ������������ ������������� X11. ���� BASIC ������ӣ� � ������� Atari ST GEM/TOS (����� 80 -�) �� Unix. ��� ����� ������������ ��� �������������, ��������� �������� ��� CGI �������. ���� ����������, ������� ����� ������ ��������� ���������� ����� (����������� �����), ��� �������������� � ����������� ���������� X11 �������� ����� 200 ����� (������������ �����). ���������� �� ����� ���� �� ���������, ��� ��� ������ �� ����������� CPU ���, � ������ ��������������� ��������. ��� ���������������� ������� �� X11-BASIC.
���� ����� BASIC ������ �����, ��������������, � �������� ����� ���������� (integer, floating, text, array, boolean). ��������� ������� ��������� ���������� � ������, ������� malloc() � C, ��� ����������� �������, ���������� � ��������.
����������� ������� ����� �� ��� � � Atari ST GFA BASIC, ����� ����� �� ���������, �� ��� �������� X Window. �������� ������� MENU ������� � ����������� ���� ����. ���� ������������� ����֣� ������������� � ������� ����������� ��������, ������ ���� ��� ������������ ������� �� �������� �����. ���������� ������� ������� � ���, ��� ������� � �������� ������� �ݣ �� ��������, � ����� ���� ��������, ���� � ���������. � ���������� ������, ��� ���� ������������� � �������� ��ģ� ���� ��� ���� ������, �� ������ ����� ������������ ����, ��������� BASIC "�����" ������.

$ xbasic
***************************************************************
*               xbasic                 V. 1.07                *
*                    by Markus Hoffmann 1997-2002 (c)         *
*                                                             *
* version date:           Wed Sep 25 10:26:29 CEST 2002       *
* library V. 1.07 date:   Wed Sep 25 10:26:29 CEST 2002       *
***************************************************************
�������� ���������: http://www-cip.physik.uni-bonn.de/~hoffmann/X11-Basic/

 

HBasic

��� BASIC, ������������ ������� ����������� � ������� �������, ����� ��� �� ��� ������������, � ����� �� �������� ������������, ������� ����� 7.7 ��������. ���� � ��� ��� ��������� ������ ������������ Linux, ��, ��������, ��� ����������� Qt-3.*, ��������� �� ����� Trolltech (http://www.troll.no). ��� ������ ����� ���������� �� ����, ��� ����� �������� ����������� (�� ������ �� "���������" : ������ 0.8 ):

������ HBasic �������������: "��������� ������ HBasic �ݣ �� ���������� ���������, ����� ţ ����� ������������ ������������ �������� �� BASIC. �� ���� ��������� ������� ������ ���������� ������: 1.0".

hbasic
���. 5:Hbasic
 

GNOME Basic

������ GNOME Basic ������ ������� ������������ ����������� � Visual BASIC, VBA, VBScript, � ������� ���������� � ���� �������. ������� �� ��� ������������ ��� ���������� VBA �������� �� gnumeric, ��, � ����� � ������������ �����������, �� ����� ��������� ������ ��������� �����, ��������� ������� ����� VB ���� � ��������� ��������� ������� �� ASP. � ����� ������������ ����������� � Bonobo, ����� ������� ����� MS ����������� �����.
������ Gnome Basic — ��� ������� ������� ����� VB ������� Gnome, �������� ��� ��������� ������������������ � �������� ����������.
���� ������ �ӣ �ݣ ��������� � ��������������� ��������� � ������ ���� �������� ������������� Gnome.

�������� ��������� : http://www.gnome.org/gb/

 

KBasic

����� ���� �ݣ ���� ������� ������� BASIC ����������� � Visual Basic. ������������ �������� ��������� ������ ���������� ������ 1.0 ����� 2003. ������ ��� ������ ������������ ������, ����������� � ������ ����������. KBasic ����� ������������ ��������� Kdevelop.

��� ��� �������� kbasic ��������� ������ ��� ����������:
$ kbasic1 --help
Usage: kbasic1 [OPTION]... FILE
      --help                  display this help and exit
  -V, --version               print version information and exit
  -c, --copyright             print copyright information and exit
$ kbasic1 -V

KBasic version 0.8

Copyright (C) 2000, 2001, 2002 The KBasic Team
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

Visit us on http://www.kbasic.org/

$kbasic1 hello.bas
-- scan --

LINE 00001 PRINT STRING "Hello, world!" EOL
LINE 00002 END

-- parse --

STRING in line 1
EOL in line 1
parsed PRINT

parsed END


-- interpret --

0000:  KBASIC   KBASIC
0006:  VER      1.000000
0011:  OPTION R OFF
0013:  JMP      36
0036:  DIM_STAT "Hello, world!", 1
0055:  JMP      18
0018:  PUSHS    1 , " Hello, world! "
0023:  PRINT
Hello, world!
0034:  END      execution ended

��� �� ������ ������, kbasic ��������, �� ��̣� �� ���������: ��� ����������� ��������� ����� ���������� ��������� �������������� � ���������������� ������������� ����.

����: http://www.kbasic.org

 

����������

���� ����� ��������������� � ������������ BASIC, ���� ��� ��������� ����������. � ������ �������, �� ���������, ���� ����� ������������������ ���� �ӣ �ݣ ���, ���� �� Unix ��������, ��� ��� ���������� ������ �����������, ��� ��� ���� ����� ����������� (PERL, python, Tcl/Tk, php....), ����� ���������� � ������ �������������. �����������, ����� ���������� ������������� �������� ����������������� �� �������� ���� ����. ����� �������� ���������� ������, � ��� ��� ������ �������. �������� ����� �����, ��� ������������ �������� ���������� ��, ��� ����� ��������� BASIC �������������.
� Windows ��������, Visual Basic ������ ����������� ��-�� ����� ����������������� � ���� �������, ASP � ��������� ����������. ������, ����� ��������, ��� ������� ����� ������������� ���� BASIC �������� �� ����� ����������, � ������ � ��������� ������.
�����, BASIC �ӣ �ݣ ����� ������. ������������� �������������� �������� � ��������� �������� ����� ������, � �������� ������������� ����� �����. ������� ��������� ��������, ����� ��� Gnome BASIC � KBasic, ������������ Visual Basic, ������� ���������� �� �����, ���� �� ������� �����, ���� �� VB ��� ����������, ��� �������� �� ���. ������������� � ������ ������ ���� �� ����� ����������...
��� �������� ������������� �������� �� BASIC: � ��� ���� �����, ���� � ���������. � �������� IDE, HBasic �������� �������������. �������� �����������, �� ����������� ����, �������� XBasic. ������ smallbasic � yabasic ���� ����������� ���, ��� ������ ��� ����ۣ� �� Unix, ������ ������� � CGI, �� ����������� � ������ �� �������� ����� �����������, ��������������� ���� ��������. ����� ���� GLBCC, ����������� ������ ����� ������������� ��������� ������� GCC. �� ���������� � ���� IDE, � ������� �������� � ������������� ���������, ������ ������� ���������� � ����������� ������� ��������. �������, wx-Basic �� ��������� �� � ����� ���������, �� �������� ���������� �������������, ������ ��� ����������� �������� ������������ ����������.
������� ������� ���� BASIC, ��� �������� �������� �������� � ����� ��������� �� ������, ��� ��������������, ��� ��� ������� ����� �������������� ������ �������� � ��� Win32 � ��� Unix.
����� ������� ����� �������������� ����� ��������� ������: ������� ���������� �������� ��� ����� �����.

 

�������� �������

� ������ ������� ���� �������� �������. �� ���� �������� �� ������ �������� ���� ����������� ��� ����������� ����������� ������ ��������� :
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© John Perr, FDL
LinuxFocus.org
Translation information:
fr --> -- : John Perr <johnperr(at)Linuxfocus.org>
fr --> en: Georges Tarbouriech <gt(at)Linuxfocus.org>
en --> ru: Dmitry Martsynkevitch <ursa(at)zaba.ru>

2003-01-17, generated by lfparser version 2.31