Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.70/254: Рейтинг темы: голосов - 254, средняя оценка - 4.70
Модератор
 Аватар для Curry
5164 / 3523 / 536
Регистрация: 01.06.2013
Сообщений: 7,672
Записей в блоге: 9
09.02.2015, 22:25
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от korvin_ Посмотреть сообщение
там, где не требуется выжать максимум из одной железки (а важнее, например, масштабируемость на кучу железок)
А как насчёт go vs Erlang ?
Цитата Сообщение от korvin_ Посмотреть сообщение
если бесить бюрократизм и некоторая тяжеловесность Java, Go может быть весьма неплохой альтернативой
Только сразу предупреждайте фаната D что он без настоящего ООП (и указывайте на Вашу подпись).
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
09.02.2015, 22:30  [ТС]
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Только сразу предупреждайте фаната D что он без настоящего ООП (и указывайте на Вашу подпись).
А ну тогда Go тоже помрёт очень быстро.
0
Модератор
 Аватар для Curry
5164 / 3523 / 536
Регистрация: 01.06.2013
Сообщений: 7,672
Записей в блоге: 9
09.02.2015, 22:36
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А ну тогда Go тоже помрёт очень быстро
Вы прямо пророк армагеддона!
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
09.02.2015, 22:46
Цитата Сообщение от korvin_ Посмотреть сообщение
В отличие от D, Go не претендует на полное замещение C++ или любого другого языка
Может и стоит ознакомится с данным языком.

Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
А как насчёт go vs Erlang ?
А что они пересекаются по целевому назначению?
Я слышал в go встроенная поддержка многопоточности,это так?

Добавлено через 55 секунд
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А ну тогда Go тоже помрёт очень быстро.
Между прочим и здесь вы ошибаетесь.В отличии от того-же Erlang интерес к этому языку растет.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
09.02.2015, 22:48  [ТС]
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Вы прямо пророк армагеддона!
После 1 марта все испугаются мощи и силы Dlang'a:
Выход компилятора DMD 2.067 запланирован на 1 марта 2015.
Добавлено через 1 минуту
Цитата Сообщение от S_el Посмотреть сообщение
Я слышал в go встроенная поддержка многопоточности,это так?
D и Rust многопоточны.
Цитата Сообщение от S_el Посмотреть сообщение
Между прочим и здесь вы ошибаетесь.В отличии от того-же Erlang интерес к этому языку растет.
Google его насильно проталкивает.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
09.02.2015, 22:55
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Чтобы показать всю его тухлость
Для этого надо написать что-то одно на разных языках, а не "учить".

Добавлено через 6 минут
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Google его насильно проталкивает
Новость какая, (вспомнил pl/1 и понял что мир не меняется, эх ...).
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
09.02.2015, 22:57  [ТС]
Цитата Сообщение от castorsky Посмотреть сообщение
Для этого надо написать что-то одно на разных языках, а не "учить".
Как я напишу что-то одно, пока не изучу C#?
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
09.02.2015, 22:58
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
А как насчёт go vs Erlang ?
Статическая типизация vs динамическая.
Более привычный большинству Си-подобный синтаксис (хотя и заметно отличающийся) vs Пролог-подобный.
Более привычная большинству императивная вычислительная модель vs функциональная.

На этом, вроде различия заканчиваются. Единственно, в Erlang/OTP ещё и распределённость «искаробки».

Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Только сразу предупреждайте фаната D что он без настоящего ООП (и указывайте на Вашу подпись).
Ещё укажу ему, что D тоже без настоящего ООП и отправлю читать «Blue Book». =))

Цитата Сообщение от S_el Посмотреть сообщение
А что они пересекаются по целевому назначению?
Не совсем, но оба реализуют CSP-style concurrency.

Цитата Сообщение от S_el Посмотреть сообщение
Я слышал в go встроенная поддержка многопоточности, это так?
Concurrency, если точнее, это не совсем многопоточность, но с многопоточностью там тоже всё вполне ОК.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
D и Rust многопоточны.
Правда пока только в песочнице Александреску и Мозиллы соответственно.

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Google его насильно проталкивает.
Кому и каким образом? К тебе домой приходили свидетели иеGoвы?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
09.02.2015, 23:24  [ТС]
pycture, специально для вас Ali Çehreli (автор одной из книг по D) написал такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
import std.math;
import std.stdio;
import std.range;
 
