LINUX.ORG.RU

Страуструп о будущем семантических средств разработки с комментариями

 ,


2

0

У Страуструпа имеется книжка о развитии и о будущем средств разработки для языка C++, "Дизайн и эволюция языка C++", в частности о поддержке семантического программирования. Интерес представляют комментарии к книге данные Евгением Зуевым, одним из известных советских программистов и разработчика компилятора C++.

Отредактировано anonymous_incognito

>>> Подробности

Re: Страуструп о будущем семантических средств разработки с комментариями

> не любят питон наверное потому что половина программы на питоне - это с/с++ и биндинги к питону. ну и работает поэтому быстро - это всех раздражает.

Еще раз. И медленней пожалуйста.

cab ★★★★ ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>пруфлинк по _количеству_ в студию или идите на йух, уважаемый аналитик

В свою очередь прошу пруфлинк на определение "компьютере простого пользователя", потом приведите пруфлинк на _количество_ программ на этом компьютере, написанных на C++ и соотношению с остальными программами. Или поступите проще - идите на йух сразу.

Мне вот интересно всегда было кто это такой - простой пользователь и какой у него компьютер?

morbo ()

Re: Страуструп о будущем семантических средств разработки с комментариями

не сидели бы. Потребность в ГУИ, и соответствующие реализации, возникли до появления С++ или жабы. А привычный вид программы тоже дело десятое. Главное функциональность и удобство для глаз. У жабы с этим, действительно, были проблемы. Но ГУИ только С++ и жабой не ограничивается.

cab ★★★★ ()

Re: Страуструп о будущем семантических средств разработки с комментариями

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

anonymous ()

Re: Страуструп о будущем семантических средств разработки с комментариями

Друзья, открываем Абельсона 194 стр. и читаем прим. "...Основная разница между той путаницей, которая была десять лет назад, и той, которая есть сейчас, состоит в том, что теперь множество неадекватных отнотологических теорий оказалось воплощено в массе соотвественно неадекватных языков программирования. Например, львиная доля сложности объектно ориентированных языков программирования - и мелких невразумительных различий между сорвеменными объектно-ориентированными языками, - состредоточена в том, как рассматриваются обобщенные операции над взаимосвязанными типами... Читатели заметят что нам есть что сказать в главе 3 о локальном состоянии , но мы ни разу не упоминаем классы и наследование. Мы подозреваем что на самом деле эти проблемы нельзя рассматривать только в терминах проектирования языков программирования, без обращения к работам по представлению знаний и автоматическому логическому выводу"

kristall ★★ ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>что же жабка не пополнила свои ряды за счёт кодеров на с++?

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

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


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

>я открою срашную корпоративную тайну


Это глупость.

>предлагаю самостоятельно додумать почему додиез


Если C++ меня хоть как-то интересует, то C# меня он вообще не интересует. Поскольку как раз не переносим фактически.

morbo ()

Re: Страуструп о будущем семантических средств разработки с комментариями

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

И как он, бедный, по сайтам лазит? Какждый, поди, разный. И с мобилками - тоже

cab ★★★★ ()

Re: Страуструп о будущем семантических средств разработки с комментариями

Самое коммерчески успешное семейство программ написано на С++; Сfмые распространённые (от винды до mail.ru через фотошоп) - тоже.

anonymous ()

Re: Страуструп о будущем семантических средств разработки с комментариями

первый нормальный ОО язык - это тот, который на ура приняли как в университетнской, так и промышленной среде.

Угадай какой? Java!

В 96 году бесплатный компилятор с бесплатной ВМЕНЯМОЙ библиотекой и бесплатным ВМЕНЯЕМЫМ GUI.

На Западе тогда это была сенсация!

Собственно поэтому Java - стандарт де-факто.

А теперь попробуй выбрать тоже самое для крестов в 96 году.

ПС. С другой стороны тогда бешенной популярностью пользовался Visual Basic.

Он первый предложил доступную IDE с доступной библиотекой и доступным GUI по доступной цене (в т.ч. и бесплатно).

Причем сделал именно ПЕРВЫМ - в 91 году.
Visual Basic for DOS до сих пор остается ЕДИНСТВЕННЫМ RAD для DOS.

anonymous ()

Re: Страуструп о будущем семантических средств разработки с комментариями

да? а у меня на всех сайтах все элементы управления (кнопки, комбобоксы, етс) родные. и корпорация мозилла специально прикладывала усилия, чтобы было именно так. вот дураки, да?

anonymous ()

Re: Страуструп о будущем семантических средств разработки с комментариями

> Самое коммерчески успешное семейство программ написано на С++;

Распространенность это не аргумент. Иначе придется считать Виндовс самой лучшей ОС ;)

cab ★★★★ ()

Re: Страуструп о будущем семантических средств разработки с комментариями

Не в элементах управления дело. А в том, что дизайн каждого сайта - индивидуален. Однако все находят то, что им нужно.

cab ★★★★ ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>Да, пополнила, о том и речь.

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

ну и сама концепция ограничения программиста "безопасностью" оруэловщину и новояз не напоминает?

>Заметьте - пользователи предпочитают, а не программисты. Предпочитают по простой причины - много памяти кушает.

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

>Это глупость.

ну разумеется глупость. наслаждайтесь вашей глобальностью и надёжностью.

anonymous ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>дизайн каждого сайта - индивидуален

полистайте вы эти сайты дальше домашней страницы. там все страницы разные наверное. или всё-таки сделаны в одном стиле? вёрстка сайтов - это вообще отдельная тема. на некоторых сайтах приходится поискам искать строку "search".

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

anonymous ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>Вообще для меня всегда было загадкой, почему Си++ здесь встречает такую нетерпимую реакцию.

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

Absurd ★★★ ()

Re: Страуструп о будущем семантических средств разработки с комментариями

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

Вы ещё скажите, что большинство ЛОРовцев не освоили винду, и поэтому они так нетерпимо к ней относятся.

"C++ - стройная система костылей и подпорок" (c)

Потому и не любят.

morbo ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>Первым ООП-языком был Simula-67. Похоже, и единственно-вменяемым для изучения и понимания.

Из википедии: "В современной терминологии Simula 67 можно охарактеризовать как объектное расширение Algol 60."

То есть расширение, но не язык в целом. Я считаю этот язык языком с абстрактными типами данных, но не ООЯ в полном понимании этих слов.

morbo ()

Re: Страуструп о будущем семантических средств разработки с комментариями

плачут, колются, но продолжают жрать кактус? предложите замену. пока что только питон и с/с++ библиотеки с биндингами для питона. как вариант, что-то из функциональных языков с такими же биндингами. но я лично предпочитаю языки которые не ограничивают меня какой-то там парадигмой, которую неизвестный мне дядя считает подходящей для языка программирования.

anonymous ()

Re: Страуструп о будущем семантических средств разработки с комментариями

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

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

>т.е. удешевление разработки и отладки приложений написанных неквалифицированными программистами.


Вот именно! Людям делом нужно заниматься, программы писать, а не язык изучать. В последнее время я наблюдаю, что программы становятся не продуктом, а сервисом. В такой ситуации конкурентным преимуществом становится скорость разработки и лёгкость сопровождения.

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


То есть автор языка C++ заведомо создал проблемы разработчикам, потому что ему так было проще придумать язык? См. на пример с C++ и уход программистов на конкурентные языки.

>ну разумеется глупость. наслаждайтесь вашей глобальностью и надёжностью.


Я не наслаждаюсь глобальностью и надёжностью, это похоже вы ею наслаждаетесь. "C++ - это глобально и надёжно", пытаетесь убедить меня Вы. А я считаю, что есть место и asm, и c, и java, и python и ...

morbo ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>Неужели нужно продираться сквозь искусственную сложность языка?

в каком месте сложность искуственная?

>Людям делом нужно заниматься, программы писать, а не язык изучать.

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

>См. на пример с C++ и уход программистов на конкурентные языки.

программисты ушли, пользователи остались. даже если они не представляют на чём написана программа, они предпочтут "тоже самое, но не тормозит".

