The OpenNET Project / Index page

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



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

Исходное сообщение
"Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."
Отправлено dq0s4y71, 26-Июл-10 23:49 
>>Страуструп взял статую Венеры Милосской и приделал ей руки.
>
>Вы очень высоко оцениваете художественный уровень языка C.

Это метафора. Я Си тоже не считаю шедевром, но в своей нише он работает более-менее сносно.

>
>>Чистой воды костылизм. Если нужно было создать инструмент, работающий
>>с данными на абстрактном уровне, зачем было тащить за собой все
>>низкоуровневое наследие Си?
>
>Ровно потому, что над низкоуровневыми возможностями всегда очень хочется
>надстроить удобный абстрактный интерфейс. И C++, среди прочего, позволяет
>это сделать, не привлекая посторонних средств.

Проблема в том, что нельзя создать инструмент, которым одинаково хорошо можно было бы забивать сваи и подковывать блоху - что-то всегда будет за счет другого. Это не я придумал. Специализация, разделение труда и пресловутый Юникс-вей известны давно.

>[оверквотинг удален]
>нужно написать отдельный программный модуль на другом языке (C),
>да ещё в соответствии со специальными правилами, заданными спецификой
>применяемой языковой среды. Кто писал и сопровождал JNI-библиотеки,
>тот поймёт.
>
>Кстати, разумно и удобно организован процесс расширения низкоуровневыми
>алгоритмами разве что в Perl, который по моим наблюдениям процентов на
>50 состоит из таких боковых "костылей" - для обеспечения пристойной
>производительности.
>

Вот это-то как раз не "боковые костыли", а тот самый "низкий уровень", который выделен в отдельную прослойку, делающую только свои низкоуровневые дела, и делающую их хорошо. Это логично и правильно. А вот когда я мыслю объектами, строю сложные абстрактные структуры данных, но при этом должен заботиться о том, какой ширины у меня int, как бы мне не сорвать стек переполнением буфера, и как не забыть освободить выделенную память, - это уже костылизм!

Кстати, я как раз сейчас этим занимаюсь - пишу на Lua высокоуровневые скрипты, которые вызывают низкоуровненвые функции, обращающиеся к железу, которые пишу на Си. Легко и непринужденно. И мне страшно подумать, что бы было, если бы мне _все_это_ пришлось бы писать на Си++! Оо

>>В результате абстрактных структур данных мы так толком и не имеем,
>>и каждый фреимворк изобретает собственные велосипеды в виде классов
>>List, Matrix, Vector и т.д...
>
>Це еретики, которых правильно было бы отправить в топку.
>Самый правоверный набор примитивов - STL + boost, всё остальное - извращение.
>

Boost, в котором только одних типов указателей определено, наверное, с десяток? auto_ptr, linked_ptr, scoped_ptr, shared_ptr, smart_ptr, weak_ptr, intrusive_ptr, exception_ptr... Оо Это что, по-вашему, не костыли? Вот вы говорите, я не умею пользоваться возможностями Си++. А вы сами знаете как пользоваться всеми этими указателями? И ЗАЧЕМ знать все эти "возможности Си++", которые больше похожи на способы как победить компилятор? Лучше выбрать более адекватный инструмент сообразно поставленной задаче.

>>Термин "полноценные языки программирования" в вычислительной технике мне не знаком.
>
>Глупо сравнивать с одних и тех же позиций C++, M4 и SQL.
>Равно как и Haskell и Prolog.
>Изначально дискуссия шла об универсальных императивных языках программирования,
>иначе вести разговор о Java, C#, Perl, C++ и рекомом Go вообще
>бессмысленно.
>

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

>На самом деле у Perl и C++ сходная проблема - на них
>легко написать груду мусора
>вместо нормального кода. IMHO именно Perl - в своей области применения -
>должен был
>бы иметь жёсткий, обязательно многословный и безвариантный синтаксис. Чтобы написанное
>всегда однозначно читалось и не требовало выстраивать в голове конечный автомат
>для разбора очередной строки маловнятных символов.

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

 

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



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

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