LINUX.ORG.RU

у C есть только один логический путь C -> Limbo -> Go.. а C++ - это фетишизм.

PexuOne ()

Не надо мнения о языке вне толксов.

Bfgeshka ★★★★★ ()
Ответ на: комментарий от PexuOne

мб ещё rust - но он пока что просто не дорос по качеству - сырой

PexuOne ()

А что, не надо было переводить?

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)

Подождём C++27, там может и что годное выйдет. Ну я думаю все кто писал на 98/03 согласятся что стало много приятней в 14?

anonymous ()

путях развития
c++

No way.
Хотя я нормально отношусь к плюсам.
А истинный™ путь развития - это метаязык, на котором можно делать свои языковые конструкции и пути исполнения кода. Такой, чтобы любой существующий язык мог быть им выражен. После этого границы между языками программирования исчезнут, останутся только компиляторы, vm и библиотеки.

crutch_master ★★★★★ ()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от crutch_master

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

Это верная смерть от переизбытка плохослепленных метавелосипедов.

anonymous ()
Ответ на: комментарий от crutch_master

это метаязык

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

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

PexuOne ()
Ответ на: комментарий от crutch_master

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

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

Im_not_a_robot ★★★ ()
Ответ на: комментарий от crutch_master

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

В C++23 могут метаклассы завезти (по крайней мере Херб Саттер на это оптимистично надеется). Это будет даже не шаблонное метапрограммирование на стероидах, а что-то «посильнее Фауста Гётте» :)

А поскольку до сих пор раздаются стенания о том, что «современный C++ с auto и лямбдами читать невозможно», то тогда количество гнилых помидоров, бросаемых в C++, вырастет многократно.

ЗЫ. Для желающих получить представление о том, что нас ждет в C++20, две свежих ссылки по результатам заседания комитета, прошедшего на прошлой неделе:

https://www.reddit.com/r/cpp/comments/9vwvbz/2018_san_diego_iso_c_committee_t... — более-менее подробный перечень

https://herbsutter.com/2018/11/13/trip-report-fall-iso-c-standards-meeting-sa... — менее подробный отчет от Херба Саттера, но с его личным мнением по некоторым вопросам.

eao197 ★★★★★ ()
Ответ на: комментарий от PexuOne

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

Ну так не пиши на нём говно и будет всё нормально.

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

Нее. Если бы можно было сделать свой foreach и перегрузить все операторы было бы почти оно. Добавить туда свои реализации примитивных типов, метки, типа этот кусок компилируется, этот работает с vm..

crutch_master ★★★★★ ()
Ответ на: комментарий от Im_not_a_robot

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

Так никто не заставляет писать галиматью. Сделай в проекте жесткие ограничения, типа, мы не пишем auto НИГДЕ и всё нормально. Если кто-то не может себя сдерживать, чтобы не говнокодить - это уже другие проблемы.

crutch_master ★★★★★ ()
Ответ на: комментарий от anonymous

Это верная смерть от переизбытка плохослепленных метавелосипедов.

Вы не поняли меня чуть чуть. То о чём я говорю: программа начинается с того, что ты сначала объявляешь на чём её будешь писать. Типа у тебя портянка такая, а там код c++, например, который ты откуда-нибудь скачал. Дальше ты просто всё это берешь и пишешь на плюсах как обычно.

crutch_master ★★★★★ ()

Ваше мнение

Всегда!

mos ★★★★★ ()
Ответ на: комментарий от crutch_master

Т.е. ты предлагаешь ввести в язык много всякого а потом ввести «жёсткие ограничения» и всё это не использовать? Хитро'...

ZweiStein ()
Ответ на: комментарий от crutch_master

В исходниках C++ можно вместо if использовать «Если», а затем «одним движением руки ...».

vladimirmir2016 ()
Ответ на: комментарий от ZweiStein

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

crutch_master ★★★★★ ()
Ответ на: комментарий от anonymous

Тут главное не покрыться плесенью в ожидании нового стандарта C++22,24, 27😉

anonymous ()
Ответ на: комментарий от vladimirmir2016

Я хочу такой if, в котором кроме else {} будет nullcase {}, который будет выполнятся, если переменная в if == NULL.

crutch_master ★★★★★ ()
Ответ на: комментарий от crutch_master

Т.е. ты предлагаешь упростить вредительство? Ясно.

ZweiStein ()
Ответ на: комментарий от crutch_master

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

Несколько горячих голов лет двенадцать назад попытались сделать это новом и молодежном (на тот момент) языке Nemerle. Вроде как после длительных мучений пациент таки скончался.

eao197 ★★★★★ ()
Ответ на: комментарий от ZweiStein

Для тебя разработка яп == вредительство? Никто не заставляет писать на васянских яп. Впрочем если их яп действительно будут хороши, то почему нет?

crutch_master ★★★★★ ()
Ответ на: комментарий от eao197

Почему скончался? Вики говорит, что под моно можно покодить на нём даже.

crutch_master ★★★★★ ()
Ответ на: комментарий от crutch_master

Но как там можно что-то человекочитаемое писать?

Видимо также, как на Прекрасном C++ Будущего.

O02eg ★★★★★ ()

Спасибо, вполне интересно.

У вас cow-строки тормозят меньше, чем стандартные? Их же потому и запретили делать cow, что на многоядерных системах они люто тормозят.

Я понимаю, что в старой кодовой базе, расчитаной на использование cow везде копирования на каждый чих. Но перевод на std::string + string_view + move, по идее, должен дать заметный прирост в скорости. Тем более, что можно переводить по кускам. Вы этим как-то занимаетесь, или забили и живёте с cow?

