|
|
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Пример из жизни. Спасибо, это уже интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 14:29 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
D129 Gluk (Kazan) И в мыслях не держал Зачем мне Вас обижать ??? Просто напросто ВАШЕ ожидание гарантии отсутствия побочных эффектов из-за того, что Вы куда-то передали указатель на функцию или функтор, с позиций ВКЛЮЧЕННОГО здравого смысла выглядит странно. А, ну так я не про это говорил... это мне как раз ясно. Неясно выразился видимо. Выходит так, что побочные эффекты мне как раз нужны и полезны. По-опыту: в чужом коде несколько раз вытаскивал такие вложенные функции в локальную переменную, чтобы можно было не влезая внутрь (а иногда это невозможно - дллка) увидеть, что именно она вернула (или надо было в лог записать это промежуточное состояние). Дык они и в лиспе бывают полезны ;) Речь о том, что там где они ВРЕДНЫ (при моделировании например), можно с успехом применять ФП. А что касается темплетов - простой пример: метод который работает с int-ом и long-ом скажем (утрирую). Зачем писать дважды, если можно написать шаблонный метод ? Единственная беда шаблонов (кроме того что с их помощью тоже можно писать непонятно) - возможные несовместимости компиляторов, но это с каждым днем уходит в прошлое. Шаблоны просто напросто еще один препроцессор, менее опасный чем #define. Почему-бы ими не пользоваться ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 14:35 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
2 D129 Кстати, если не тайна, как Вам удается делать реал-тайм системы на C# ? В частности приостановки потоков при сборке мусора интересны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 15:13 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Все зависит от понятия "реал-тайм". Задержка всегда есть и везде, на винде+дотнет добиться задержки <20мс вполне реально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 16:50 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)2 D129 Кстати, если не тайна, как Вам удается делать реал-тайм системы на C# ? В частности приостановки потоков при сборке мусора интересны То есть, мы стоим, а что-то происходит? В общих чертах : Задержка в несколько микросекунд (или даже в милисекунд) - некритична в наших системах. Узнаем об изменении чуть позже. Следующая команда не будет послана, если от контроллера не получен ответ о приеме предидущей. То есть, выкручиваемся переключением состояний (States). Именно выкручиваемся, но работает... Я выходил к руководству с несколькими предложениями, но у них железный довод - зачем переписывать - работает же. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 18:38 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Глюк (Казань) просьба на птшные провокации не вестись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 22:59 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
про Gluk (Kazan) tchingiz вот именно => функции ВПОЛНЕ могут оперировать глобальным состоянием => не всякое применение (и даже определение) функций есть ФП я говорил, что оператор селект удоволетворяет определению функции в математическом смысле и не более того. к размышлениям о том, что не всякое применение функций есть ФП безразличен. по видимому, оно справедливо Разьве я где-то говорил, что select не функция ??? К чему было это: или может Глюку удавалось применять два раза один оператор селекта к одному и тому же отношению и получать два разных отношения на выходе?[/quot] к этому /topic/541734&pg=4#5492939 /topic/541734&pg=4#5495985 селект удовлетворяет определение функции, и, следовательно, ею является. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 23:09 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
_мод tchingiz select f from t where f <= 2 и select f from t where f >= 2 это две разные фукции x=select(f,t,f <= 2) y=select(f,t,f >= 2) функция одна и та же, а ее значения разные при разных аргументах конечно. но если последнее сравнение с двойкой считать константным выражением, то его можно убрать из входных параметров и внести вовнутрь, то будут разные функции. языком селектом можно создавать разные фукнции более простой аналог. пусть g: Int >< Int -> Int g(x, 2) это одна функция, скажем, g2: Int -> Int g(x, 3) это другая, обозначим g3, g3: Int -> Int. g3 <> g2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 23:15 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
tchingiz убрать из входных параметров и внести вовнутрь, то будут разные функции. Это да, но SQL не позволяет этого делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 14:39 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
tchingizГлюк (Казань) просьба на птшные провокации не вестись на мою, что ли? не пести, кросавчег; я никого не провоцировал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 14:46 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) D129 Gluk (Kazan) И в мыслях не держал Зачем мне Вас обижать ??? Просто напросто ВАШЕ ожидание гарантии отсутствия побочных эффектов из-за того, что Вы куда-то передали указатель на функцию или функтор, с позиций ВКЛЮЧЕННОГО здравого смысла выглядит странно. А, ну так я не про это говорил... это мне как раз ясно. Неясно выразился видимо. Выходит так, что побочные эффекты мне как раз нужны и полезны. По-опыту: в чужом коде несколько раз вытаскивал такие вложенные функции в локальную переменную, чтобы можно было не влезая внутрь (а иногда это невозможно - дллка) увидеть, что именно она вернула (или надо было в лог записать это промежуточное состояние). Дык они и в лиспе бывают полезны ;) Речь о том, что там где они ВРЕДНЫ (при моделировании например), можно с успехом применять ФП. А что касается темплетов - простой пример: метод который работает с int-ом и long-ом скажем (утрирую). Зачем писать дважды, если можно написать шаблонный метод ? Единственная беда шаблонов (кроме того что с их помощью тоже можно писать непонятно) - возможные несовместимости компиляторов, но это с каждым днем уходит в прошлое. Шаблоны просто напросто еще один препроцессор, менее опасный чем #define. Почему-бы ими не пользоваться ??? все шаблоны написаны алексом степановым, так шо -- отдыхай. показательно упоминание int и long (догадался добавить "утрирую"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 14:52 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Random_GoodmanВсе зависит от понятия "реал-тайм". Задержка всегда есть и везде, на винде+дотнет добиться задержки <20мс вполне реально реал-тайм это не столько малое время отклика, сколько гарантированное . А вот его то добиться как-раз нельзя, поскольку сборщик мусора врубается непредсказуемо и работает сколько ему заблагорассудится. При этом гадит и в отношении нативных потоков :( Это тоже из жизни ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 14:59 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
D129Я выходил к руководству с несколькими предложениями А краткая суть предложений не коммерческая тайна ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 15:00 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
RatTail все шаблоны написаны алексом степановым, так шо -- отдыхай. показательно упоминание int и long (догадался добавить "утрирую"). Степанов конечно хороший человек, но написано им далеко не все, а то что написано можно использовать осторожно и ограниченно (особенно радует постоянное копирование объектов). В общем отдыхать не приходится и long-ами int-ами дело отнюдь не ограничивается, шаблоны (именно самописные, а не в составе STL или Boost-а) мы применяем в работе широко (и далеко не всегда для контейнеров). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 15:05 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
простая передача параметром в рекурсивную функцию вектора валит С++ на ура; Паскалю это пох, он справляется, в 10 раз быстрее. Я ЧЕСТНО не понимаю ПОЧЕМУ оно ТАК. Про С# вообще лучше молчать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 15:10 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
RatTailпростая передача параметром в рекурсивную функцию вектора валит С++ на ура; Паскалю это пох, он справляется, в 10 раз быстрее. Я ЧЕСТНО не понимаю ПОЧЕМУ оно ТАК. Про С# вообще лучше молчать. Открой для себя ссылки P.S. Доктор, когда я так делаю - мне больно :( ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 15:20 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) RatTailпростая передача параметром в рекурсивную функцию вектора валит С++ на ура; Паскалю это пох, он справляется, в 10 раз быстрее. Я ЧЕСТНО не понимаю ПОЧЕМУ оно ТАК. Про С# вообще лучше молчать. Открой для себя ссылки P.S. Доктор, когда я так делаю - мне больно :( ... ссылки? в моей рек. функции 2 вызова ...... в этом вся бяка! Глюк, я понятно не большой знаток С++ и даже Паскаля и даже тормознутого Питона. Чисто визуально мне намного больше нравится С++. Но меня просто взбесило: http://www.spoj.pl/status/VONNY,zzz/ И я понял: нас дурят. Все кому не лень (и ты в их числе). Я переписал банальный паскалевский код на С++. И получил отсос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 15:27 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Я уже говорил выше, что STL можно использовать лишь ограниченно и осторожно. Сама по себе рекурсивность в сочетании с вектором к краху не приводит, поэтому я предположил, что имело место передача вектора по значению (чего разумеется делать не стоит). Точнее сказать сложно, не видя кода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 15:39 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Вот это получает тайм-лимит (буква за буквой (штоб не думать; мне влом конкретно эту задачу писать по-другому) переписано с паскаля): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 15:45 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Я уже говорил выше, что STL можно использовать лишь ограниченно и осторожно. я не знаю как без STL это переписать. Я понимаю, паскаль -- язык убогий и для убогих и т.д. Но вот справляется.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 15:48 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
tchingiz/topic/541734&pg=4#5492939 /topic/541734&pg=4#5495985 Оператор select-это вызов функции. Он ничего не создает, а возвращает результаты выборки. Я могу рассматривать create view как создание функции, но с определенными натяжками. Что касается lambda, то с еще большими натяжками можно говорить об inline view ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 16:10 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
RatTailВот это получает тайм-лимит (буква за буквой (штоб не думать; мне влом конкретно эту задачу писать по-другому) переписано с паскаля): Код: plaintext 1. 2. Диагноз товарища Саахова подтвержден :) в код не вникал, но вместо vector<...> a и т.п. в формальных параметрах vector<...> & a Та же фигня с vector<vector<> > оччень черевато. Поскольку ссылки тут нельзя, обычно используются указатели или умные указатели (только не auto_ptr). А вообще, наверное стоит посмотреть Blitz Это опять-же к вопросу о необходимости шаблонов Паскаль просто по другому передает параметры (и много скрывает от разработчика) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 16:19 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Blitz Блин. Поспешил - людей насмешил (не посмтрел ссылку, инет тормозит) Имелось в виду вот это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 16:25 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) RatTailВот это получает тайм-лимит (буква за буквой (штоб не думать; мне влом конкретно эту задачу писать по-другому) переписано с паскаля): Код: plaintext 1. 2. Диагноз товарища Саахова подтвержден :) в код не вникал, но вместо vector<...> a и т.п. в формальных параметрах vector<...> & a Та же фигня с vector<vector<> > оччень черевато. Поскольку ссылки тут нельзя, обычно используются указатели или умные указатели (только не auto_ptr). А вообще, наверное стоит посмотреть Blitz Это опять-же к вопросу о необходимости шаблонов Паскаль просто по другому передает параметры (и много скрывает от разработчика) паскаль может передавать массивы по значению; как он это делает нам пох. 2. Мой код абсолютно прозрачен и интуитивен. И абсолютно работоспособный, тока долго работает. 3. Насчет твоих предложений : это как мертвому припарки. Если не ломит, пропость сюда мой код с твоими техническими поправками и мы увидим еще один отсос. 4. Алгоритмы меня ес-но не интересуют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 16:28 |
|
||
|
Программирование - всё больше математикой становится
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Gluk (Kazan) Blitz Блин. Поспешил - людей насмешил (не посмтрел ссылку, инет тормозит) Имелось в виду вот это я чесно куею с дорогих товарищей; не адекватность просто поражает; мне типа щас написать полякам: а вы blitz видели? давайте быстренько ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 16:32 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35249497&tid=1345371]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
194ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
89ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 579ms |

| 0 / 0 |
