Как студент Комплекс Физических Программ писал

Шёл далёкий 2004 год. Я был студентом второго курса технической специальности одного местного вуза на факультете физики. Ничего не предвещало, как говорится.

В закладки

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

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

И вот тут то я загрустил. С одной стороны грусть навевали однокурсники, которые не в зуб ногой (были, которые и в зуб, но в подавляющем меньшинстве), с другой — софт на крайне устаревшей технологии. Во мне эта ситуация вызывала протест. Я только буквально недавно недавно освоился в Delphi и написал наброски 3D шутера под OpenGL, а тут — такое. Ну и захотелось мне выпендриться, показать какой я молодец, уделать всех. Юношеский максимализм пёр изо всех щелей.

Первые робкие попытки заключались в реализации программ из методички на Delphi, потом я пытался сделать аналоги программ преподавателя, а в итоге меня осенило: нужно объединить весь этот софт под крылом одной программной среды, а лучше… а лучше вообще к чертям всё переписать, создав одну большую программу, в которой будет куча различных физических опытов! Я не ставил целей сделать что-то коммерчески успешное или просто кому-то нужное, в то время я программировал чисто для души.

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

Комплекс Физических Программ — это программная среда, комплекс, включающий в себя десять опытов по различным физическим процессам. Написан он был мной на Delphi 7 с использованием OpenGL 1.1

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

Физик из меня не особо шумный, потому каких-то вау-опытов тут нет. Всё, что реализовано, — сводится к банальнейшим вычислениям, потому и было выбрано мной для реализации.

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

После — я несколько раз пытался взяться за версию 2.0, но каждый раз руки опускались. А сейчас, если честно, я в этом и не вижу смысла. Эта программа дала мне большой опыт в разработке завершённых проектов и оставила приятные воспоминания о студенческой жизни, и я, что скрывать, горжусь тем, что тогда её создал.

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы рассказать свою историю.

Написать
{ "author_name": "Михаил Макаров", "author_type": "self", "tags": [], "comments": 32, "likes": 10, "favorites": 1, "is_advertisement": false, "subsite_label": "dev", "id": 90352, "is_wide": false, "is_ugc": true, "date": "Thu, 14 Mar 2019 22:20:14 +0300" }
{ "id": 90352, "author_id": 129485, "diff_limit": 1000, "urls": {"diff":"\/comments\/90352\/get","add":"\/comments\/90352\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/90352"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 232424, "last_count_and_date": null }

32 комментария 32 комм.

Популярные

По порядку

Написать комментарий...
4

Это же программмист с Крыма

Ответить
0

То то я думаю, где я это уже читала

Ответить
0

🤔🤔🤔🤔🤔🤔

Ответить
3

Не вижу ссылки на телеграм-канал/репозиторий и т.д.

Ответить
1

Я до сих пор помню свой первый фриланс - программа для расчета сенажа и силоса
визуальная обертка поверх фортрановской программы на C++
поскольку я нихера не знал про c++ я написал ее на Borland C++ Builder - это такое дельфи, только вместо Pascal - С
И ниче, работало хорошо )

Ответить
2

Ну у борланда отличные IDE же были. Как по мне, тот же Visual Basic (до эпохи .NET) у них откровенно отсасывал. Но пошли они не тем путём. Сначала вышел Delphi 8, целиком под .NET, что очень непонятно, ведь их VCL очень хороша была и нативна. Потом разработка IDE перешла в контору CodeGear. Помню, они вроде одумались и сделали кросскомпилятор (и под нативный Win32 и под .NET), потом вышло убожество Delphi for PHP, а ещё спустя какое-то время продукт продали компании Embarcadero, где на него задрали конские цены (на фоне демократичных Visual Studio, у которых были и бесплатные варианты). Собственно, и Delphi и C++ билдер до сих пор существуют и развиваются, выпущена GPU-ускоренная библиотека для GUI (аналог WPF от Microsoft), но о них уже ничего не слышно.

Ответить
1

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

Ответить
0

Знакомая статья, ты писал на гиктаймс?

Ответить

Комментарий удален

1

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

Ответить

Комментарий удален

0

это чистилище и отсюда нет выхода

Ты шо на винчестеров дрочиш штоли

Ответить
0

Без понятия даже о чем ты.

Ответить
0

о винчестерах

Ответить
0

А причем тут чистилище?

Ответить
0

Ой, всё.

Ответить
0

Погуглила, нет, я не смотрела этот сериал

Ответить
0

Он про сериал Сверхъестественное.
ты вечно заперт на этом сайте

Как по мне, так это больше напоминает "За закрытыми дверями" Поля Сартра

Ответить
0

Да подобного очень много в европейской культуре.

Ответить
1

Я писал на Хабре, но потом мой акк забанили и статья канула в Лету

Ответить
0

По заголовку смахивает на очередной фанфик.

Ответить
0

Просили контента. Вот вам контент. Никто не обещал качественного контента ))

Ответить
0

Побольше абзацев пжлст.

Ответить
0

Добавил. Я давно тут небыл, забыл где тут нормальный редактор, сорян))

Ответить
0

Спасибо 😌
P.S. Первый абзац можно ещё на три как минимум по смыслу разбить ;)

Ответить
0

А что было на первом месте?

Ответить
0

Да хрень какая-то, как водится. Ну кто у нас первые места получает?

Ответить
0

Наверное было обидно

Ответить
0

Не очень. К тому моменту я уже хорошо понимал, что почём в этом мире.

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "ccydt", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } } ]
Узнавайте важные новости первыми
Подписаться на push-уведомления