Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.70/254: Рейтинг темы: голосов - 254, средняя оценка - 4.70
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
11.02.2015, 11:32
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
writefln - это ж надо было такое придумать.
...
0
Заблокирован
11.02.2015, 11:50
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Написать на F# программу, в которой есть 5 вложенных циклов (названия итераторов должны совпадать i, j, k, l, m):
Dennis Ritchie, решение на D сразу показывайте...

Добавлено через 30 секунд
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
но опять же в C# тоже нет указателей.
Dennis Ritchie, как это нет?
https://msdn.microsoft.com/ru-... 1s2k6.aspx
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
11.02.2015, 12:11  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Dennis Ritchie, решение на D сразу показывайте...
Когда pycture сдастся или решит задачу, тогда покажу.

Добавлено через 2 минуты
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Dennis Ritchie, как это нет?
Не знал. А это давно добавили или недавно?

Добавлено через 5 минут
Цитата Сообщение от korvin_ Посмотреть сообщение
...
write - написать (вывести в поток ввода), f - формат (форматированный вывод), ln - строка (перевод строки на новую строку). Логично абсолютно всё. Есть абсолютно логичный аналог printfln() в других языках. В паскале есть write и writeln.
display - дисплей (вывести на дисплей), ln - строка (перевод строки на новую строку). Слово display не подходит.
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
11.02.2015, 12:13
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
попытается реализовать умный указатель на F#
Smart pointer в языке с GC столь же полезен как и программа под Linux чистящая реестр.
1
Заблокирован
11.02.2015, 12:16
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Не знал. А это давно добавили или недавно?
Dennis Ritchie, давно было.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Когда pycture сдастся или решит задачу, тогда покажу.
Я думал мы сравниваем выразительность языков, их направленность и т.п, а не устраиваем школьную олимпиаду с неясными правилами.
В языке D как с GUI дела обстоят?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
11.02.2015, 12:28  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
В языке D как с GUI дела обстоят?
Ну, во-первых, его как-то можно с Qt связать. Во-вторых, вот список GUI-библиотек:
Libraries and Frameworks
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Dennis Ritchie, давно было.
Где-то я, значит, очень старую информацию про него прочитал. В Викиучебнике, например, я про D читал, что там Union-полей нет, а они уже оказывается там есть.
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Я думал мы сравниваем выразительность языков, их направленность и т.п, а не устраиваем школьную олимпиаду с неясными правилами.
Не я её начинал.

Добавлено через 3 минуты
Цитата Сообщение от korvin_ Посмотреть сообщение
...
Да, и к тому же в D есть выбор между scanf() и readf(), printf() и write()/writeln()/writef()/writefln().
0
Заблокирован
11.02.2015, 12:32
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Ну, во-первых, его как-то можно с Qt связать. Во-вторых, вот список GUI-библиотек:
Dennis Ritchie, но вы сумеете ими воспользоваться при необходимости?

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Не я её начинал.
но вы тоже решили принять участие. Перейдем к следующей пока ожидаем решение?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
11.02.2015, 12:39  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Dennis Ritchie, но вы сумеете ими воспользоваться при необходимости?
При необходимости смогу. А так я не занимаюсь созданием графических интерфейсов. Последний раз на VB занимался.
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
но вы тоже решили принять участие. Перейдем к следующей пока ожидаем решение?
Я предполагаю, что согласно нашим вымышленным условиям , пока соперник не закончит решение задачи или не получит фейл, к решению новой задачи преступать нельзя.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
11.02.2015, 12:43
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
write - написать (вывести в поток ввода), f - формат (форматированный вывод), ln - строка (перевод строки на новую строку). Логично абсолютно всё. Есть абсолютно логичный аналог printfln() в других языках. В паскале есть write и writeln.
display - дисплей (вывести на дисплей), ln - строка (перевод строки на новую строку). Слово display не подходит.
write — написать на бумаге (руками) *— не подходит (BTW, в лиспах есть и write, если тебе очень хочется);
print — напечатать на бумаге (с помощью печатной машинки/принтера) — не подходит (BTW, print в лиспах тоже есть);
display — вывести на дисплей — самое то!

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Да, и к тому же в D есть выбор между scanf() и readf(), printf() и write()/writeln()/writef()/writefln().
Вот объясни разницу между writef и printf.

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

Lisp
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
#lang racket
 
(define-syntax-rule (for-cc k iter body ...)
  (call/cc (lambda (k) (for iter body ...))))
 
(define (foo label)
  (display "ololo: ")
  (set-box! label (read))
  (void))
 
(define (main)
  (define label (box #f))
  (for-cc break-loop-1 ((a (in-range 5)))
    (displayln "loop 1")
    (for-cc break-loop-2 ((b (in-range 5)))
      (displayln "loop 2")
      (for-cc break-loop-3 ((c (in-range 5)))
        (displayln "loop 3")
        (for-cc break-loop-4 ((d (in-range 5)))
          (displayln "loop 4")
          (for-cc break-loop-5 ((e (in-range 5)))
            (displayln "loop 5")
            (foo label)
            (printf "new label = ~a\n" (unbox label))
            (match (unbox label)
              (5 (void))
              (4 (break-loop-5))
              (3 (break-loop-4))
              (2 (break-loop-3))
              (1 (break-loop-2))
              (_ (break-loop-1))))))))
  (displayln "The end."))
 
(main)
Bash
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
loop 1
loop 2
loop 3
loop 4
loop 5
ololo: 3
new label = 3
loop 3
loop 4
loop 5
ololo: 2
new label = 2
loop 2
loop 3
loop 4
loop 5
ololo: 5
new label = 5
loop 5
ololo: 1
new label = 1
loop 1
loop 2
loop 3
loop 4
loop 5
ololo: 0
new label = 0
The end.
>
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
11.02.2015, 12:53  [ТС]
Цитата Сообщение от korvin_ Посмотреть сообщение
display — вывести на дисплей — самое то!
В олимпиадных задачах вывод идёт не на дисплей. Не подходит.
Цитата Сообщение от korvin_ Посмотреть сообщение
Кстати, вот тебе ещё пример с вложенными циклами, как ты хотел.
Отлично. pycture осталось перекатать это решение на F#.
Цитата Сообщение от korvin_ Посмотреть сообщение
Вот объясни разницу между writef и printf.
writef() использует спецификатор %s и для int, и для real, scanf() использует разные спецификаторы, и real не вывести через printf(). writef() более защищённая функция, printf() - штука, прямиком взятая из чистого C.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
11.02.2015, 12:58
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
pycture осталось перекатать это решение на F#.
Незачем, функциональное решение (без циклов) уже описано и оно лучше.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
11.02.2015, 13:05  [ТС]
Цитата Сообщение от korvin_ Посмотреть сообщение
Незачем, функциональное решение (без циклов) уже описано и оно лучше.
Оно не удовлетворяет условию задачи, и оно не на F#.
0
Модератор
 Аватар для Curry
5164 / 3523 / 536
Регистрация: 01.06.2013
Сообщений: 7,672
Записей в блоге: 9
11.02.2015, 13:28
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Я думал мы сравниваем выразительность языков
Мне кажется, выразительность языка складывается и из его библиотек, а не только язык (+ встроенные функции).
Это же рабочий инструмент, который мы выбираем для практического применения. Возможности библиотек, в том числе, показывают, и возможности языка. Так что ограничения, всякие искусственные на неиспользование библиотек и операторов только мешают сравнению.
0
Заблокирован
11.02.2015, 13:37
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Так что ограничения, всякие искусственные на неиспользование библиотек и операторов только мешают сравнению.
KolodeznyDiver, совершенно верно. Я тоже самое говорил :
https://www.cyberforum.ru/post7209518.html

Добавлено через 42 секунды
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Я предполагаю, что согласно нашим вымышленным условиям , пока соперник не закончит решение задачи или не получит фейл, к решению новой задачи преступать нельзя.
тогда позовете, когда надоест ждать или решение будет предоставлено
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
11.02.2015, 13:47  [ТС]
Я давно хотел обсудить тему препроцессора в C/C++, и его отсутствие в D.
В этой теме описано, как заменить препроцессорные макросы из C в D:
The C Preprocessor vs D
Хочу услышать ваше мнение насчёт макроподстановок. Насколько плохо, что макроподстановки убрали из D? Или, наоборот, это хорошо?
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
11.02.2015, 13:51
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Оно не удовлетворяет условию задачи
Т.е. «D-way» — это решение задачи более худшим способом? Ок.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
и оно не на F#.
На F# оно переписывается практически 1:1. Как и на любой другой язык. Может позже перепишу.
0
11.02.2015, 14:01  [ТС]

Не по теме:

Цитата Сообщение от korvin_ Посмотреть сообщение
Т.е. «D-way» — это решение задачи более худшим способом? Ок.
Цитата Сообщение от korvin_ Посмотреть сообщение
На F# оно переписывается практически 1:1. Как и на любой другой язык. Может позже перепишу.
Мне просто задрало уже отвечать на эту ерунду и чепуху. Не хочу больше обсуждать чепуху. И не хочу видеть ответ на это сообщение. Я не хочу видеть решение ни на F#, ни на C#, ни на Lisp и т. д. В этой теме я хотел обсудить улучшения или ухудшения в языке D по сравнению с C++. Надеюсь, я понятно выразился.

0
11.02.2015, 14:05

Не по теме:

Dlang проиграл функциональным языкам :D

0
Заблокирован
11.02.2015, 14:06
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Мне просто задрало уже отвечать на эту ерунду и чепуху. Не хочу больше обсуждать чепуху. И не хочу видеть ответ на это сообщение. Я не хочу видеть решение ни на F#, ни на C#, ни на Lisp и т. д.
Dennis Ritchie, все, засчитываем поражение D?

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
В этой теме я хотел обсудить улучшения или ухудшения в языке D по сравнению с C++.
Dennis Ritchie, т.е. вы согласны, с тем, что D удобнее, чем С++, но бессполезен относительно других ЯП, как например, C#, F#, Lisp, Java?
0
Модератор
 Аватар для Curry
5164 / 3523 / 536
Регистрация: 01.06.2013
Сообщений: 7,672
Записей в блоге: 9
11.02.2015, 14:13
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Я давно хотел обсудить тему препроцессора в C/C++, и его отсутствие в D.
Я не увидел, можно ли задать произвольное условие условной компиляции в командной строке, типа -DUSE_MYLIB12 и в коде как то
C++
1
2
3
  version(USE_MYLIB12){
       .....
  }
И мне не понравилось Any DeclarationBlock or Statement that is not compiled in still must be syntactically correct. Может так быть, что с использованием опциональной библиотеки код корректен, а без неё нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Закрытая тема Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Video: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru