Учимся программировать на перфокартах [закрыто]

9

Я хотел бы попробовать программирование с перфокартами один раз в моей жизни. Как я могу это сделать?

Мне за тридцать, и я вырос в эпоху ПК, программируя на компьютерах с экранами и клавиатурой. Я хочу испытать то, как раньше работали мой отец и дедушка. Я думаю, что оборудование (и, вероятно, сами карты) больше не производится. Есть ли еще университеты или музеи с работающими устройствами для чтения перфокарт? Я в Бостоне, но я хочу поехать, чтобы сделать это.

Я спросил MetaFilter , и я получил несколько смешанных ответов (наряду с большим количеством слов «нет, не делай этого»). Я получил указатель на Общество ретро-вычислений Род-Айленда , но я еще не получил ответ на свое электронное письмо им.

Plutor
источник
вам, вероятно, придется потратить много времени на то, чтобы найти людей со старыми машинами, которые, как мы надеемся, все еще работают, и найти для них перфокарты. Я полагаю, это будет довольно дорого, поскольку эти машины будут довольно редкими, поскольку сохранение истории обычно не цель в поле.
Раят
Ну, в зависимости от вашего местоположения, в некоторых местах есть фантастические исторические вычислительные средства. Мой университет сделал, и мне понравилась возможность запрограммировать альтаир с помощью переключателей и PDP. Видел работающий телетайп и такое тоже. Есть много организаций, которые пытаются сохранить эти типы артефактов. Лучший ответ - искать этих парней. Вы были бы удивлены тем, что есть у некоторых из этих людей.
Рог
1
Рабочие нажатия клавиш, вероятно, все еще можно найти относительно легко; работающие кардридеры наверное меньше. Кардридеры были привередливы, когда они были новыми и в хорошем состоянии, поэтому я был бы удивлен, если бы вы могли найти тот, который был бы а) в рабочем состоянии и б) доступным.
Джон Боде
3
Как насчет написания приложения для симуляции карточных автоматов? - Это может быть интересно!
NoChance
На самом деле, у некоторых более унаследованных технологий есть много достоинств стабильности процесса, как это может быть при возрождении. Если бы вы знали, что вам придется ждать полдня, чтобы связать, загрузить и объективизировать собственный код, вы, вероятно, начнете писать более стабильные приложения.

Ответы:

9

если у вас есть сканер, вы можете сделать это с помощью некоторого программного обеспечения для распознавания изображений, эмулятора, нескольких мертвых деревьев и фломастера

чокнутый урод
источник
2
Вдохновленный идеей распознавания изображений, я начал искать эмулятор перфокарт. Не нашел ни одного. Но это может быть веселый проект OCR. :)
Гортензия
7

Просто запрограммируйте, как вы обычно делаете, за исключением того, что:

  • Вы можете иметь только один исходный файл.
  • Всякий раз, когда вы хотите изменить код, перепечатайте всю строку.
  • Всякий раз, когда вы хотите запустить программу, включите десятиминутный таймер и выключите экран. Когда таймер закончится, включите экран и запустите программу.
Кевин Клайн
источник
15
Я часто получаю такой ответ, и не знаю почему. Делать вещи старомодным способом имеет свои преимущества, особенно если вы заботитесь об истории. Вы издеваетесь над людьми, которые пекут хлеб с нуля, варят собственное пиво или тоже строят мебель?
Plutor
16
@Plutor То, что вы предлагаете, не то же самое, что выпечка хлеба. Домашние пекари и пивовары делают это сами, потому что это дает им контроль над конечным продуктом и предлагает альтернативу (возможно, хуже) коммерческого продукта. То, о чем вы говорите, больше похоже на участие в исторической реконструкции - это опыт работы по старому пути, а не конечный продукт. Насколько я видел, исторические реконструкторы обычно имеют довольно хорошее чувство юмора относительно достоинств этого начинания.
Калеб
10
@Plutor Кстати, этот ответ, вероятно, ближе к истине, чем вы можете себе представить. Большинство программистов в очень давние времена не могли прикасаться к машине - это разрешалось делать только операторам. Таким образом, чтобы получить суть опыта, поставьте своего любимого ребенка в лабораторном халате в комнате с кондиционером. Затем напишите свою программу сначала от руки, а затем перепечатайте ее на ручной машинке. Доставьте его ребенку в коробке с упорядоченными страницами, и пусть ребенок введет его в компьютер, запустит программу, распечатает результаты и оставит их в своем почтовом ящике. Это близко к тому, как это было сделано.
Калеб
3
Plutor: Я сделал свою долю клавишных штампов. Вы можете найти это интересным на пару минут; тогда это просто утомительно. Это просто устаревшая технология, и результаты во всех отношениях уступают современному коду.
Кевин Клайн
2
Кроме того, есть возможность бросить свою коробку с картами по дороге в компьютерный корпус, заставляя вас вернуться в свой офис, пока вы пытаетесь навести порядок. Вы не забыли пронумеровать все свои карты порядковыми номерами? (Бонус: шел дождь, когда вы бросали карты ...) Слава Богу, я слишком молод, чтобы испытать что-либо из этого!
Donal Fellows
4

Может быть, вы могли бы просто приблизиться к этому с помощью эмулятора, например:

http://www.kloth.net/services/cardpunch.php

Этот джентльмен, похоже, обладает некоторой хорошей информацией о развертывании вашего собственного эмулятора:

http://www.divms.uiowa.edu/~jones/cards/

Что отчасти вдохновило:

http://dev.technikum29.de/projects/checkout/paper-tape-project/documentation/index.php/punch-card/README.htm


Лично мне нравится ваша идея / подход :)

haylem
источник
3

Мое непосредственное предположение - «вероятно, нет» изрядному числу ваших вопросов. Хотя в мире, несомненно, осталось по крайней мере несколько карточных ударов и читателей, я сразу предполагаю, что прошло достаточно много времени с тех пор, как кто-то пытался их использовать, поэтому мало уверенности в том, что они сработают, даже если кто-то попробует.

По крайней мере, исходя из моих воспоминаний, карточные удары были достаточно надежными, что многие из них, вероятно, все еще работают. На самом деле они не сильно отличаются от пишущих машинок, за исключением того, что когда «вещь» качается вперед, чтобы ударить бумагу, она не просто ударит достаточно сильно, чтобы толкнуть ленту в бумагу - она ​​качается достаточно сильно, чтобы ударить дырка сквозная.

Я ухожу из далеких воспоминаний, но мои воспоминания о кардридерах совсем иные - они нуждались в обслуживании довольно часто. На самом деле, когда я работал над мэйнфреймом, я вспоминаю, что у нас было три устройства для чтения карт - но редко можно было использовать более двух карт одновременно. По крайней мере, если память не работает, сортировщик карт на самом деле был даже немного хуже. В обоих случаях я почти уверен, что большинство проблем связано с механическими частями для подачи карт в считыватель.

Я должен сказать, однако, что в этом случае я вижу мало (если вообще что-то), чтобы извлечь выгоду из «делать вещи старомодным способом». Мне трудно думать о какой-либо пользе от карточек Холлерита, которую невозможно достичь намного быстрее, проще и надежнее с помощью более современных методов. Я полагаю (теоретически) они поощряют некоторую дисциплину в программировании и действительно внимательно смотрят на код перед тем, как начинать его выполнять (что, по крайней мере, по моему опыту, чаще "за ночь", чем "10 минут", о которых упоминает @Kevin Cline) ).

Правда, приличный экран - гораздо лучший способ сделать это, чем карты Холлерита. Когда нам приходилось делать это тогда, мы обычно получали распечатку на бумаге из 132 столбцов. Я не могу представить, чтобы попытаться вычитать даже тривиальную программу прямо на карточках.

Итог: удачи - но не надейтесь слишком сильно на то, чтобы по-настоящему многому научиться из этого, даже в том маловероятном, что вам это удастся.

Джерри Гроб
источник