The OpenNET Project / Index page

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



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

Исходное сообщение
"Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."
Отправлено DeadMustdie, 27-Июл-10 09:43 
>Проблема в том, что нельзя создать инструмент, которым одинаково хорошо можно было
>бы забивать сваи и подковывать блоху - что-то всегда будет за
>счет другого. Это не я придумал. Специализация, разделение труда и пресловутый
>Юникс-вей известны давно.

C++ - не один универсальный инструмент, а целый ящик инструмента. ;)
В этом ящике нет средств на все случаи жизни, но они есть в соседних ящиках.
Я кстати не утверждаю, что обязательно самые удобные - вести Web-разработку
на C++ IMHO совершенно неудобно.

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

"Какой ширины int", а точнее, о размерности и точности вычислений, понимать
полезно всегда. Иначе даже на самом лучшем и высокоуровневом языке программирования
можно нарваться на неприятный сюрприз. Даже в Scheme с его высоченной и универсальной
"числовой башней" небесполезно понимать, какого типа результат дают вычисления.

Что касается "срыва стека переполнением", то это как раз из области корявых
приёмов программирования и дурного стиля. Разумный человек никогда не будет
работать с фиксированными и неавтоматическими буферами в высокоуровневых
участках кода. Язык позволяет, да - но и молотком вполне можно ударить себя
по пальцу, кто ж запретит?

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

Каждый использует то средство, которое ему удобнее и которое он лучше знает.
Я бы такую конструкцию преспокойно писал бы на C++, вполне легко и непринуждённо.
Логика "высокоуровневых скриптов" без проблем и вполне красиво уложилась бы
в синтаксис C++.

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

Boost - любимая мишень для критики со стороны неосведомлённых.
Вообще-то boost как таковой - это область бета-тестирования библиотек, которые
претендуют на переезд в состав STL. И нередко там оказываются явно конкурирующие
друг с другом модули, которые все разом заведомо никогда не попадут в стандарт.

Поэтому если при разработке программы требуется некий примитив, сперва следует
смотреть в STL, и только затем, если ничего подходящего там нет - в boost.

>Лучше выбрать более адекватный инструмент сообразно поставленной задаче.

Это всегда хорошо.

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

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

Опять-таки подчеркну - в контексте темы если что и можно сравнивать, то только
императивные универсальные языки программирования. SQL и M4 не предлагать :)

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

В языке, похожем на естественный, операции должны определяться словами, а не набором
мусорных символов :)

А жёсткий и подробный синтаксис был бы полезен в Perl для того, чтобы упростить
чтение чужого кода. Perl часто применяется при автоматизации задач администрирования,
и понимать кракозябры, набросанные впопыхах очередным гениальным админом, бывает
крайне утомительно. Никакой обфускатор часто не требуется :)

 

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



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

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