BASIC Programming Language

Total Page:16

File Type:pdf, Size:1020Kb

BASIC Programming Language BASIC Programming Language Thomas E. Kurtz Dartmouth College I. Brief Description II. Early History of BASIC III. Growth of BASIC IV. Standardization and its Failure V. The Microcomputer Revolution VI. Present and Future GLOSSARY the rules of the language and with the purpose of car- rying out a particular computing task. BASIC Name of any of a large number of simple Run Actual carrying out of the instructions of the pro- programming languages that are similar and ulti- gram by the computer. mately derived from the original Dartmouth BASIC of Statement Instruction to the computer. In BASIC, state- 1964. ments are virtually synonymous with lines and usually Keyword Word in a computer language that has a special begin with a keyword. meaning. (Keywords in BASIC include, for instance, Subroutine Portion of a program, usually set off from the LET, PRINT, FOR, NEXT, TO, and STEP.) rest of the program, that carries out some specific task. Language In computing, a programming language. Pro- Subroutines are usually invoked by special instructions, gramming languages like human languages, consist of such as GOSUB and RETURN in original BASIC, or words and symbols together with grammatical rules CALL in modern versions. that govern how they can be put together. Variable Word in a program, usually different from a Line Same as a line of text, beginning with a line number keyword, that stands for a quantity, just as in ordinary in original BASIC. algebra. Line number Integer (whole number) that begins each line of a BASIC program and serves as a kind of “serial number” for that line. Line numbers also serve BASIC (Beginner’s All-Purpose Simplified Instruction as “targets” for GOTO statements. Code) began as an interactive computer programming lan- List A list of a program is a “printout” on the screen of guage especially easy to learn. Invented in 1964, it now a computer or on a hard-copy printer, of the text of the exists in many widely different versions. Students learn- program (i.e., its lines). ing programming for the first time may know BASIC as Program Collection of statements, formed according to the simple language found on most personal computers. 23 24 BASIC Programming Language Others know BASIC as a development language on 100 INPUT X, Y personal computers and workstations. This article ex- 110LETZ=X+Y plores the history and development of BASIC, at least 120 PRINT Z some of the versions of BASIC, and explains why this 125 GOTO 100 language has become so diverse and yet so popular. 130 END I. BRIEF DESCRIPTION This time, the result might look like this: Nearly everyone who has heard about computers has heard RUN about the BASIC language. Many of these people can read ?3,4 and write simple programs in BASIC. Note that, in 1964, 7 long before personal computers or display terminals, one ? 1.23, 4.56 entered a program by typing (as now) and the computer 5.79 responded by typing back onto yellow paper (rather than ? − 17.5, 5.3 displaying results on a screen): − 12.2 ? 100LETX=3 110LETY=4 The user continued in this fashion until all additional 120LETZ=X+Y problems had been “solved.” The user then stopped the 130 PRINT Z program by some method that varied from machine to 140 END machine. The above examples will be trivial to anyone who knows Almost anyone who has taken high school algebra will BASIC but should be understandable even to someone understand what this program does and understand it well who has not used BASIC. It is not the purpose of this ar- enough to make changes in it. (When run, it prints the ticle, however, to teach the language through such sim- number 7.) ple examples. The purpose is rather to use these and BASIC was invented for an interactive environment later examples to illustrate an important point: BASIC (time-sharing or personal computers). The user could start is not just a single computer language; it is actually a and stop the program at will and could interact with the collection of many languages or dialects, perhaps hun- running program. For instance, the INPUT statement in dreds that have evolved since the mid-1960s. As a re- the following program allowed the user to enter the num- sult, versions that run on different brands of computers bers to be added after typing RUN (remember, all com- are different. It has even been the case that different mod- mands had to be typed; there were no mouses or menus): els of the same brand have sported different versions of BASIC. 100 INPUT X, Y For example, some versions of BASIC allowed the user 110LETZ=X+Y to omit the word LET, to omit the END statement, or to 120 PRINT Z employ either uppercase letters or lowercase letters inter- 130 END changeably. For example, the first program above might be allowed to appear on some computers as: After the user typed RUN, the program stopped (temporar- ily), printed a question mark (?), and waited for the user 100x=3 to respond. The user then typed two numbers, separated 110y=4 by a comma, and followed by hitting the RETURN or 120z=x+y ENTER key. The program then commenced, calculated Z 130 print z (as the sum of the two numbers), and printed the answer. The result might look like this on the yellow paper, or on One more important way in which versions of BASIC the screen of an early microcomputer: developed is that some allow “structured programming” (discussed later.) Recall an earlier example: RUN ? 3.4 100 INPUT X, Y 7 110LETZ=X+Y 120 PRINT Z A user who wished to make several additions could 125 GOTO 100 arrange for the program to continue indefinitely, as in: 130 END BASIC Programming Language 25 One of the tenets of structured programming is that undergraduate students.) The new language, BASIC, easy GOTO statements (as in line 125 above), used carelessly, to learn and easy to use, was an essential part of this effort. are the cause of many programming errors. All modern BASIC was thus developed originally for a large multiple- versions of BASIC allow the user to rewrite the above user, time-shared system and not for personal computers, program without using GOTO statements as: which did not appear widely until the early 1980s. It has been asked why BASIC was invented. Couldn’tan 100 DO existing language have been used for the purpose? The an- 110 INPUT x, y swer to the second question is no, which also answers the 120 LETz=x+y first question. Other computer languages did exist in 1963, 130 PRINT z although there were not nearly as many as there are today. 125 LOOP The principal ones were FORTRAN and Algol; most of 130 END the others are long since forgotten. Some of the common languages used today—C, C++, and Java—had not even The collection of lines starting with 100 DO and end- been conceived. FORTRAN and Algol were each consid- ing with 125 LOOP is known as a loop. The interior lines ered briefly. These languages were designed for produc- of the loop are carried out repeatedly, as in the example tion use on big machines or for scientific research, using by using a GOTO statement. Notice, in addition, that the punched cards. But neither was suitable for use by begin- program is written in mixed case (using both upper- and ners, neither was particularly well suited for a time-shared lowercase letters), and the interior lines of the loop are in- environment, and neither permitted speedy handling of dented. All modern versions of BASIC allow these stylistic short programs. Kemeny and Kurtz had experimented with improvements. other simple computer languages as early as 1956, but Eliminating the GOTO statement (line 125) removes the with only modest success. So, in 1963, when they began need to reference line numbers in the program. The line building a time-shared system for students, they quickly numbers themselves, no longer serving a useful purpose, realized that a new language had to be invented—BASIC. can now be eliminated to get: DO A. Design Goals INPUT x, y The new language had to satisfy these properties: LETz=x+y PRINT z 1. It had to be easy to learn for all students. LOOP 2. It had to work well in a multiple-user, time-sharing END system. 3. It had to allow students to get answers quickly, We could not have removed the line numbers from the usually within 5 or 10 sec. version that used a GOTO statement “GOTO 100” be- cause there would no longer be a line numbered 100 in In the years since BASIC was invented the importance of the program. Some earlier versions of BASIC allowed re- time sharing has been overshadowed by the invention of moving some lines except for those used as GOTO targets, personal computers: Who needs to time-share a big ex- in which case the line numbers became statement labels, pensive computer when one can have a big (in power) a concept not present in the original BASIC. but inexpensive computer on one’s desk top? For a long time, no such dramatic improvement has been made on the programming side. Thus, while the impact of time II. EARLY HISTORY OF BASIC sharing has been largely forgotten, the importance of BASIC has increased. The ideals that forced the inven- BASIC was invented at Dartmouth College in 1963–1964 tion of BASIC—simplicity and ease of use—lead many by John G.
Recommended publications
  • BASIC CODE 2010 Edition by the League of Minnesota Cities Duke Addicks, Special Counsel Rachel Carlson, Staff Attorney
    THE MINNESOTA BASIC CODE 2010 Edition By The League of Minnesota Cities Duke Addicks, Special Counsel Rachel Carlson, Staff Attorney Published by American Legal Publishing Corporation 432 Walnut Street, 12th Floor Cincinnati, Ohio 45202 Tel: (800) 445-5588 Fax: (513) 763-3562 E-Mail: [email protected] Internet: http://www.amlegal.com PREFACE TO THE MINNESOTA BASIC CODE, 2010 EDITION The Minnesota Basic Code This League of Minnesota Cities/American Legal Publishing (LMC/ALP) Minnesota Basic Code (MBC) is an effort to provide a modern and comprehensive code of ordinances for smaller Minnesota cities without the expense of a customized code of ordinances. Its provisions are also useful to all Minnesota cities that wish to have models for the basic city ordinances on the subjects contained in the code. The code reflects current state statutes, case law and rules through January, 2010. The MBC will be supplemented periodically to reflect legislative enactments and new case law and rules. The supplements will consist of new pages which will replace or be in addition to the pages contained in this edition. In addition, the supplements will contain new model ordinances that will be included into the MBC unless the city decides not to incorporate them into their code. Authors and Editors This Minnesota Basic Code is partly based on the Model Ordinance Code for Minnesota Cities, Revised Edition 1980, prepared by Orville C. Peterson, former Executive Director of the League of Minnesota Cities, and the 1989 Model Ordinance Code prepared by Thomas L. Grundhoefer, then Staff Attorney and now General Counsel for the League.
    [Show full text]
  • Lindoo2019 Miami Xojo Presentation
    Back to the Basics, in an Two Effort to Improve Student distinct retention in Intro to schools Programming Classes CS Dr. Ed Lindoo Associate Professor Computer Information Systems (CC&IS) 3 year average CS and CIS Drop/Fail rate • 3 year average • 50+ percent drop/fail rate in intro to programming class Two CIS classes taught by CS • Specifically CC&IS students were failing at a 62% rate! • Big problem! • If they fail this course, they don’t continue in the program • Represents a huge loss of revenue to the school • Intro to programming class taught by CS department • I was asked by our Dean to “Fix it” • Computer Science students and Information Systems students • Performed extensive research on why students fail. (business students) took the class together. • After sifting through all the research, I decided to go back to • Business students don’t have the strong technical skills to the basics, BASIC programing that is. jump into a Java or C++ course • I started thinking back to my days of BASIC and QBASIC • Certainly not as an intro class • Remember BASIC? • But that’s what was happening • Well that wasn’t going to cut it! • Further research found a common theme • Visual Programming Environments • Easier to understand languages. DON’T START WITH C++ • I thought long and hard about it • Re-wrote the entire course, Intro to Programming based on Xojo • Even though I had done a lot of work in VB.net, I felt like that was too heavy for this course • Ahh, but there’s a catch…………………isn’t there always? • Then I remembered back to my days of using Real Basic, so I • Must pass a Java course once they pass this class.
    [Show full text]
  • Programming Manual Version 2.0
    www.tinybasic.de programming manual version 2.0 TinyBasic Programming Manual Version 2.0 April 2008 altenburg © 2006-2008 by U. Altenburg CHAPTER 1 Introduction.....................................................8 EDITOR, COMPILER, DOWNLOAD, CONSOLE, SCOPE CHAPTER 2 Preprocessor……….........................................12 #TARGET, #INCLUDE, #DEFINE, #UNDEF, #IFDEF, #IFNDEF, #ELSE, #ENDIF CHAPTER 3 Variables and Types.......................................14 CHAR, BYTE, WORD, INTEGER, LONG, FLOAT, DATA, READ, RESTORE, LOAD, STORE, INC, DEC CHAPTER 4 Maths and Expressions..................................19 +, -, *, /, <, >, <=, >=, <>, <<, >>, (), [], NOT, AND, OR, XOR, MOD CHAPTER 5 Control Flow...................................................22 IF, THEN, ELSE, ELSIF, ENDIF, DO, LOOP, FOR, NEXT, WHILE, WEND, EXIT, ON, GOTO, GOSUB, RETURN, WAIT, PAUSE TinyBasic Programming www.tinybasic.de 5 CHAPTER 6 Functions.......................................................28 LO, HI, MIN, MAX, LEN, POS, VAL, PI, SIN, COS, TAN, ATN, DEG, RAD, SQR, EXP, LOG, POW, ABS, INT, ROUND, POINT, PEEK, EOF CHAPTER 7 Input and Output...........................................33 PUT, GET, PRINT, INPUT, OPEN, CLOSE, FLUSH, FIND, INITGSM, SENDSMS, RECVSMS, ERR, CR, NL, CHR, HEX, SPC, TAB, USING CHAPTER 8 Date and Time................................................40 SETCLOCK, DATE, TIME, HOUR, MINUTE, SECOND, DAY, MONTH, YEAR CHAPTER 9 Displays and Graphics...................................42 SETDISPLAY, SETSYMBOL, CLS, FONT, COLOR, PLOT, MOVE, DRAW, FRAME,
    [Show full text]
  • Microsoft Small Basic
    Microsoft Small Basic An introduction to Programming Chapter 1 An Introduction Small Basic and Programming Computer Programming is defined as the process of creating computer software using programming languages. Just like we speak and understand English or Spanish or French, computers can understand programs written in certain languages. These are called programming languages. In the beginning there were just a few programming languages and they were really easy to learn and comprehend. But as computers and software became more and more sophisticated, programming languages evolved fast, gathering more complex concepts along the way. As a result most modern programming languages and their concepts are pretty challenging to grasp by a beginner. This fact has started discouraging people from learning or attempting computer programming. Small Basic is a programming language that is designed to make programming extremely easy, approachable and fun for beginners. Small Basic’s intention is to bring down the barrier and serve as a stepping stone to the amazing world of computer programming. The Small Basic Environment Let us start with a quick introduction to the Small Basic Environment. When you first launch SmallBasic, you will see a window that looks like the following figure. Figure 1 - The Small Basic Environment This is the Small Basic Environment, where we’ll write and run our Small Basic programs. This environment has several distinct elements which are identified by numbers. The Editor, identified by [1] is where we will write our Small Basic programs. When you open a sample program or a previously saved program, it will show up on this editor.
    [Show full text]
  • BASIC Session
    BASIC Session Chairman: Thomas Cheatham Speaker: Thomas E. Kurtz PAPER: BASIC Thomas E. Kurtz Darthmouth College 1. Background 1.1. Dartmouth College Dartmouth College is a small university dating from 1769, and dedicated "for the educa- tion and instruction of Youth of the Indian Tribes in this Land in reading, writing and all parts of learning . and also of English Youth and any others" (Wheelock, 1769). The undergraduate student body (now nearly 4000) outnumbers all graduate students by more than 5 to 1, and majors predominantly in the Social Sciences and the Humanities (over 75%). In 1940 a milestone event, not well remembered until recently (Loveday, 1977), took place at Dartmouth. Dr. George Stibitz of the Bell Telephone Laboratories demonstrated publicly for the first time, at the annual meeting of the American Mathematical Society, the remote use of a computer over a communications line. The computer was a relay cal- culator designed to carry out arithmetic on complex numbers. The terminal was a Model 26 Teletype. Another milestone event occurred in the summer of 1956 when John McCarthy orga- nized at Dartmouth a summer research project on "artificial intelligence" (the first known use of this phrase). The computer scientists attending decided a new language was needed; thus was born LISP. [See the paper by McCarthy, pp. 173-185 in this volume. Ed.] 1.2. Dartmouth Comes to Computing After several brief encounters, Dartmouth's liaison with computing became permanent and continuing in 1956 through the New England Regional Computer Center at MIT, HISTORY OF PROGRAMMING LANGUAGES 515 Copyright © 1981 by the Association for Computing Machinery, Inc.
    [Show full text]
  • Full Form of Basic in Computer Language
    Full Form Of Basic In Computer Language Arrased and intransitive Obadiah resit: which Rockwell is soused enough? Prentiss safeguards her nitromethane yesternight, she posed it drastically. How rustling is Morley when comelier and canescent Ned depolarize some banana? Learning pascal are usually, the extern modifier is defined in basic computer full language of sense 3 Popular Types of Computer Language eduCBA. Instead of using machine code it uses a programming language. Programming in one natural language say taken full scope set the English language. BASIC was to early programming language that is still despise the simplest and most popular of programming languages BASIC stands for Beginner's. It is practically impossible to teach good programming to students that have had one prior exposure to BASIC In its classic form BASIC also. Computer Related Full Form PDF For BoardCompetitive Examination BAL Basic Assembly Language BER Bit less Rate BFD Binary File. Included in computer language of computers can be covered in. All Full Forms for Computer Subjectpdf Domain Name. The basics of BASIC the programming language of the 190s. Learn then to program drawings animations and games using JavaScript ProcessingJS or learn how these create webpages with HTML CSS You implement share. Basic Computer Terms. Important Full Forms Related to Programming Languages. BASIC Commands Dartmouth College. An html tags that time and that you are defined rules, compilers convert the habit to create a language of in basic form computer full control. What both RAM & ROM Mean their Business Chroncom. PHP Full Form GeeksforGeeks. What is C The Basics of C Programming HowStuffWorks.
    [Show full text]
  • Introduction to Programming with Xojo, Will Motivate You to Learn More About Xojo Or Any Other Programming Language
    Page 1 of 291 Introduction CONTENTS 1. Foreword 2. Acknowledgments 3. Conventions 4. Copyright & License Page 2 of 291 Foreword When you finish this book, you won’t be an expert developer, but you should have a solid grasp on the basic building blocks of writing your own apps. Our hope is that reading Introduction to Programming with Xojo, will motivate you to learn more about Xojo or any other programming language. The hardest programming language to learn is the first one. This book focuses on Xojo - because it’s easier to learn than many other languages. Once you’ve learned one language, the others become easier, because you’ve already learned the basic concepts involved. For example, once you know to write code in Xojo, learning Java becomes much easier, not only because the languages are similar and you already know about arrays, loops, variables, classes, debugging, and more. After all, a loop is a loop in any language. So while this book does focus on Xojo, the concepts that are introduced are applicable to many iii different programming languages. Where possible, some commonalities and differences are pointed out in notes. Before you get started, you’ll need to download and install Xojo to your computer. To do so, visit http://www.xojo.com and click on the download link. Xojo works on Windows, macOS and Linux. It is free to download, develop and test - you only need to buy a license if you want to compile your apps. Page 3 of 291 Acknowledgements Special thanks go out to Brad Rhine who wrote the original versions of this book with help from Geoff Perlman (CEO of Xojo, Inc).
    [Show full text]
  • Development of Time Shared Basic System Processor for Hewlett Packard 2100 Series Computers by John Sidney Shema a Thesis Submit
    Development of time shared basic system processor for Hewlett Packard 2100 series computers by John Sidney Shema A thesis submitted to the Graduate Faculty in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE in Electrical Engineering Montana State University © Copyright by John Sidney Shema (1974) Abstract: The subject of this thesis is the development of a low cost time share BASIC system which is capable of providing useful computer services for both commercial and educational users. The content of this thesis is summarized as follows:First, a review of the historical work leading to the development of time share principles is presented. Second, software design considerations and related restrictions imposed by hardware capabilities and their impact on system performance are discussed. Third, 1000D BASIC operating system specifications are described by detailing user software capabilities and system operator capabilities. Fourth, TSB system organization is explained in detail. This involves presenting TSB system modules and describing communication between modules. A detailed study is made of the TSB system tables and organization of the system and user discs. Fifth, unique features of 1000D BASIC are described from a functional point of view. Sixth, a summary of the material presented in the thesis is made. Seventh, the recommendation is made that error detection and recovery techniques be pursued in order to improve system reliability. In presenting this thesis in partial fulfillment of the requirements, for an advanced degree at Montana State University, I agree that permission for extensive copying of this thesis for scholarly purposes may be granted by my major professor, or, in his absence, by the Director of Libraries.
    [Show full text]
  • B4X Booklets
    B4X Booklets B4X Getting started Copyright: © 2018 Anywhere Software Edition 1.4 Last update : 2018.11.28 Table of contents 2 B4X Getting started 1 B4X .............................................................................................................................................. 5 2 Getting started B4A..................................................................................................................... 6 2.1 B4A Trial version ................................................................................................................. 7 2.2 Installing B4A and Android SDK ........................................................................................ 8 2.2.1 Installing Java JDK .......................................................................................................... 8 2.2.2 Installing Android SDK ................................................................................................... 9 2.2.3 Installing B4A .................................................................................................................. 9 2.3 B4A Configure Paths in the IDE ........................................................................................ 11 2.4 Installation problem ........................................................................................................... 12 2.5 B4A Choice of the language .............................................................................................. 12 2.6 B4A Connecting a real device...........................................................................................
    [Show full text]
  • CI RD Straumann® Purebase
    Technical Information CI RD Straumann® PUREbase Basic Information This guide has been created for dental technicians and dentists working with the CI RD Straumann® PUREbase, designing screw-retained or cement-retained customized prosthetic reconstructions, such as copings, crowns or overdentures. It provides additional step-by-step information on working with the CI RD Straumann® PUREbase. Failure to follow the proce- dures outlined in these instructions may harm the patient and/or lead to any or all of the following complications: aspiration or swallowing of a component, breakage, infection. Note: Implant-borne superstructures require optimal oral hygiene on the patient’s part. This must be considered by all parties involved when planning and designing the restoration. Not all detailed information can be found in this guide. Reference to available Straumann procedure manuals will be made throughout this document. Contents 1 CI RD Straumann® PUREbase 2 2 System Overview 3 2.1 CI RD Straumann® PUREbase Implant Kit 3 2.2 Design 3 2.3 Digital Workflow (CADCAM) 4 3 Lab procedure for CI RD Straumann® PUREbase 5 3.1 Preparation 5 3.2 Open-tray Impression 5 3.3 Fabricating the master cast (with Sleeve and CI RD Repositionable Implant Analog) 6 3.4 Digital workflow 6 3.5 Bonding 7 3.6 Insertion (dental practice) 12 4 Product reference list 13 4.1 CI RD Straumann® PUREbase 13 4.2 Auxilliaries 13 1 1 CI RD Straumann® PUREbase The CI RD Straumann® PUREbase is a titanium base placed onto the Straumann® PURE Ceramic Implant to provide support for customized prosthetic restorations.
    [Show full text]
  • Basic: the Language That Started a Revolution
    TUTORIAL BASIC BASIC: THE LANGUAGE THAT TUTORIAL STARTED A REVOLUTION Explore the language that powered the rise of the microcomputer – JULIET KEMP including the BBC Micro, the Sinclair ZX80, the Commodore 64 et al. ike many of my generation, BASIC was the first John Kemeny, who spent time working on the WHY DO THIS? computer language I ever wrote. In my case, it Manhattan Project during WWII, and was inspired by • Learn the Python of was on a Sharp MZ-700 (integral tape drive, John von Neumann (as seen in Linux Voice 004), was its day L very snazzy) hooked up to my grandma’s old black chair of the Dartmouth Mathematics Department • Gain common ground with children of the 80s and white telly. For other people it was on a BBC from 1955 to 1967 (he was later president of the • Realise how easy we’ve Micro, or a Spectrum, or a Commodore. BASIC, college). One of his chief interests was in pioneering got it nowadays explicitly designed to make computers more computer use for ‘ordinary people’ – not just accessible to general users, has been around since mathematicians and physicists. He argued that all 1964, but it was the microcomputer boom of the late liberal arts students should have access to computing 1970s and early 1980s that made it so hugely popular. facilities, allowing them to understand at least a little And in various dialects and BASIC-influenced about how a computer operated and what it would do; languages (such as Visual Basic), it’s still around and not computer specialists, but generalists with active today.
    [Show full text]
  • C++ GUI Programming with Qt 4, Second Edition by Jasmin Blanchette; Mark Summerfield
    C++ GUI Programming with Qt 4, Second Edition by Jasmin Blanchette; Mark Summerfield Publisher: Prentice Hall Pub Date: February 04, 2008 Print ISBN-10: 0-13-235416-0 Print ISBN-13: 978-0-13-235416-5 eText ISBN-10: 0-13-714397-4 eText ISBN-13: 978-0-13-714397-9 Pages: 752 Table of Contents | Index Overview The Only Official, Best-Practice Guide to Qt 4.3 Programming Using Trolltech's Qt you can build industrial-strength C++ applications that run natively on Windows, Linux/Unix, Mac OS X, and embedded Linux without source code changes. Now, two Trolltech insiders have written a start-to-finish guide to getting outstanding results with the latest version of Qt: Qt 4.3. Packed with realistic examples and in-depth advice, this is the book Trolltech uses to teach Qt to its own new hires. Extensively revised and expanded, it reveals today's best Qt programming patterns for everything from implementing model/view architecture to using Qt 4.3's improved graphics support. You'll find proven solutions for virtually every GUI development task, as well as sophisticated techniques for providing database access, integrating XML, using subclassing, composition, and more. Whether you're new to Qt or upgrading from an older version, this book can help you accomplish everything that Qt 4.3 makes possible. • Completely updated throughout, with significant new coverage of databases, XML, and Qtopia embedded programming • Covers all Qt 4.2/4.3 changes, including Windows Vista support, native CSS support for widget styling, and SVG file generation • Contains
    [Show full text]