OberonCore
https://forum.oberoncore.ru/

История Паскаль-семейства в кратком изложении
https://forum.oberoncore.ru/viewtopic.php?f=6&t=467
Страница 2 из 4

Автор:  Кривохатько С.А. [ Вторник, 05 Июнь, 2007 12:43 ]
Заголовок сообщения: 

Wlad писал(а):
Просто - волосы - дыбом!
Для "спасения положения", почему-то требуется:
d = (double)1 / 2 * r;
или
d = 1 / (double)2 * r;

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


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

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

Автор:  Wlad [ Вторник, 05 Июнь, 2007 12:53 ]
Заголовок сообщения: 

Илья Ермаков писал(а):
Вроде бы эта вещь еще с С++ тянется. Сначала идет целочисленное деление, и только потом - подъем до 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 !!!!
Может знак операции деления не "замыливает" вывод типа результата?

Автор:  PGR [ Вторник, 05 Июнь, 2007 14:17 ]
Заголовок сообщения: 

Такое ещё в С было. Там на это и наступил :)
Просто в языке смешаны деление и деление с остатком.

Автор:  PGR [ Вторник, 05 Июнь, 2007 14:23 ]
Заголовок сообщения: 

Кривохатько С.А. писал(а):
Можно проще:
d = 1.0 / 2.0 * r;

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

Автор:  kreol [ Среда, 04 Июль, 2007 17:59 ]
Заголовок сообщения: 

Подогрею немного обстановку =) Вот уже в который раз натыкаюсь на такие вот размышления кулхачкеров:
Цитата:
Паскаль- д*рьмо
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'а.

Автор:  PGR [ Среда, 04 Июль, 2007 18:20 ]
Заголовок сообщения: 

kreol писал(а):
Подогрею немного обстановку =) Вот уже в который раз натыкаюсь на такие вот размышления кулхачкеров ...

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

Автор:  Илья Ермаков [ Среда, 04 Июль, 2007 21:07 ]
Заголовок сообщения: 

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

Автор:  kreol [ Пятница, 06 Июль, 2007 10:57 ]
Заголовок сообщения: 

Илья Ермаков писал(а):
Знаем, плавали... В форуме на Хакере... Пущай себе буянят... Кому надо, тот своим опытом и своей пятой точкой сам придёт к чему надо.

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

Автор:  Евгений Темиргалеев [ Пятница, 06 Июль, 2007 11:25 ]
Заголовок сообщения: 

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

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

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

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

Автор:  kreol [ Пятница, 06 Июль, 2007 14:12 ]
Заголовок сообщения: 

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

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

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

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

Автор:  Илья Ермаков [ Пятница, 06 Июль, 2007 14:39 ]
Заголовок сообщения: 

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

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

Автор:  Илья Ермаков [ Пятница, 06 Июль, 2007 14:44 ]
Заголовок сообщения: 

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

Автор:  Ярослав Романченко [ Пятница, 06 Июль, 2007 14:58 ]
Заголовок сообщения: 

Торвальдс сказал:
"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 ]
Заголовок сообщения: 

Да, но общий контекст высказывания Торвальдса был таков: "Если бы я хотел, чтобы мне не позволили... Но я считаю, что язык должен оставить мне право делать глупости, если я того хочу, ибо это моя свобода".

Автор:  Trurl [ Пятница, 06 Июль, 2007 15:01 ]
Заголовок сообщения: 

Он просто хочет язык, который allow.

Автор:  Info21 [ Пятница, 06 Июль, 2007 23:15 ]
Заголовок сообщения: 

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


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

Автор:  batyrmastyr [ Понедельник, 09 Июль, 2007 00:02 ]
Заголовок сообщения: 

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

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

Автор:  kreol [ Понедельник, 09 Июль, 2007 01:18 ]
Заголовок сообщения: 

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

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

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

Автор:  Иван Кузьмицкий [ Понедельник, 09 Июль, 2007 10:03 ]
Заголовок сообщения: 

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


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

Автор:  Илья Ермаков [ Понедельник, 09 Июль, 2007 11:52 ]
Заголовок сообщения: 

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

Страница 2 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/