LINUX.ORG.RU

Почему ООП стало более популярным и соответствующие языки и технологии программирования чем то же ФП?

 ,


2

4

Заранее прошу прощения за то, что не в Talks, а сюда. Так получается, что теперь в Talks просто так постить нельзя, нужна некая карма и я должен «страдать» (Почему я не могу писать в раздел Talks? (комментарий)). Я в упор не помню данные своего старого аккаунта. Зарабатывать карму здесь и сейчас у меня нет ни времени, ни возможности, ни необходимости. Почему сюда, а не на другие форумы? Потому что считаю, что здесь обитают люди, которые смогут ответить на вопросы ниже и, возможно, даже, которые застали те самые времена (если конечно те самые люди ещё здесь).

Всем доброго времени суток! Не срача ради, а понимания для. Хочется понять историчность и почему так произошло. Понятно, что сейчас уже стали внедрять функциональные фичи много куда (в те же Java, C++, C# и т.д.). Стало появляться много функциональных языков (в том числе совсем новых). Но почему спустя столько времени? Почему спрашиваю:
- Functional programming has its origins in lambda calculus, a formal system developed in the 1930s (!!!) to investigate computability, the Entscheidungsproblem, function definition, function application, and recursion. Many functional programming languages can be viewed as elaborations on the lambda calculus (отсюда: https://en.m.wikipedia.org/wiki/Functional_programming);
- Lisp появился ажно в 1958 году;
- после лиспа ещё была целая куча функциональных языков (APL, IPL, ML, Miranda, Erlang, etc.);
- C++ в 1985;
- Haskell в 1990;
- Java в 1995;

Сама идея ООП (и то я так понял весьма размытая, каждый понимал (и, кстати, по-моему до сих пор понимает) по-своему) вроде как витала со времени создания самого лиспа, но до конкретных реализаций она добралась ближе к концу 80-х - начала 90-х годов.
(поправьте меня, если не прав)
И это ещё при всём при том, что ФП имеет под собой весьма конкретный математический базис (чего я, пожалуй, не могу сказать про ООП).
Я так понял, что благодаря таким крупным компаниям как Microsoft, Oracle...
Но почему они так сильно повлияли на развитие этих технологий и как именно они это сделали я, честно говоря, не совсем понимаю.
Ок, ладно, тогда железо было не такое как сейчас, памяти было маловато для нормального существования функциональных языков на x86 платформе.
Но ведь была же та же, например, Symbolics, которая вроде бы весьма активно продавала лисп-машины?
Ок, Symbolics развалилась благодаря неблагоприятному стечению обстоятельств и «эффективным» манагерам, но их наработки оказались никому не нужны что ли?
И опять-таки, когда нужное железо появилось почему выбор этих и других крупных компаний пал именно на эти языки?
Почему не на функциональные языки?
Потому что в то время функциональные языки в основном использовались сугубо в академической среде или как?
Или если перефразировать всё вышесказанное словами моего коллеги: «если всё так круто (про ФП), то почему оно ещё не захватило рынок?»

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

Вы считаете, что нельзя разговаривать с хамом вежливо? Что конкретно вам кажется лицемерным? Хотя бы один пример?

knovich
()

Symbolics вообще-то продвигали ООП сильнее чем ФП, одними из первых прикрутили к лиспу объектную систему, Flavors.

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

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

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

Альтернативой была хэш-таблица - структура данных, строящаяся в runtime, жирная, с небыстрым [O(c)] извлечением элемента. Конечно struct (если он решает твою задачу) будет эффективнее в силу того, что компилятор знает что с ним делать; если только это не Python, там использовать class для хранения данных - это антипаттерн.

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

Что *конкретно* плохо в реализации С++-лямбд?

С++ накладывает ограничение языка на реализацию лямбд

Масло масляное. Что *конкретно* плохо? Какие *конкретно* ограничения? Возможно ли обосновать этот лозунг? Мне самому интересно. Только не вкусовщина «синтаксис не как в хаскелле». Функции в С++ - и анонимные, и именнованные имеют синтаксис сишных функций - и это нормально.

Имхо, лямбды в С++ самые мощные из тех, что есть. Явное указание замыкания необходимо для языка без GC по умолчанию. Если надо - банально всё захватывается в замыкание по ссылке или значению.

Вот «в С++ лямбдах нужно помнить про лайфтаймы объектов и всё с этим связанное» - это уже конкретнее, а не просто лозунги. Но все средства С++ по облегчению управлением памятью (умные указатели, Copy On Write, возможность запилить GC) спокойно работают в лямбдах.

arturianec100
()
Ответ на: комментарий от Hertz

Если бы были базовые знания Си - не было бы такой каши. Лично я не написал ни одной строчки на Си, писал немного только на С++, C#, питоне, жсе... Но даже я знаю, что struct - это ОДИН malloc и доступ к элементам за О(1). Хэш-таблица же - один malloc на саму хэш-таблицу, и по одному malloc на КАЖДЫЙ ключ и КАЖДОЕ значение. И доступ к элементам далеко не О(1).

Объект с 10 полями на struct - всё тот же один malloc и быстрый доступ. Объект с 10 полями на хэш-таблице - 21 malloc и скорость доступа ниже с каждым элементом.

arturianec100
()
Ответ на: комментарий от abcq

Я правильно понимаю, что вы изначально не планировали отвечать на мой вопрос «то именно плохо в реализации С++-лямбд?» и просто решили пофлудить?

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

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

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

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

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

видите проблемы реализации

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

Вообще, имхо, лямбды в С++ нужны в первую очередь ради «объявил и сразу использовал». В таком случае не надо задумываться над освобождением памяти. Конечно, можно «гонять» эту лямбду по всей программе, но это bad practice, тогда лучше заводить новый класс, где прописать кто чем владеет и т.п.

arturianec100
()
Ответ на: комментарий от abcq

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

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

struct существует только до компиляции. После прямой доступ по смещению от адреса объекта. Список = структура из двух полей на каждый элемент списка. Хэш ещё сложнее. Соответственно, скорость доступа к элементу списка или хэша на порядок (десятичный) меньше.

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

Соответственно, скорость доступа к элементу списка или

Зачем пишешь херню? У списка нету произвольного доступа - это фундаментальная проблема и списка и мусорного фп. О каком-то доступе в контексте списка вообще не приходится говорить. Список можно только обходить.

хэша на порядок (десятичный) меньше.

Больше. К тому же - константа в хешмапе стоит очень дорого по памяти. А мелкая летенси ещё большего оверхеда.

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

У списка есть произвольный доступ. В лиспах assoc или assq. Время доступа примерно пропорционально позиции поля в списке. И достоверно известно, что если полей не больше десяти, то доступ к элементу списка быстрее, чем к элементу хэша.

Что касается ФП, то не обязательно его строить на списках. В функциональных языках есть массивы. И есть ребол, у которого базовая структура - массив.

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

Если честно, я бы хотел прекратить эту бессмысленную переписку, особенно учитывая, что читая вас я прекрасно понимаю что вы осведомлены о всех «неприятных» (неприятных лично для меня) сторонах С++. Но с другой стороны, я бы не хотел оставлять вас без ответа, вы вроде вполне адекватный собеседник, поэтому ответ ниже, хоть он и не представляет ничего нового, чего бы я не говорил ранее.

Про это я и говорю, что слишком много «но», они дисгармоничны, но с этим нельзя ничего поделать, любая попытка сделать «лучше» будет накладывать оверхед, а следовательно идеологически не подходит для таких языков, да и смысла никакого нет делать еще один хаскель или что-то подобное. Поэтому вообще непонятно для чего в язык вводятся эти попытки соответствовать модным трендам, как будто те же лямбды вывели язык на новый уровень, очевидно же, что нет. А тем временем у языка есть и другие проблемы, по моему мнению. И в итоге весь язык «ломается» под грудой условностей, напоминая перегруженный gui.

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

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

Очевидно, что да. Вывели.

Но если вам это не очевидно, то либо вы C++ не используете вообще, либо довольствуетесь подмножеством «Си с классами».

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

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

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

Так С++ это и есть груда костылей над С, не пытайтесь его выдать за самостоятельный самобытный язык. Да удобнее чем С на большинстве задач, никто не спорит, но факт остается фактом, стоит лишь копнуть поглубже, и вы правы стараюсь не пользоваться без нужды (нужды не возникало уже очень много лет), я не могу сказать что язык плохой или что-то еще, но он как это модно сейчас говорить «душный» и «уродлив по рождению», и с каждой попыткой впихнуть в него еще что-то с завидным постоянством отваливается штукатурка скрывающая это уродство, есть куда более приятные инструменты (в которых штукатурка слоем потолще и держится покрепче)

abcq ★★
()
Ответ на: комментарий от quantum-troll

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

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

Пространством определения, наличием инкапсуляции

Это дают модули. Вот, например, как в Idris: http://docs.idris-lang.org/en/latest/tutorial/modules.html
Как видно, никакого отличия от ООП без наследования кроме синтаксиса (toTree foo vs foo.toTree())

quantum-troll ★★★★★
()
Ответ на: комментарий от abcq

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

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

с этим нельзя ничего поделать

В контексте С и С++ только если очень сжатые сроки на разработку. С и С++ - это свобода и фундаментальность. За счёт этого в них можно реализовать любые концепции какие захочешь. Главное понимать как они работают на лоу левел. Сборка мусора, ленивые вычисления, зелёные потоки - всё это можно реализовать средствами С и С++. И никакой Страуструп не может вам запретить это сделать. Да, синтаксис будет не как в хаскеле, иногда более многословный, но главное - возможность самому реализовать нужную концепцию, даже если все гуру говорят, что это не нужно. Опять же, нужна та или иная концепция или нет - другой вопрос, но каждый решает для себя сам, а не решает один гуру за всех.

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

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

из крайности в крайности в страстях колотиться

У него сформированы взгляды на то, о чём говорит. Он НЕ противоречит сам себе. Зато противоречит каждому оппоненту. И его злит, когда оппонент по ходу дела чуть-чуть меняет мнение (переобулся).

любая попытка усложнение сишного фундамента это оверхед и костыли над си

Не могу сказать за фортран, алголы, кобол, но все современные языки построены на сишном фундаменте. Весь рантайм питона, js'а, руби, луа и прочей скриптухи и даже джавы построен на С/С++. Если код на языке работает только внутри программы на си, то этот язык построен на сишном фундаменте, не так ли? Даже компилятор раста на расте построен на сишном llvm и все концепции построены на базе сишных концепций. Благодаря си существуют растовские концепции, именно благодаря коду на С++ программа на расте превращается в исполняемый файл. (именоо бэкенды на С++ генерируют машинный код).

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

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

С и С++ - это свобода и фундаментальность.

О, анекдоты подвезли.

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

Да, у меня серьёзный пробел в знании структур данных и их особенностей. Спасибо за ликбез! monk, спасибо!

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

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

Очередные детские фантазии. В начале 60х США осознали, что у них нет космической отрасли и вся декада была посвящена её созданию. Выделялись гранты на подготовку учёных и инженеров, которые воплотят фантазии учёных в реальность. В 70х же, когда гонка за Луну была выиграла, куча готовых инженеров оказалась не нужна и они нашли свое место в развивающейся индустрии разработки ПО. Оттуда и корни инженерной дисциплины.

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

прикольный ваш световой конус

впк и выхлопа в виде того же Столмана в вашем пространстве события не было.

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

Сильное утверждение, но, как и то, на которое я отвечал, не соответствует действительности.

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

ваше последнее так же истино на вашем предпоследнем

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

Весь рантайм питона, js’а, руби, луа и прочей скриптухи и даже джавы построен на С/С++.

Весь рантайм Red построен на Red/System. Компилятор Red/System собирается REBOL/Core 2.7 (селф-хостинга пока нет). На чём был написан компилятор REBOL 2.7 в 2011 году? Вестимо, на предыдущих версиях REBOL. На чём была написана самая первая версия REBOL, которая не умела селфхоститься? На C. Но это был, если не ошибаюсь, 1999 год. То бишь по сути C ещё с 1999 года не нужен.

rebforce
()
Ответ на: комментарий от arturianec100

Весь рантайм питона, js'а, руби, луа и прочей скриптухи и даже джавы построен на С/С++.

питона, js'а, руби, луа ... джавы

. Ты не угадал ни одного слова в этой букве (((

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

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

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

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

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

при некоторых разумных допущениях... в среднем выполняются за время O(1). Но при этом не гарантируется, что время выполнения отдельной операции мало́.

Может быстрее, а может дольше. Здесь куча нюансов, одного только О может быть недостаточно для оценки применимости. В хэш-таблице надо считать хэши на каждый чих, а «посчитал хэш и сложил два целых числа» всегда медленнее, чем просто «сложил два целых числа». Да и за счёт перестроек таблицы время выполнения одной операции не всегда равно времени выполнения этой же операции в следующий раз.

arturianec100
()
Ответ на: комментарий от rebforce

Весь рантайм Red построен на Red/System.

Когда я писал за фортран, я подразумевал, что есть несколько ЯП, чей рантайм не зависит от сишки, но (почти?) весь мейнстрим - надстройки над сишкой.

То бишь по сути C ещё с 1999 года не нужен.

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

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

Когда я писал за фортран, я подразумевал, что есть несколько ЯП, чей рантайм не зависит от сишки, но (почти?) весь мейнстрим - надстройки над сишкой.

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

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

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

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

Тем не менее, ядра имеются и на Forth, и на Rust написанные. И даже на Lisp.

rebforce
()
Ответ на: комментарий от vertexua

Я понимаю что ты намекаешь на какой-то вывод, но его нету

В первую очередь это ответ на утверждение, что не надо что-то делать на сишном фундаменте. Я рассказал, что все эти концепции удобных ЯП - это всё та же композиция сишных концепций, но с другими приоритетами. В том же питоне используются только те концепции, что есть в си. Просто сделали их использование удобнее, безопаснее и ближе к некоторым прикладынм задачам. Но пожертвовали частью гибкости и скоростью. То есть, что в С++, что питоне и т. п., всё - развитие сишных концепций, но с разными свойствами и приоритетами. В питоне всё в угоду практичности и скорости разработки, в С++ в угоду выразительности, но ни в коем случае не жертвуя скоростью и гибкостью. Но всё «развитие» сишных концепций, где жертвуется гибкость, Царём за развитие не считается.

tl;dr С++ - это развитие на сишном фундаменте в одну сторону, Питон - это развитие на сишном фундаменте в другую сторону, и так с каждым ЯП. От сишных концепций никуда не деться, но можно взять реализацию, где можно решать задачи, почти не напрягая мозг.

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

arturianec100
()
Ответ на: комментарий от rebforce

Мейнстрим потому и мейнстрим, что на него ориентироваться бесперспективно

Мейнстрим решает практические задачи с предсказуемыми затратами ресурсов. Нельзя это недооценивать.

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

Ошибка в том что в данном случае С приватизирует себе все императивное программироание. Вот вы сразу Python к С прилетаете, а не к Паскалю например. Пусть он помер, но это ошибочно на все цеплять этикетку «на основе С». Не всегда, влияния всяких лиспов, окамлов, паскалей, модул очень много

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

Этот пациент

Давно мне не ставили диагноз, «сидя на диване».

идет по стопам сишного буйнопомешанного

Я перенимаю у Царя некоторые концепции из мира программирования. Хамство я не перенимаю. Сколько тупняка было в темах Метапрога и я не переходил в троллинг и оскорбления.

шизофазия

Подмена понятий выглядит мерзко. Шизофазия - бессвязная речь. Если человек говорит/пишет то, с чем кто-то не согласен - это не шизофазия. Пример. «Гитлар был прав, что убивал ж****» - это не шизофазия, это человек по тем или иным причинам ненавидит евреев (да, это незаконно). Шизофазия не имеет никакого отношения к мировоззрению человека, ТОЛЬКО к выражению мыслей.

У Царя не шизофазия, он описывает концепции, которые сильно противоречат взглядам оппонентов. + ещё и хамство и оскорбления. Х. и О. - это плохо, но это никак не шизофазия.

Более того, у него нету личной неприязни, он хейтит только поведение и высказывания оппонентов. Когда я писал то, что он считает бредом - называл меня клоуном и писал про смену методички. Как только я сменил тему и стал делать меньше заявлений - он сразу перестал мне хамить и начал просто разъяснять мне абстрактные вещи, как будто он никогда мне не хамил. Когда я ничего не заявлял ему, а спрашивал, в том числе про проблемы крестов, он нормально мне отвечал. Правда продолжал «эта концепция - говно, а эта - мощная и фундаментальная».

Его хамство - это реакция на ваши (наши) громкие заявления. Если с ним не спорить, а спрашивать - он нормально разъясняет. Да, громкие заявления технического характера не запрещены правилами форума, а хамство и оскорбления - запрещены. Но неприязнь обоих сторон обоснована.

Формулировка «а чего достиг ты? какие проекты ты пилил?» - он говорит, что не твоё дело. Я обозначил предметную область (ORM), где задачи на других ЯП решаются быстрее и проще, чем на С++. Перечислил примеры решения этой проблемы на С++, сказал что они всё-таки нестандартные и громоздкие. Спросил его мнение. Он дал ссылку «мой форк шланга, запилил (не сделаЮ, а сделаЛ) нужные мне фичи, вот туториал, это правильное решение этой проблемы». Прочитав 5% туториала, я осознал, насколько это мощная и гибкая штука, что в моих глазах затмевает макросы лиспов.

Как начнет кидаться, можно вызывать санитаров.

Я не кидался, видя тупняк в Метапроге. С чего бы мне начинать?

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

Более того, у него нету личной неприязни

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

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

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

В царишке смысл, наверное, какой-то есть, но я его отвергаю.

За хамством и оскорблениями (не ко всем) кроется неприязнь к доверчивости и к обучению чему-либо с полным доверием к учителю. А также глубокое понимание сишных и плюсовых концепций + понимание как решать текущие проблемы С++. С развитием гибкости и выразительности, чтобы перегнать питон и прочие ЯП. Жертвуя только ещё бОльшей кривой обучения.

arturianec100
()
Ответ на: комментарий от Virtuos86

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

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

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

ОК, я ошибся. Дело обстоит еще хуже, чем я предполагал. Предлагаю закрыть эту подветку.

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

зря ты Дон ки Хота приплёл. не лезь ты в эту тему. по добру советую.

ты бы всёж оба тома Сервантеса того этого.

а не "... звон ... он"

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

Он дал ссылку «мой форк шланга, запилил (не сделаЮ, а сделаЛ) нужные мне фичи, вот туториал, это правильное решение этой проблемы».

А это сакральное знание или простым смертным тоже доступно?

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