OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 12:45

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 43 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Пятница, 10 Апрель, 2009 10:00 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Валерий Лаптев писал(а):
Напомню тоже, что переход с Паскаля на С произошел в начале 90-х, когда в Ташкенте об Оберонах никто даже одной буквы не слыхал.

В Ташкенте и сейчас слово Оберон практически никому ничего не говорит.
Даже у Дельфов фанатов всё меньше и меньше...


Последний раз редактировалось Geniepro Пятница, 10 Апрель, 2009 10:38, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Пятница, 10 Апрель, 2009 10:04 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Info21 писал(а):
Они просто через медленный терминал работали. Число литер было критичным. Что-то в этом роде. Никакого отношения ни к образованию, ни к классу.
Кстати, я не верю, что они в 1970 были программерами высокого класса.
В этом пункте часто путают высокую (количественно), но простую (качественно) сообразительность с классом программерства.

Это как путать природные данные и общую функциональную подготовку с техникой какого-нибудь спорта.

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


Вот отсюда:
http://chernykh.net/content/view/473/685/
Цитата:
Все началось в середине 60-х годов XX века. Bell Laboratories, General Electric и MIT приступили К реализации амбициозного проекта по созданию многопользовательской многозадачной операционной системы Multics (Multiplexed information and Computing Service) для мэйнфреймов. В работе над этим проектом приняли участие сотрудники Bell Laboratories Кен Томпсон, Деннис Ричи, Дуг Ма-килрой, Джо Осана и др. Работы над Multics так и не удалось довести до логического конца, хотя и была выпущена сырая версия, реализованная на компьютере GE 645. В 1969 году руководство Bell Laboratories отказалось от дальнейшего участия в проекте. Как пишет в своей книге "Четверть века UNIX" (Quarter Century of UNIX) Питер Салус: "Участники проекта чувствовали себя несчастными неудачниками. В конце концов, Кен и Деннис с подачи Дуга попытались все же создать систему, которая принесла бы им удовлетворение". И они создали ее.

Не забывайте, что дело было в конце 60-х. Чтобы писать ось, нужно обладать квалификацией не прикладного программиста.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Пятница, 10 Апрель, 2009 11:19 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Валерий Лаптев писал(а):
Я так и понял создателей С: им хотелось писать как можно меньше символов, поэтому так и сделано. Они ж не преподы, а программеры, причем очень высокого класса. Вот и создавали для себя.
Однако, как ни крути, Си делался под конкретную машину с её конкретными ограничениями. С задачей справились (типа экономии памяти под программу, минимизация кода компилятора). А вот приплетать сюда всякие высокопарные материи типа "им, захотелось и так и сделалось. аминь" смысла не имеет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Пятница, 10 Апрель, 2009 11:48 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
Мне кажется они были хорошими ассемблерщиками, во всяком случае должны были, если занимались в то время подобными разработками. Вот и создали классный макроассемблер.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Пятница, 10 Апрель, 2009 11:59 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Евгений Темиргалеев писал(а):
...приплетать сюда всякие высокопарные материи типа "им, захотелось и так и сделалось. аминь" смысла не имеет.


Cами же авторы и признавались - язык С был создан для того, чтобы "авторам и их друзьям не приходилось больше писать на ассемблере" (цитирую по памяти).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Пятница, 10 Апрель, 2009 12:12 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Евгений Темиргалеев писал(а):
Однако, как ни крути, Си делался под конкретную машину с её конкретными ограничениями. С задачей справились (типа экономии памяти под программу, минимизация кода компилятора). А вот приплетать сюда всякие высокопарные материи типа "им, захотелось и так и сделалось. аминь" смысла не имеет.

Именно так.
Вирту же вы не отказываете в том, что "ему захотелось" избавиться от изложения особенностей компилятора Фортрана. Захотелось - и сделалось.
Этому народу - тоже захотелось, но другого - и сделалось. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Пятница, 10 Апрель, 2009 14:26 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
... "ему захотелось" ...
Ясное дело, движения белковых тел определяются тем, как нейроны стрельнут ("захотелось"). Речь-то о том, чего хотеть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Суббота, 11 Апрель, 2009 01:28 

Зарегистрирован: Четверг, 09 Апрель, 2009 02:45
Сообщения: 4
Valery Solovey писал(а):
001>Объективными качествами синтаксиса является только в той или иной мере наличие синтаксического оверхеда.

Чем вам мое сообщение не источник? Или какие вам источники нужны? :)
Знаете, существует мнение, что синтаксис надо "мерить" по размеру грамматики. Это написано, думаю, в известной вам статье "Арифметика синтаксиса". Но проблема в том, что языки такая вещь, что нельзя оценивать отдельно грамматику от конкретного использования языка.
Короткая грамматика удобна только при изучении языка. Но никак не при использовании.

Valery Solovey писал(а):
Источник?

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

Valery Solovey писал(а):
Почему бесспорно? Я бы и поспорил... Источник?

Ну спорь. Вот тут уже человек поспорил http://www.rsdn.ru/forum/message/1214478.1.aspx
Valery Solovey писал(а):
Вы уверены, что знаете, что такое бритва Оккама?

Уверен. А вы уверены?
Valery Solovey писал(а):
001 писал(а):
Как нетерминал может создавать синтаксических оверхед?
В грамматику можно добавить сколь угодно много нетерминалов, и при этом язык, задаваемый ею не изменится.
Как это возможно согласовать с бритвой Оккама. Приведите пример.

Внимательнее! Это был ответ на другое сообщение.
001 писал(а):
А доказать, что эти критерии достаточны обоснования, слабо?

Вы пропустили предлог "для" перед словом "обоснования"?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Суббота, 11 Апрель, 2009 15:20 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
001 писал(а):
Чем вам мое сообщение не источник? Или какие вам источники нужны?
Просто назвать бредом то, что я прочёл не хочется. Я, ведь, могу и ошибаться. Посмотрю источник и сделаю заключение - "бред" или "надо же, а я и не знал..."

001 писал(а):
Valery Solovey писал(а):
Вы уверены, что знаете, что такое бритва Оккама?

Уверен. А вы уверены?
А я не уверен, что знаете. Или не знаете Си (что гораздо менее вероятно). Я тут недавно был вынужден прочесть K&R, из чего и делаю вывод - бритва Оккама не использовалась. Или использовалась не по назначению. Скажем, колбасу во время обеда ей нарезали. Из этого не следует, что язык очень уж перегружен, но всё-таки видны места, где они перестарались и где недотянули.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Понедельник, 13 Апрель, 2009 10:33 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
В чем перестарались и в чем не дотянули?
Интересно конкретику выяснить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Понедельник, 13 Апрель, 2009 10:47 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Приду домой - гляну. Только бы не забыть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Воскресенье, 19 Апрель, 2009 19:06 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Перестарались:
1. Положение инкремента и декремента сильно влияет на результат выражения, в котором он участвует (++i , i++). Семантика разная, обозначение - одинаковое.
2 и 3. только чтобы не ставить "лишних" скобок часть операторов вычисляется слева направо, а часть - справа налево, и имеется сложный список приоритетов операций. Но даже от скобок не всегда удаётся избавиться: иногда они появляются для читабельности, а иногда проступает непродуманность (т.е., авторы не догадались, что убирают скобки лишь для частного случая, а в остальных случаях для того же действия скобки понядобятся: "if ((x & MASK) == 0) ...").

Не дотянули:
1. присваивание в сравнении, хотя уже есть и присваивание, и сравнение по отдельности
2. два условных оператора. Один не вырабатывает результата, а второй - вырабатывает.
3. Если f() и g() зависят друг от друга, то "x = f() + g();" может вычислиться неправильно, поскольку вычисление f() и g() пожет не соответствовать порядку.
4. Точка с запятой присутствует в конце многих операторов, но не служит индикатором какого-то особого действия.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Понедельник, 20 Апрель, 2009 09:02 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Валерий Лаптев писал(а):
После писания на С и С++ необходимость писать паскалевские then, begin, end, procedure, function, i:=i+1 меня просто раздражала.


Для операторов разница в количестве букв не столь уж и велика.
while(){}
WHILE DO END
+1

if( ){ }
IF THEN END
+2

if( ){ }else{ }
IF THEN ELSE END
+1

if( ){ }else if( ){ }else{ }
IF THEN ELSIF THEN ELSE END
=

if( ){ } else if( ){ } else if( ){ } else{ }
IF THEN ELSIF THEN ELSIF THEN ELSE END
-1

swith(){case: break;}
CASE OF| : END
-9


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Понедельник, 20 Апрель, 2009 09:06 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Trurl писал(а):
Для операторов разница в количестве букв не столь уж и велика.
Спасибо! Важный вклад в педагогику :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Понедельник, 20 Апрель, 2009 10:00 
Аватара пользователя

Зарегистрирован: Суббота, 10 Ноябрь, 2007 21:28
Сообщения: 584
Откуда: Хабаровск
В системе образования есть устойчивый миф что:

1) Язык Си создавался высокопрофессиональными системными программистами для таких же как они.
2) Язык Паскаль создавался университетскими профессорами чисто для целей обучения и только потом был принят некоторым количеством программистов.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Понедельник, 20 Апрель, 2009 10:37 
Аватара пользователя

Зарегистрирован: Суббота, 10 Ноябрь, 2007 21:28
Сообщения: 584
Откуда: Хабаровск
Валерий Лаптев писал(а):
В чем перестарались и в чем не дотянули?
Интересно конкретику выяснить.


Чисто с позиции учителя, но то же самое. Действительно возможность записать в условии присваивание это как-то странно. И очень трудно бывает выстроить систему в голове ученика, когда куча возможностей присвоить 1 и ведут себя эти возможности в зависимости от окружения по разному, это я про ++ левый и правый, но если посидеть повспоминать, то проблем в обучении на Си не то чтобы выше крыши, но значительно больше чем в случае Паскаля. Паскалевский текст кстати действительно сильно похож на просто очень сокращенный английский и иногда получается (лично у меня) говорить по русски, напоминая смысл английских слов и одновременно писать на Паскале, после чего у матросов не остается вопросов. С Си у меня так не получается, хотя как программист Паскалем я владею в той же степени как и Си.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Понедельник, 20 Апрель, 2009 16:16 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Valery Solovey писал(а):
2. два условных оператора. Один не вырабатывает результата, а второй - вырабатывает.


Они разные для разных ситуаций, поэтому их два :) Можно было бы свести все к одному, но потеряли бы в читабельности.

Valery Solovey писал(а):
3. Если f() и g() зависят друг от друга, то "x = f() + g();" может вычислиться неправильно, поскольку вычисление f() и g() пожет не соответствовать порядку.


Это объясняется желанием дать больше простору оптимизатору. И, насколько я знаю, есть не только в C/C++. Это не сильно мешает (99% проблем, возникающих из-за неопределенного порядка, это проблема незнания, что этот порядок неопределен), но я бы предпочел гарантированный порядок. Во всяком случае в языке с побочными эффектами ;)

Valery Solovey писал(а):
4. Точка с запятой присутствует в конце многих операторов, но не служит индикатором какого-то особого действия.


Она служит индикатором конца выражения. Действительно парят ';' (меня) только в конце описаний классов/структур. В этом смысле я не понимаю борьбы с "лишними" ';' в обероне - считаю, что визуальная регулярность лучше формальной чистоты.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Понедельник, 20 Апрель, 2009 18:02 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Мой список призван показать, что при создании Си бритва Оккама использовалась как минимум не чаще, чем при создании Паскаля или Оберона.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Понедельник, 20 Апрель, 2009 18:04 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Valery Solovey писал(а):
Перестарались:
1. Положение инкремента и декремента сильно влияет на результат выражения, в котором он участвует (++i , i++). Семантика разная, обозначение - одинаковое.
2 и 3. только чтобы не ставить "лишних" скобок часть операторов вычисляется слева направо, а часть - справа налево, и имеется сложный список приоритетов операций. Но даже от скобок не всегда удаётся избавиться: иногда они появляются для читабельности, а иногда проступает непродуманность (т.е., авторы не догадались, что убирают скобки лишь для частного случая, а в остальных случаях для того же действия скобки понядобятся: "if ((x & MASK) == 0) ...").

Да, с операциями - это они действительно сильно перестарались!
Приоритеты реально никто не помнит, поэтому я лично всегда наставляю скобок - от греха... :)
Valery Solovey писал(а):
Не дотянули:
1. присваивание в сравнении, хотя уже есть и присваивание, и сравнение по отдельности
2. два условных оператора. Один не вырабатывает результата, а второй - вырабатывает.
3. Если f() и g() зависят друг от друга, то "x = f() + g();" может вычислиться неправильно, поскольку вычисление f() и g() пожет не соответствовать порядку.
4. Точка с запятой присутствует в конце многих операторов, но не служит индикатором какого-то особого действия.

1. Да, наверное, можно было бы.
2. Один - оператор, другой - операцитя. Это разные вещи и в разных контекстах используются
3. Это сделано для оптимизации. Надо просто знать, что порядок не определен и никогда на это не расчитывать.
4. Точка с запятой ставится в конце любого оператора.
Но тут полно непоследовательностей.
А вот с чем они реально недотянули, так это с модульностью. Модулей реально нет и это - самый большой грех.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: PasWiki -- веселое pro-Pascal чтение
СообщениеДобавлено: Вторник, 21 Апрель, 2009 07:22 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Valery Solovey писал(а):
Мой список призван показать, что при создании Си бритва Оккама использовалась как минимум не чаще, чем при создании Паскаля или Оберона.

Вот уж где точно должна была использоваться эта бритва, так это при разработке языка Occam. Это видно даже по синтаксису -- разделитель операторов -- перевод строки, операторных скобок нет -- значимые отступы вместо них, в первой версии даже вещественных чисел не было...
А сам язык был основан на идеях Communicating sequential processes известного сотрудника Майкрософта -- Тони Хоара (правда тогда он ещё не был сотрудником Майкрософта)...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 43 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB