В чём начинали? Железо. Ностальгия.

Я отношусь к своему компьютеру:

  • как к рабочему инструменту, не более...

    Голосов: 26 54.2%
  • как к " практически живому" существу...

    Голосов: 18 37.5%
  • не определился...

    Голосов: 4 8.3%

  • Всего проголосовало
    48
Статус
Закрыто для дальнейших ответов.

Samsonov

Участник
Сообщения
886
Реакции
89
Ответ: Древний язык БЕЙСИК

Fog_patch сказал(а):
Дейкстра: «Практически невозможно научить хорошо программировать студентов, ориентированных первоначально на Бейсик».
Ну правильно, Дейкстра же мыслил в доисторическую эпоху.


Кстати, по поводу Дейкстры и так ненавидимого им и многими «серьёзными программистами» оператора GOTO.

Был у меня программируемый калькулятор, и давалась к нему книжка с примерами алгоритмов, в частности, разложение числа на простые множители. В самом калькуляторе был не Бейсик, но программу я потом легко перевёл в QB практически один в один. Даже в режиме интерпретации, работало оно на 486 молниеносно для самых больших чисел.

Но был у этой программы один «недостаток»: так как язык калькулятора был сугубо неструктурированным (просто одна длинная строка операторов, разделённых двоеточием), а циклы вообще отсутствовали как класс, то и код состоял практически из одних GOTO. Развлечения ради я как-то переписал всё на QB в «красивом» виде: парочка циклов с условием, чёткие ветвления IF-THEN-ELSE — просто загляденье. Одно только омрачало: программа стала работать в разы медленнее. :)

Вот и думайте: либо «красота», либо оптимизация. Кстати, никого же почему-то не возмущает, что в Ассемблере есть команда безусловного перехода JUMP. Да и касательно break/continue в C/Java/PHP я что-то не слышал нареканий; и тот же goto там есть, и return можно сделать из любой точки. А хают почему-то только Бейсик, да ещё столетней давности.
 

JAW

15 лет на форуме
Сообщения
15 797
Реакции
3 454
Ответ: Древний язык БЕЙСИК

Samsonov
Зло от оператора GoTo заключается в одном...
Дейкстра мыслил уже в ту эпоху, когда важным стала такая штука, как "дисциплина программирования", т.е. "прозрачность", документирование кода, возможность масштабирования кода. Прошли уже времена нечитаемых, но максимально быстрых программ на Фортране, т.е. во главу угла уже встала не производительность, а групповая разработка.

Досих пор помню, как после написания программы на Basic мы её "плющили", убирали все комментарии и схлопывали чуть ли не в одну строку.

Кстати, вот что мне подумалось...
Visual Basic уже не является Basic'ом... Это совершенно иной язык.
Так же, как и Object Pascal не является Паскалем.

Кстати, досих пор зол на Borland за то, что он развил Паскаль в неверном направлении. Можно было довести его до состояния Модулы, тогда бы всё было куда логичней и правильней.

Кстати... Что интересно, последним языком Вирта был Оберон...
Так вот, этот язык разрабатывался в первую очередь для системного программирования. Из языка были выкинуты все структуры не поддающиеся оптимальной реализации. Наверное это и правильно.

По той же причине Вирт не воспринимает ООП. Это крайне тяжело реализуемая концепция достаточно сильно замедляющая работу программы, жрущая немерено памяти и по сути не имеющая смысл, т.к. всё прекрасно реализуется и без объектов.
 

Filmoscope

Участник
Сообщения
403
Реакции
0
Ответ: Древний язык БЕЙСИК

Почитал, понастольгировал... спасипки аффтарам
Бейсик - это наше все когда-то было... в школе нам его 80 с чем-то летний дедок преподавал... а дома я брал магнитофонную кассету МК-60 долго грузил, потом слушал музло через Beep написаное... - вот ведь страдал ...ней. Писал игру типа Монополии, потом тетрисообразные игрушки (ну или где просто отслеживание двухмерного массива)...
ЗЫ: А еще я на калькуляторе писал проги. м-да, было время...
 

@diz@

отечеств. про
Топикстартер
15 лет на форуме
Сообщения
4 220
Реакции
1 914
Ответ: Древний язык БЕЙСИК

Filmoscope сказал(а):
А еще я на калькуляторе писал проги. м-да, было время...
МК-54 со стековой записью. Дас ист фантастишь!!
 

Samsonov

Участник
Сообщения
886
Реакции
89
Ответ: Древний язык БЕЙСИК

Filmoscope сказал(а):
слушал музло, через Beep написаное
Можно вспомнить былые времена, запустив WinAmp с плагином для Vortex-файлов (in_vtx.dll). Ежели кому надо, могу отсыпать и музла, и плагин.

А вообще, включите телевизор — там сейчас подобное музло исполняют «Filthy scent… Жюстэн… Бэмбилэнд…». Клип называется AYO Technology, во славу синтезатора AY-3-8910. Там и треньканье знакомое слышится, и графика такая стилизованная под антиквариат.


JAW сказал(а):
Зло от оператора GoTo заключается в непрозрачности кода.
Ясное дело. Но когда строки кода вводились по номерам, трудно было думать о какой-то там структурированности. Как появились нормальные текстовые редакторы — так сразу всё пришло. А старый звон почему-то до сих пор раздаётся. Я же приводил пример: используя break и return, можно снизить читаемость кода на любом современном языке. Значит, дело всё-таки не в языке, а лишь исключительно в дисциплинированности программиста.

То же самое можно сказать об объектно-ориентированном анализе задачи. Паттерны проектирования именно для того и формулировались, чтобы научить людей строить гибкие системы. Чтобы каждый класс реализовывал только максимально связанные друг с другом функции, имел минимальное число связей с другими классами и т. п. Это и есть дисциплина программирования — порождать внятный код. Язык тут не при чём.

Visual Basic уже не является Basic'ом. Это совершенно иной язык.
Принципы те же самые: максимальная простота, минимальное занудство компилятора. Не надо знать, что такое описатель окна, указатель на массив, как склеить две строки или как освободить память. Если отключить необходимость явного определения переменных и строгую проверку типов, то можно писать почти по-старому. И инициализация переменных по умолчанию до сих пор сохранилась. Единственное, что принципиально изменилось в версии 7.0 (первый .NET) — так это то, что теперь индексация массива начинается с нуля, и это никак не изменишь; хотя индексы в коллекциях начинаются с единицы.


По той же причине Вирт не воспринимает ООП. Это крайне тяжело реализуемая концепция, достаточно сильно замедляющая работу программы, жрущая немерено памяти и не имеющая смысла.
Кстати, хотел сказать по поводу Фотошопа. Если он и вправду стал медленнее, чем мог бы быть, то вполне возможно, что именно ООП снижает его быстродействие.

Но с другой стороны, как жить без объектов? Одно дело, когда программа не могла превышать 64 Кбайта, и там всё равно нельзя было развернуться на полную катушку. Совсем другое, когда у тебя есть возможности и желания реализовать поддержку десятка однотипных устройств или различных форматов файлов, стратегий обработки, структур хранения. Как это всё сделать без ООП?

Я вот год назад начал писать одну веб-систему на PHP. Так как между PHP4 и PHP5 есть некие различия в работе с объектами, то решил делать всё по старинке, дабы не зависеть от хостинга. Ну и что? Сначала дело движется быстро, но потом понимаешь, что увяз во всех этих глобальных переменных и функциях. Прозрачность минимальная, наглядность ещё хуже. Несколько движков СУБД просто так не поддержишь. Когда нужно было реализовать плагины, то чтобы имена однотипных функций не совпадали, пришлось вводить формат «имяфайла_имяфункции». Разве это красиво?


Не надо думать, что ООП — это обязательно потеря быстродействия. Например, как вы будете реализовывать выбор в зависимости от состояния? Наверняка длинным ветвлением switch или if-elseif, то есть выполнением кучи сравнений при каждом проходе. А в ООП есть специальный паттерн Состояние (State), который предлагает создание подклассов, каждый из которых реализует поведение при конкретном состоянии. Эх, знать бы мне это, когда делал почтовый сервер: каждое состояние (логин, выбор действия, ввод параметров, передача сообщения) можно было бы сделать в виде отдельного объекта, а не париться с длинным уродливым SELECT CASE и постоянными проверками переменных-флажков, а была ли аутентификация, а была ли введена вся необходимая информация для команды, и так далее.

То есть потери только во время инициализации объекта, чтобы динамически связаться с его функциями (да, конечно, это дольше, чем статическая привязка на этапе компиляции), но зато потом — один сплошной выигрыш.
 

Kamandre

12 лет на форуме
Сообщения
1 130
Реакции
421
Ответ: Древний язык БЕЙСИК

magneto сказал(а):
Давно мечтаю посмотреть, но не могу найти.
Смотрите личку
 

magneto

рептилоЙд
15 лет на форуме
Сообщения
5 645
Реакции
4 366
Ответ: Древний язык БЕЙСИК

@diz@ сказал(а):
МК-54 со стековой записью. Дас ист фантастишь!!
Б3-21 и Б3-34 мне больше нравились по дизайну корпусов... :)
 

magneto

рептилоЙд
15 лет на форуме
Сообщения
5 645
Реакции
4 366

Krest

20 лет на форуме
Сообщения
896
Реакции
1 097
Ответ: Маленькие радости – 3

Сегодня ровно 21 год с того дня, как я впервые сел за компьютер. Не уверен, что без него жизнь сложилась бы хуже, но нынешнее положение вещей меня вполне устраивает :)
 

Йожег

без телевизора
12 лет на форуме
Сообщения
8 836
Реакции
4 275
Ответ: Маленькие радости – 3

Во память! Впрочем примерно все сели за комп в эти годы. Ну кто успел к тому времени родиться :)
 

magneto

рептилоЙд
15 лет на форуме
Сообщения
5 645
Реакции
4 366
Ответ: Маленькие радости – 3

Во память! Впрочем примерно все сели за комп в эти годы. Ну кто успел к тому времени родиться :)
Вот за всех-то ненадь! :)
33 года ужо, как оне мне кровь пъют... Правда оне тады гордыми словами ЭВМ и УВК назывались.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 185
Реакции
10 844
Ответ: Маленькие радости – 3

Гм. Сейчас пересчитал, у меня получается 26
 

Йожег

без телевизора
12 лет на форуме
Сообщения
8 836
Реакции
4 275
Ответ: Маленькие радости – 3

Примерно так же. Не помню, но методом дедукции (поступил в институт значит сел за комп) вычислил - 26
 

Dmitrij M

15 лет на форуме
Сообщения
11 046
Реакции
5 944
Ответ: Маленькие радости – 3

Я в 1988 сел, где-то как раз летом, эта, ужо, значится 24... Полжизни за компом.
Редакция журнала "Адукацыя i выхаванне", Минск. Печатали кальки, выходило криво по теперешним меркам, но было забавно и интересно.
Присоединюсь, пожалуй, я доволен.
 

@diz@

отечеств. про
Топикстартер
15 лет на форуме
Сообщения
4 220
Реакции
1 914
Ответ: Маленькие радости – 3

"Радио-86РК"

Получается, 26 лет что ли.
А вот время до минут не удосужился тогда отметить для истории.
 

dmtn

Участник
Сообщения
23
Реакции
56
Ответ: Маленькие радости – 3

27 стукнуло, а как надоели, иногда на рыбалочке сидишь и думаешь, а как ведь хорошо без этой железки :)
 

Fog_patch

12 лет на форуме
Сообщения
3 163
Реакции
998
Ответ: Маленькие радости – 3

По сравнению с местными ветеранами, у меня довольно скромно:
До 25 лет я даже не знал как оно включается. Win-98 -- первая операционка, которую увидел (хотя потом вовсю использовал и win3.11 и dos6.22).
MS-Paint -- первый редактор позволивший заработать деньги (причем неплохие). :D
 

jASS

Resu Deretsiger
12 лет на форуме
Сообщения
1 963
Реакции
1 137
Ответ: Маленькие радости – 3

Вот он мой первый эвм, только тот был серо-синего цвета, стильный, модный, молодежный. Год ... Где-то в 90-х. Очень перло рисовать по координатам. Эх! Были времена ...

51d915a79e07.jpg

А вот и первый монитор:

Televizor_Junostj-406D.jpg
 

NecroZoider

инопланетный разум
15 лет на форуме
Сообщения
1 337
Реакции
485
Ответ: Маленькие радости – 3

лето 1987 (ZX Spectrum 48K)
получается 25 лет стукнуло
 

Любимцев

15 лет на форуме
Сообщения
4 205
Реакции
2 057
Ответ: Маленькие радости – 3

Было бы не плохо, к результатам оного сидения... приложить и результаты...
 
Статус
Закрыто для дальнейших ответов.