Химия и PascalABC.Net

Я там не только повзрослел, я состарился.

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

А сейчас уже нет того романтизма и энтузиизма! Киборги идут на смену людям и человекам. И скоро Алиса будет преподавать сопромат фёдорам…

А нам только и останется брюзжать на последнем человеческом форуме.

БЕРЕГИТЕ ФОРУМ!

2 лайка
Согнутая балка в жёстком защемлении
Закрепляла здание в нужном положении.
По её сечению в разных направлениях
Действовали силы при больших давлениях.

На заводе балку делали аврально,
И она держалась чисто фигурально.
Да ещё в расчётах сделали ошибку,
Потому что знали сопромат не шибко...

Возрастали Главные в балке напряжения,
И она дрожала, как от вдохновения!
Вот пришли студенты делать своё дело.
Тут-то наша балка и не утерпела –

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

       М.Томчин
2 лайка

Как в анекдоте: надо же, обрушилось точно как запланировано!..

Главное - не стоять под той балкой, которую ты защемил!

Уважаемые коллеги, добрый день! В процессе работы у меня возник вопрос: когда создаётся язык программирования: использование английского - это дань традиции, или необходимость? Например, мне нравится эсперанто. Можно ли на базе эсперанто сделать язык программирования?

1 лайк

Английский язык считается наиболее распространенным в мире, несмотря на то, что по количеству людей, говорящих на одном языке, на первом месте должен быть китайский. Английский язык прост и в отличие от большинства распространенных языков использует алфавит ровно из 26 латинских букв без различных диакритических значков. Кроме того, “на заре” программирования в языках традиционно использовались английские ключевые слова.Так что можно говорить и о некоторой традиции.

Попытки использовать в программировании те или иные национальные языки всегда скатывались к сектантству - язык не получал международного распространения. Например, в России и ряде стран бывшего СССР до сих пор в школах используется так называемый “Ершол” - алгоритмический язык, созданный академиком Ершовым на основе паскаля с русскими ключевыми словами. Писать на нем крайне неудобно из-за постоянной смены раскладки клавиатуры с латиницы на кириллицу и наоборот. Для благозвучия Ершол часто называют ШАЯ - Школьный Алгоритмический Язык. Вы можете найти примеры в Интернет или в любом школьном учебнике за 6-7 класс.

Имелись и другие языки программирования с русскими ключевыми словами - АЛМИР, РАПИРА, локализация КОБОЛ (АЛГЭК), локализация АЛГОЛ-60 (АЛГАМС) и пр.

Так что создать язык программирования на базе эсперанто не проблема, а занятие, не имеющее практического смысла.

2 лайка

Спасибо за ответ. Очень интересно.

История становления любой области знаний всегда интересна.

Сейчас в связи с развитием компиляторостроения проблема использования национальных языков так остро не стоит.

Даже в PascalABC.NET можно использовать русские имена переменных и проч. Вот пример:

uses Окна,Исполнители;

begin
  
  // Создание запросов
  var СтраныНаБуквуА := Страны.Выбрать(страна -> страна.Название.НачинаетсяНа('А'));

  var СтраныАзии := Страны.Выбрать(страна -> страна.Континент = 'Азия');

  var МаленькиеСтраны := Страны.Выбрать(страна -> страна.Население < 100000);
  
  // Создание интерфейсных элементов
  var ОкноСписка := СоздатьОкноСписка;
  ОкноСписка.Отобразить(Страны);
  
  СоздатьКнопку('Все',              () -> ОкноСписка.Отобразить(Страны));
  СоздатьКнопку('На букву А',       () -> ОкноСписка.Отобразить(СтраныНаБуквуА));
  СоздатьКнопку('Страны Азии',      () -> ОкноСписка.Отобразить(СтраныАзии));
  СоздатьКнопку('Маленькие Страны', () -> ОкноСписка.Отобразить(МаленькиеСтраны));
end.
1 лайк

Символы UNICODE в именах - это прекрасная возможность. Но насколько я понял, вопрос задавался о полной локализации, включая ключевые слова и прочие лексемы.

komenci
   var a := AroHazard(10, -99, 99);
   a.PrintTr;
   a.Kie(t -> t > 0).Elektu(t -> t ** 3).Mezumo.Print
fino

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

1 лайк

В репозитории паскаля есть файл ( Parsers\PascalABCParserNewSaushkin\Keywords.cs ), в котором можно изменить все ключевые слова.

7 сообщений перенесены в тему Болталка PascalABC.NET

Уважаемые коллеги! Добрый день. Прочитал невероятно полезную книгу Йенсен К., Вирт Н. Паскаль. Руководство для пользователя и описание языка. Многие вопросы прояснились и теперь стали понятнее некоторые книги с данного сайта :slight_smile: Ещё одна отличная книга - это “Молекулярное моделирование”, которая тоже отлично написана.

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

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

Про OpenEye написано:

the version of the toolkits works with all .Net languages include Visual Basic .Net, F# and IronPython.

Так что должно работать и с PascalABC.NET.

PyMOL, похоже, только для Питона.

1 лайк

А как же Лутц?

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

Попробую что-нибудь сделать. Буду сообщать сюда о результатах.

2 лайка

Для изучения основ Питона нужно на 2 минуты меньше, чем аналогично для паскаля. То есть минуты 3, не больше. Такой инфы по Питону в Инете пруд пруди.