# Programming Languages in the Wild 1) For discussion, you chose the programming language: BASIC 2) This language is: General Purpose 3) Is this language Turing complete?: Yes ## Uses 4) For what killer app, projects, or historical reason is this language best known or used ?: In the 1970s and 1980s, BASIC was released alongside PCs, which exposed America to it as one of the country's first widely-known programming languages. As computers became more and more important in the daily lives of people, BASIC was used everywhere. This allowed developers to target BASIC as a bridge across a heterogeneous landscape of hardware, which couldn't previously talk to each other or be developed for in such a way. 5) Is the answer to 4, which the language is known for, due to language features, community support or libraries, or something else?: BASIC rose in prominence due to an intersection of language features and community support. BASIC's two important language features were: 1. It was influenced by mother languages ALGOL and FORTRAN. This meant that it shared similarity with other such derivative languages. 2. It was designed to be easy. As PCs became much more widespread, BASIC became a perfect language to use for education and as an introduction to programming, because it was easy and relevant to other, more complex contemporary languages. Because of this, a community developed, which spurred the language through decades of development on generations of hardware. 6) As a programmer, what is easy to do in the language?: A For loop is a For loop. But before formalisms like those in ALGOL 68 and then BASIC, languages could have incredibly obscure syntax for things like loops; the range and expression might be a comma separated list, for example, with machine-specific ordering. With BASIC, a for loop looks like: FOR I = 1 TO 5 STEP 1 which, if nothing else, is explicit in its form and function, and helps developers understand scope when reviewing code. 7) What does the method to do the answer to 6 look like in general purpose languages like c or java?: BASIC is similar to C and Java in this regard, but lacks some of the niceties of the modern languages. In BASIC, the syntax seems to be FOR In C and Java, the syntax is something more like FOR In C and Java, there are additional stipulations you can make on range - increment vs decrement, for example. I'd be surprised if vanilla BASIC allowed that. 8) Does the programmer have to give up anything to gain the benefits of this language?: Now, of course, BASIC is hopelessly outdated. There are no libraries, no threading, there is limited system access. But even at its time, only some of the old systems which supported the language even supported things like graphics and sound. Additionally, BASIC was interpreted (meaning it was run line by line), which was significantly slower than a program written in machine code or compiled down to machine code. This difference was one of orders of magnitude, and on hardware of the time, like Intel 8086s, that execution-time difference was quite noticable.