MSElang : обсуждение фишек

Вопросы программирования и использования MSEide + MSEgui.

Модератор: Модераторы

Re: MSElang : обсуждение фишек

Сообщение alexey38 » 25.11.2013 03:43:15

Mirage писал(а):Функция должна быть "чистой", без побочных эффектов на состояние. Контролировать должен компилятор - выдавать ошибку на оператор присваивания нелокальным сущностям в такой функции и на вызов процедур. Что-то подобное по-моему даже есть в D.

Для этих целей лучше выбрать новое ключевое слово, а не использовать существующие. Многие люди знают это по книжка и опыту работы с паскалем. Доку на новый язык редко кто будет читать, поэтому это приведет к непониманию.
Лекс Айрин писал(а):На всем надо концентрироваться. Синтаксис Паскаля не идеален, Даже сам Вирт это понимал. Если делать новый язык, то нужно прикручивать возможности так, чтобы они идеально интегрировались в синтаксис.

Да и человек собственно не идеален. Любые попытки создать идеальный язык - утопичны по определению. Есть существующий паскаль (Дельфи, ФПС), есть его реальный практический опыт использования. С учетом этого имеет смысл создать новый диалект, чтобы учесть слабые места предыдущего. И не более. На более мозгов не хватит, мы (все вместе) не настолько гениальны. А если даже и гениальны, то другие нас не поймут.

Добавлено спустя 3 минуты 5 секунд:
debi12345 писал(а):зачем вводить постоянный рантаймовый оверхэд ради редко требуемого функционала ?

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

Добавлено спустя 5 минут 50 секунд:
debi12345 писал(а):Когда они зазря мусорят или путают код, пряча полезный контент - это реально бесит.

Чем "else if" отличается от "elseif", кроме отсутствия пробела? Зазря мусорят - используйте нормальные среды для разработки.
Лекс Айрин писал(а):Зачастую, его возможности даже излишни.

Зачастую программирование излишне само по себе. Любые задачи, решаемые на компе можно решать и без компа.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: MSElang : обсуждение фишек

Сообщение Лекс Айрин » 25.11.2013 08:49:25

alexey38 писал(а):На более мозгов не хватит, мы (все вместе) не настолько гениальны. А если даже и гениальны, то другие нас не поймут.


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

alexey38 писал(а):Любые задачи, решаемые на компе можно решать и без компа.


например, обсчет формы самолета, с точки зрения выбора лучшей аэродинамики... можно, конечно, но очень долго.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: MSElang : обсуждение фишек

Сообщение alexey38 » 25.11.2013 09:15:22

Лекс Айрин писал(а):например, обсчет формы самолета, с точки зрения выбора лучшей аэродинамики... можно, конечно, но очень долго.

Лекс Айрин писал(а):Именно этим оправдываются те, кто не хочет ничего делать.А ведь еще очень многое нужно сделать, чтобы уйти от устаревших операционных и RAD систем.

Но Вы как раз утверждаете обратное. Вы утверждаете, что ни в коем случае не нужно пользоваться RAD системой, потому что это некошерно (т.е. сугубо религиозный взгляд, а иных аргументов Вы не привели). А без RAD систем, при написании кода в блокноте Вам не все наглядно, поэтому Вам хочется пойти самым сложным путем и адаптировать язык программирования под блокнот.

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

Кому-то нравится begin, кому-то нет. Нравится или не нравится - это не требования к самому языку. Это требования к RAD системе, которая адаптирует представление кода под желания программиста.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: MSElang : обсуждение фишек

Сообщение Лекс Айрин » 25.11.2013 09:50:14

alexey38 писал(а):Вы утверждаете, что ни в коем случае не нужно пользоваться RAD системой, потому что это некошерно (т.е. сугубо религиозный взгляд, а иных аргументов Вы не привели). А без RAD систем, при написании кода в блокноте Вам не все наглядно, поэтому Вам хочется пойти самым сложным путем и адаптировать язык программирования под блокнот.


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

alexey38 писал(а):за наглядное представление кода программы отвечает RAD система, они для того и придуманы с учетом всевозможных плагинов, чтобы адаптировать представление кода под психологию и предпочтения конкретного программиста


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

alexey38 писал(а): Нравится или не нравится - это не требования к самому языку. Это требования к RAD системе, которая адаптирует представление кода под желания программиста.


Да нет. RAD только представляет код. Но каким он должен быть заложено в самом реализуемом языке. Мне, по большому счету, параллельно на то как представлены операторные скобки. Но когда они встроены в язык, а не отдельная конструкция, немного проще.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: MSElang : обсуждение фишек

Сообщение alexey38 » 25.11.2013 10:22:51

Лекс Айрин писал(а):Я утверждал, что в некоторых случаях и блокнота много. А насчет подсветки... мне она помогает редко, так как я привык писать и анализировать планарный текст. И, соответственно, видеть в нем ошибки.

Безусловно бывают ситуации, когда функционала некой системы больше, чем нужно. Например, я сам часто пишу для себя мелкие утилитки, в которых не используется 90% возможностей паскаля, и не используется 99% его библиотек. Но это ведь не повод говорить, что все эти никому не нужно. Насчет подсветки - это уже как раз личные предпочтения, для этих целей и создаются RAD. Причем дельфовская RAD тем и хороша, что к ней хорошо цепляются бесплатные плагины, которые добавляют требуемые удобства. Причем включаешь только то, что нужно тебе лично.
Лекс Айрин писал(а):Да нет. RAD только представляет код. Но каким он должен быть заложено в самом реализуемом языке. Мне, по большому счету, параллельно на то как представлены операторные скобки. Но когда они встроены в язык, а не отдельная конструкция, немного проще.

RAD например позволяет создавать готовые блоки для условий, циклов и т.п. со всеми операторными скобками. RAD умеет автоматически завершать дописывая end, исходя из наличия сверху begin. Поэтому на написание двух слов "then begin" требуется нажатие сочетания клавиш, а не написание 10 символов.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: MSElang : обсуждение фишек

Сообщение Лекс Айрин » 25.11.2013 10:38:29

alexey38 писал(а):Безусловно бывают ситуации, когда функционала некой системы больше, чем нужно.


Думаю, по этому вопросу разногласий у нас особых нет. Единственное, не каждую фишку реализуешь плагином.

alexey38 писал(а): Поэтому на написание двух слов "then begin" требуется нажатие сочетания клавиш, а не написание 10 символов.


Спорно. Никто не мешает сделать и по другому, тогда будет выводиться полная форма оператора уже после написания слова 'for' и пробела. Умеет же лазарус добавлять end, в те позиции, в которые я его и планировал поставить.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: MSElang : обсуждение фишек

Сообщение alexey38 » 25.11.2013 14:20:54

Лекс Айрин писал(а):Спорно. Никто не мешает сделать и по другому, тогда будет выводиться полная форма оператора уже после написания слова 'for' и пробела. Умеет же лазарус добавлять end, в те позиции, в которые я его и планировал поставить.

Да, я примерно о том и говорю, что среда программирования может помогать писать сложные конструкции. Тогда begin уже не будет мешать. Если бы Вирт много лет назад его не придумал, то и нужно было его вводить. Но раз он уже есть в любом существующем коде, то зачем чего-то менять? Все удобности можно реализовать в среде программирования (не важно какой).
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: MSElang : обсуждение фишек

Сообщение debi12345 » 25.11.2013 15:04:52

Тогда begin уже не будет мешать. Если бы Вирт много лет назад его не придумал, то и нужно было его вводить. Но раз он уже есть в любом существующем коде, то зачем чего-то менять? Все удобности можно реализовать в среде программирования (не важно какой).
Тогда можно писать и на чистом ассемблере даже не зная об этом - потому что RAD через свои удобства спрячет факт юзания оного :) А кроме шуток - как быть при удаленной (через PuTTY и т.п.) корректировке/сборке проектов (линуксятники меня поймут) ? В этом режим РАД не запустишь.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: MSElang : обсуждение фишек

Сообщение alexey38 » 25.11.2013 15:43:31

debi12345 писал(а):А кроме шуток - как быть при удаленной (через PuTTY и т.п.) корректировке/сборке проектов (линуксятники меня поймут) ? В этом режим РАД не запустишь.

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

Я говорю о том, что есть всеми известный синтаксис паскаля, на котором многие имеют большое число наработок. Ради условных удобств (которые кому-то нравятся, а кому-то не нравятся) зачем курочить проверенный временем язык? Для удобства есть RAD средства. Это средство повышения труда программиста и не более, оно позволяет в удобном (адаптированным под конкретные пожелания конкретного разработчика) представлять код в процессе его разработки. Зачем без веских причин менять синтаксис? Да, можно взять синтаксис Оберона, но где Вы найдете книги про это, и как без них Вы будете учить кого-то программировать?

Поэтому я предлагаю принципиально не рассматривать вопросы удобств, которые нарушают всем известный синтаксис паскаля (Delphi, FPC, Lazarus). Достаточно сконцентрировать усилия на нововведениях, позволяющих писать более безопасный или эффективный код.

Вот было предложение про чистые функции (где запрещены операции с глобальными переменными и вызов грязных функций) - отличная идея для многопоточной разработки. Только не нужно для этих целей использовать существующие ключевые слова, достаточно придумать новое.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: MSElang : обсуждение фишек

Сообщение mse » 25.11.2013 16:27:54

@alexey38:
If you write about MSElang you probably missed the point. It's not about to *remove* 'begin' from compound statements but to *add* mandatory 'end'! The purpose: the compound statements should always look the same independent if there are one or several sub-statements.
A programming language must be as good as possible, to leave deficiencies in the language only because the users are accustomed to it must be done by commercial tool producers because there the quarterly closing is all what counts.
I get no money from the MSE-projects but I need best possible tools for my needs which commercial producers can not provide because of the mentioned reason.
BTW, the first things I switch off in every IDE is auto-completion and outo-what-not because it disturbs the flow of thinking, coding and typing...
mse
новенький
 
Сообщения: 68
Зарегистрирован: 08.08.2013 15:40:31

Re: MSElang : обсуждение фишек

Сообщение Mikhail » 25.11.2013 17:38:30

debi12345 писал(а):Тогда можно писать и на чистом ассемблере даже не зная об этом - потому что RAD через свои удобства спрячет факт юзания оного :) А кроме шуток - как быть при удаленной (через PuTTY и т.п.) корректировке/сборке проектов (линуксятники меня поймут) ? В этом режим РАД не запустишь.


Если серьезно, то Вирт сам признал что концепция составного оператора не совсем удачна и разработал новый синтаксис, который был реализован в Модула и Оберон.
Mikhail
энтузиаст
 
Сообщения: 565
Зарегистрирован: 24.10.2013 16:06:47

Re: MSElang : обсуждение фишек

Сообщение debi12345 » 25.11.2013 17:47:01

Или Вы предполагаете, что выполняя разработку используя полноценный инструмент Вы уже не сможете работать на уровне блокнота?

Я к тому, что зачем плодить неоднозначноти (необходимости что-то помнить, учитывать..) ? Выкинуть нафиг эти неоднозначности! Даже скрепя сердце и слезами на глазах :)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: MSElang : обсуждение фишек

Сообщение Mikhail » 25.11.2013 17:52:05

debi12345 писал(а):Я к тому, что зачем плодить неоднозначноти (необходимости что-то помнить, учитывать..) ? Выкинуть нафиг эти неоднозначности! Даже скрепя сердце и слезами на глазах :)


Согласен. Хотя тут нужно упомянуть, что Мартин хочет совершить куда более радикальный шаг, а именно переделать RTL! При этом совместимость будет нарушена, именно поэтому сейчас самое время исправить синтаксис. Кстати, можно упомянуть еще об одной проблеме Turbo Pascal, а именно логические и поразрядные операторы and, or, not.
Mikhail
энтузиаст
 
Сообщения: 565
Зарегистрирован: 24.10.2013 16:06:47

Re: MSElang : обсуждение фишек

Сообщение debi12345 » 25.11.2013 18:29:42

Хочу отметить что Мартин умеет находить идеальные решения. Сперва я был в шоке (потому что это шло вразрез со стереотипом о недостижимости идеала), но потом привык и теперь воспринимаю как данность - все-таки идеал нужно достичь не во всех аспектах мироздания, а всего лишь в конкретных алгоритмах - а это вполне достижимо. В свете этого, компромисс = либо недодумка либо недостаточная подготовительная работа :)

Добавлено спустя 3 минуты 1 секунду:
именно логические и поразрядные операторы and, or, not.

Так и у "С" с оными путаница.
Ваши предложения ?
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: MSElang : обсуждение фишек

Сообщение Mikhail » 25.11.2013 18:38:24

debi12345 писал(а):Так и у "С" с оными путаница.
Ваши предложения ?

Очевидно сделать их разными.

PS В С они разные.
Mikhail
энтузиаст
 
Сообщения: 565
Зарегистрирован: 24.10.2013 16:06:47

Пред.След.

Вернуться в MSEide + MSEgui

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru