OberonCore

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

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




Начать новую тему Ответить на тему  [ Сообщений: 61 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 05 Июнь, 2007 12:43 
Аватара пользователя

Зарегистрирован: Воскресенье, 04 Декабрь, 2005 16:15
Сообщения: 15
Откуда: Украина, Мариуполь
Wlad писал(а):
Просто - волосы - дыбом!
Для "спасения положения", почему-то требуется:
d = (double)1 / 2 * r;
или
d = 1 / (double)2 * r;

Посмотреть бы в глаза тому, кто этот компилятор реализовывал...
Так ведь можно и офигеть до бесчуствия, ища в какой-нить чисто "числомолотильной" системе с огромными выкладками почему "не сходится"...


Можно проще:
d = 1.0 / 2.0 * r;

Хотя, от этого легче не становится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 05 Июнь, 2007 12:53 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Илья Ермаков писал(а):
Вроде бы эта вещь еще с С++ тянется. Сначала идет целочисленное деление, и только потом - подъем до double и умножение. Обычно пишут 1 / 2.0.

Да, верно. Сейчас посмотрел в 3-е издане Страуструпа (B.6.3) - наявные преобразования арифметических типов относятся не к выражениям вцелом, а - к бинарным операторам.
В принципе - верно. Если смотреть на дерево выражения, то, сначала выполняется оператор / и там никакого приведения типа нет - на выходе целый 0. Ну, а дальше - он "подтягивается" к двойному 0.0...
Так ша... посыпаем пеплом и "Читаем методички!"

ДОБАВЛЕНИЕ...

... И на КП...
Код:
MODULE WladTest1;

IMPORT StdLog;

PROCEDURE Do*;
   VAR  d,r: REAL;
BEGIN
   r := 3;
   d :=    1 DIV 2 * r;
   StdLog.Real(d);
END Do;

BEGIN
END WladTest1.Do


Вывод: 0.0

Но, на КП, люди, почему-то, даже те, кто не работает на паскалеподобных языках, на вопрос сразу ответили 0.0 !!!!
Может знак операции деления не "замыливает" вывод типа результата?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 05 Июнь, 2007 14:17 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Такое ещё в С было. Там на это и наступил :)
Просто в языке смешаны деление и деление с остатком.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 05 Июнь, 2007 14:23 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Кривохатько С.А. писал(а):
Можно проще:
d = 1.0 / 2.0 * r;

Достаточно и точки в одном числе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 04 Июль, 2007 17:59 

Зарегистрирован: Суббота, 12 Май, 2007 08:41
Сообщения: 102
Откуда: Беларусь, Минск
Подогрею немного обстановку =) Вот уже в который раз натыкаюсь на такие вот размышления кулхачкеров:
Цитата:
Паскаль- д*рьмо
C++ - язык универсальный
Делфи - см. Паскаль
Питон - вроде это не язык, а среда разработки, а если и язык, им мало кто пользуется
C#- см. Паскаль, к тому же это просто очередное средство мелкософта срубить денег
Java - лучше всего для web'a и мобильных телефонов
C - это почти ассемблер, много может, но сложно учить
List - язык для научных программ (ещё используется в автокаде), для обычных прикладных программ лучше не использовать
Посмотри тут http://forum.xakep.ru/m_794988/tm.htm

http://forum.xakep.ru/m_803985/tm.htm

Далее там же:
Цитата:
Вообще Делфи разработан(так же как его предшественик паскал) для массового обучения студентов и учиников для тех кто хочет научитса програмировать и програмки на нём делаютса сугомо в стиле калькулятор или приложения типа Офис ;). ИМХО выучив в Делфе использования АПИшных функций можно будит приступать к более хирургическим языкам и средствам разработки. К пример Визуал С++ от тогоже Micro$oft'а.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 04 Июль, 2007 18:20 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
kreol писал(а):
Подогрею немного обстановку =) Вот уже в который раз натыкаюсь на такие вот размышления кулхачкеров ...

А что вы ожидали услышать от кулхачкеров ? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 04 Июль, 2007 21:07 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Знаем, плавали... В форуме на Хакере... Пущай себе буянят... Кому надо, тот своим опытом и своей пятой точкой сам придёт к чему надо.
А вот образование надо перетряхивать и такой фанатичное "паскалеедство" гнать подальше...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 06 Июль, 2007 10:57 

Зарегистрирован: Суббота, 12 Май, 2007 08:41
Сообщения: 102
Откуда: Беларусь, Минск
Илья Ермаков писал(а):
Знаем, плавали... В форуме на Хакере... Пущай себе буянят... Кому надо, тот своим опытом и своей пятой точкой сам придёт к чему надо.

Так в том то и дело, что не приходят. Не так давно спорил с таким хакером с 10-тилетним (!) стажем. Он уже привык к Си, знает его подводные камни, и, как мне кажется, ему нравится чувствовать себя опытнее, в отличие от начинающих, которым этот Си ещё учить и учить. А изучить Паскаль, или тем более Обероны, несложно, поэтому продемонстрировать свой стаж в таких языках затруднительно. Может быть в этом дело?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 06 Июль, 2007 11:25 
Модератор
Аватара пользователя

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

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

Как могу сказать на основе своего 11 летнего опыта, знание подводных камней Си, вовсе не дает знания и навыков эффективного программирования.

Если некто этого не понимает, а лишь кичится своим знанием Си, то и звать его - "кулхацкер" - лабух программирования.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 06 Июль, 2007 14:12 

Зарегистрирован: Суббота, 12 Май, 2007 08:41
Сообщения: 102
Откуда: Беларусь, Минск
Евгений Темиргалеев писал(а):
На самом деле, все равно на чем писать. Настоящий программист должен знать несколько языков и выбирать наиболее эффективный для текущей задачи. У всех языков есть свои плюсы и минусы (правда у кого больше плюсов, а у кого минусов :))...

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

Евгений Темиргалеев писал(а):
Если некто этого не понимает, а лишь кичится своим знанием Си, то и звать его - "кулхацкер" - лабух программирования.

А получается так, что аргументы за Си предлагают достаточно образованные люди, читавшие Вирта, но всё равно отдавшие предпочтения Си-языкам.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 06 Июль, 2007 14:39 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Ни одного весомого аргумента к использованию С вместо Оберона (кроме конкретных ситуаций с уже существующими наработками и т.п.) я не вижу. По факту, Оберон - лучший язык системного программирования на сегодня. Неоднократно отмечалось его идеологическое сходство с Си - не С++ (компактный легко переносимый язык для написания ОС и т.п.) Си - "переносимый ассемблер" 1970-го. Оберон - "переносимый ассемблер" 1989-го. "Ассемблер" - в смысле максимально компактная абстракция императивного компьютера. Не PDP-7, как создавался С, а абстрактного компьютера.

К слову. Вот сейчас пришлось писать "байтомолотильный" проект (каковыми, к примеру, являются криптографические). На КП всё написалось отлично (кстати, очень помогает в таких ситуациях SYSTEM - [union]). Боялся, что будет медленно работать - летает! Гигабайты файлов перемолачиваются за десяток минут. Однако инструмент не подводит - даже в экстремальном режиме внесения изменений есть уверенность, что ненароком не внесли ляп, который потом час ловить... И об отладке можно забыть.
Не вижу ни одного довода в пользу Си для системного программирования. Си для системщиков на порядок лучше, чем С++ (как однозначно утверждают Торвальдс, Танненбаум и другие). Оберон, как показывает практика, гораздо лучше Си в этом отношении, являясь в чём-то его "зеркальным собратом".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 06 Июль, 2007 14:44 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
А неприятие грамотными программистами Паскаля даже в условиях полной осведомленности - это неприятие идеологическое. Неприятие тотальной самодисциплины и самоограничения свободы. Иногда - неприятие идеи минимализма и концептуальной экономии. Ах как не хочется признавать, что "что-то не так в нашем королевстве". Проще закрыть глаза и десятый раз за день открыть дежучер. Зарплата-то тикает. Менеджеры исчиляют нормативную производительность и требования, исходя из общепринятого стиля разработки. Накладные расходы в десятки процентов на ловлю блох уже включены в бюджет...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 06 Июль, 2007 14:58 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1488
Откуда: Украина, Киев
Торвальдс сказал:
"If I wanted a language that didn't allow me to do anything wrong, I'd be using Pascal."
http://kerneltrap.org/node/7434
Он видимо про Оберон не слышал?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 06 Июль, 2007 15:00 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Да, но общий контекст высказывания Торвальдса был таков: "Если бы я хотел, чтобы мне не позволили... Но я считаю, что язык должен оставить мне право делать глупости, если я того хочу, ибо это моя свобода".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 06 Июль, 2007 15:01 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Он просто хочет язык, который allow.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 06 Июль, 2007 23:15 
Аватара пользователя

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


Конечно.
Вес этого фактора тем больше, чем меньше у человека настоящих причин испытывать чувство законной гордости.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 09 Июль, 2007 00:02 

Зарегистрирован: Среда, 28 Февраль, 2007 00:08
Сообщения: 142
Откуда: Нижний Новгород
kreol писал(а):
А изучить Паскаль, или тем более Обероны, несложно, поэтому продемонстрировать свой стаж в таких языках затруднительно. Может быть в этом дело?

Может им нелюбовь к Паскалю по системе Павлова привита - условный рефлекс, без участия мозга? :wink:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 09 Июль, 2007 01:18 

Зарегистрирован: Суббота, 12 Май, 2007 08:41
Сообщения: 102
Откуда: Беларусь, Минск
batyrmastyr писал(а):
kreol писал(а):
А изучить Паскаль, или тем более Обероны, несложно, поэтому продемонстрировать свой стаж в таких языках затруднительно. Может быть в этом дело?

Может им нелюбовь к Паскалю по системе Павлова привита - условный рефлекс, без участия мозга? :wink:

Хех, хорошо сказано :D Надо как-нибудь применить в споре с Сишниками.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 09 Июль, 2007 10:03 

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


Не соглашусь. У меня опыт разработки на Clarion c 1996 года, так я всё-таки решил порвать с испытанным инструментом и перейти на платформу BlackBox. Почему? Потому что в кларе масса подводных камней, сделать ошибку там - плёвое дело (кстати, обычный стиль на кларе - делаешь неправильно сразу, потом выясняешь, где криво). Контролировать время на разработку очень трудно, с проблемой можешь провозиться и час, и неделю, вне зависимости от сложности. Инструмент могучий, мощный, напоминает шкаф с мильёном вложенных ящичков - поди найди, где ошибка.
Помимо языка, надо знать тонкости среды, тонкости реализации шаблонов (тут глючит, там не глючит), сами шаблоны, прочувствовать
библиотеку классов, плюс ограничения инструмента (к примеру, объявить внутреннюю процедуру с передачей параметро - нетривиальная штука).
А вот в BlackBox, насколько я успел с ним познакомиться - все проблемы решаются "гомогенно", то есть на всех уровнях одинаково удобно. Конечно, нет генератора приложений, как в Clarion, нет словаря с метаданными и много чего нет. Но это, хы, не главное. Главное - в Ящике я чётко контролирую свои усилия, среда почти полностью прозрачна для меня и я гляжу сразу на задачу - а не на шкаф с ящиками.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 09 Июль, 2007 11:52 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Вот-вот. Полный контроль над ситуацией - и над тем, что сделано, и над тем, что крутится "под капотом" среды.
Детерминированность времени решения проблем я тоже уже давно заметил. С ББ работать даже в авральном режиме, когда "надо уже вчера" - очень спокойно. Потому что уверенность в том, что не вылезет неожиданная проблема, что сама среда проработает безотказно, а свой код не будет иметь глупых мелких опечаток, которые можно искать часами...
Это как хороший истребитель, который даже на самых крутых виражах полностью подчинён управлению, слушается малейшего движения руля. Калашников, Т-34, и Су-27 в одном лице :-)


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

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


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

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


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

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