1. Download Programming Language Basic
  2. Basic Computer Language For Windows
  3. Fortran
BASIC
ParadigmNon-structured, later procedural, later object-oriented
Designed by
First appearedMay 1, 1964; 55 years ago
Major implementations
Influenced by
Influenced
  • BASIC Programming at Wikibooks

BASIC (Beginner's All-purpose Symbolic Instruction Code)[1] is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use. In 1964, John G. Kemeny and Thomas E. Kurtz designed the original BASIC language at Dartmouth College. They wanted to enable students in fields other than science and mathematics to use computers. At the time, nearly all use of computers required writing custom software, which was something only scientists and mathematicians tended to learn.

In addition to the language itself, Kemeny and Kurtz developed the Dartmouth Time Sharing System (DTSS), which allowed multiple users to edit and run BASIC programs at the same time. This general model became very popular on minicomputer systems like the PDP-11 and Data General Nova in the late 1960s and early 1970s. Hewlett-Packard produced an entire computer line for this method of operation, introducing the HP2000 series in the late 1960s and continuing sales into the 1980s. Many early video games trace their history to one of these versions of BASIC.

The emergence of early microcomputers in the mid-1970s led to the development of the original Microsoft BASIC in 1975. Due to the tiny main memory available on these machines, often 4 kB, a variety of Tiny BASIC dialects were also created. BASIC was available for almost any system of the era, and naturally became the de facto programming language for the home computer systems that emerged in the late 1970s. These machines almost always had a BASIC installed by default, often in the machine's firmware or sometimes on a ROM cartridge.

BASIC fell from use during the later 1980s as newer machines with far greater capabilities came to market and other programming languages (such as Pascal and C) became tenable. In 1991, Microsoft released Visual Basic, combining a greatly updated version of BASIC with a visual forms builder. This reignited use of the language and 'VB' remains a major programming language in the form of VB.NET.

Download BASIC-256 for free. BASIC-256 is an easy to use version of BASIC designed to teach anybody how to program. A built-in graphics mode lets them draw pictures on screen in minutes, and a set of easy-to-follow tutorials introduce programming concepts through fun exercises.

  • 11Syntax
    • 11.3Examples
  • 15References

Take advantage of this course called Basic Computer course book download to improve your Others skills and better understand computer basic. This course is adapted to your level as well as all computer basic pdf courses to better enrich your knowledge. Take advantage of this course called Basic Computer course book download to improve your Others skills and better understand computer basic. This course is adapted to your level as well as all computer basic pdf courses to better enrich your knowledge. All you need to do is download the training document, open it and start learning computer basic for free. Basic programming language Software - Free Download basic programming language - Top 4 Download - Top4Download.com offers free software downloads for Windows, Mac, iOS and Android computers and mobile devices. Visit for free, full and secured software’s. Basic programming language free download - Smart BASIC programming language, Nano Basic programming language interpreter, Basic Programming Language - Smart Interpreter, and many more programs.

Origin[edit]

John G. Kemeny was the math department chairman at Dartmouth College, and largely on his reputation as an innovator in math teaching, in 1959 the school won an Alfred P. Sloan Foundation award for $500,000 to build a new department building.[2]Thomas E. Kurtz had joined the department in 1956, and from the 1960s they agreed on the need for programming literacy among students outside the traditional STEM fields. Kemeny later noted that “Our vision was that every student on campus should have access to a computer, and any faculty member should be able to use a computer in the classroom whenever appropriate. It was as simple as that.'[3]

Kemeny and Kurtz had made two previous experiments with simplified languages, DARSIMCO (Dartmouth Simplified Code) and DOPE (Dartmouth Oversimplified Programming Experiment). These did not progress past a single freshman class. New experiments using Fortran and ALGOL followed, but Kurtz concluded these languages were too tricky for what they desired. As Kurtz noted, Fortran had numerous oddly-formed commands, notably an 'almost impossible-to-memorize convention for specifying a loop: 'DO 100, I = 1, 10, 2'. Is it '1, 10, 2' or '1, 2, 10', and is the comma after the line number required or not?'[3]

Moreover, the lack of any sort of immediate feedback was a key problem; the machines of the era used batch processing and took long times to complete a run of a program. Kurtz suggested that time-sharing offered a solution; a single machine could divide up its processing time among many users, giving them the illusion of having a slow computer to themselves. Small programs would return results in a few seconds. This led to increasing interest in a system using time-sharing and a new language specifically for use by non-STEM students.[3]

Kemeny wrote the first version of BASIC. The acronymBASIC comes from the name of an unpublished paper by Thomas Kurtz.[4] The new language was heavily patterned on FORTRAN II; statements were one-to-a-line, numbers were used to indicate the target of loops and branches, and many of the commands were similar or identical. However, the syntax was changed wherever it could be improved. For instance, the difficult to remember DO loop was replaced by the much easier to remember FOR I = 1 TO 10 STEP 2, and the line number used in the DO was instead indicated by the NEXT I.[a] Likewise, the cryptic IF statement of Fortran, whose syntax matched a particular instruction of the machine on which it was originally written, became the simpler IF I=5 THEN GOTO 100. These changes made the language much less idiosyncratic while still having an overall structure and feel similar to the original FORTRAN.[3]

The project received a $300,000 grant from the National Science Foundation, which was used to purchase a GE-225 computer for processing, and a Datanet-30 realtime processor to handle the Teletype Model 33teleprinters used for input and output. A team of a dozen undergraduates worked on the project for about a year, writing both the DTSS system and the BASIC compiler.[3] The main CPU was later replaced by a GE-235,[3] and still later by a GE-635

The first version BASIC language was released on 1 May 1964.[5][6]

One of the graduate students on the implementation team was Mary Kenneth Keller, one of the first people in the United States to earn a Ph.D. in computer science and the first woman to do so.[7]

Initially, BASIC concentrated on supporting straightforward mathematical work, with matrix arithmetic support from its initial implementation as a batch language, and character string functionality being added by 1965.Wanting use of the language to become widespread, its designers made the compiler available free of charge. (In the 1960s, software became a chargeable commodity; until then, it was provided without charge as a service with the very expensive computers, usually available only to lease.) They also made it available to high schools in the Hanover, New Hampshire area and put considerable effort into promoting the language. In the following years, as other dialects of BASIC appeared, Kemeny and Kurtz's original BASIC dialect became known as Dartmouth BASIC.

New Hampshire recognized the accomplishment in 2019 when it erected an highway historical marker recognizing the creation of BASIC.[8]

Spread on minicomputers[edit]

'Train Basic every day!'—reads a poster (bottom center) in a Russian school (c. 1985–1986).

Knowledge of the relatively simple BASIC became widespread for a computer language, and it was implemented by a number of manufacturers, becoming fairly popular on newer minicomputers, such as the DECPDP series, where BASIC-PLUS was an extended dialect for use on the RSTS/E time-sharing operating system. The BASIC language was available for the Data General Nova, and also central to the HP Time-Shared BASIC system in the late 1960s and early 1970s, where the language was implemented as an interpreter. A version was a core part of the Pick operating system from 1973 onward, where a compiler renders it into bytecode, able to be interpreted by a virtual machine.

During this period a number of simple text-based games were written in BASIC, most notably Mike Mayfield's Star Trek. A number of these were collected by DEC employee David H. Ahl and published in a newsletter he compiled. He later collected a number of these into book form, 101 BASIC Computer Games, published in 1973.[9] During the same period, Ahl was involved in the creation of a small computer for education use, an early personal computer. When management refused to support the concept, Ahl left DEC in 1974 to found the seminal computer magazine, Creative Computing. The book remained popular, and was re-published on several occasions.[10]

Explosive growth: the home computer era[edit]

Commodore BASIC v2.0 on the Commodore 64
MSX BASIC version 3.0

The introduction of the first microcomputers in the mid-1970s was the start of explosive growth for BASIC. It had the advantage that it was fairly well known to the young designers and computer hobbyists who took an interest in microcomputers. Despite Dijkstra's famous judgement in 1975, 'It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration',[11] BASIC was one of the few languages that was both high-level enough to be usable by those without training and small enough to fit into the microcomputers of the day, making it the de facto standard programming language on early microcomputers.

One of the first BASICs to appear was Tiny BASIC, a simple BASIC variant designed by Dennis Allison at the urging of Bob Albrecht of the Homebrew Computer Club. He had seen BASIC on minicomputers and felt it would be the perfect match for new machines like the MITS Altair 8800. How to design and implement a stripped-down version of an interpreter for the BASIC language was covered in articles by Allison in the first three quarterly issues of the People's Computer Company newsletter published in 1975 and implementations with source code published in Dr. Dobb's Journal of Tiny BASIC Calisthenics & Orthodontia: Running Light Without Overbyte. Versions were written by Li-Chen Wang and Tom Pittman.[12] In 1975 MITS released Altair BASIC, developed by Bill Gates and Paul Allen as the company Micro-Soft,[13] which eventually grew into corporate giant Microsoft. The first Altair version was co-written by Gates, Allen, and Monte Davidoff.

Almost universally, home computers of the 1980s had a ROM-resident BASIC interpreter, which the machines booted directly into.[b] When the Apple II, PET 2001, and TRS-80 were all released in 1977, all three had BASIC as their primary programming language and operating environment. Upon boot, a BASIC interpreter in immediate mode was presented. Commodore Business Machines included Commodore BASIC, based on Microsoft BASIC. The Apple II and TRS-80 each had two versions of BASIC, a smaller introductory version introduced with the initial releases of the machines and a more advanced version developed as interest in the platforms increased. As new companies entered the field, additional versions were added that subtly changed the BASIC family. The Atari 8-bit family had its own Atari BASIC that was modified in order to fit on an 8 kB ROM cartridge. Sinclair BASIC was introduced in 1980 with the Sinclair ZX-80, and was later extended for the Sinclair ZX-81 and the Sinclair ZX Spectrum. The BBC published BBC BASIC, developed by Acorn Computers Ltd, incorporating many extra structured programming keywords and advanced floating-point operation features.

As the popularity of BASIC grew in this period, computer magazines published complete source code in BASIC for video games, utilities, and other programs. Given BASIC's straightforward nature, it was a simple matter to type in the code from the magazine and execute the program. Different magazines were published featuring programs for specific computers, though some BASIC programs were considered universal and could be used in machines running any variant of BASIC (sometimes with minor adaptations). Many books of type-in programs were also available, and in particular, Ahl published versions of the original 101 BASIC games converted into the Microsoft dialect and published it from Creative Computing as BASIC Computer Games. This book, and its sequels, provided hundreds of ready-to-go programs that could be easily converted to practically any BASIC-running platform.[9][14][15] The book reached the stores in 1978, just as the home computer market was starting off, and it became the first million-selling computer book. Later packages, such as Learn to Program BASIC would also have gaming as an introductory focus. On the business-focused CP/M computers which soon became widespread in small business environments, Microsoft BASIC (MBASIC) was one of the leading applications.[16]

IBM PC and compatibles[edit]

IBM Cassette BASIC 1.10

When IBM was designing the IBM PC they followed the paradigm of existing home computers in wanting to have a built-in BASIC. They sourced this from Microsoft – IBM Cassette BASIC – but Microsoft also produced several other versions of BASIC for MS-DOS/PC DOS including IBM Disk BASIC (BASIC D), IBM BASICA (BASIC A), GW-BASIC (a BASICA-compatible version that did not need IBM's ROM) and QBasic, all typically bundled with the machine. In addition they produced the Microsoft BASIC Compiler aimed at professional programmers. Turbo Pascal-publisher Borland published Turbo Basic 1.0 in 1985 (successor versions are still being marketed by the original author under the name PowerBASIC). Microsoft wrote the windowed AmigaBASIC that was supplied with version 1.1 of the pre-emptive multitasking GUI Amiga computers (late 1985 / early 1986), although the product unusually did not bear any Microsoft marks.

These later variations introduced many extensions, such as improved string manipulation and graphics support, access to the file system and additional data types. More important were the facilities for structured programming, including additional control structures and proper subroutines supporting local variables. However, by the latter half of the 1980s, users were increasingly using pre-made applications written by others rather than learning programming themselves; while professional programmers now had a wide range of more advanced languages available on small computers. C and later C++ became the languages of choice for professional 'shrink wrap' application development.[17][18]

Visual Basic[edit]

In 1991 Microsoft introduced Visual Basic, an evolutionary development of QuickBasic. It included constructs from that language such as block-structured control statements, parameterized subroutines, and optional static typing, as well as object-oriented constructs from other languages such as 'With' and 'For Each'. The language retained some compatibility with its predecessors, such as the Dim keyword for declarations, 'Gosub'/Return statements, and optional line numbers which could be used to locate errors. An important driver for the development of Visual Basic was as the new macro language for Microsoft Excel, a spreadsheet program. To the surprise of many at Microsoft who still initially marketed it as a language for hobbyists, the language came into widespread use for small custom business applications shortly after the release of VB version 3.0, which is widely considered the first relatively stable version.

While many advanced programmers still scoffed at its use, VB met the needs of small businesses efficiently as by that time, computers running Windows 3.1 had become fast enough that many business-related processes could be completed 'in the blink of an eye' even using a 'slow' language, as long as large amounts of data were not involved. Many small business owners found they could create their own small, yet useful applications in a few evenings to meet their own specialized needs. Eventually, during the lengthy lifetime of VB3, knowledge of Visual Basic had become a marketable job skill. Microsoft also produced VBScript in 1996 and Visual Basic .NET in 2001. The latter has essentially the same power as C# and Java but with syntax that reflects the original Basic language.

Three modern Basic variants: Mono Basic, OpenOffice.org Basic and Gambas
Basic Computer Language Download

Post-1990 versions and dialects[edit]

Many other BASIC dialects have also sprung up since 1990, including the open sourceQB64 and FreeBASIC, inspired by QBasic, and the Visual Basic-styled RapidQ, Basic For Qt and Gambas. Modern commercial incarnations include PureBasic, PowerBASIC, Xojo, Monkey X and True BASIC (the direct successor to Dartmouth BASIC from a company controlled by Kurtz).

Several web-based simple BASIC interpreters also now exist, including Quite BASIC and Microsoft's Small Basic. Many versions of BASIC are also now available for smartphones and tablets via the Apple App Store, or Google Play store for Android. On game consoles, an application for the Nintendo 3DS and Nintendo DSi called Petit Computer allows for programming in a slightly modified version of BASIC with DS button support.

Calculators[edit]

Variants of BASIC are available on graphing and otherwise programmable calculators made by Texas Instruments, HP, Casio, and others.

Windows command line[edit]

QBasic, a version of Microsoft QuickBASIC without the linker to make EXE files, is present in the Windows NT and DOS-Windows 95 streams of operating systems and can be obtained for more recent releases like Windows 7 which do not have them. Prior to DOS 5, the Basic interpreter was GW-Basic. QuickBasic is part of a series of three languages issued by Microsoft for the home and office power user and small-scale professional development; QuickC and QuickPascal are the other two. For Windows 95 and 98, which do not have QBasic installed by default, they can be copied from the installation disc, which will have a set of directories for old and optional software; other missing commands like Exe2Bin and others are in these same directories.

This free 3D modeling software has an additional edge by of extensive collaborative features that allow large teams to work concurrently on parts and to manage versioning of files. Autodesk Fusion 360 is available for free for hobbyists and startup ventures earning less than $100K a year. What’s this free 3D modeling software good for? Free 3d design software. The Best Free 3D Modeling Software app downloads for Windows: SketchUp Make 2017 SketchUp Make (64-bit) 2017 Blender Autodesk DWF Viewer AutoCAD Sweet.

Other[edit]

BASIC came to some video game systems, such as the Nintendo Famicom.

The various Microsoft, Lotus, and Corel office suites and related products are programmable with Visual Basic in one form or another, including LotusScript, which is very similar to VBA 6. The Host Explorer terminal emulator uses WWB as a macro language; or more recently the programme and the suite in which it is contained is programmable in an in-house Basic variant known as Hummingbird Basic. The VBScript variant is used for programming web content, Outlook 97, Internet Explorer, and the Windows Script Host. WSH also has a Visual Basic for Applications (VBA) engine installed as the third of the default engines along with VBScript, JScript, and the numerous proprietary or open source engines which can be installed like PerlScript, a couple of Rexx-based engines, Python, Ruby, Tcl, Delphi, XLNT, PHP, and others; meaning that the two versions of Basic can be used along with the other mentioned languages, as well as LotusScript, in a WSF file, through the component object model, and other WSH and VBA constructions. VBScript is one of the languages that can be accessed by the 4Dos, 4NT, and Take Command enhanced shells. SaxBasic and WWB are also very similar to the Visual Basic line of Basic implementations. The pre-Office 97 macro language for Microsoft Word is known as WordBASIC. Excel 4 and 5 use Visual Basic itself as a macro language. Chipmunk Basic, an old school interpreter similar to BASICs of the 1970s, is available for Linux, Microsoft Windows and macOS.

Nostalgia[edit]

The ubiquity of BASIC interpreters on personal computers was such that textbooks once included simple 'Try It In BASIC' exercises that encouraged students to experiment with mathematical and computational concepts on classroom or home computers. Popular computer magazines of the day typically included type-in programs.

Futurist and sci-fi writer David Brin mourned the loss of ubiquitous BASIC in a 2006 Salon article[19] as have others who first used computers during this era. In turn, the article prompted Microsoft to develop and release Small Basic.[20] Dartmouth held a 50th anniversary celebration for BASIC on 1 May 2014,[21] as did other organisations; at least one organisation of VBA programmers organised a 35th anniversary observance in 1999.[22]

Dartmouth College celebrated the 50th anniversary of the BASIC language with a day of events[23] on April 30, 2014. A short documentary film was produced for the event.[24]

Syntax[edit]

Typical BASIC keywords[edit]

Data manipulation
  • LET—assigns a value (which may be the result of an expression) to a variable.
  • DATA—holds a list of values which are assigned sequentially using the READ command.
Program flow control
  • IF .. THEN .. {ELSE}—used to perform comparisons or make decisions.
  • FOR .. TO .. {STEP} .. NEXT—repeat a section of code a given number of times. A variable that acts as a counter is available within the loop.
  • WHILE .. WEND and REPEAT .. UNTIL—repeat a section of code while the specified condition is true. The condition may be evaluated before each iteration of the loop, or after.
  • DO .. LOOP {WHILE} or {UNTIL}—repeat a section of code indefinitely or while/until the specified condition is true. The condition may be evaluated before each iteration of the loop, or after.
  • GOTO—jumps to a numbered or labelled line in the program.
  • GOSUB—jumps to a numbered or labelled line, executes the code it finds there until it reaches a RETURN command, on which it jumps back to the statement following the GOSUB, either after a colon, or on the next line. This is used to implement subroutines.
  • ON .. GOTO/GOSUB—chooses where to jump based on the specified conditions. See Switch statement for other forms.
  • DEF FN—a pair of keywords introduced in the early 1960s to define functions. The original BASIC functions were modelled on FORTRAN single-line functions. BASIC functions were one expression with variable arguments, rather than subroutines, with a syntax on the model of DEF FND(x) = x*x at the beginning of a program. Function names were originally restricted to FN, plus one letter, i.e., FNA, FNB ..
Input and output
  • LIST—displays the full source code of the current program.
  • PRINT—displays a message on the screen or other output device.
  • INPUT—asks the user to enter the value of a variable. The statement may include a prompt message.
  • TAB or AT: used with PRINT to set the position where the next character will be shown on the screen or printed on paper.
Mathematical functions
  • ABS—Absolute value
  • ATN—Arctangent (result in radians)
  • COS—Cosine (argument in radians)
  • EXP—Exponential function
  • INT—Integer part (typically floor function)
  • LOG—Natural logarithm
  • RND—Random number generation
  • SIN—Sine (argument in radians)
  • SQR—Square root
  • TAN—Tangent (argument in radians)
Miscellaneous
  • REM—holds a programmer's comment or REMark; often used to give a title to the program and to help identify the purpose of a given section of code.
  • USR—transfers program control to a machine language subroutine, usually entered as an alphanumeric string or in a list of DATA statements.
  • TRON—turns on display of each line number as it is run ('TRace ON'). This was useful for debugging or correcting of problems in a program.
  • TROFF—turns off the display of line numbers.
  • ASM—some compilers such as Freebasic,[25] Purebasic,[26] and Powerbasic[27] also support inline assembly language, allowing the programmer to intermix high-level and low-level code, typically prefixed with 'ASM' or '!' statements.

Data types and variables[edit]

Minimal versions of BASIC had only integer variables and one- or two-letter variable names, which minimized requirements of limited and expensive memory (RAM). More powerful versions had floating-point arithmetic, and variables could be labelled with names six or more characters long. There were some problems and restrictions in early implementations; for example, Applesoft allowed variable names to be several characters long, but only the first two were significant, thus it was possible to inadvertently write a program with variables 'LOSS' and 'LOAN', which would be treated as being the same; assigning a value to 'LOAN' would silently overwrite the value intended as 'LOSS'. Keywords could not be used in variables in many early BASICs; 'SCORE' would be interpreted as 'SC' OR 'E', where OR was a keyword. String variables are usually distinguished in many microcomputer dialects by having $ suffixed to their name, and values are often identified as strings by being delimited by 'double quotation marks'. Arrays in BASIC could contain integers, floating point or string variables.

Some dialects of BASIC supported matrices and matrix operations, useful for the solution of sets of simultaneous linear algebraic equations. These dialects would directly support matrix operations such as assignment, addition, multiplication (of compatible matrix types), and evaluation of a determinant. Many microcomputer BASICs did not support this data type; matrix operations were still possible, but had to be programmed explicitly on array elements.

Examples[edit]

Unstructured BASIC[edit]

The original Dartmouth Basic was unusual in having a matrix keyword, MAT.[c] Although not implemented by most later microprocessor derivatives, it is used in this example from the 1968 manual[28] which averages the numbers that are input:

New BASIC programmers on a home computer might start with a simple program, perhaps using the language's PRINT statement to display a message on the screen; a well-known and often-replicated example is Kernighan and Ritchie's 'Hello, World!' program:

An infinite loop could be used to fill the display with the message.

Most first-generation BASIC versions, such as MSX BASIC and GW-BASIC, supported simple data types, loop cycles, and arrays. Authentec truesuite windows 10. The following example is written for GW-BASIC, but will work in most versions of BASIC with minimal changes:

The resulting dialog might resemble:

Structured BASIC[edit]

Second-generation BASICs (for example, VAX Basic, SuperBASIC, True BASIC, QuickBASIC, BBC BASIC, Pick BASIC, PowerBASIC and arguably COMAL) introduced a number of features into the language, primarily related to structured and procedure-oriented programming. Usually, line numbering is omitted from the language and replaced with labels (for GOTO) and procedures to encourage easier and more flexible design.[29] In addition keywords and structures to support repetition, selection and procedures with local variables were introduced.

The following example is in Microsoft QuickBASIC:

Object-oriented BASIC[edit]

Third-generation BASIC dialects such as Visual Basic, Xojo, StarOffice Basic and BlitzMax introduced features to support object-oriented and event-driven programming paradigm. Most built-in procedures and functions are now represented as methods of standard objects rather than operators. Also, the operating system became increasingly accessible to the BASIC language.

The following example is in Visual Basic .NET:

Standards[edit]

  • ANSI/ISO/IEC Standard for Minimal BASIC:
    • ANSI X3.60-1978 'For minimal BASIC'
    • ISO/IEC 6373:1984 'Data Processing—Programming Languages—Minimal BASIC'
  • ECMA-55 Minimal BASIC (withdrawn, similar to ANSI X3.60-1978)
  • ANSI/ISO/IEC Standard for Full BASIC:
    • ANSI X3.113-1987 'Programming Languages Full BASIC'
    • INCITS/ISO/IEC 10279-1991 (R2005) 'Information Technology – Programming Languages – Full BASIC'
  • ANSI/ISO/IEC Addendum Defining Modules:
    • ANSI X3.113 Interpretations-1992 'BASIC Technical Information Bulletin # 1 Interpretations of ANSI 03.113-1987'
    • ISO/IEC 10279:1991/ Amd 1:1994 'Modules and Single Character Input Enhancement'
  • ECMA-116 BASIC (withdrawn, similar to ANSI X3.113-1987)

See also[edit]

Notes[edit]

  1. ^Fortran's DO had a continue for this purpose, but still required the line number to be entered.
  2. ^Probably the only exception was the Jupiter Ace, which instead used Forth.
  3. ^From version 3 onwards.

References[edit]

  1. ^Kemeny, John G.; Kurtz, Thomas E. (1964). Basic: a manual for BASIC, the elementary algebraic language designed for use with the Dartmouth Time Sharing System(PDF) (1st ed.). Hanover, N.H.: Dartmouth College Computation Center.
  2. ^'High Math at Hanover'. Time. February 23, 1959.
  3. ^ abcdefTime 2014.
  4. ^'BASIC'. Jargon File. Retrieved June 13, 2017.
  5. ^'Thomas E. Kurtz – History of Computer Programming Languages'. cis-alumni.org. Retrieved June 13, 2017.
  6. ^Alfred, Randy (January 5, 2008). 'May 1, 1964: First Basic Program Runs'. Wired. Retrieved June 13, 2017.
  7. ^Gurer, Denise (January 1995). 'Pioneering women in computer science'. Communications of the ACM. 38 (1): 45–54. doi:10.1145/204865.204875.
  8. ^Brooks, David (11 June 2019). 'Finally, a historical marker that talks about something important'. Concord Monitor. Archived from the original on 11 June 2019. Retrieved 11 August 2019.
  9. ^ abAhl, David H. (1973). 101 Basic computer games. Morristown, N.J.: Creative Computing Press. OCLC896774158.
  10. ^Ahl, David H. (May 11, 1981). 'Computer Games'. InfoWorld. Vol. 3 no. 9. p. 44. ISSN0199-6649.
  11. ^Edsger, Dijkstra (June 18, 1975). 'How do we tell truths that might hurt'(PDF). Selected Writings on Computing: A Personal Perspective. Springer-Verlag (published 1982). pp. 129–131. ISBN978-0387906522. OCLC693424350.
  12. ^Pittman, Tom. 'you had to pay $5 up front to get it…'. www.ittybittycomputers.com. Retrieved June 14, 2017.
  13. ^'We have a BASIC'. New Mexico Museum of Natural History and Science. Archived from the original on November 30, 2012. Retrieved April 18, 2007.
  14. ^Ahl, David H. (1979). More basic computer games. Morristown: Creative Computing Press. ISBN978-0894801372. OCLC839377789.
  15. ^Ahl, David H. (1984). Big computer games. Morris Plains, N.J.: Creative Computing Press. ISBN978-0916688400. OCLC872675092.
  16. ^'Osborne 1'. oldcomputers.net. Retrieved June 14, 2017.
  17. ^Pravin, Jain (2011). The Class Of Java. Pearson Education India. ISBN9788131755440.
  18. ^'GNE: the C programming language'. fysh.org. Retrieved June 14, 2017. During the 1980s, C compilers spread widely, and C became an extremely popular language.
  19. ^Brin, David (September 14, 2006). 'Why Johnny Can't Code'. Salon. Archived from the original on September 18, 2013. Retrieved June 19, 2017.
  20. ^'Small Basic'. Microsoft Developer Network. Archived from the original on March 17, 2014. Retrieved June 19, 2017.
  21. ^'Dartmouth plans celebration for 50th anniversary of BASIC computer language'. New Hampshire Union Leader. April 28, 2014. Retrieved June 14, 2017.
  22. ^'50th anniversary of BASIC – Google Search'. Google.
  23. ^'BASIC at 50 – Event Schedule'. Dartmouth College. Retrieved June 14, 2017.
  24. ^'BASIC at 50'. Dartmouth College. Retrieved June 14, 2017.
  25. ^'KeyPgAsm'. FreeBasic Wiki. Retrieved August 2, 2017.
  26. ^'Inline x86 ASM'. Pure Basic. Retrieved August 2, 2017.
  27. ^'Using assembly-language in your code'. Power Basic. Retrieved August 2, 2017.
  28. ^Kemeny, John G.; Kurtz, Thomas E. (January 1968). Basic: a manual for BASIC, the elementary algebraic language designed for use with the Dartmouth Time Sharing System(PDF) (4th ed.). Hanover, N.H.: Dartmouth College Computation Center. p. 53.
  29. ^'Differences Between GW-BASIC and QBasic'. May 12, 2003. Archived from the original on October 19, 2013. Retrieved June 28, 2008.

General references[edit]

  • Sammet, Jean E. (1969). Programming languages: history and fundamentals. Englewood Cliffs, N.J.: Prentice-Hall. OCLC819683527.
  • Kurtz, Thomas E. (1981). 'BASIC'. In Wexelblat, Richard (ed.). History of programming languages. History of Programming Languages I. New York: ACM. pp. 515–537. doi:10.1145/800025.1198404. ISBN978-0127450407.
  • Kemeny, John G.; Kurtz, Thomas E. (1985). Back To BASIC: The History, Corruption, and Future of the Language. Addison-Wesley. p. 141. ISBN9780201134339. OCLC11399298.
  • Lien, David A. (1986). The Basic Handbook: Encyclopedia of the BASIC Computer Language (3rd ed.). Compusoft Publishing. ISBN9780932760333. OCLC12548310.
  • 'Fifty Years of BASIC, the Programming Language That Made Computers Personal'. Time. April 29, 2014.

External links[edit]

Wikibooks has a book on the topic of: Programming:BASIC
  • BASIC at Curlie
  • 'BASIC—Beginners All-purpose Symbolic Instruction Code'. The Encyclopedia of Computer Languages. Murdoch University.
  • The Birth of Basic on YouTube
Retrieved from 'https://en.wikipedia.org/w/index.php?title=BASIC&oldid=919247653'
PRODUCT DISCLOSURE $

Computer programming is an in-demand and lucrative career path, so parents may hope their children grow up to be software programmers. If you want your kids to learn how to program, where do you start? Try a few of the kid-friendly programming languages and tools on this list.

of 07

Scratch

What We Like

  • Block-style storytelling teaches the fundamentals of coding in a fun way.

  • Developed by MIT, an authority on teaching and coding.

  • Free.

What We Don't Like

  • Website is a bit cluttered.

  • Social networking aspect may not be suitable for some children.

Scratch is a free kids programming language developed by MIT's Lifelong Kindergarten Lab. The free language is supplemented by getting-started tutorials, curriculum instructions for parents, and a robust user community. There are even cards kids can use to learn Scratch programming concepts when they are away from the computer.

Scratch uses a building-block visual interface to create a scaffolded experience for kids and parents. You stack together programming components, such as actions, events, and operators.

Each block has a shape that only allows it to be combined with a compatible object. Repeat loops, for example, are shaped like a sideways 'U' to let you know that you need to put blocks in between the start and stop of a loop.

Scratch can be used to make real animations and games using either prepopulated images and characters or by uploading new ones. Scratch can also be used without an internet connection. Kids can optionally share their creations on Scratch's online community.

Because Scratch is free and so well supported, it's one of the first suggestions for kid-friendly programming, and it's easy to see the influence of Scratch in many other kid-friendly programming languages listed here, such as Blockly.

Requirements: A computer running Mac, Windows, or Linux

of 07

Blockly

What We Like

  • Clean block-style approach to learning coding.

  • Translate blocks into common programming languages.

  • Supported by Google.

What We Don't Like

  • Not much functionality beyond translating blocks to code.

  • Future of the project is in doubt.

Blockly is Google's refinement of Scratch using the same interlocking building blocks metaphor, but it can output code in several different programming languages including JavaScript, Python, PHP, Lua, and Dart. That makes Blockly a visual editor rather than only a kid-friendly programming language.

You see the code along the side of your screen as you link blocks together and can switch programming languages on the fly to see the differences in language syntax for the same basic program. This makes Blockly ideal for teaching code to a wide range of ages, including older kids and adults who may not appreciate the younger-skewed cat and cartoons of Scratch.

Google is working with MIT to develop the next generation of Scratch based on the Blockly platform.

Blockly serves as the backbone for the Android App Inventor, which can be used to develop working Android apps. MIT took control over this abandoned Google project.

Blockly is not as fully developed as Scratch yet, and there are not as many available tutorials. However, Blockly looks to have a great future as a robust programming environment for programmers of all ages.

Requirements: A computer running Windows, Mac OS, or Linux

of 07

Alice

What We Like

  • More straightforward design to help more children learn.

  • Sponsored for free by Carnegie Melon University.

What We Don't Like

Download Programming Language Basic

  • The push to 'pure' coding may be too fast for younger audiences.

  • Half the About page defends the project's name of 'Alice.'

Alice is a free 3D programming tool designed to teach the concepts of object-oriented programming languages like C++. It uses the familiar approach of building blocks to allow children to create games or animations by programming camera motions, 3D models, and scenes.

The drag-and-drop interface and easy play button may be a little less confusing for some students than Scratch's cluttered interface. Programs, or 'Methods' in Alice, can be converted into a Java IDE such as NetBeans so that programming students can make the transition from a visual building block interface to a standard programming language.

Carnegie-Melon University developed Alice. The website may not look slick, but the program is still being developed and researched.

Note: If you install Alice on a Mac, you have to enable installation by going to System Preferences > Security and Privacy > Allow apps downloaded from: App Store and Identified Developers. Change your security settings when installation is complete.

Requirements: Computer running Mac, Windows, or Linux

of 07

Swift Playgrounds

What We Like

  • A guided tour using a fun motif to translate Swift commands to game-like behavior.

  • Developed and sponsored by Apple.

  • Free.

What We Don't Like

  • Swift-only; locks kids into iOS app development.

  • Only runs on iPad.

Swift is a programming language used to build iOS apps. Swift Playgrounds is an iPad app designed to teach kids how to program in Swift. It is a free download from Apple and does not require any prior coding knowledge.

Basic Computer Language For Windows

The app contains a lot of tutorials on different Swift commands that are designed, in this case, to move a character named Byte along a 3D world. Although no programming knowledge is required, kids need to know how to read the tutorials and have some persistence for problem-solving. The drag-and-drop code eliminates typos, but Swift Playgrounds does not use the interlocking block interface.

Once your children are proficient in Swift Playgrounds, they can start developing in Swift.

Requirements:iPad

Fortran

of 07

Twine

What We Like

  • Focus is on chaining ideas for a story, rather than on building a computer program.

  • Free and easy to use.

What We Don't Like

  • Developed by a volunteer community.

  • Antiquated website.

Twine is for children who are interested in creating games and telling stories but get frustrated with the technical details of programming.

Twine is a free nonlinear storytelling app that is used by people of all ages, including a large number of adults and educators. With Twine, you don't need to learn any code. Rather than teaching users how to code, it teaches them how to structure and present nonlinear games and stories.

Twine stories consist of pages of text and images, like websites. The design interface shows the connected pages, each of which can be modified with text, links, and images. It works especially well for 'choose your own adventure' type games where each player choice goes to a new branch of the story.

While this app does not teach coding, it does teach a lot of planning and design skills that are vital for game designers and storytellers. The app is well supported with a support wiki, tutorials, and an active user community.

You can create Twine stories online through the hosted app or download an app for offline editing.

Requirements: Windows, Mac OS, or Linux

of 07

LEGO Mindstorms EV3

What We Like

  • Active use with robotics engages kids in math and science programming.

  • LEGO's reputation is solid.

What We Don't Like

  • Requires the Mindstorms system, which must be purchased.

  • Some product cross-sells embedded.

Another approach to learning to program is to look at robotics. Many kids respond to the idea of programming things that work in the real world. There are a wide variety of robotics kits and languages you can use to program them, but the LEGO Mindstorms system enjoys one of the largest user communities and a kid-friendly visual programming app.

Download the programming environment for free, but you need access to a LEGO Mindstorms kit to make the program run. That doesn't necessarily mean you have to buy one. Some schools and public libraries have kits available for student use, or you may want to find a First LEGO League near you.

LEGO EV3 programming software can be run on tablets and computers, and it uses a building-block — in this case, a LEGO block — metaphor, just like Scratch and Blockly do, although LEGO's version tends to build the program horizontally and looks more like a flowchart. Students combine actions, variables, and events to manipulate their LEGO Mindstorms creations. The programming language is simple enough for young kids while still being challenging for older ones and adults.

In addition to the LEGO Mindstorms programming environment, LEGO uses an open-source Linux kernel that can be modified and programmed by traditional programming languages like Python and C++.

Suggested Age: 10+ (Younger kids can use this with supervision)

Requirements: EVA3 requires a computer running Mac OS or Windows or a tablet running Android or iOS. Running the programs rather than debugging them, requires one or more LEGO EV3 robots.

of 07

Kodu

What We Like

  • Learn to program while using a gaming device.

  • Easy-to-use interface makes learning fun.

What We Don't Like

  • Relies on older hardware. The project itself is likely defunct.

  • Doesn't teach programming as much as game design.

Kodu is a game-programming app from Microsoft designed for Windows and the Xbox 360. The Windows version is free, but the Xbox 360 version is a paid app. Kids can use the app to explore and design games in a 3D world.

The graphics interface of Kodu is engaging, and programming for the Xbox version can be done entirely from the game controller. Kodu is an older but still solid choice if you have hardware that supports it.

Unfortunately, there's no Xbox One version of Kodu, and future development looks unlikely. However, the Xbox and Windows versions are fully developed, which is why it is included on this list, even though it is abandoned.

Requirements: Windows 7 and below or Xbox 360

More Suggestions

Motivated middle and high schoolers may want to try their hand at making Minecraft mods. The Unity 3D game interface is another great way to jump into programming 3D games with a lot of online resources available. Just remember that programming is inherently frustrating. It involves a lot of troubleshooting and trial and error. The best tool parents can provide their budding programmers is a sense of persistence and determination.