void main()
{
    const beg = 0.0L;
    const interval = PI_2 / 9;
    const end = PI_2 + interval;
    
    auto sins = iota(beg, end, interval).map!sin;
    writefln("%(%.15g\n%)", sins);
}
А в компиляторе, который выйдет 1 марта, можно будет писать так:
C++
1
2
3
4
5
6
7
8
import std.math;
import std.stdio;
import std.range;
 
void main()
{
    iota(0, PI/2, PI/2/9).map!sin.each!writeln;
}
Output0
0.17364817766693
0.342020143325669
0.5
0.642787609686539
0.766044443118978
0.866025403784439
0.939692620785908
0.984807753012208
1

P.S. Я же говорил, что D опитоненный.

Добавлено через 3 минуты
Цитата Сообщение от korvin_ Посмотреть сообщение
Правда пока только в песочнице Александреску и Мозиллы соответственно.
Эти песочницы имеют большой потенциал.
Цитата Сообщение от korvin_ Посмотреть сообщение
Кому и каким образом? К тебе домой приходили свидетели иеGoвы?
Да, нет же. Вот вчера ТВ включил, а там сотрудник Google на меня выпучил глаза и говорит: "Прогай на гу! Прогай на гу! Если не будешь програть на гу, то..." Я испугался и выключил ТВ, пошёл за ПК и начал спокойно прогать на D.
Цитата Сообщение от korvin_ Посмотреть сообщение
Ещё укажу ему, что D тоже без настоящего ООП и отправлю читать «Blue Book». =))
Это что за книга такая?

Добавлено через 7 минут
В данный момент можно ещё так писать:
C++
1
2
3
4
5
6
7
8
import std.math;
import std.stdio;
import std.range;
 
void main()
{
    "%(%.15g\n%)".writefln(iota(0, PI/2, PI/2/9).map!sin);
}
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
09.02.2015, 23:25
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Как я напишу что-то одно, пока не изучу C#?
Вы где-то на этой или прошлой странице писали что Вы программист. Языки как бы отдельно "учить" не надо. Я намекаю что знать надо ооп, а язык использовать вместе со спеками под рукой. Ну или Вы хотите исследовать конкретный язык - напишите компилятор для него.
Цитата Сообщение от S_el Посмотреть сообщение
Я слышал в go встроенная поддержка многопоточности,это так?
это не классическая многопоточность, а совсем другая модель.
Цитата Сообщение от korvin_ Посмотреть сообщение
читать «Blue Book»
?
0
Заблокирован
09.02.2015, 23:26
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
А в компиляторе, который выйдет 1 марта, можно будет писать так:
Dennis Ritchie, так можно написать в любом функциональном языке. На F# можно вместо генераторов использовать что-то другое:

намного выразительнее и понятнее, чем в D:
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
09.02.2015, 23:28
Цитата Сообщение от korvin_ Посмотреть сообщение
Concurrency, если точнее, это не совсем многопоточность, но с многопоточностью там тоже всё вполне ОК.
Я знаю,что этот термин переводят и как параллельность так и распределенность.Но мне как C++-нику многопоточность понятнее. Многопоточность это параллельность?
Вроде нашел объяснение,почему чем concurrency в Go отличается от parallelism:
http://blog.golang.org/concurr... arallelism

P.S. Надо будет присмотреться к языку.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
09.02.2015, 23:38  [ТС]
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Dennis Ritchie, так можно написать в любом функциональном языке.
В том-то и дело, что D не функциональный язык, но подход к функциональному программированию в нём есть.
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
намного выразительнее и понятнее, чем в D:
Ключевое слово "понятнее". В C#, в F# всё понятнее, поэтому программисты C++/D намного квалифицированнее, потому что менее понятные для простых смертных.

P.S. Каждый под выразительностью понимает разное. В данном случае я понял это слово, как запись программы в одну строчку.

Добавлено через 6 минут
Цитата Сообщение от castorsky Посмотреть сообщение
Ну или Вы хотите исследовать конкретный язык - напишите компилятор для него.
Хотел бы. Но мне кажется, чтобы написать компилятор уйдёт несколько лет? Ведь надо будет читать многотомные книжки по лямбда-математике.
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
09.02.2015, 23:43
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
C++/D намного квалифицированнее, потому что менее понятные для простых смертных.
Код должен быть читабельным.И это хорошая рекомендация для программиста,пишущего на любом ЯП(да,даже на Perl ).
0
Заблокирован
09.02.2015, 23:44
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Ключевое слово "понятнее". В C#, в F# всё понятнее, поэтому программисты C++/D намного квалифицированнее, потому что менее понятные для простых смертных.
Чем понятнее написано, тем проще к нему возвращатся. На любом ЯП можно написать совершенно нечитабельный код. Тем более в вашем коде непонятна только функция iota, все остальное легко читается с первого раза.
О какой квалификации вы говорите?

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
В том-то и дело, что D не функциональный язык, но подход к функциональному программированию в нём есть.
подход есть и в C#, что дальше?

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
P.S. Каждый под выразительностью понимает разное. В данном случае я понял это слово, как запись программы в одну строчку.
надеюсь вы понимаете, что тот код, который я написал легко записать в одну строчку
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
09.02.2015, 23:47
Цитата Сообщение от S_el Посмотреть сообщение
Я знаю,что этот термин переводят и как параллельность так и распределенность.
фишка в том, что скорость создания/уничтожения процесса ничтожно мала, каждый процесс (он же и поток в этой модели) имеет свой бокс для сообщений, которые извлекает оттуда. Получается очень просто - пишем обычную функцию, spaw'ним ее и всё, новый процесс-поток работает.

Добавлено через 55 секунд
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Хотел бы. Но мне кажется, чтобы написать компилятор уйдёт несколько лет? Ведь надо будет читать многотомные книжки по лямбда-математике.
А Вы начните, потом скажете сколько у Вас ушло на это времени.
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
09.02.2015, 23:49
Цитата Сообщение от castorsky Посмотреть сообщение
Получается очень просто - пишем обычную функцию, spaw'ним ее и всё, новый процесс-поток работает.
Это просто только в теории.Когда доходит до практики,сразу сложно представить как правильно(да и вообще) реализовать.Что посоветуете попробовать сделать новичку для того чтобы понять этот принцип в Erlang?
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
09.02.2015, 23:58  [ТС]
Цитата Сообщение от S_el Посмотреть сообщение
Код должен быть читабельным.
Это рекомендация для Python'a. На C++ и на D можно писать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import std.stdio;
 
void main()
{
    byte h;
    long n, ans = 0;
 
    readf(" %s %s", &h, &n);    
    --n;
 
    bool mv = 0;
    foreach_reverse (i; 0..h) {
        auto temp = !!(n & (1L << i));
        if (mv != temp) {
            ans += ((1L << (i + 1)) - 1);
            mv ^= 1;
        }
        mv ^= 1;
        ans++;
    }
 
    writeln(ans);
}
И мне без разницы, что ни один C#-программист не сможет понять этот "простой" код. Вот ваша квалификация.
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
О какой квалификации вы говорите?
Любой, даже тупой программист C++, накернит программисту на dotNet'e. И с этим бесполезно спорить.
Цитата Сообщение от castorsky Посмотреть сообщение
А Вы начните, потом скажете сколько у Вас ушло на это времени.
Чего-то я побаиваюсь начинать. Пару десятилетий жизни уйдёт.
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
надеюсь вы понимаете, что тот код, который я написал легко записать в одну строчку
Мы с pycture не говорили о том, какой код можно записать в одну строчку, а какой нельзя.
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
подход есть и в C#, что дальше?
Качество подхода на С# очень плохое.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
10.02.2015, 00:03
Цитата Сообщение от S_el Посмотреть сообщение
Что посоветуете попробовать сделать новичку для того чтобы понять этот принцип в Erlang?
игру волки/зайцы/морковки, поле - матрица, сущности - процессы, морковки возникают рандомно, зайцы стремятся к морковкам, обмениваются между собой сообщениями о нахождении волка у точке, обходят волков, волки преследуют зайцев тоже стайно. Это действительно просто, я сравниваю с posix.

Добавлено через 2 минуты
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Чего-то я побаиваюсь начинать.
ой, а хоронить кресты Вы не боялись?
0
Заблокирован
10.02.2015, 00:03
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
И мне без разницы, что ни один C#-программист не сможет понять этот "простой" код. Вот ваша квалификация.
значит вы просто не встречали программистов C#

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Любой, даже тупой программист C++, накернит программисту на dotNet'e. И с этим бесполезно спорить.
безсполезно что-то доказывать человеку, который в вопросе совсем не разбирается, но уверен, что это не так

Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Качество подхода на С# очень плохое.
опять пустые возгласы. Может вы мне расскажите, в чем отличие подхода С# от того-же D или любого другого ЯП, которым вы владете? В рамках конкретно поставленной задачи, а не в абстрактных рассуждений
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Закрытая тема Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: 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