Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Rifat

Страницы: [1] 2 3 ... 5
1
Общий раздел / Re: Oberon-07M
« : Сентябрь 19, 2011, 01:56:13 pm »
Новостей особых нет. Недавно узнал, что Вирт выпустил новый документ с новой ревизией языка Оберон. Думаю, нужно внести изменения в компилятор. Но пока напряженка со временем.

2
Хорошо поживает. В скором времени выложу новый билд, где длина идентификатора будет увеличена с 31 до 255 символов. При программировании с помощью WinApi коротких идентификаторов уже не хватает, встречаются, например, такие константы: SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT.

3
Попробуй убрать слово РЕГИСТРАЦИЯ, замени его на какой-нибудь синоним, изменить URL, который происходит при регистрации, соотвественно переименовав PHP файл, который вызывается.
Думаю после этого автоматические спамерские программы не найдут, где регистрироваться.

4
Общий раздел / Re:Фантом-ОС
« : Май 06, 2011, 11:15:30 am »
Сама идея об операционной системе, которая бы очень быстро загружалась и восстанавливала предыдущее состояние программ хороша. Но то как они пытаются это реализовать кажется немного сомнительным.
1) Делать снапшоты через фиксированные промежутки времени, считаю не очень хорошей идеей. Лучше было бы сделать примерно так, как сделано в некоторых базах данных, что есть основное структурированное хранилище и есть файл лога, сначала изменения попадают в файл лога, куда они пишутся последовательно, а соответственно очень быстро, а когда накопится определенное количество изменений, они сбрасываются в основной файл и файл лога очищается.
2) То что они хотят совместимости с байт кодом Явы, C# и UNIX, тоже не очень хорошая идея. Для большей популярности это конечно хорошо, но в реализации этой совместимости можно завязнуть на долгие годы, к тому же .NET, Java не стоят на месте, а выпускают новые версии фреймворков довольно часто.

5
На .NET похоже (лента выдает).

6
Как вариант в языке можно все оставить как есть, а проверку таких часто встречаемых ошибок как точка с запятой после последнего поля в записи или после RETURN возложить на IDE, чтобы IDE бил по рукам (подсвечивал красным), если встретилась такая ситуация, тогда она будет исправлена еще до момента компиляции.

7
Еще в Oberon-07 нельзя ставить точку с запятой после оператора RETURN и его значения. Кто как считает, нужно ли здесь разрешать точку с запятой или я просто неправильно код форматирую? Сейчас я пишу:
Цитировать
  RETURN m
END Proc;
А надо допустим:
Цитировать
RETURN m END Proc;
И тогда понятно, что точка запятая здесь не требуется.

8
По-моему, немного нелогично, что точку с запятой нельзя ставить после последнего поля при описании записей, но можно ставить, например, после последнего опрератора внутри цикла.
Как мне кажется надо сделать, чтобы и после последнего поля в записи можно было ставить точку с запятой или же наоборот запретить точку с запятой после последнего оператора внутри блоков WHILE, IF, FOR ...

9
Сейчас подумал, что может быть для однопроходного компилятора, который сразу код генерирует, немного проще если после последнего поля нет точки с запятой.

10
Сейчас в языке Oberon-07 последнее поле в записи не должно заканчиваться символом ";".
Например, RECORD a: INTEGER; b: INTEGER END - можно, а RECORD a: INTEGER; b: INTEGER; END - нельзя.
Это следует из синтаксиса языка:
RecordType  =  "RECORD" ["(" BaseType ")"] [FieldListSequence] "END".
BaseType  =  qualident.
FieldListSequence  =  FieldList {";" FieldList}.
FieldList  =  IdentList ":" type.
IdentList  =  identdef {"," identdef}.
Мне кажется, что это не всегда удобно, так как если, например, в структуре 10 полей, то последовательно добавляя поля, нужно всегда иметь в виду, что последнее поле не должно заканчиваться символом ";". Если случайно добавить этот символ, то будет ошибка компиляции. А если изначально было все правильно, а затем пришлось добавить еще несколько полей, то можно забыть поставить символ ";" после десятого поля.

В Компонентном Паскале точка с запятой после последнего поля не вызывает ошибку, это следует из синтаксиса.
Type  =   Qualident
     |  ARRAY [ConstExpr {"," ConstExpr}] OF Type
      | [ABSTRACT | EXTENSIBLE | LIMITED]
           RECORD ["("Qualident")"] FieldList {";" FieldList} END
      | POINTER TO Type
     | PROCEDURE [FormalPars].
FieldList    =   [IdentList ":" Type].

Кто как думает, почему в Oberon-07 нельзя ставить точку запятой после последнего поля, есть ли здесь какое-то скрытое рациональное зерно?
Нужно ли изменять синтаксис языка Oberon-07M чтобы можно была ставить точку с запятой после последнего поля?

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

12
Илья, можете привести примеры каких-нибудь программ, которые требуются машиностроителям?

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

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

Богатство реальных задач, как всегда, превышает богатство фантазии авторов стандартных пакетов и либов. Требуется нормальное программирование.

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

Есть какие-нибудь другие программы, которые требуются машиностроителям?

13
Илья, можете привести примеры каких-нибудь программ, которые требуются машиностроителям?

14
Сейчас просматривал журнал "Практика функционального программирования". Там в одном месте встречается фраза, что нужен killer app на данной технологии, то есть насколько я понимаю, killer app - это приложение, которое обойдет конкурентов в какой-то области.
В принципе если создать какое-нибудь killer app, на Обероне, которое было бы очень популярным, то это было бы лучшей рекламой.

15
Они и так узнают, они посещают данный форум.
Единственное, надо чтобы нашелся организатор всего этого.

Страницы: [1] 2 3 ... 5