Чи класичний BASIC коли-небудь використовувався для розробки комерційного програмного забезпечення, і якщо так, то як було подолано обмеження?


46

Багато з нас, включаючи мене, почали своє програмування з програм, написаних на домашніх комп’ютерах , щось подібне

10 PRINT "ENTER RADIUS"
20 INPUT R
30 PRINT "CIRCUMFERENCE="; 2 * R * PI
40 PRINT "AGAIN?"
50 INPUT A$
60 IF A$="Y" THEN GOTO 10
70 END

Звичайно, лінія номер на основі BASIC був схильний до створення Спагеті коду, а також тому , що більшість BASIC діалектів пропустили структурні заяви , як WHILE, роблячи все , але FOR-loop з IF, GOTOі GOSUB. Я говорю про основні діалекти до 1991 року, коли з'явилися QBASIC і Visual Basic .

Хоча діалекти BASIC, можливо, пропагували поганий стиль серед прагнучих програмістів, чи були більші комерційні проекти, створені на такому БАЗОВСЬКОму діалекті? Якщо так, то як їм вдалося жити і подолати очевидні недоліки?

Під "серйозним" я маю на увазі:

  • Не гра (я знаю, що деякі комерційні ігри написані в BASIC, наприклад, Pimania )
  • Не безкоштовно
  • Не банальний, тобто досить великий (скажімо, принаймні 1500 LOC )
  • Продається декільком клієнтам (не внутрішня розробка)
  • "Місія критична" є плюсом

30
Were those BASIC dialects only used to teach aspiring programmes bad styleГм ... Це поганий стиль зараз, але тоді не було.
янніс

9
Dartmough BASIC був розроблений в 1964 році (і це була мова, що складена, що цікаво), епоха, в якій домінувала FORTRAN.
янніс

8
Якщо припустити, що ви намагаєтеся обчислити окружність кола, стиль не є єдиним поганим, що я бачу тут.
Вільям Джексон

5
I'm seriously pissed off that this question was closed during the "History" contest.Хе, ти пропустив чудову можливість отримати кілька додаткових поглядів на питання, поставивши його на Meta.
янніс

15
99% всього написаного програмного забезпечення - це бізнес- додатки, написані вдома , і за визначенням вони роблять їх такими ж серйозними, наскільки ви можете отримати.

Відповіді:


48

Звичайно. До того, як відбувалися речі Altair / MITS / SWTPC / Kim / Sinclair / Pet / RadioScrap / OSI / Apple, виникла чудова маленька машина, відома як IBM 5100 . Він мав BASIC в ПЗУ , великий накопичувач касети (або два), 8 КБ пам'яті. 24-рядковий екран та принтер - все це на 10 000 доларів США - на порядок дешевше, ніж ваш типовий міні. Спочатку побудований для вчених ( APL в ПЗУ теж був варіантом), але потім кілька типів бухгалтерського обліку виявили це і почали манія: кожен малий бізнес хотів одного. З звичайним програмним забезпеченням, звичайно. 5110 слідував за цим, із стрічковими накопичувачами замінили 8-дюймові дискети.

Будь-яке комерційне програмне забезпечення? Галони .

Чи можете ви сказати загальну книгу, нарахування заробітної плати, кредиторську заборгованість, дебіторську заборгованість, контроль запасів та виставлення рахунків? Я там був, робив це - в ОСНОВІ. Комунальні платежі, нові та вживані інвентаризації автомобілів, підбирання сміттєвозів та розклад доставки напоїв? Yup - ОСНОВНИЙ. Хочете відслідковувати залізну руду з шахт на поїзди на кораблі ... ОСНОВНІ. Все, що не було підняте підлогу, швидше за все, було зроблено в БАЗІ. Я маю на увазі комерційно. (Тому що RPG II не рахується ;-).

Як обходилися обмеження?

Що ж, перше, що ви зробили - це повернути клієнта назад до IBM для отримання більшої пам’яті, бо хто міг написати щось серйозне в 8 Кб? Вам просто довелося мати 16. І два накопичувачі, якщо це можливо, тому що теорія автоматів убік, сортування злиття на одній стрічці - це, мабуть, повільно.

О, вибачте - ви мали на увазі обмеження BASIC.

Ну, вам довелося керувати своїми ресурсами досить обережно - такі речі, як номери рядків, - тому що ви не хотіли закінчувати їх; справжній біль ззаду доведеться перенумерувати цілий розділ і ввести все це назад, не випадково втрачаючи рядок або два коду.

Ні, просто жартую. У нас насправді не було цієї проблеми, поки не з'явилися домашні комп’ютери з інтерпретатором BASIC, який не міг зробити перерахунок самим собою.

Ми також використовували модульність - де ви викликали нову програму, запускали її, поки вона не вийшла, і поверталися назад до програми виклику. Gosub на стероїди (тому що у вас є більше пам’яті для використання), але швидше повільніше (тому що машина зайняла деякий час, щоб знайти програму на стрічці та завантажити її, а потім перемотайте назад і знайдіть оригінальну програму та завантажте це назад ...). Дуже схоже на fork та exec, але без виделки, лише краще, тому що було поділено весь простір пам’яті.

Надійне використання конвенцій також допомогло - ви знаєте, на кшталт "Ви завжди повинні орієнтуватися на GOSUB у рядку коментарів, в якому йдеться про те, що ця рутина робить, і ви повинні зробити те саме для GOTO, коли це можливо. Ось так і структуровано. програмування , трохи пізніше - знову "за умовами".

Деякі навіть трохи пішли до крайності: OAOO , YAGNI , TSTTCPW , парування, рефактор нещадно, такі речі. Не за тими іменами, звичайно. (Див. Також: Еклезіяст ;-)

Дні слави.


4
З усіх хороших відповідей я вибираю цей, тому що він ще не має занадто великої любові (результатів), а також тому, що він підкреслює використання BASIC для комерційного програмного забезпечення на мікрокомп'ютерах до підйому домашніх комп'ютерів.
користувач281377


46

Першим програмним забезпеченням, над яким я коли-небудь працював, була 8-лінійна програма GW-BASIC, яку компанія написала ще в 80-х роках для використання обчислення теплопередачі для розмірів і ціни котельного обладнання. Хоча код був абсолютно незрозумілим, він встиг так добре працювати, що ним користувалися понад 20 років.

Це було сильним принципом BASIC, що інженер-механік із посиланням посібника насправді міг написати якісне придатне програмне забезпечення (на той час). До BASIC та поширеності ПК таке щось було б не чуто. Вам потрібно буде найняти команду комп'ютерних інженерів та, можливо, операторів комп'ютерів, щоб програмувати та відпрацьовувати спільну мейнфрейм. Все це було б занадто складним, щоб типовий інженер-машиніст за короткий проміжок часу не міг забрати його.

Тож, звичайно, BASIC був дуже корисним для любителів домашнього комп’ютера. Це було багато підприємств, що вперше ввели у сферу написання власного програмного забезпечення в будинку за доступною ціною без колективів експертів.


Абсолютно це. - ^^^
Роберт Харві

30

Так, у BASIC було зроблено численні комерційні продукти та інші «серйозні» розробки. Щоб зрозуміти чому, ви повинні зрозуміти контекст 1970-х та 1980-х років, коли BASIC рос на міні та мікрокомп'ютерах.

Тоді ця техніка була позитивно опудана сучасними мірками. Процесори працювали на кілька МГц (часто набагато менше для мікрокомп'ютерів) і мали менше пам’яті, ніж зайнятий HTML, необхідний для візуалізації цієї сторінки. Якщо ви збиралися розгорнути продукт, вам довелося використовувати наявні інструменти, які були або голими, або на мікрокомп'ютерах, інтерпретатором BASIC, що постачається в ПЗУ (часто 16 К у адресному просторі 64K) із системою . Були доступні й інші мови, але у багатьох не було всіх структурованих функцій, які ми приймаємо як належне. Це мало спільного з тим, що пам'яті було дефіцитною, * жодна з них не була віртуальною, за винятком систем високого класу, і зазвичай її було недостатньо, щоб вмістити компілятор для більш досконалої мови. Маючи такі обмежені ресурси, "серйозні"

Ваш аргумент про те, що виробники ранніх домашніх комп’ютерів повинні були б краще знати та надавати структуровану мову, просто не працює в цьому контексті. З доступними технологіями це просто не відбудеться за ціною, якою люди можуть пережити.

Як ми могли подолати мовні недоліки, було просто: ми не бачили їх таким чином і впоралися з тим, що було доступно. ANSI Minimal BASIC багато в чому схожий на мові збірки, завдяки чому ви отримуєте більшість однакових ароматів простого розгалуження та викликів підпрограми, але переконайтесь, що зірки правильно вирівняні. Єдиним винятком є FOR..NEXTконструкція, яка використовується для забезпечення циклічного циклу. По суті, якщо ви хотіли щось розробити в BASIC і добре зробити це, вам довелося планувати і розуміти структуру ваших програм так само ретельно, як ніби ви пишете їх на зборах. Наявні інструменти налагодження були дуже примітивними, тому, по суті, вам довелося спільно діяти, якщо хотіли, щоб ваші програми працювали і були реконструйованими.

Так, тоді було багато спагетті, але я ще не бачив мови, де неможливо написати поганий код.


* На початку 1980-х пам'ять становила близько 750-1000 доларів США за МБ. З урахуванням інфляції, це $ 1600-2200 в 2010 доларах. Того ж року вартість мегабайт становила близько 0,03 долара США.


Я пам’ятаю, що платив близько $ 1000 за 2- мегабайтну плату пам'яті EMS ще в 1980-х. Комп'ютер, на якому він увійшов, набір ПК-клонів на базі NEC V20, коштував близько 2500 доларів.
jfrankcarr

LOL, я пам’ятаю, що нам довелося отримати підписаний президентом компанії ПП для придбання карти пам'яті на 64 МБ для VAX наприкінці 80-х. Справедливості, це пам'ять ECC з двома портами, але вона коштувала десь на дальній стороні $ 30 000 ...
TMN

Були ділові додатки, написані в BASIC, деякі з яких продаються за гроші, а також гостропровідні бізнес-програми, написані в BASIC, для APPLE] [або CommodorePET, або Atari, або IBM, або мікрокомп'ютери TI початку 1980-х років можуть продати 100 до 500 примірників, приблизно за $ 100 одиничних цін. Тоді не було нічого подібного до сучасного програмного продукту, оскільки комп’ютери тоді були невеликими, а програмне забезпечення для нього було крихітним. Ні базовий, ні С, ні ассемблер, ні будь-яка інша сучасна мова не змінили б цього.
Warren P

У 80-х рр. Комп'ютерний мейнфрейм нашого місцевого коледжу покращився з 10 Мб до 50 Мб. Отриманий 10 Мб був лише наполовину заповнений, але вони хотіли мати достатньо місця для передбачуваного майбутнього ... Уявіть, що жорсткий диск, у якого лише 50 Мбіт, приблизно для 50-100 користувачів ... перебуває над вбивством.
SoylentGray

22

Моя перша 100-відсоткова робота з програмування, ще в 1980-х роках, працювала над пакетом вертикального обліку ринку, який спочатку був написаний на GW-BASIC . Він був перенесений на QuickBASIC 3.0, але він зберігав майже всі вади, пов'язані з ранніми діалектами BASIC. Було багато ГОТО і багато поганої структури. Було близько десятка модулів (інвентар, книга тощо), а програма продається приблизно за 1000 доларів США - 2500 доларів США за модуль плюс щорічні договори на підтримку. Дохід компанії становив 15 доларів США - 25 мільйонів доларів США на рік.

Щодо того, як жити з недоліками, багато обмежень було досягнуто за допомогою машинної мови або MASM . Для вставки мови машини в програми BASIC прийнято використовувати команди PEEK і POKE . Я написав програми MASM (і пізніше C) для розширення програми, щоб додати такі речі, як підтримка рудиментарних баз даних, комунікації та текстова "графіка".


12
Я шкодую вас, якщо, звичайно, ви приїхали 15 мільйонів.
Спенсер Ратбун

@SpencerRathbun - На жаль, мені виплатили досить низьку заробітну плату, приблизно рівну приблизно $ 35K сьогодні.
jfrankcarr

Так, моя перша робота з програмування була в Quickbasic 3. Це був не порт, але не набагато краще. Основну частину зробив хтось, чиїм "тренінг" читав книгу, яка постачалася разом із укладачем. Найважливіша для клієнтів місія, висока ціна на 4 цифри.
Лорен Печтел

5

Чи були створені більші комерційні проекти на такому базічному діалекті?

На старих домашніх комп'ютерах, таких як C64 або його попередники, існувало багато програм BASIC, а також деякі комерційні. Але "великий" був рідко можливий, оскільки з <64 кБ оперативної пам'яті написання "великих" програм BASIC не дуже просто. Якщо ви хотіли подолати обмеження машини, вам зазвичай довелося залишити основу BASIC, "мову високого рівня" та скористатися асемблером.

Тож відповідь на ваше запитання - "ймовірно, не багато", але не через причини, які ви маєте на увазі (наприклад, "занадто схильні / неструктуровані помилки" тощо).

До речі: AFAIK відомий компілятор PETSpeed ​​BASIC був написаний у BASIC (звичайно, складений із самим собою).


4
Я хотів би зазначити, що важливо! = Великий, особливо в ті часи. Сьогодні комерційні програми, як правило, мають вбудовану будь-яку можливу функцію, але це було не завжди так.
Жанна Піндар

@DocBrown Існували способи подолати ліміт пам’яті 64k та великі програми. Існувало багато великих додатків, як наборів програм з багатьма модулями.
maple_shaft

Я пам'ятаю кілька ранніх комерційних ігор C64, написаних повністю або частково в BASIC. "Rox 64" - це одне.
Алан Б

"Telengard", я думаю, це називалося, RPG-гра для C64, була схожа на 8k рядків Basic. Було весело налаштувати джерело, щоб зробити себе убер-персонажем.
Ніл N

@maple_shaft: "Багато?" Особливо "Багато програм BASIC?" Я був під враженням, що їх було лише кілька.
Док Браун

5

Весь бухгалтерський рядок Peachtree Software (дебіторська заборгованість, кредиторська заборгованість тощо) був написаний (і все ще може бути, наскільки я знаю) в BASIC. Коли вперше було розгорнуто IBM PC, я провів багато довгих вечорів налагодження та виправлення їхнього коду для клієнтів, які придбали персональний комп'ютер IBM та пакети Peachtree, щоб зробити книги для свого малого бізнесу.


5

Моя перша робота була в 1981 році програмуванням Apple II в Basic в офісі Price Waterhouse (Pre Coopers) в консультаційному управлінні в Белфасті, штат Північна Ірландія. Команда з двох / трьох з нас розробила та встановила системи для клієнтів, включаючи книгарню та бійню. Це була система фінансового моделювання, фактично дуже складна електронна таблиця Visicalc (50 аркушів, 3000 змінних) перетворилася на велику базову програму. На обробку пробігу в бійню за тиждень знадобилося два дні роботи в системі Apple II з 4 дисковими накопичувачами. Трохи швидше, ніж їх ручна система, що займала два тижні на кожен тиждень.

Потім ми перейшли на версії Act Sirius, знову програмуючи в Basic (Microsoft 8KB Basic), які були встановлені у клієнтів.

У Basic були номери рядків, але був інструментарій, який міг перенумеровувати програми. Оскільки я був недалеко від Uni, де я навчився Паскаля, я намагався писати якомога більш структурованим стилем (наскільки це можливо в Basic), але Gotos та Gosubs, звичайно, використовувались.

Пізніше я програмував у 1983 році на Dec Rainbow, який використовував CBasic, незграбно складений базовий.


4

Було багато комерційного програмного забезпечення, написаного за допомогою BASIC-PLUS на системах PDP-11 . Я пам’ятаю, що бачив пакети статистичного аналізу та бухгалтерського обліку, а також неабияку кількість матеріалів високої класу лабораторної автоматизації (я не впевнений, наскільки це були «комерційні». Вони, як правило, включалися до складу пакету інструментів, тому я не знаю якщо їх продавали окремо.). ISTR BASIC був також однією з основних мов для розробки додатків HP 2000 , і це був основний (можливо, єдиний) мова, підтримуваний для їхніх ранніх робочих станцій HP 9800 серії .


Чи підтримував HP2000 розробку в чомусь іншому? У мене склалося враження , що HP2000 було жорстко , щоб тільки запустити поставляються користувачем програм HP Клубної BASIC [всі або деякі з файлів управління і призначеного для користувача керування кодом системи могли бути написані з використанням інших мов або машинний код].
supercat

3

Продукти ранньої бази даних Alpha Software (близько 1985 р.) "Менеджер баз даних I", "Менеджер баз даних II" (DMB2) та "Альфа-три" були написані в BASIC і складені разом із компілятором IBM BASIC. Я працював над «Альфа-три». Весь користувальницький інтерфейс був у BASIC, але в ньому був основний компонент TSR (припинити та залишитися резидентом), записаний на C та ASM, з яким BASIC спілкувався за допомогою переривань. Номери рядків та розриви рядків зайняли цінний простір сегмента, тому код був жахливо скошений та нечитабельний. Ми постійно використовували спільні змінні та мінялися модулями. Важко було змусити працювати. Ми все ще намагалися бути логічними щодо організації, тому наша бібліотека рядків була в низьких 60000 рядкових номерах. Звичайна операція, як обрізка рядка, виглядає так:

$ S = $ INS; GOSUB 60210; $ INS = $ S;

Ми перетворили на всі C незабаром після виходу "Альфа-три".


1
Оскільки всі змінні були глобальними, і вам також довелося зловживати ними для передачі параметрів, як ви керували кодом, щоб уникнути випадкового перезапису вже використаної змінної?
користувач281377

Це було засноване на конвенції.
Піт Ліонс

3

На початку 1980-х ВВС США придбали купу комп’ютерних автобусів Cromemco S100 для використання літаючими ескадронами як інструментом планування польотів.

Програмне забезпечення для планування польотів було розроблено за допомогою BASIC пілотами ВПС та штурманами в Центрі тактичної повітряної війни, розташованому за адресою Eglin AFB, штат Флорида .

Що стосується подолання "очевидних недоліків" BASIC, ми дійсно не знали нічого кращого. Надання фізичного доступу до комп'ютера екіпажу здавалося неймовірним стрибком технологій у той час.


2

Я вважаю, що оригінальний Ultima на Apple] [був написаний в Applesoft Basic.

DEC використовував свою версію BASIC для більшості розроблених RSTS та інших ОС.


Був жарт, що RSTS / E написано в BASIC, але насправді це не було. Багато утилітних програм sysadmin, що постачаються разом з ОС, написані в BASIC.
Дон Робі

2

Єдиний страх, який я мав, як програміст QuickBasic, 20 років тому, - це повідомлення "Без пам'яті". Але це тільки зробило мене кращим програмістом! Я навчився писати компактний і серйозний код.

Раніше я використовував QuickBasic для промислового програмування. У реальному світі (фабриках) ви не можете сказати своєму начальникові, "щоб записати в С" піде півроку; ви можете сказати лише: "так, начальнику, це буде готово на наступному тижні". Так, BASIC було практичним та швидким рішенням у реальному світі. Не С або Паскаль.

Одна з програм, про яку я писав у унікальній базі даних QuickBasic 4.5, була продана нечисленним компаніям і фактично замінила комерційну базу даних, яку вони вже мали (яка, ймовірно, написана на C або Pascal). Ця база даних використовується до сьогодні.

Один предмет, який я хочу зазначити:

всі ми вважаємо, що нові методи програмування настільки корисні . Але в реальному житті (промисловості) більшість машин в ці дні експлуатуються сучасними ПЛК. Програми, як правило, записуються на сходах, що в мільйони разів примітивніше, ніж GW-BASIC. Як програміст ПЛК я можу чітко сказати: я хотів би замінити це примітивне програмування сходів на мову високого рівня, як GW-BASIC або навіть QuickBasic. (MEGA-BASIC - діалект, який використовувався для цього в минулому).

Зрештою, чим займаються більшість машин? інтерпретація входів та налаштування виходів. Для цього вам не потрібен C / Assembly, а також вам не потрібна Java. Вам просто потрібен QuickBASIC для створення коду, що підтримується.


1

Абсолютно так.

Давним-давно я працював у компанії, яка продала багато мільйонів доларів систем, головним чином у галузі автодилерів. Ці системи використовували програмне забезпечення BASIC на спеціалізованих 16-бітових мікрокомп'ютерних пристроях HP 21MX (до епохи успішних 16-бітних мікропроцесорів). Це була компанія середнього розміру з десятками програмістів Basic. Вони використовували старомодний діалект BASIC, який вимагав номерів рядків і дозволяв лише 286 можливих назв змінних, але рішення пропонували весь облік та інвентаризацію бізнесу (тощо) для середнього бізнесу. Група R&D також написала асемблери, компілятори та навіть апаратні емулятори в Basic, щоб допомогти завантажувати розробку обладнання їх наступного покоління.

Коли я намагався пояснити, що я вважаю, переваги сучасних методологій програмування та апаратного проектування одному старому таймеру, він сказав мені, що хороші дизайнери належним чином розподілили, модулювали та структурували рішення своїх проблем, навіть якщо пряме вираження таких не було побудовано. на мову чи інструменти, тоді як, зауважив він, погані дизайнери можуть виробляти сміття, що не піддається налагодженню, незалежно від того, якою "фантазійною" модною парадигмою розвитку вони працюють всередині.


1

Факт полягає в тому, що більшість нових автосалонів у США сьогодні використовують програми BASIC, щоб запропонувати вам варіанти фінансування та створити ці тривалі виписки про розрахунки, які ви отримуєте, купуючи автомобіль. Програми написані в архаїчних мінікомп'ютерних версіях BASIC, що працюють під емуляцією на сучасному обладнанні. Існують веб-інтерфейси, які прищеплені, але їх ОСНОВНІ розмови з tty внизу.

Приблизно в 1980 р. Універсальне страхування життя стало миттєвою принадою у страхуванні життя. Кожна компанія хотіла продати її відразу, і вона вимагала, щоб щомісяця обчислювались значення кожної політики, використовуючи дуже складну комбінацію відсотків та актуарних мум-джамбо. Оскільки тоді великі проекти у відділах обробки даних зайняли б близько року, багато компаній почали випускати стільки яблук, персональних комп'ютерів та / або Tandy TRS-80, скільки потрібно, роблячи більш складну версію того, що було на мейнфреймі близько 20 років. Практично все це було запрограмовано в BASIC. Здебільшого BASIC використовував плаваючу крапку з короткою точністю, тому мільйони копійок клієнтів втратили в результаті округлення.

У JPL була версія BASIC, яку вона широко використовувала ще близько 35 років тому. Його називали MBASIC, причому М виступає за управління, але він, серед іншого, використовувався для програмування космічних апаратів.


1

Надзвичайно популярна система роздрібної торгівлі 4680/4690 IBM була написана на діалекті під назвою IBM 4680 BASIC . Я працював над цією системою у 1998-2002 роках для великого роздрібного представника Великобританії.

Ця система була дуже популярною, згідно зі статтею wiki, вона все ще займала 12% частки ринку у 2005 році. Система все ще сильна сьогодні, шанси на те, що більшість людей західного світу опосередковано використовували цю систему на базі BASIC в останній тиждень.


0

Загляньте в PICK або будь-яку з інших баз даних MultiValue. Всі вони покладаються на DataBasic як свою основну або єдину мову та мають значне вертикальне використання на ринку. Ми все ще керуємо системою, про яку я писав для порівняльного аналізу закупівель понад 20 років тому. Працює приблизно до 50 к рядків коду.


0

У 80-х роках в Індії існувала компанія під назвою Softek, яка створила власні версії Wordstar, dBase та Lotus 1-2-3. Інша їх продукція була компілятором BASIC.

Використовуючи власний CBASIC, вони створили дуже всебічний пакет обліку подвійного запису під назвою SIMS-FA (фінансовий облік Softek).


0

Будь-який? Так. Багато? Ні. Навчальне програмне забезпечення та діловодство.

БАЗОВА епоха: ~ 1970-1990

Приблизно до 1990 року обмеження перевищували очікування та еволюціонували з потребами галузі. Здебільшого потреби великих компаній були проаналізовані консультантами та були знайдені будь-якою мовою, яка б відповідала цій потребі.

Скоріше, як сьогодні, коли компанії мають більш-менш розвинене уявлення про те, що їм потрібно, і якесь рішення потрібно побудувати за допомогою VBA, а потім навчитися достатньо, щоб відкрити більш компетентні клієнтсько-серверні рішення, веб-додатки та оптимізовані інтерфейси для пошуку даних .

У 1970-ті роки, якщо звичайна компанія могла б збалансувати рахунки або зареєструвати виробничі дані на комп’ютері без бюджету корпорації, це було б чудовим кроком до ведення книг, і якщо ви зможете отримати діаграму, це було фантастично.

Якщо у 80-х роках ви могли перенести якісь креслення продуктів на комп'ютер, щоб зробити їх редагованими, це також було б фантастично.

І те і інше можна зробити за допомогою мови, що базується на перекладачі. Оскільки комп’ютери могли зберігати більше даних, компілятори вимагали складності, оскільки процесори відставали від закону Мура в порівнянні з грубими даними, орієнтованими на виконання, приблизно з 1977 по 1987 рік.

Але до кінця 1980-х років, коли очікування вимагали більше, мови, створені в 1970-х (доповнюються в рідкісних випадках Assembler та / або спеціальним обладнанням, як дошки FPU), виконували всю серйозну комерційну роботу в компаніях за невеликими винятками. Кобол і Фортран залишалися квитками на мейнфрейми. Тільки корпорації могли дозволити собі подібні, і серйозні компанії зробили серйозну роботу з власними програмами BASIC, і на деякий час цього було достатньо.

Автономні програмні пакети для загального використання, такі як текстові процесори або графіки графіків, з'явилися приблизно в цей час, коли операційні системи дозріли на доступних комп'ютерах як цілі для компіляторів, і з'явилося сховище, яке могло б містити документи та дані "розміру компанії".

Паскаль був головним претендентом тут. Раніше майже все таке було написано в Асемблері. Нарешті C прийшов від Unix і почав використовувати його на ПК.


0

Ще в дні Commmodore 64 частини гри Gunship була написана на BASIC. Ви навіть можете редагувати код, щоб ваш вертоліт міг бути обладнаний кожного разу, коли ви приземлилися.


Я знаю, що деякі (комерційні) ігри були повністю написані на Basic, але я виключав ігри не просто так: ігри - це все, що ти з них робиш, доки вони смішні. Простіше жити з обмеженнями, коли "набір функцій" повністю залежить від дизайнера, а обслуговування не є проблемою.
користувач281377

0

BBC BASIC зародився на BBC Micro , випущеному у Великобританії в 1981 р. До того моменту, коли вона вийшла в п'ятій версії, впровадженій на комп'ютерах RISC на базі ARM на базі АРМ, вона вважалася найбільш швидкою інтерпретацією BASIC у світі. Його синтаксис був удосконалений для свого часу, включаючи структурні ключові слова, такі як CASE і WHILE, а також функції та процедури. (Він навіть включав асемблер, спочатку для 6502 , а потім для ARM у версіях ОС RISC .)

Багато комерційних настільних додатків були написані з його допомогою, можливо, значною мірою тому, що вони забезпечували зручний доступ до SWI-дзвінків, які використовувала кооперативна система WIMP. Це було досить швидко, що навіть було створено кілька аркадних ігор, написаних з його допомогою - Невріон , клон R-Type, - це я особливо пам’ятаю, дивлячись на джерело.


Насправді у мене був і жолудь Electron (менша версія BBC), і жолудь Архімед (а також Cambridge Z88, який використовував той самий БАЗИК); і так, BASIC у цих комп’ютерах був трохи кращим, ніж у більшості інших домашніх комп'ютерів. Але оскільки BASIC також передбачає можливість використання вбудованого Assembler, можливо, буде важко відключити чисті програми BASIC від змішаних програм, якщо просто заглянути в вихідний код.
користувач281377

О, швидкий погляд насправді - це все, що потрібно для розрізнення двох. Дуже по-різному виглядає. І хоча він включав асемблер, розповсюдження вихідного коду мови збірки не було звичайним. Зазвичай замість цього буде включений зібраний двійковий код.
Ден Елліс

0

Старі мови сценаріїв бази даних xBase (як у dBase II , dBase III + , Clipper тощо) були досить тісно пов'язані з різними нестандартними основами того часу.

Не зовсім BASIC використовується для комерційних робіт, але, можливо, досить близько.


Steve314: ці мови xBase значно випереджали домашній комп'ютер BASIC. Я написав багато коду в Clipper, і пам’ятаю функції, локальні змінні, заяви циклу та багато іншого, чого не вистачає в домашньому комп'ютері ОСНОВИ 80-х. Yannis: QuickBasic з'явився в 1985 році.
користувач281377

@ user281377 - BBC Basic в 1981 році був структурований і мав процедури, хоча все ще потрібні номери рядків. Стандарт ANSI basic (1984) включав структури блоків, sub(функція / процедура з параметрами та локальними змінними) та інше, і робив номери рядків необов'язковими. Borland Turbo Basic в 1985 році мав найстандартніші базові функції IIRC. Я досить добре використав GFA Basic на Atari ST - також структурований, процедурний, без номерів рядків. У 80-х роках було багато структурованих, процедурних основ.
Стів314

@ user281377 - xBase мав очевидні переваги щодо обробки баз даних та форм введення даних, роблячи те, про що я не знав жоден Basic, але тоді ви можете так само легко зазначити, що STOS мав явні переваги для відображення спрайтів та читання джойстиків.
Стів314

@ Steve314: Я знаю, що існували основні діалекти з хорошими характеристиками, але я конкретно запитую про інші БАЗИ. Ті, де GOTO та GOSUB - це все, що ти мав. Там, де кожна змінна була глобальною, а одновимірний масив мав стільки структури даних, скільки ви могли отримати. Clipper - це справді передовий діалект xBASE; чесно кажучи, я не можу пригадати, скільки розширених функцій Clipper були доступні і в dBASE III, але, принаймні, він мав належні цикли виконання часу.
користувач281377

1
@ user281377 У початковій версії відповіді згадувався Visual Basic (звідки ти взяв QuickBasic?), саме про це я кричав; P
yannis

-2

Більшість мікросхем мали лише основні (ROM) або інструменти розробки асемблера. Для програм, що не мають критичної швидкості, BASIC використовувався для багатьох комерційних програм, а також для більшості проектів власних компаній. Навіть тоді, коли CP / M з'явились єдиними реальними удосконаленнями - це можливість обробляти більші проекти та використовувати базовий компілятор Microsoft (BASCOM). Мій власний досвід раннього мікророзвитку був такий:

~ 1980 - основна програма Microsoft ROM на Nascom 2 з невеликим асемблером. Розробка комерційних додатків включала програму повернення ПДВ (податку на продаж) та програму контролю за процесом (обидва в BASIC).

198? - Ще використовую BASIC, але зараз у мене також був Паскаль (BLS - попередник Borland Pascal ).

Середина 1980-х - ПК починають домінувати, і з'явилися перші компілятори C ( Hisoft і Mix). BASIC переходить у занепад (відроджується пізніше у зомбі-формі, звичайно, MS з Visual Basic ). GW-BASIC був дуже популярний як внутрішній інструмент розвитку. Численні комерційні пакети (бухгалтерський облік, контроль запасів тощо) все ще писалися в BASIC.

Кінець 1980-х - C стає основною мовою розвитку (після випуску MSC 5 1986?). Майкрософт та Borland домінують протягом кількох наступних років ...


1
як це відповідає на питання?
гнат

він відповідає на питання, кажучи: «так, основні широко використовувались для комерційного розвитку в останні 70-ті та на початку 80-х». Що стосується подолання очевидних недоліків, майте на увазі, що програмісти в цей час не бачили цих недоліків. Основним є Turing повний, щоб розумні програмісти могли робити все необхідне (основними обмеженнями були звичайно, швидкість, пам'ять, сховище тощо, але ці обмеження застосовувались до всієї розробки на той час). Не впевнений, чому так багато голосів, тільки намагався відповісти на питання.

ці дві програми, про які ви згадуєте, чи продавались цим кільком замовникам (не внутрішня розробка) ? Ви можете поділитися посиланнями, де можна дізнатися більше про них?
гнат

На жаль, багато додатків (включаючи ті, про які я також згадував) були втрачені за тумани часу (жодне переплетення або навіть BBS, на яке не можна було поширюватись). Я втратив касети, на яких вони були зупинені, але вони були: 1) не ігри, 2) не безкоштовно, 3) не тривіально і 4) місія критична. Я не можу сказати, що їх продали багатьом клієнтам, додаток contoal був для конкретного замовника, додаток з ПДВ перепродавали кілька разів. Все ще підглядають до голосування (ніт-підбирачі, або я кажу, що збирачі гнатів :-)).
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.