Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

С++ — самый красивый язык програмирования

Автор GaLL, февраля 10, 2009, 11:37

0 Пользователи и 1 гость просматривают эту тему.

злой

for и while близки к природе. На ассемблере они реализуются элементарно. А как реализованы ваши перегруженные операторы?
Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

злой

Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

myst

Цитата: "Алексей Гринь" от
Без функций filter, map и т.д. ФЯ не может существовать. Рассматривайте это как аналог императивным for, while (которых в ФЯ нет) и т.д., с той лишь разницей, что for и while зашиты глубоко в недрах компилятора, а filter и map описаны на самом языке. Вас, видимо, это смутило.
Так любую библиотечную функцию можно трактовать. Поэтому я и говорю, надо сравнивать либо голые грамматики, либо спецификации целиком, которые обычно и стандартную библиотеку описывают. Я предпочитаю второе. Это и практичнее, и понятнее. А то вон у Форта не грамматика, а пшик. :)

Алексей Гринь

ЦитироватьТак любую библиотечную функцию можно трактовать

Т.е. то, что в сишном примере используются операторы, которых нет в Хаскеле это ничего, да, а то что в Хаскелле заместо них используются функции, описанные стандартными средствами и являющиеся самим ядром ФЯ - это уже сразу фу, фу, несправедливо?

ЦитироватьПоэтому я и говорю, надо сравнивать либо голые грамматики

Этот пример можно переписать, используя внутреннию рекурсию, без фильтра. Только я сейчас не осилю.
肏! Τίς πέπορδε;

myst

Название у темы не слишком провокационное? С++ и красота — это чересчур цинично, нет?

myst

Цитата: "Алексей Гринь" от
Этот пример можно переписать, используя внутреннию рекурсию, без фильтра. Только я сейчас не осилю.
Понятно, что можно. Просто он будет, не столь короткий.

myst

Цитата: "Алексей Гринь" от
Т.е. то, что в сишном примере используются операторы, которых нет в Хаскеле это ничего, да, а то что в Хаскелле заместо них используются функции, описанные стандартными средствами и являющиеся самим ядром ФЯ - это уже сразу фу, фу, несправедливо?
Несправедливо не это, а то что в примере на C++ не используется STL. Либо, как я уже предлагал, не использовать стандартные библиотеки и оба велосипеда делать прямо из руды. :)

Алексей Гринь

А вот уж если со стороны Хаскеля подключать либы, то это тем более заткнёт и С++, и СТЛ, и кривой костыль под названьем шаблоны :)
肏! Τίς πέπορδε;

злой

Это все мерянье пиписьками и дело вкуса. Объективные критерии таковы: ставится конкретная задача. Один программер пишет на одном языке, второй - на другом. Готовые программы сравнивают по размеру, безглючности и скорости работы. Остальное - демагогия.
Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

myst

Цитата: "Алексей Гринь" от
А вот уж если со стороны Хаскеля подключать либы, то это тем более заткнёт и С++, и СТЛ, и кривой костыль под названьем шаблоны
Если разрешить подключать любые библиотеки, то, боюсь, Хаскел не сможет тягаться с C++ по охвату задач.

На практике могут вылезать различные грабли, связанные не столько с самим языком, сколько с несовершенством инструментов. И они сильно обламывают.
:3tfu: Я сейчас вроде наконец нашёл себе инструмент для «зубочисток», чтобы не заморачиваться C и C++. Правда, это не Хаскелл.

myst

Цитата: "злой" от
Готовые программы сравнивают по размеру, безглючности и скорости работы. Остальное - демагогия.
Как говаривал Линус: «Shut up and show your code!» :)

злой

Цитата: myst от февраля 10, 2009, 19:51
Цитата: "злой" от
Готовые программы сравнивают по размеру, безглючности и скорости работы. Остальное - демагогия.
Как говаривал Линус: «Shut up and show your code!» :)

Вот-вот. Подход практика.
Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

Алексей Гринь

ЦитироватьЕсли разрешить подключать любые библиотеки, то, боюсь, Хаскел не сможет тягаться с C++ по охвату задач.

Вы уже успели изучить список либ Хаскеля? :)

ЦитироватьНа практике могут вылезать различные грабли, связанные не столько с самим языком, сколько с несовершенством инструментов. И они сильно обламывают.

"Несовершенство инструментов" это отсутствие красивой ИДЕшечке где можно так кнопочку КЛАЦ! на формочку прикрепить, а потом ещё радиобаттон так КЛАЦ! немного повыше? Мама, смотри, я программист! :D

Я же с самого начала говорил, ФЯ не предназначены для IO, но они идеально подходят для сложнейшей логики, под которую только хедеры на унылом сипэпэ писались бы месяцы.
肏! Τίς πέπορδε;

злой

Сложнейшая логика упрощается при помощи карт Карно до простейшей :P
Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

Алексей Гринь

ЦитироватьГотовые программы сравнивают по размеру, безглючности и скорости работы. Остальное - демагогия.

Посчёт размера - у Хаскель-программ, скомпиленных GHC, минимальный размер где-то ~400 кб, но это потому что внутри зашит сразу весь рантайм со всякими сборщиками мусора ит.д. Посчёт безглючности - проводились тесты, точных данных не помню, смысл был в том, что на одну ошибку/баг ФЯ приходятся десятки сипэпэшных. Посчёт скорости работы - в пределах 5-10% от сипэпэ, но тесты я смотрел давно, ситуация, возможно, уличшилась.
肏! Τίς πέπορδε;

regn

я не люблю С++, потому что в нем есть глобальные переменные, что нарушает логику ООП. мой любимый - C#

Dana

Цитата: "злой" от
Труъ ойтишнеги пишут на Оссемблере. Остальное - рукоблудие :P

:yes:

А красота, это вот:

-module(fact).
-export([fac/1]).

fac(0) -> 1;
fac(N) -> N * fac(N-1).

8-)
Homo homini cattulus est

Хто не знає про добро, той завжди буде злим,
Хто забув свою мову, той прокинеться німим,
Хто завжди був рабом, той залишиться ніким,
Все почалося з нічого і закінчиться нічим...

myst

Цитата: "Алексей Гринь" от
Вы уже успели изучить список либ Хаскеля?
Вы в этом сомневаетесь? Тогда предлагаю, сделать так: Вы публикуете список библиотек для Хаскела, я — для C++. По рукам?  ;)

myst

Цитата: "Алексей Гринь" от
"Несовершенство инструментов" это отсутствие красивой ИДЕшечке где можно так кнопочку КЛАЦ! на формочку прикрепить, а потом ещё радиобаттон так КЛАЦ! немного повыше? Мама, смотри, я программист!
Нет, это когда, например, с поддержкой уникода ахтунг, со скоростью выполнения ахтунг в квадрате, с потреблением памяти ахтунг в кубе, плюс анальный доступ к системным функциям и с совместимостью различных реализаций ужоснах.

myst


myst

Хаскелл стандартизирован? Как у его реализаций с поддержкой уникода? Какая функциональность включена в стандартную библиотеку? И наконец, какие он имеет преимущества перед CL? :smoke:

Алексей Гринь

Хаскелл стандартизирован. Уникод есть. Функциональность перечислять всю? На //haskell.org дуйте. CL - common lisp? да он же убог, незря Схему придумали.
肏! Τίς πέπορδε;

Алексей Гринь

Цитата: myst от февраля 10, 2009, 20:53
Цитата: "regn" от
мой любимый - C#
Что только не делают люди, лишь бы не пользоваться Java. ;)

C# давно обогнал яву. Благодаря нему закостенелая старопердунская политика самой Явы канула лету - конкуренция, как никак, появилась, и она оживилась, стала развиваться. Самый юмор в том, что ява с каждым новым релизом тупо копирует фишки у C# (яволюбы дженерики, вон, скопировали, но так убого реализовав, что мне стыдно). Я как-то портировал c C# на Java код своей либы для работы с irc, и только так понимаешь, насколько убог тот или иной язык. Для явовской версии пришлось ОЧЕНЬ много дописывать (подчёркиваю, дописывать, а не переписывать).
肏! Τίς πέπορδε;

myst

Цитата: "Алексей Гринь" от
CL - common lisp? да он же убог, незря Схему придумали.
Это несерьёзные лозунги. :no: Так какие у Хаскелла преимущества?


Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр