The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..., opennews (??), 24-Июл-10, (0) [смотреть все] –1

Сообщения [Сортировка по времени | RSS]


43. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от DeadMustdieemail (??), 24-Июл-10, 23:14 
>По теме. Согласен с Пайком. С++ - костыль для С

Это поверхностное мнение. Вы явно не умеете пользоваться возможностями C++.

> а Джава - новая модель этого костыля.

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

> new Integer(80)

В современном Java можно написать и так:
  final Integer val = 80;
Наличие такой формы - особенность, которая никому не мешает.

>или Boolean.TRUE (как будто TRUE может быть какого-то другого типа, кроме
>Boolean... :))

TRUE, в отличие от true, может быть любого типа по выбору программиста.
Например:

final String TRUE = "Истина, мамой клянусь!";
final String FALSE = "Ложь греховная.";

> И это промышленные языки.

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

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

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

Более того - не собираюсь. Уметь пользоваться _всеми_ возможностями С++ может только человек, специально задавшийся такой целью, а это может быть только псих или бездельник. Я ни то ни другое :) Тем более, что знание возможностей С++ плохо помогает там, где проблемно-ориентированный язык все равно справляется лучше.

Ответить | Правка | Наверх | Cообщить модератору

51. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от DeadMustdieemail (??), 24-Июл-10, 23:49 
> Уметь пользоваться _всеми_ возможностями С++ может только человек,
> специально задавшийся такой целью, а это может быть только псих или бездельник.

Есть некая разница между *всеми* возможностями и набором конструкций, который
разработчики языка специально готовили для систематического применения широким
кругом пользователей. В случае C++ этот набор немножко сложноват для комфортного
размещения в типичной программистской голове, увы.

> Тем более, что знание возможностей С++ плохо помогает там,
>где проблемно-ориентированный язык все равно
>справляется лучше.

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

Ответить | Правка | Наверх | Cообщить модератору

56. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +2 +/
Сообщение от dq0s4y71 (??), 25-Июл-10, 00:21 
>Есть некая разница между *всеми* возможностями и набором конструкций, который
>разработчики языка специально готовили для систематического применения широким
>кругом пользователей. В случае C++ этот набор немножко сложноват для комфортного
>размещения в типичной программистской голове, увы.

Ах, вот как. То есть, это вы меня записали в "типичные програмистские головы". :) Теперь логика вашего утверждения ясна, но ваш вывод опять же не в пользу С++.

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

Областей немного? Вам явно не мешало бы расширить кругозор. Областей как раз очень много, иначе не существовало бы такого огромного количества проблемно-ориентированных языков. Более того, даже "чистое" программирование состоит из областей, зачастую непересекающихся. Например, системный программист и программист баз данных - извините, две разные профессии.

Ответить | Правка | Наверх | Cообщить модератору

59. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  –1 +/
Сообщение от Аноним (-), 25-Июл-10, 00:34 
>Например, системный программист и программист баз данных - извините, две разные
>профессии.
>

расскажите нам про программирование на обьектном языке именуемым - язык баз данных
это типа триггеры писать на SQL? или что


Ответить | Правка | Наверх | Cообщить модератору

140. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от sndevemail (?), 26-Июл-10, 11:25 
уууу как вы однако уважаемый далеки от реальности
Ответить | Правка | Наверх | Cообщить модератору

62. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от DeadMustdieemail (??), 25-Июл-10, 00:39 
>Ах, вот как. То есть, это вы меня записали в "типичные програмистские
>головы". :) Теперь логика вашего утверждения ясна, но ваш вывод опять
>же не в пользу С++.

Я не перехожу на личности. О вас мне ничего не известно, соответственно,
я не делаю никаких выводов о вашей голове.


>Областей немного? Вам явно не мешало бы расширить кругозор. Областей как раз
>очень много, иначе не существовало бы такого огромного количества
>проблемно-ориентированных языков.

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

Так где же "очень много областей"? В пределах 10 - не так уж много.

>Более того, даже "чистое" программирование состоит из областей, зачастую >непересекающихся. Например,
>системный программист и программист баз данных - извините, две разные профессии.

Обоим полезно знать синтаксис и семантику наиболее распространённых языков
программирования общего назначения, поскольку и там, и там они применяются.
Ну разве что системному программисту можно не знать SQL и смежные с ним диалекты.

Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

74. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от dq0s4y71 (??), 25-Июл-10, 01:38 
>О вас мне ничего не известно

Но, тем не менее, вы почему-то утверждаете, что я явно не умею пользоваться возможностями C++.

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

Насколько я помню, под "проблемно-ориентированным языком" всегда подразумевался "язык программирования, предназначенный для решения определенного класса задач". При этом не важно, используется ли этот язык для автоматизации какого-либо процесса или для решения узко-специальных программистских задач. Кроме "проблемно-ориентированных" языков иногда различают "машинно-ориентированные" и "универсальные" языки: http://mirslovarei.com/content_soc/JAZYK-PROGRAMMIROVANIJA-5...

>>Более того, даже "чистое" программирование состоит из областей, зачастую >непересекающихся. Например,
>>системный программист и программист баз данных - извините, две разные профессии.
>
>Обоим полезно знать синтаксис и семантику наиболее распространённых языков
>программирования общего назначения, поскольку и там, и там они применяются.
>Ну разве что системному программисту можно не знать SQL и смежные с
>ним диалекты.

Разумеется, иметь широкий кругозор всегда полезно, но вовсе необязательно для решения узкоспециальных задач. И там, где используется Perl, С++ будет гораздо менее удобен, а там где используется SQL, С++ будет почти бесполезен.

Ответить | Правка | Наверх | Cообщить модератору

78. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  –1 +/
Сообщение от Аноним (-), 25-Июл-10, 02:13 
>Разумеется, иметь широкий кругозор всегда полезно, но вовсе необязательно для решения
>узкоспециальных задач. И там, где используется Perl, С++ будет гораздо менее удобен, а
>там где используется SQL, С++ будет почти бесполезен

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

на том же rsdn
есть другой пример
где функционал то ли на 'мая' толи на 'матлаб' (увы непомню:( )
был не достаточно быстр
и была у человека необходимость переписать это на С++

с SQL конечно такого фокуса не получится

Ответить | Правка | Наверх | Cообщить модератору

81. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от dq0s4y71 (??), 25-Июл-10, 02:23 
>между прочим
>Perl был придуман системными администраторами которые не знали языков программирования
>но им нужно было реализовывать минимальный функционал в администрировании

Оо Вы хотели сказать "_для_ системных администраторов"? Представил себе Ларри Уолла, который не знал языков программирования, но создал Перл... :)

>многие же системные администраторы которые знают С++, задачи Perl решают гораздо еффективнее
>на С++

Ну давайте ваши задачи. Посмотрим, как они были реализованы на С++ и как на Перле, и выясним, действительно ли задачи Перла можно эффективнее решать на С++.

>на том же rsdn
>есть другой пример
>где функционал то ли на 'мая' толи на 'матлаб' (увы непомню:( )
>
>был не достаточно быстр
>и была у человека необходимость переписать это на С++
>
>с SQL конечно такого фокуса не получится

Ну, естественно, быстрее  всего получается писать на том языке, который _знаешь_ :)

Ответить | Правка | Наверх | Cообщить модератору

82. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от Аноним (-), 25-Июл-10, 02:40 
>Оо Вы хотели сказать "_для_ системных администраторов"? Представил себе Ларри Уолла,
>который не знал языков программирования, но создал Перл... :)

лари был ленив
многие не ленивые администраторы решают задачи на С/С++
не заморачиваясь на Perl

>Ну давайте ваши задачи. Посмотрим, как они были реализованы на С++ и как на Перле, и
>выясним, действительно ли задачи Перла можно эффективнее решать на С++.

задача "по telnet зайти и выполнить определенные команды"
на Perl ~15 строк
на C теже ~15 строк
какой спросите профит?
обыкновенный
представим роутер в котором нет задач для Perl
и дежать Perl только для 15строк невыгодно и не економно,
а в некоторых случая и ресурсоемко
задача решена на C/C++ была более эффективнее
задача с роутером была на DD-WRT роутере
так же другого рода задачи появлялись и на других серверах в глобальном вебхостинге
где нет смысла держать Perl, когда все быстрее решается на С/C++

ps надеюсь то что задача была решена на С а не на С++ вас не сильно разочарует?


>Ну, естественно, быстрее  всего получается писать на том языке, который _знаешь_ :)

человек который хотел переписать на С++ его плохо знал, но хорошо знал мая/матлаб
и хотел что бы ему переписали все на С++ с ипользованием CUDA
потому что в оригинале мая или матлаб - опять же не помню
все это вычислял очень медленно

есть желание? оригинал этого поищите на rsdn
увы линка просто не помню :(

Ответить | Правка | Наверх | Cообщить модератору

85. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +3 +/
Сообщение от dq0s4y71 (??), 25-Июл-10, 03:10 
>лари был ленив
>многие не ленивые администраторы решают задачи на С/С++
>не заморачиваясь на Perl

Ха. Еще скажите, что люди, которые ездят на работу на другой конец города на машине, делают это потому, что ленятся ходить пешком.

>представим роутер в котором нет задач для Perl

Э, нет, так не пойдет. Давайте еще возьмем раутер у которого вообще 8К ОЗУ и на котором ничего написанное кроме как на ассемблере вообще не запустится. Что, скажем тогда, что ассемблер решает перловые задачи лучше чем Перл? Нужно сравнивать эти продукты в _нормальных_ для каждого из них условиях.

Ответить | Правка | Наверх | Cообщить модератору

110. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от Аноним (-), 25-Июл-10, 14:52 
>Э, нет, так не пойдет. Давайте еще возьмем раутер у которого вообще 8К ОЗУ и на котором
>ничего написанное кроме как на ассемблере вообще не запустится. Что, скажем тогда, что
>ассемблер решает перловые задачи лучше чем Перл? Нужно сравнивать эти продукты в
>_нормальных_ для каждого из них условиях.

ниже я привел что сталкивался не единоразово и на хостинг серверах
с задачами которые Си решал намного еффективнее чем Perl
но вы видимо проигнорировали мой ответ
и просто вцепились за первое попавшееся слово

из другого вида задач с которыми приходилось сталкиватся это regexp
который perl отрабатывает необычайно медленно и ресурсоемко
поэтому приходилось переписывать на Си

были и задачи третьего вида и четрвертого
были и прокси сервера писаные на perl, которые сьедали всю оперативку и падали
но это уже другая история
если вы захотите к чему то прицепится вы и в словах выше найдете свое

Ответить | Правка | Наверх | Cообщить модератору

116. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от dq0s4y71 (??), 25-Июл-10, 15:56 

>ниже я привел что сталкивался не единоразово и на хостинг серверах
>с задачами которые Си решал намного еффективнее чем Perl
>но вы видимо проигнорировали мой ответ
>и просто вцепились за первое попавшееся слово

Вы привели некорректное сравнение. Там, где держать Perl "невыгодно и не економно", Perl проигрывает _по_определению_.

>
>из другого вида задач с которыми приходилось сталкиватся это regexp
>который perl отрабатывает необычайно медленно и ресурсоемко
>поэтому приходилось переписывать на Си
>

То же самое. Если первостепенная задача - сэкономить ресурсы и выполнить программу максимально быстро, Перл тут явно не подходит. Не для того он создавался. А вот если Перлу предостаточно столько ресурсов, сколько _ему_требуется_, и скорость выполнения скрипта не слишком критична (как обычно и бывает в админских задачах), до регекспы писать на нем на два порядка удобнее и быстрее, чем на Си.

>были и задачи третьего вида и четрвертого
>были и прокси сервера писаные на perl, которые сьедали всю оперативку и
>падали
>но это уже другая история
>если вы захотите к чему то прицепится вы и в словах выше
>найдете свое

Ну, писать прокси-сервер на Перле - это, скажем так, эксцентрично. :) Не удивительно, что он неэффективно работает.

Ответить | Правка | Наверх | Cообщить модератору

148. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от Кодир (?), 26-Июл-10, 12:26 
>из другого вида задач с которыми приходилось сталкиватся это regexp
>который perl отрабатывает необычайно медленно и ресурсоемко
>поэтому приходилось переписывать на Си

Первый раз слышу подобную ахинею. Вы же понимаете, что регэкспы Перла - это ТАКИЕ ЖЕ СИ-ШНЫЕ МОДУЛИ? Поэтому они ну никак не медленнее тех же модулей, но вызванных из Си.
Другой вопрос (это я предполагаю), что вы полезли в грамматики, под которые регэкспы просто не предназначены и конечно же, тупой конечный автомат выйграл! Ну так это вам минус за низкую квалификацию.

>были и задачи третьего вида и четрвертого
>были и прокси сервера писаные на perl, которые сьедали всю оперативку и падали

ыыы :) ДВА МИНУСА.
Так бестолково писать на Перле - лучше вообще уйти в управдомы. Перл подкупает своей простотой, но это не избавляет от ИЗУЧЕНИЯ Перла как языка - по всем строгостям, от синтаксиса, до подводных камней и особенностей реализации. То, что какой-то пижон прыгнул с Си в Перл, купившись на похожий синтаксис, ещё не означает, что Перл - плохой.

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

Ответить | Правка | Наверх | Cообщить модератору

198. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от Аноним (-), 27-Июл-10, 15:53 
а вот и защитники perl подтянулись
но с

>Участник: Кодир
>Тип: Аноним
>Рейтинг: -272 баллов
>Репутация: +24/-24 голосов

с таким рейтингом помалкивали бы

замечу, что я не программист perl
я выправлял глюки предыдущего горе perl админа
который срубал ЗП, и ничего не делал

>Так бестолково писать на Перле - лучше вообще уйти в управдомы.

это был опенсоурс проект которые многие ставят у себя
я как С/C++ программист просто выкинул это Г

>Вы же понимаете, что регэкспы Перла - это ТАКИЕ ЖЕ СИ-ШНЫЕ МОДУЛИ?

ЧСВ овер 12000
еще выше чем у ВДНХ
во первых я знаю как perl работает с C
во вторых кроме regexp там было много и другого кода, но вы как и второй троль джейсон видите только те слова к которым можете дать свои глупые комментарии, что бы поднять свое ЧСВ

учитесь читать весь текст

Ответить | Правка | К родителю #148 | Наверх | Cообщить модератору

89. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от DeadLoco (ok), 25-Июл-10, 07:56 
> многие не ленивые администраторы решают задачи на С/С++ не заморачиваясь на Perl

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

Ответить | Правка | К родителю #82 | Наверх | Cообщить модератору

104. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от Аноним (-), 25-Июл-10, 13:59 
>> многие не ленивые администраторы решают задачи на С/С++ не заморачиваясь на Perl
>
>Не ленивые администраторы знают и умеют инструментарий никсов, который позволяет обходиться простым
>sh. Почти всегда. Но для этого нужно знать и уметь.

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

ах о чем это я
конечно можно использоватся и sh или perl
все зависит от задачи
но большиство задач с которыми я сталкивался и их решениям
администраторы упорно решали на perl
при этом этот perl сьедал много памяти и ресурсов
иногда даже падал

можно наверное подумать что те администраторы которые использовали perl его не шибко хорошо знали
но теже задачи решеные с знанием начинающих Сишников, были решены более эффективнее

perl или sh в большем случае было для таких администраторо быстрым и дешевым решением поставленых задач
а один из админов мне как то так и заявил
мол - а чего я должен что то делать хорошо даже с использованием Си, если мне "как он считает" мало платят

Ответить | Правка | Наверх | Cообщить модератору

150. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от Кодир (?), 26-Июл-10, 12:35 
>задача "по telnet зайти и выполнить определенные команды"
>на Perl ~15 строк
>на C теже ~15 строк
>какой спросите профит?

Всё зависит от типа задачи и сути использования. Сегодня ты сделал 15-строчный код, который тупо посылает в _сокет_ хардкоженные команды. Завтра приходит босс и выясняется:
1. Команды должны быть шаблонными (подставлять значения из ввода пользователя), да ещё браться из конфига.
2. Посылать надо не в сокет, а в БД, где они достаются, раскрываются шаблоны и посылаются в сокет.
3. Попутно на каждые 100 команд надо отсылать почту с уведомлением.

И вот тут ваши Си-шные 15 строк превращаются... в мусор! Ибо полностью непригодны для адаптации под новые условия.

Перл не зря назван ВЫСОКОУРОВНЕВЫМ - если вы понимаете значение этого слова, вы никогда не станете сравнивать Перл и Си.

Ответить | Правка | К родителю #82 | Наверх | Cообщить модератору

156. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от DeadLoco (ok), 26-Июл-10, 12:47 
>И вот тут ваши Си-шные 15 строк превращаются... в мусор! Ибо полностью
>непригодны для адаптации под новые условия.

А как это решалось бы на перле? Ну, хотя бы в общих чертах?

Ответить | Правка | Наверх | Cообщить модератору

185. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от kshetragia (ok), 26-Июл-10, 21:00 
>А как это решалось бы на перле? Ну, хотя бы в общих
>чертах?

В лоб бы и решалось. Перл это позволяет. На сях пришлось бы изрядно поприседать.

Ответить | Правка | Наверх | Cообщить модератору

98. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от DeadMustdieemail (??), 25-Июл-10, 12:55 
>Но, тем не менее, вы почему-то утверждаете, что я явно не умею
>пользоваться возможностями C++.

Вы это демонстрируете собственными оценками: "С++ - костыль для С".

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

Я не считаю правильным причислять к полноценным языкам программирования синтаксисы
конфигурационных файлов, узкоспециальные скриптовые диалекты и т.п.

>Разумеется, иметь широкий кругозор всегда полезно, но вовсе необязательно для
>решения узкоспециальных задач. И там, где используется Perl, С++ будет гораздо
>менее удобен, а там где используется SQL, С++ будет почти бесполезен.

Про Perl не согласен. Единственная сильная сторона Perl - наличие большого количества
людей, знающих его синтаксис и ленящихся запускать компилятор :)

SQL и C (либо C++) замечательно сочетаются. Скажем, все современные СУБД позволяют
писать на C и C++ хранимые процедуры.

Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

152. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от FractalizeRemail (ok), 26-Июл-10, 12:43 
>Скажем, все современные СУБД позволяют писать на C и C++ хранимые процедуры.

Это о каких СУБД идет речь? Хранимые процедуры или UDF?

Ответить | Правка | Наверх | Cообщить модератору

180. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от DeadMustdieemail (??), 26-Июл-10, 19:49 
>Это о каких СУБД идет речь? Хранимые процедуры или UDF?

Ну DB2 хотя бы. Аналогичного эффекта можно добиться в PostgreSQL и Oracle, хотя
и с некоторыми дополнительными плясками с бубном.

А UDF можно действительно где угодно писать.

Ответить | Правка | Наверх | Cообщить модератору

159. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  –1 +/
Сообщение от dq0s4y71 (??), 26-Июл-10, 13:02 
>Вы это демонстрируете собственными оценками: "С++ - костыль для С".

Я не просто "демонстрирую оценки", а привожу вполне убедительные аргументы. Страуструп взял статую Венеры Милосской и приделал ей руки. Чистой воды костылизм. Если нужно было создать инструмент, работающий с данными на абстрактном уровне, зачем было тащить за собой все низкоуровневое наследие Си? В результате абстрактных структур данных мы так толком и не имеем, и каждый фреимворк изобретает собственные велосипеды в виде классов List, Matrix, Vector и т.д...

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

Термин "полноценные языки программирования" в вычислительной технике мне не знаком.

>Про Perl не согласен. Единственная сильная сторона Perl - наличие большого количества
>
>людей, знающих его синтаксис и ленящихся запускать компилятор :)

Ну, это звучит как-то по-детски. Действительно похоже на "С++ - единственно правильный, потому что я не осилил ничего другого" :)

>
>SQL и C (либо C++) замечательно сочетаются. Скажем, все современные СУБД позволяют
>
>писать на C и C++ хранимые процедуры.

В том-то и дело, что _сочетаются_, а не _заменяются_. Использовать разные инструменты в разных областях - нормальная практика.

Ответить | Правка | К родителю #98 | Наверх | Cообщить модератору

181. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от DeadMustdie1email (ok), 26-Июл-10, 20:19 
>Я не просто "демонстрирую оценки", а привожу вполне убедительные аргументы.

Если и убедительные, то не для меня.

>Страуструп взял статую Венеры Милосской и приделал ей руки.

Вы очень высоко оцениваете художественный уровень языка C.

>Чистой воды костылизм. Если нужно было создать инструмент, работающий
>с данными на абстрактном уровне, зачем было тащить за собой все
>низкоуровневое наследие Си?

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

Для сравнения, чтобы делать что-то подобное на Java, Python или Perl,
нужно написать отдельный программный модуль на другом языке (C),
да ещё в соответствии со специальными правилами, заданными спецификой
применяемой языковой среды. Кто писал и сопровождал JNI-библиотеки,
тот поймёт.

Кстати, разумно и удобно организован процесс расширения низкоуровневыми
алгоритмами разве что в Perl, который по моим наблюдениям процентов на
50 состоит из таких боковых "костылей" - для обеспечения пристойной
производительности.

>В результате абстрактных структур данных мы так толком и не имеем,
>и каждый фреимворк изобретает собственные велосипеды в виде классов
>List, Matrix, Vector и т.д...

Це еретики, которых правильно было бы отправить в топку.
Самый правоверный набор примитивов - STL + boost, всё остальное - извращение.

>Термин "полноценные языки программирования" в вычислительной технике мне не знаком.

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

Это к вопросу о терминах.

>Ну, это звучит как-то по-детски. Действительно похоже на "С++ - единственно
>правильный, потому что я не осилил ничего другого" :)

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

Ответить | Правка | Наверх | Cообщить модератору

190. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от dq0s4y71 (ok), 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 - в своей области применения -
>должен был
>бы иметь жёсткий, обязательно многословный и безвариантный синтаксис. Чтобы написанное
>всегда однозначно читалось и не требовало выстраивать в голове конечный автомат
>для разбора очередной строки маловнятных символов.

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

Ответить | Правка | Наверх | Cообщить модератору

193. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от DeadMustdieemail (??), 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 часто применяется при автоматизации задач администрирования,
и понимать кракозябры, набросанные впопыхах очередным гениальным админом, бывает
крайне утомительно. Никакой обфускатор часто не требуется :)

Ответить | Правка | Наверх | Cообщить модератору

196. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от dq0s4y71 (??), 27-Июл-10, 13:49 
>"Какой ширины int", а точнее, о размерности и точности вычислений, понимать
>полезно всегда.

Здесь я предпочту остаться при своем мнении. Если я "мыслю объектами", внутреннее представление числовых данных меня заботить не должно. Мне даже не нужно беспокоиться какого они типа - int, float, или что-то еще, как, например, в том же Lua, где для всех числовых данных есть один тип number.

>Разумный человек никогда не будет
>работать с фиксированными и неавтоматическими буферами в высокоуровневых
>участках кода.

В высокоуровневых языках человек работает с _данными_, а не с какими-то буферами. Высокоуровневые языки для того и существуют, чтобы максимально абстрагировать программу от ее внутреннего представления в компьютере, и максимально приблизить ее к идее, которая у программиста в голове. Если я добавляю свои объекты в хеш-таблицу или дерево, зачем мне знать какие при этом буферы памяти выделяются и как они потом будут утилизированы?

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

Ну вот. То вы называете Буст "правоверным", то теперь оказывается, что это - лишь некая "область бета-тестирования библиотек, которые претендуют на переезд в состав STL". Кстати, и STL не многим лучше. Это ведь библиотека, а не часть языка, тут от наследия Си никуда не денешься. А следовательно, и работает она не так эффективно, как если бы все эти абстракции поддерживались бы самим компилятором. Соответственно и без зоопарка итераторов обойтись было нельзя...

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

А разве в естественном языке вы никогда не используете "мусорные" слова? Или, по крайней мере, выразительные идиомы? :)

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

Ну, с этим, может быть, можно и согласиться :)

Ответить | Правка | Наверх | Cообщить модератору

197. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от DeadMustdieemail (??), 27-Июл-10, 15:04 
>>"Какой ширины int", а точнее, о размерности и точности вычислений, понимать
>>полезно всегда.
>
>Здесь я предпочту остаться при своем мнении. Если я "мыслю объектами", внутреннее
>представление числовых данных меня заботить не должно. Мне даже не нужно
>беспокоиться какого они типа - int, float, или что-то еще, как,
>например, в том же Lua, где для всех числовых данных есть
>один тип number.

Ну и будете получать всякие неприятные ситуации навроде переполнения
и невозможности преобразования, скажем, в int при вызове собственных
примитивов, написанных на C. Или удивляться, а почему это вот такой
простой алгоритм тормозит - а он, оказывается, для вычисления использует
вещественные числа вместо целых. Или вообще в рациональных дробях всё
считает :)

>В высокоуровневых языках человек работает с _данными_, а не с какими-то буферами.
>Высокоуровневые языки для того и существуют, чтобы максимально абстрагировать
>программу от ее внутреннего представления в компьютере, и максимально приблизить
>ее к идее, которая у программиста в голове. Если я добавляю свои объекты в
>хеш-таблицу или дерево, зачем мне знать какие при этом буферы памяти
>выделяются и как они потом будут утилизированы?

Моя же мысль, выраженная другими словами. Зачем в том же C++ какие-то "буферы"
при помещении объектов в карту STL? :)

>Ну вот. То вы называете Буст "правоверным", то теперь оказывается, что это
>- лишь некая "область бета-тестирования библиотек, которые претендуют на переезд в
>состав STL".

Вполне правоверная область. С очень качественным кодом, просто не весь он
войдёт в стандарт.

>Кстати, и STL не многим лучше. Это ведь библиотека,
>а не часть языка, тут от наследия Си никуда не денешься.

Распространённое заблуждение. STL - неотъемлемая часть языка, обязательная для
реализации (и специальной поддержки) любым компилятором C++, соответствующим
современному стандарту.

Без специальной поддержки компилятора, кстати, некоторые возможности, предусмотренные
в STL, в принципе не могут быть реализованы.

>А следовательно, и работает она не так эффективно, как если бы
>все эти абстракции поддерживались бы самим компилятором. Соответственно и без зоопарка
>итераторов обойтись было нельзя...

Слова про "эффективность" здесь не к месту. На производительность STL грех жаловаться.

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

>А разве в естественном языке вы никогда не используете "мусорные" слова? Или,
>по крайней мере, выразительные идиомы? :)

"Если эта роль ругательная, я вас её попрошу ко мне не применять!"

>Ну, с этим, может быть, можно и согласиться :)

Вот хоть в чём-то договорились.

Ответить | Правка | К родителю #196 | Наверх | Cообщить модератору

65. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от anonymous (??), 25-Июл-10, 00:48 
> Java - действительно костыль. Он позволяет брать на работу не шибко умных и не особо
> напрягающихся программистов, и при этом получать с них пользу.

Если следовать вашей логике, обычный си вообще для идиотов.

Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

67. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от DeadMustdieemail (??), 25-Июл-10, 00:54 
>> Java - действительно костыль. Он позволяет брать на работу не шибко умных и не особо
>> напрягающихся программистов, и при этом получать с них пользу.
>
>Если следовать вашей логике, обычный си вообще для идиотов.

Это не моя логика. Писать на C труднее, чем на Java.
Но обычный C действительно куда проще в употреблении, чем C++ - если
действительно полезно использовать возможности C++.

Ответить | Правка | Наверх | Cообщить модератору

72. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от anonymous (??), 25-Июл-10, 01:28 
> Писать на C труднее, чем на Java.

Сложность написания зависит от сложности задачи.

Ответить | Правка | Наверх | Cообщить модератору

76. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от dq0s4y71 (??), 25-Июл-10, 02:02 
Вот пример из Пайка:

foo::Foo * myFoo = new foo::Foo(foo::FOO_INIT)

Задача очень простая - создать некий объект. Но почему при этом foo нужно повторить 2 раза, а Foo - 3 раза! Как он говорит, для того, чтобы создать объект, нужно заполнить бланк в 3-х экземплярах! Бюрократия...

Ответить | Правка | Наверх | Cообщить модератору

77. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  –1 +/
Сообщение от Аноним (-), 25-Июл-10, 02:07 
потому что Пайк не осилил С++

foo::Foo myFoo(foo::FOO_INIT);
надеюсь вас :: не сильно пугает?
если пугает упрощу
Foo myFoo(FOO_INIT);

Ответить | Правка | Наверх | Cообщить модератору

83. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от dq0s4y71 (??), 25-Июл-10, 02:42 
Есть старый анекдот про студентов-медиков: "Студент, вы смелый, но невнимательный - я сунул один палец, а облизал другой" ;)

Вы создаете _объект_, а он - _указатель_ на объект.

Ответить | Правка | Наверх | Cообщить модератору

103. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от Аноним (-), 25-Июл-10, 13:48 
есть другой анекдот
но уже в программировании
есть суть такова, "избегайте использование указателей везде где это возможно"
но ниодин С++ программист увы до этой книги не дочитал :((
Ответить | Правка | Наверх | Cообщить модератору

119. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  –1 +/
Сообщение от dq0s4y71 (??), 25-Июл-10, 16:17 
>есть другой анекдот
>но уже в программировании
>есть суть такова, "избегайте использование указателей везде где это возможно"
>но ниодин С++ программист увы до этой книги не дочитал :((

Чушь какая. Можно подумать, люди используют указатели везде, где ни поподя. А "программиста" на Си++, который не использует указатели, я бы на пушечный выстрел к компьютеру не подпустил. Пусть быдлокодит на Питоне или Джаве.

Ответить | Правка | Наверх | Cообщить модератору

122. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от Аноним (-), 25-Июл-10, 17:49 
>Чушь какая.

почитайте умные книги умных людей

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

ну пример Пайка выглядит именно так
типа вот _так_ пишутся программы на С++
и привел пример с инициализацией указателя

>А "программиста" на Си++, который не использует указатели,

правило гласит
>>есть суть такова, "избегайте использование указателей везде где это возможно"

избегайте это не значит _не_используйте_

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

да я бы вас и к интернету не допустил бы...

>Пусть быдлокодит на Питоне или Джаве.

видимо вы далекий от С++
и кроме как говорил Дед, "GUI" ничего не писали


Ответить | Правка | Наверх | Cообщить модератору

126. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от Карбофос (ok), 25-Июл-10, 19:56 
мдя... вы ничего не слышали о итераторах?
Ответить | Правка | К родителю #119 | Наверх | Cообщить модератору

153. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от FractalizeRemail (ok), 26-Июл-10, 12:44 
>Чушь какая. Можно подумать, люди используют указатели везде, где ни поподя. А
>"программиста" на Си++, который не использует указатели, я бы на пушечный
>выстрел к компьютеру не подпустил. Пусть быдлокодит на Питоне или Джаве.

Как вы думаете, по какой причине в современных высокоуровневых языках как минимум не рекомендуется использование указателей?


Ответить | Правка | К родителю #119 | Наверх | Cообщить модератору

158. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +3 +/
Сообщение от DeadLoco (ok), 26-Июл-10, 12:52 
>Как вы думаете, по какой причине в современных высокоуровневых языках как минимум
>не рекомендуется использование указателей?

Потому что среднестатистический современный кодер не в состоянии оперировать в уме косвенной адресацией.

С ностальгией вспоминаю ассемблер DEC PDP-11, где двойная косвенная адресация была реализована на уровне процессора, и где легко и просто реализовывались массивы указателей на функции...

Ответить | Правка | Наверх | Cообщить модератору

169. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  –1 +/
Сообщение от dq0s4y71 (??), 26-Июл-10, 17:45 
> Потому что среднестатистический современный кодер не в состоянии оперировать в уме косвенной адресацией.

+1 Кем и где не рекомендуется использование указателей? Тот же Пайк пишет в своих знаменитых "Notes on Programming in C":

"Pointers are sharp tools, and like any such tool, used well they can be delightfully productive, but used badly they can do great damage (I sunk a wood chisel into my thumb a few days before writing this).  Pointers have a bad reputation in academia, because they are considered too dangerous, dirty somehow.  But I think they are powerful notation, which means they can help us express ourselves clearly."

Так что, рекомендовать программистам не пользоваться указателями - это все равно что рекомендовать столярам не пользоваться стамеской. Такие рекомендации даются дебилам.

Ответить | Правка | Наверх | Cообщить модератору

186. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от kshetragia (ok), 26-Июл-10, 21:08 
гм. Речь о плюсах вообще-то. в сях без указателей вообще никуда к сожалению.

Ответить | Правка | К родителю #169 | Наверх | Cообщить модератору

187. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от DeadLoco (ok), 26-Июл-10, 21:41 
>гм. Речь о плюсах вообще-то. в сях без указателей вообще никуда к
>сожалению.

С огромным трудом представляю себе плюсы без указателей. То-есть, вообще не представляю. Плюсы без указателей - это плюсы без:
- this
- шаблонов
- итераторов

список можно продолжать до тех пор, пока не останется жабообразный обрубок.

Ответить | Правка | К родителю #186 | Наверх | Cообщить модератору

189. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от anonymous (??), 26-Июл-10, 23:40 
только вот в java есть и this и итераторы, которые замечательно работают.
Ответить | Правка | К родителю #187 | Наверх | Cообщить модератору

188. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +1 +/
Сообщение от dq0s4y71 (??), 26-Июл-10, 21:51 
Приведёте мне пример кода на Си, где "без указателей вообще никуда", и пример кода на Си++, который делает ровно _то_же_самое_, но без указателей?
Ответить | Правка | К родителю #186 | Наверх | Cообщить модератору

184. "Роб Пайк заявил, что Java и C++ слишком усложнены для промыш..."  +/
Сообщение от anonymous (??), 26-Июл-10, 20:49 
Честно говоря мне плевать на примеры пайка. Если я достаточно хорошо знаю и си, и java, то трудностей написания ни на том, ни на другом языках у меня не будет.
Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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