>я считаю, что есть место и asm, и c, и java, и python и ...

есть конечно. только это не убер-языки, с++ киллеры, как нас пытаются убедить отдельно взятые товарищи открывшие для себя сборщик мусора (30 лет спустя, ага). и с++ никуда не денется, потому что замены ещё не придумали.

anonymous ()

Re: Страуструп о будущем семантических средств разработки с комментариями

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

Дело скорее в использовании third-party кода. Одно дело отыскивать мемори лик или memory corruption в одной из двадцати third-party библиотек, другое дело иметь гарантии что как минимум мемори ликов & сегфолтов там нет. Это одна из причин ксенофобии С++ программистов к чужому коду - каждый предпочитает пасти свои велосипеды.

Absurd ★★★ ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>в каком месте сложность искуственная?

Во многих местах, в треде кидали ссылки на статью разработчика компилятора C++.

Искусственно напрмер то, что это не целостный язык, а костыльно-подпорочное расширение C. К примеру, я считаю, что Objective-C был гораздо более продуман и привнёс гораздо меньше избыточности в C, по сравнению с C++.

>пусть пишут свои программки на бумаге если не хотят язык изучать. вот смотрите: "сделай мне вебсервер". круто? и язык не надо изучать.


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

Опять-таки, не нужно пытаться убедить меня в том, что "C++ - глобально и надёжно"

>программисты ушли, пользователи остались. даже если они не представляют на чём написана программа, они предпочтут "тоже самое, но не тормозит".


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

>есть конечно. только это не убер-языки, с++ киллеры, как нас пытаются убедить отдельно взятые товарищи открывшие для себя сборщик мусора (30 лет спустя, ага).


Да я вообще несеръёзно воспринимаю любых "киллеров".

>и с++ никуда не денется, потому что замены ещё не придумали.


Никуда не денется, только не стоит переоценивать его важность, со временем он будет уходить на второй план, как и Perl.

morbo ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>Не нужно бороться. Нужно сначала научиться правильно его использовать.

Ага, тоесть ЯП нужен что-бы его годами изучать, захлебываясь слюной обсуждать на РСДН костыльную реализацию темплейтами казалось бы простых фич, которые должны быть встроены в язык напрямую и приносить в полнолуние жертвы Александреску? Ок, теперь я понял точку зрения плюсатников.

Sidrian ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>Соглашусь, что C++ убог только на условиях, что настолько же убоги лисп, питон, паскаль, джава и C#. Либо одинаково хороши.

Детский сад...

Sidrian ()

Re: Страуструп о будущем семантических средств разработки с комментариями

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

Ну так может перепишешь его на крестах, раз такой умный? Глядишь и автомат получишь по информатике за такое упорство.

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

Какие-то у тебя неправельный знакомые эмбедщики. В этой области на чистом Ц пишется значительно больше.

>Хммм, может просвятишь про этот список, а то столько слов вместо того чтобы хотя бы парочку перечислить.

Деточка, я же сказал, что это будет твоим домашним заданием.

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

Это только школьники вроде тебя могут перепутать.

Sidrian ()

Re: Страуструп о будущем семантических средств разработки с комментариями

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

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

Sidrian ()

Re: Страуструп о будущем семантических средств разработки с комментариями

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

Как я был поражён, когда увидел в C-исходниках Quake 2 настоящее объектно-ориентированное программирование! На C! Объекты! Меня не переклинило, Кармак действительно мыслил в объектах, но писал на императивном языке!

С тех пор я довольно подозрительно отношусь к преимуществам C++ перед C. Хороший программист легко обойдется без наворотов C++.

morbo ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>расскажи про объекты в функциональных языках

Это к ВСЛ, он любит быдло на шару просвещать. А пока отправляйся в ВИКИ прозревать OCaml и CLOS. Ну или продолжай веселить местную публику своей тупостью. Неудивительно, что ты зарегиться боишься...

Sidrian ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>Искусственно напрмер то, что это не целостный язык, а костыльно-подпорочное расширение C.

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

жабка кстати тем же страдает. только она не совместима, а "я хочу быть как с++, но не могу".

>Такой хернёй большинство заниматься не будет

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

>Во многих случаях пользователи предпочтут то решение, которое работает, а не то, которое не тормозит, но и не работает.

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

>Никуда не денется, только не стоит переоценивать его важность, со временем он будет уходить на второй план, как и Perl.

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

anonymous ()

Re: Страуструп о будущем семантических средств разработки с комментариями

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

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

> Людям делом нужно заниматься, программы писать, а не язык изучать.

Вот так и рождаются быдлокодеры...

JackyTreehorn ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>конечно если сделать новый язык не совместимый со старым, то да, получится красивее. с этим никто не спорит. зато взамен - полная совместимость с си

Я бы это назвал "паразитизмом на Си" или "канцерогенным образованием на Си"

Absurd ★★★ ()

Re: Страуструп о будущем семантических средств разработки с комментариями

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

JackyTreehorn ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>да, именно поэтому так и любят "время до выхода на рынок". только что потом делать с разбегающимися пользователями?

К тому времени, как заработает первая аналогичная программа на C++ возможности аппаратуры нивелируют разницу в скорости между программами. Пользователи не разбегутся, т.к. у них к этому времени будет уже готовое работающее решение. А вот программа на C++ будет гораздо дороже, поскольку над её разработкой будут трудиться более квалифицированные программисты и в течение большего времени. Получится неконкурентноспособная программа.

>не со временем, а когда появится адекватная замена. хотя конечно если адекватная замена появится со временем, то да, со временем будет уходить.


Почему должна появиться именно ОДНА ЕДИНСТВЕННАЯ ЗАМЕНА? Разные языки будут откусывать по куску от ниши C++, и в конце концов от него ничего не останется. И это уже происходит.

morbo ()

Re: Страуструп о будущем семантических средств разработки с комментариями

> Какие-то у тебя неправельный знакомые эмбедщики. В этой области на чистом Ц пишется значительно больше.

То-то в объявлениях о вакансиях все время пишут: "очень хорошее знание с++".

JackyTreehorn ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>Вот так и рождаются быдлокодеры...

ЛОЛ жесть, а "небыдлокодер" - это тот, кто зубрит синтаксис и коллекцию костылей одного конкретного языка? Повеселил.

Sidrian ()

Re: Страуструп о будущем семантических средств разработки с комментариями

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

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

Sidrian ()

Re: Страуструп о будущем семантических средств разработки с комментариями

> Я говорил не о высшем пилотаже, каким является метапрограммирование,

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

anonymous ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>То-то в объявлениях о вакансиях все время пишут: "очень хорошее знание с++".

Я в этой области работаю, а не по вакансиям с с сайтов работы выводы делаю.

Sidrian ()

Re: Страуструп о будущем семантических средств разработки с комментариями

> Метапрограммирования является "высшим пилотажем" именно из-за ужасно кривой реализации оного в крестах.

Только для тех, кто ниасилил. Я уже понял, ты один из них ;)

> И не нужно мне предлагать очередной костыль для борьбы с утечками.

Для кого как. Для меня сборщик мусора - еще больший костыль.

JackyTreehorn ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>Не надо приписывать мне свои собственные мысли, я такого не говорил.

Поздно оправдываться, ты спалился. Типичный плюсатник, который место того, что-бы СИКП или АОКП почитать дрочит на буст.

Sidrian ()

Re: Страуструп о будущем семантических средств разработки с комментариями

>Получится неконкурентноспособная программа.

время покажет.

>Разные языки будут откусывать по куску от ниши C++

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

хотя см. выше. время рассудит.

anonymous ()

Re: Страуструп о будущем семантических средств разработки с комментариями

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

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

>Вот так и рождаются быдлокодеры...


Ну да, к сожалению это рынок. Кодеров нужно много, писать программы нужно быстро.

Быдлокодеры пишут на всех языках, в том числе и на С++, страдая от чувства собственного величия. Уж лучше они будут плохо знать Java, нежели плохо знать C++, согласитесь?

morbo ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.