The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Сколько языков программирования нужно выучить"
Отправлено thehangedman, 22-Мрт-08 00:40 
>Я в истории не силен, но судя по всему, все-таки фортран старее.

Возможно, я не был уверен)

>Во! Я кажется начинаю понимать суть проблемы :) Вы пытаетесь применить ФОП
>ко всему подряд. Это и вызывает утверждение, что ФЯ потребляет больше
>ресурсов.

Нет, пока не пытаюсь, а утверждение что ФЯ потребляет больше ресурсов было почерпнуто из литературы и принято, каюсь, на веру.

>Алгоритмы? Хм.. Ну что-нибудь алгебраическое...

Алгебраическое - это формулы) Для них ФЯ - естественный выбор.

>Просто на ФЯ каждое дополнительное "хочу" прибавляет расход памяти, не сопоставимый с
>решаемой задачей. Кроме того, потребуется несопоставимо больше переделывать с каждым "хочу"
>(хотя здесь могу ошибаться, не силен).

И то и другие - непонятно, почему.

>И уж точно последнее "хочу
>график динамики продаж в реальном времени" убивает всю идею использования ФЯ,
>ибо циклы не предусмотренны парадигмой. А бесконечный цикл, реализованный рекурсией, как
>не сложно догадаться убивает машину, на которой запускается.

Так рекурсия разворачивается в цикл, см. ниже..

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

Я не понял, Вы STL тут похвалили или нет? Что касается строгой типизации данных, то модель типизации Хиндли-Милнера, безусловно, удачнее. Да и старее)

>Они компил-тайм в текущей реализации.

Так а мы о потреблении памяти в какой реализации говорили, будущей? Впрочем, это несущественный момент.

>Ну и раз уж зашла речь о кривизне, можно поинтересоваться, а что
>Вы посоветуете использовать вместо шаблонов?

Ну нет, так далеко я в своем нигилизме не зашел) Я конечно признаю, что это, зачастую, необходимый инструмент для программиста на С++. Потому что другой простой возможности "уйти от строгой типизации сохранив ее" для программиста С++ нет. Тем не менее протез протезом и останется.

>И вообще, для начала давайте определимся,
>понимаете ли Вы всю широту решаемых с помощью шаблонов задач? Вы
>знаете, что шаблоны могут быть рекурсивными? Вы знаете, что с помощью
>шаблонов можно вычислить факториал, например (это из книжки про шаблоны)?

Да, да, читал я Ваши "книжки про шаблоны", честно. Я помню каким культурным шоком было для меня чтение Мейерса, Александреску, копание в исходниках boost и loki. Я действительно считал С++ великим языком. А потом было просветление, когда оказалось, что на свете есть языки программирования, которые могут то же самое, но без этих evil mind tricks. Более того, оказалось что теперь, с новым знанием, эти трюки оказались возможны да почти на любом языке программирования, я для тренировки даже реализовал синтаксически-естественные лямбда-функции, list comprehensions и определения функций через сопоставления с образцом на, прошу прощения, Delphi, без всяких шаблонов (правда, признаю, и без сохранения компайл-тайм типизации). Я не призываю Вас следовать за мной по этому пути, но давайте не будем считать шаблонные извращения чем-то эзотерическим и массовому пониманию недоступным.

>но когда привык
>к мышлению в стиле ООП стало легко и просто. И многих
>вещей из С++ мне сейчас нехватает, ибо занимаюсь другими вещами.

Я не оспариваю мощь ООП, но причем тут С++? кроме множественного наследования, все остальное реализовано в каждом втором языке, а каких-то вещей в С++ не хватает (сходу вспоминаются метаклассы и виртуальные конструкторы, может если подумать еще что-то можно вспомнить, но не суть). Ну а что нравится язык - так и хорошо, всегда приятней писать на языке который по душе.

>Будем считать, что как защитник ФОП Вы сморозили глупость :) Ибо как
>защитник Вы должны отстаивать идеалы ФОП, а не перекладывать на компилятор
>более оптимальную реализацию на процедурном языке.

Почему это я должен? На низком уровне мы все равно имеем дело с конечным автоматом, так что к императивности все равно придется переходить. То что рекурсия переводится в цикл, это совершенно естественно. Нет, я как раз двумя руками за то чтобы переложить заботу об оптимизации с программиста на компилятор.

И никакой я не защитник ФЯ, я скорее вступился за идеи высказанные в комментируемой статье.

>Если все-таки это нетак, так чего бы сразу не написать цикл и
>не ломать голову?

Да вспомните классический пример - реализацию быстрой сортировки в одну-две строки на любом ФЯ.. Разве это не убедительный аргумент в пользу того чтоб не ломать голову циклами?)

>Я вот не пойму, это сарказм? Если да, то напрасно. Вы не
>поверите, но во многих библиотеках (больших и толстых) определены классы для
>всех типов данных, включая примитивные. Но это не для строгого соблюдения,
>а для удобства.

Сарказм, да. И, кстати, С++ в этом не одинок. Таких больших библиотек куча для большинства императивных нединамических языков, которые думают, что они ООП. По каждому поводу и без повода - пытаются все обобщить, будь то сериализация, RPC, RTTI, etc.. С разной степенью успешности. И каждый язык использует для этого свои козыри, свою мощь.. С++ - шаблоны, Delphi - RTTI..

>:) Можно я вместо ответа на эту часть личный вопрос задам? Можете
>не отвечать, но мне просто интересно. Вы ведь не участвовали в
>крупных коммерческих проектах на С++.

В коммерческих на С++ - да, в относительно крупных - да, в крупных коммерческих на С++ - нет.

По поводу кривой реализации шаблонов - ну во-первых пристойная поддержка компиляторами появилась относительно недавно, до этого чуть что - сразу айс, во-вторых я все-таки даже не это имел в виду, а то о чем уже выше было сказано, что шаблоны - это костыли, впрочем по Вашему выражению "удачные" (относительно чего? относительно их отсутствия? тогда да.)

Что до множественного наследования, то его и без меня немало критикуют, не буду распространяться.

>либо Вы научный
>работник (аспирант, например), либо инженер AutoCAD. Я прав?

Не прав.. Да и в ФЯ не особо хорошо ориентируюсь, вон jtootf написал комментарии - видно что ориентируется, а я так, учусь.

Предлагаю заканчивать, было очень интересно, спасибо, но мы явно уже сказали друг другу все что хотели, я так уже точно начал повторяться)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру