Яр, как раз таки, хорошее название. И не хотелось бы пыл автора умерять, он хотя бы идет своей дорогой. Но, парень, это не взлетит.
Русский язык, он всем хорош, он даже велик и могуч, я бы тоже хотел чтобы взлетело что-то подобное, но оно не взлетит. Не спрашивай меня почему. Русский язык не для программирования. Может он для более крутых вещей, но в программировании, sorry pal, this territory is forever owned by english.
суть неизменна - паскаль есть паскаль :-) (не в упрёк оному, который могуч)
дельные предложения - невнятное слово «тело» заменить на более ёмкое «вот» и совсем невнятное «кнф» на «всё»..смысл не меняется, зато читать веселее :-)
«Эй, ребята из 1C, читайте мое предыдущее сообщение.»
Сказал. А серьезно, почему «ребята из 1C» должны быть мерилом чего-то? Я периодически натыкаюсь на эту фразу и не понимаю, почему эти мифические «ребята» определяют Вашу жизнь?
вот слово неплохое, а кнф тут не даром - это «кн» + «ф», чтобы было легко находить ошибки структуры. Это очень экономичный вариант закрывающего тега, и при этом достаточно полезный. Думаю, это одна из лучших находок в синтаксисе.
Понятно, что все любят обсуждать ключевые слова, потому что это не напрягает и можно постебаться. Я бы хотел, чтобы кто-то реально разобрался в моих предложениях и нашёл подводные камни. Скажем, нашёл какие-то неоднозначности, которых я не вижу.
Самый убойный аргумент за твою точку зрения был такой: потому что программы будут состоять из одного мата. Хотя иноземный мат все пишут в виде FOOBAR, что означает видоизменённое fucked up beyond any recognition.
реки омывающие камни давно утекли и сменили берега.. :-) Вы не предлагаете ничего нового.. это всё уже давно было.
на правах флуда: а что такого нового можно гипотетически предложить в ЯП? Как мне видится, сейчас время супер-пупер-универсальных монстров (типа Лиспа) прошло, в тренде специализированные языки под некоторый круг задач. Да и то, новыми «парадигмами и фишками» как-то не особо они радуют...
Не угадал. Скажу так - русский язык и логика есть вещи несовместные. И это плюс, а не минус. Для людей, жизнь компьютерами не ограничивается. Для программирования русский язык не годится, слишком мелкая область применения. English сойдет и сошел.
А что, в алголе парсер-линза и гомоиконный синтаксис? Я не стараюсь изобрести новое, я стараюсь подобрать идеи, отвечающие определённым требованиям. При этом мне неважно, прочитал я эту идею, сам придумал, кто-то мне подсказал и т.п. Мне важно достижение результата.
на правах флуда: а что такого нового можно гипотетически предложить в ЯП? Как мне видится, сейчас время супер-пупер-универсальных монстров (типа Лиспа) прошло, в тренде специализированные языки под некоторый круг задач. Да и то, новыми «парадигмами и фишками» как-то не особо они радуют..
на правах продолжения флуда:
в современных ЯП есть очевидные недостатки. Причём связанные не столько с технологическими вещами типа уборки мусора, контрактной разработки или возможностей функциональщины. Почти все ЯП поголовно больны многословием и универсализмом, а комуннити изобретением фреймворков. Lisp и С++ оба пошли более-менее разумным путём - дают возможность генерации подмножества языка для решений отдельной группы задач (пресловутые DSL). Оба по разным причинам запнулись.
а вот R который взялся как чёртик из коробочки, представляет собой кучу-кучу сахара, но позволяет быстро и легко решать стат.задачи. «R» популярен? ещё-бы..представляет какую-то парадигму?? да ни разу..просто позволяет компактно/лаконично/быстро делать то что пользователю надо.
а вот R который взялся как чёртик из коробочки, представляет собой кучу-кучу сахара, но позволяет быстро и легко решать стат.задачи. «R» популярен? ещё-бы..представляет какую-то парадигму?? да ни разу..просто позволяет компактно/лаконично/быстро делать то что пользователю надо
так я и говорю — сейчас тренд на создание узко-специализированных языков. Т.е. чтобы создать «новый язык» надо найти востребованную область, где ещё такого языка нет. Но это не будет «принципиально новый» язык, просто заточенный под конкретные задачи (как R).
В случае вложения попытки в процедуру кнп не поможет отличить одно от другого. Но это же не всегда. В любом случае, это лучше, чем просто end, как в Паскале (букв столько же, пользы - больше) и лучше защищает от ошибок структуры, чем «}» в С.
Вот ещё один пример функции в новом синтаксисе.
функция МояСтраница() -- строка
тело
// ВОтладчик("ура!")
пусть Рез -- утка = литерал "<html><body>Поля глоб. перем. Э</p>" -кодировка utf-8 кнл (% -мутабельная да %)
(: Рез = Рез
+
ПоляИЗначенияЭкземпляра (Э)
:) // обычно оператор-выражение завершается в конце строки, но (: :) меняют это правило.
Рез = Рез + (: "<br><a href=""/"">Домой</a></body></html>" (% -кодировка utf-8 %) :)
// НЕ-РЕШЕНО какой из двух вариантов оформления строкового литерала выбрать?
вернуть Рез
(% -чистая да %)
кнф
петух пока не пригодился, но тип «утка» вполне можно добавить. Другое дело, что вряд ли это будет в первой версии. Мне кажется, что утиная типизация не так много сил экономит.
P.S. буква Ю в кнЮ не служит для принятия парсером каких-либо решений, кроме решения о выдаче или не выдачи ошибки. Она служит исключительно для контроля того, что программист правильно понимает, какой тег он закрывает данным кнЮ.
Плохой пример, т.к. у пользователей просто нет альтернативы.
Как это нет? Пользователи 1С (программисты могут писать так):
Procedure Posting(pCancel, pPostingMode)
If ThisObject.DataExchange.Load Then
Return;
EndIf;
// First check if there is posted charges for the current document
vCharges = pmGetRoomServiceCharges();
// Initialize charge objects
vChargeObj = Undefined;
vFixedServiceChargeObj = Undefined;
For Each vChargesRow In vCharges Do
If vChargesRow.Charge.IsFixedCharge Then
vFixedServiceChargeObj = vChargesRow.Charge.GetObject();
Else
vChargeObj = vChargesRow.Charge.GetObject();
EndIf;
EndDo;
If ValueIsFilled(RoomService) Then
If vChargeObj = Undefined Then
// Create charge document
vChargeObj = Documents.Charge.CreateDocument();
vChargeObj.pmFillAttributesWithDefaultValues();
SetChargeHotelAndNumber(vChargeObj);
EndIf;
Else
If vChargeObj <> Undefined Then
// Mark this document deleted
If Not cmIfChargeIsInClosedDay(vChargeObj) Then
vChargeObj.SetDeletionMark(True);
EndIf;
vChargeObj = Undefined;
EndIf;
EndIf;
...
но предпочитают почему-то писать так:
Процедура ОбработкаПроведения(Отказ, Режим)
// Заголовок для сообщений об ошибках проведения
Заголовок = "Проведение документа " + Ссылка;
РезультатЗапроса = рПроведение.СформироватьЗапросПоШапке_АктГосПоверки(Ссылка);
ВыборкаПоШапкеДокумента = РезультатЗапроса.Выбрать();
Если ВыборкаПоШапкеДокумента.Следующий() Тогда
//Надо позвать проверку заполнения реквизитов шапки
//рРаботаСДокументами.ПроверитьЗаполнениеШапки_АктИзмененияПоказанийПриборов(ВыборкаПоШапкеДокумента, Отказ, Заголовок);
// Если в проведении не отказано сформируем движение регистров и другие действия
//Если Не Отказ Тогда
рПроведение.ОтменаДвиженийПоРегРеквизитыПриборовУчета(Ссылка);
рПроведение.ДвиженияПоРегистрамСведений_АктГосПоверки(ВыборкаПоШапкеДокумента);
//КонецЕсли;
КонецЕсли;
КонецПроцедуры
Оба варианта — язык 1С. Можно писать даже вперемешку, ключевые слова полностью взаимозаменяемы. Но английский используется примерно в 1% самописных конфигураций. Как правило, только если предполагается, что большая часть клиентов будут иностранцы.
Название годное. Хуярить на яре! Эх, давай давай наяривай! К сожалению, сам язык беспросветное УГ. Детские травмы автора наложились на лингвистический кретинизм, и получилось... то что получилось. Ну ничего страшного, мало кому удается хороший дизайн. Зато Дениска на борщелишпе шпилит, а ты осилил хотя бы схемку, анонимус?
Я так и не понял, в чём смысл? Кроме упражнения в написании компилятора.
Транслятор в борщелишп же. Дениска просто метапограмист по складу ума. А и тжелое детство: одинэс, мсскуль, лисп! Тяжелые повреждения мозга, волна патриотизма и возрастные изменения. Печальное зрелище.
Я схему бросил, после того как понял, что схема говно. И все говно, которое мы сегодня наблюдаем в программировании, идет корнями из этих порочных идей.
Когда анонимус говорит «я написал», это не имеет никакого смысла. Зарегистрируйся и повтори, либо давай ссылки на конкретные комментарии. Я за тебя буду что ли работать?