Ivan_qrt ★★★★ ()
Ответ на: комментарий от crutch_master

Почему скончался?

Раз врач сказал в морг, значит в морг.

Потому что первоначальные авторы языка, два польских аспиранта, забросили свою игрушку вскоре после защиты диссертаций. Развитие Nemerle подхватила группа упоротых .NET-чиков с RSDN.ru. С замахом на захват всей вселенной, естественно. Потом энтузиазм поугас. И разработка зачахла. Не помогло даже то, что нескольких ребят из этой группы на какое-то время приютил под своей крышей JetBrians (т.е. люди пилили что-то связанное с Nemerle в JetBrians за деньги).

Вроде как сперва были планы по Nemerle2, которые затем выродились в инструмент Nitra для упрощения разработки своих языков программирования. Но Nitra — это всего лишь инструмент, а Nemerle, судя по всему, давно и безнадежно заглох.

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

eao197 ★★★★★ ()
Ответ на: комментарий от crutch_master

Но опыт интересный.

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

Что, впрочем, показал опыт Lisp-ов давным давно. Но кто-то все равно предпочитает учится только на собственном опыте.

eao197 ★★★★★ ()
Ответ на: комментарий от eao197

Что, впрочем, показал опыт Lisp-ов давным давно

Так в лиспе ничего толком и не было такого, кмк.

а в массовом софтостроении востребованы унифицированые и стандартизированные

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

crutch_master ★★★★★ ()
Ответ на: комментарий от crutch_master

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

А ты много «язычков» разработал? Трудоемкость представляешь?

tailgunner ★★★★★ ()
Ответ на: комментарий от crutch_master

Так я и не говорю о массовом.

Это заметно. Между тем то, как выглядят востребованные и более-менее распространенные языки, определяется именно массовым их применением.

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

eao197 ★★★★★ ()
Ответ на: комментарий от tailgunner

А ты много «язычков» разработал? Трудоемкость представляешь?

Так ничего сложного и не надо. Вон дотнет поддерживает c#, vba и еще что-то. Есть какой-то интерфейс, а там уже пили под него что хочешь. В конце концов всё можно оттранслировать в существующий яп.

crutch_master ★★★★★ ()
Ответ на: комментарий от crutch_master

А ты много «язычков» разработал? Трудоемкость представляешь?

Так ничего сложного и не надо.

Судя по тому, что на вопрос ты не ответил, «язычков» ты не разрабатывал. Так вот, их разработка не бесплатна. И чтобы она окупилась (чисто по трудоемкости) одной «какой-то прикладной задачи» может не хватить.

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

В конце концов всё можно оттранслировать в существующий яп.

Ясно. Теперь я уверен, что «язычков» ты не разрабатывал.

tailgunner ★★★★★ ()
Ответ на: комментарий от eao197

Это заметно. Между тем то, как выглядят востребованные и более-менее распространенные языки, определяется именно массовым их применением.

Я скажу, что это не совсем так. И даже вообще, совсем не так. То как они выглядят определяет некая кучка людей, которые имеют какую-то свою точку зрения. Получается +- удобно, потом всплывают какие-то косяки и часть теоретически полезных фич вообще не используют под страхом кары. Вот в яве, например, есть += в строках и выясняется, что это использовать нельзя. Но они есть.

crutch_master ★★★★★ ()
Ответ на: комментарий от tailgunner

Ясно. Теперь я уверен, что «язычков» ты не разрабатывал.

Так я это и не скрывал.

crutch_master ★★★★★ ()
Ответ на: комментарий от crutch_master

Теперь я уверен, что «язычков» ты не разрабатывал.

Так я это и не скрывал.

По вот этому:

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

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

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

Так вот, их разработка не бесплатна

Ну, смотри. Мне в js нужен свой foreach (var e : arr), который будет делать тоже самое, что for (var i = arr.length-1; i; i--) {var e = arr[i]; ...} Зачем? Чтобы не делать копипаст. Почему не for..in/for..of? Они тормозные и делают не то, что надо. Сколько стоит такое сделать? Почти нисколько - это один replace в коде. Так почему бы не сделать язык таким, чтобы можно было вводить в него какие-нибудь конструкции? В Array.prorotype, например, уже можно чего угодно напихать. Да, делать этого не стоит и лалала, ну, ок можно сделать что-то, чтобы твои костыли были только в твоём блоке кода.

crutch_master ★★★★★ ()
Ответ на: комментарий от tailgunner

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

Какой нужен положительный опыт? Я делал макрос на си, мне понравилось. Сойдёт за положительный опыт? Или надо обязательно ынтерпрайз мегапроект?

crutch_master ★★★★★ ()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от crutch_master

чтобы твои костыли были только в твоём блоке кода

Есть ощущение, что к разработке софта (по крайней мере к серьезной) вы не имеет ну никакого отношения. Поскольку в оной разработке нет таких штук, как «твои костыли» и «твой блок кода».

Отсюда и ваши мечтания о метаязыках.

eao197 ★★★★★ ()

1С - вендкузятникопроблемы.

invy ★★★★★ ()
Ответ на: комментарий от crutch_master

Такое впечатление, что ты не читаешь того, что тебе пишут. Еще раз: окей, тебе нужна конструкция для итерации с блэкджеком и шлюхами (ты называешь ее foreach), потому что for якобы медленный. Прикинь: 1) расходы на реализацию 2) выигрыш по времени от реализованного.

ну, ок можно сделать что-то, чтобы твои костыли были только в твоём блоке кода.

Ага. И так сделает каждый. И будет у вас N вариантов foreach.

tailgunner ★★★★★ ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей