|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
Rust vs C++26.06.2020, 16:10. Показов 47752. Ответов 660
Метки нет (Все метки)
0
|
|
| 26.06.2020, 16:10 | |
|
Ответы с готовыми решениями:
660
[Rust] Обсуждение возможностей и предстоящей роли языка Rust [Rust] Как привязывать WinAPI-функции к коду на Rust? Расскажите о своём опыте программирования на Rust |
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||||
| 20.07.2020, 12:33 | |||||||||
|
Добавлено через 3 минуты Тензор = массив компонент + закон преобразования компонент при замене базиса. .. Добавлено через 48 секунд Добавлено через 7 минут Добавлено через 7 минут Добавлено через 21 минуту Добавлено через 1 минуту Добавлено через 10 минут Речь как раз идет о том что при отсутсвии некоторых ньюансов квалифицированный программист для подавляющего большинства задач будет выбирать именно С++. Исключение составит разве что минорные доделки в большие уже существующие системы на фортране или аде. Ньюанс здесь один - дабы не разводить зоопарк.
0
|
|||||||||
|
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,080
|
|||||||||||
| 20.07.2020, 16:05 | |||||||||||
Вот только речь не о них. По существу: этих мелких задач настолько много, что на поиск готового решения уйдет больше сил, чем на решение.
0
|
|||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||||||
| 20.07.2020, 18:35 | ||||||||||||
|
Добавлено через 6 минут А развивается версия со встроенным С, что за исключением возможности расширять набор компонентов на ней же делает ее практически аналогичной С++ Builder. Так же это говорит о том что с тем что делается путем примитивнейшего формошлепства - т.е. размещения на форме элементов и визуального биндинга каналов ваши физики еще кое как делают, а вот как дело доходит до обработчиков событий сразу требуют квалифицированного специалиста - и правильно делают - назначение CASE технологий не в каком то снижении порога вхождения, а в повышении продуктивности профессионалов. Добавлено через 3 минуты Т.е. низкоуровневыми являются только ассемблеры. А насколько высокоуровневые - это уже другой вопрос. Абсолютно очевидно что С представитель древних процедурных языков, которые по большому счету не более чем переносимые ассемблеры. С++ же - наиболее сверхвысокоуровневый язык на сегодняшний день. Именно по развитости средств создания и использования абстракций. Добавлено через 8 минут Добавлено через 5 минут Добавлено через 8 минут Точно так же как к примеру текстовый редактор или IDE. Добавлено через 11 минут Добавлено через 9 минут Добавлено через 13 секунд Добавлено через 13 минут При этом в одной и той же среде могут использоваться разные языки. К примеру дельфа в той же RAD Studio живет что и С++ Builder. Да и в Visual Studio всякое убожество типа СX и C# тоже тусуется. Кстати и компиляторов плюсов в вижаке искоропки два разных. И еще другие сторонние установить можно. А под линуху - так тока сторонним на линукс-хост компилить отправляет. Добавлено через 1 час 0 минут
0
|
||||||||||||
|
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,080
|
||||||||||||||
| 20.07.2020, 23:36 | ||||||||||||||
|
Ну и симметрично - под мои задачи пока что хватает обычного make, на ограничения я пока не наткнулся (ну, кроме мозговыносящего языка программирования, конечно). Чего конкретно я на нем не могу сделать? Что ни ссылка так пируэт в лужу: Ссылка на рост объема кода винды и линукса - опровергает ваши фантазии. Ссылка на тензор - опровергает ваши слова. Ссылка на системное программирование - опровергает ваши слова. Не надоело еще позориться?
0
|
||||||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||||
| 21.07.2020, 00:35 | ||||||||||
|
Для самых одаренных - еще раз по этой ссылке выделенно жирным шрифтом:
Добавлено через 5 минут Еще раз по приведенной ссылке список того что входит в системное программное обеспечение: Операционные системы Встроенные программы Утилиты Системы программирования - т.е. кроме компиляторов VM и ратаймов еще и: текстовые редакторы — компьютерные программы, предназначенные для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п.; специализированные редакторы исходных текстов — текстовые редакторы для создания и редактирования исходного кода программ. Специализированный редактор исходных текстов может быть отдельным приложением, или быть встроен в интегрированную среду разработки; библиотеки подпрограмм — сборники подпрограмм или объектов, используемых для разработки программного обеспечения; редакторы графического интерфейса. Системы управления базами данных Т.е. вы читать не умеете от слова совсем да? Добавлено через 1 минуту Добавлено через 7 минут Добавлено через 11 минут А касательно 1С - ну у нас ее распространение давно запрещено. При этом даже при том что установленные ранее копии еще продолжают кое-где использовать количество вакансий не превышает 200 в год на всю страну. Добавлено через 3 минуты Добавлено через 14 минут Добавлено через 7 минут
0
|
||||||||||
|
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,080
|
||||||||
| 21.07.2020, 08:39 | ||||||||
|
Более того, в отличие от вас, я не только читал (чего вы до сих пор не сделали), но и использовал. Еще раз: тензор это закон расчета реакции по воздействию. Отличие от аффинных преобразований в том что размерности могут отличаться. Тот же тензор пьезокоэффициентов переводит внешнее воздействие деформации (вектор 3х3 либо 1х6) в разность потенциалов (вектор 1х3). Он записывается матрицей 3х3х3 либо 3х6 и является константой для данного материала. Это не отменяет что его самого можно повернуть на любой угол вокруг любой оси. И в очередной раз спрашиваю: каким именно противоестественным способом вы пытаетесь притянуть номер ячейки, который по определению переменная, к тензору, который является законом преобразования? При желании тензором можно обозвать сам массив. Да, он преобразует индекс ячейки (который далеко не всегда номер) в адрес в памяти (тоже не всегда скаляр). Именно это иллюстрируется моим примером: y = &(A[i]). i - индекс массива, воздействие; A - тензор, закон преобразования; y - адрес в памяти, реакция. В любом случае, основная задача системного (ядерного) программирования - высокая надежность и высокая производительность. Поэтому и используется там преимущественно Си, причем с минимумом остроумия вроде ООП. Но как это опровергает исходное высказывание что если нужно уточнить конкретную комбинацию (msvs + тамошний компилятор) либо (Labview + тамошний язык программирования) либо (CBuilder + тамошний набор компонентов), в которых распиарена именно среда разработки, а не кишки, то и именовать ее стоит по среде разработки, подразумевая все остальное? Ассемблер оперирует регистрами, памятью, прерываниями, инструкциями. То есть терминами реальной машины. Это низкоуровневый язык. Си, С++, Паскаль и многие другие оперируют указателями, памятью, переменными конечного размера. Это "среднеуровневые" языки. Bash, Python оперируют абстрактными переменными, не привязанными к машине, не оперируют памятью. Это высокоуровневые языки. А то, что в С++ или Ассемблере возможно при желании создать объект чего угодно ничего не говорит об уровне самого языка. Все ваши восхищения возможностями ручного управления памятью это именно работа на низком уровне. ЯВУ это напротив старательно прячут от программиста. В какой-нибудь Lua вообще нет оператора удаления объекта. Не подумайте (...о чем это я, вы же и не пытались...) что я имею что-то против низкоуровневого программирования. Напротив, это очень интересная тема. Но не будучи фанатиком, я понимаю, что одним низким уровнем IT не исчерпывается. Более того, я понимаю, что мой подход далеко не самый эффективный, поэтому окружающим я его не навязываю.
0
|
||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||||
| 21.07.2020, 10:50 | |||||||||
|
Добавлено через 1 минуту Добавлено через 10 минут https://ru.wikipedia.org/wiki/... ммирования
. Добавлено через 7 минут Касательно же всего остального - то что имеет мусоросборник вместо автоматики - это анахронизм, устаревший по сотоянию на 1967-ой год - средств автоматического управления жизненным циклом ресурсов и объектов они не имеют. А вот ручное управление памятью - это средство построения кастомизируемых сверхвысокоуровневых абстракций, которых эти ваши "уберязыки", лишены напрочь. Не может быть кастомизации и никакой абстракции алгоритмов автоматики управления ресурсами если один из ресурсов управляется не так как остальные, или вообще не доступен к управлению. А вот эти средства автоматики как раз и позволяют абстрагироваться от управления жизненным циклом и от правил разыменования конкретно взятого типа укзателя, чего эти ваши манаджед ошибки природы лишены напрочь. Добавлено через 12 минут Выдержки для самых тугоголовых COKPOWEHEU:
0
|
|||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 21.07.2020, 11:40 | ||
|
А если не можешь показать каким образом GC освобождает от обязанности деинициализировать объекты и ресурсы вручную (т.е. на каждом шагу писать вызова абсолютно анологичные ручным вызовам delete) - иди и татуируй у себя на лбу надпись манаджед-быдлокодер.
0
|
||
|
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,080
|
||||||||
| 21.07.2020, 12:41 | ||||||||
|
"высокоуровневость" это относительное понятие, но приблизительную оценку я привел. Правда, не любых объектов, а только совместимых, но не суть. А теперь ответьте наконец, как у вас переменная вдруг стала средством преобразования?
0
|
||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||
| 21.07.2020, 13:47 | |||||||
|
Добавлено через 27 секунд Добавлено через 1 минуту Добавлено через 1 минуту Добавлено через 13 минут В отличии от к примеру отсутсвия всякого присутсвия алгебры над сущностями предметной области - т.е. работы непосредственно с переменными примитивных (встроенных в язык) типов. Или с каких пор алгоритмы оперирования памятью стали зависимым от платформы? Оперировать с памятью вы будете даже производя вычисления мелом на доске или ручкой на бамашке. Причем по абсолютно тем же самым алгоритмам. Все остальные различия скрывают опять же библиотечные средства ОС. При этом к примеру у всех современных универсальных языков есть полноценные средства вообще от встроенных типов абстрагироваться как душенька пожелает, в отличии от того то вы называете ЯВП, в которых этих средств либо нет от слова совсем либо для практического применения абсолютно не пригодны. Т.е. мараль сей басни такова - язык не пригодный к системному программированию (т.е не пригодный к написанию библиотечных средств для самого себя) о какой то там сверхвысокоуровневости может даже не мечтать - он не может дать программисту возможность алгебру над сущностями предметной области - т.е. абстрагироваться от встроенных типов и встроенной же алгебры над ними. Добавлено через 9 минут Т.е. мараль сей басни такова - язык не пригодный к системному программированию (т.е не пригодный к написанию библиотечных средств для самого себя) о какой то там сверхвысокоуровневости может даже не мечтать - он не может дать программисту возможность определить алгебру над сущностями предметной области - т.е. абстрагироваться от встроенных типов и встроенной же алгебры над ними. Точно так же как язык не имеющий автоатики управления жизненным циклом, может не мечтать об абстрагировнии от ручного управления ресурсами, ручной реализации поведения каждой взаимосвязи, и т.д. и т.п геморров которые и не дают сконцентриоваться на задаче. Добавлено через 14 минут А то что вы пытаетесь непонятно откуда высасать про какую то относительность - это не более чем бред безсовестных евангелистов национальных быдлоскриптов западного пендостана. При этом при детальном рассмотрении в деле как создания так и использования высокоуровневых абстракций эти заподнопендостанские ошибки природы проигрывают всухую. Тут весь сыр бор с этими высосанными из пальца "преимуществами" следует в другом месте искать - все универсальные ООП языки сделаны европейцами. Первая попытка американцев оказалась ущербным убожеством, автор которой умудрился как истинный бледнолицый, как поймать абсолютно все грабли первого европейского ООП-языка, от проблем которого оные языки созданные европейцами успешно избавились лет за 10 до, так и притащить кучу нового гемора исключающего применение средств как создания так и использования высокоуровневых абстракций, и при этом потерять универсальность языка. Но поскольку наконец то амеры сделали свой национальный ООП язык его сначала впихнули в школы. А потом уже в дело пришлось пускать маректинг - ну не могут же в американских школах детей учить неюзабельному гавнищу и не может же оракл двигать отстой, и не может же национальная жаба америки во всем уступать поделкам каких то датчан, норвежцев и французов. От и несут рекламный бред про то какое оно де "сверхабстрактное" искаропки, и про какое то мифическое "общего назначения".
0
|
|||||||
|
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,080
|
||||||||||
| 21.07.2020, 17:02 | ||||||||||
|
Да, по этому определению С++ тоже низкоуровневый. Для него базовыми типами являются машино-специфичные. В отличие от, скажем, Питона, где размер числа вообще не ограничен. То есть там числовая переменная это именно числовая переменная, а не ячейка размером 16-64 бита. И нет, возможность накрутить абстракции на это не влияет. Вычисления мелом на доске или ручкой на башмаке (ну у вас и привычки...) - хороший пример, что для решения задачи не нужно использовать ячейки памяти машины. Потому что данные, будучи один раз записаны, потом не меняются. Вместо них вводятся другие сущности. Новые имена переменных, если говорить про математику. Но это не важно, поскольку, как уже было сказано, возможность накручивания абстракций ни на что не влияет. Я бы посоветовал поменьше слушать всяких фанатиков, утверждающих, что знают лучший инструмент на все случаи жизни, а включить, наконец, мозг. Но, пожалуй, не буду, все равно ведь не послушаетесь.
0
|
||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||||||||||
| 21.07.2020, 19:33 | |||||||||||||||
|
Т.е. к примеру для индекса I преобразование в глобальное адресное пространство осуществляется умножением на метрический тензор адресного пространства определяемый массивом a. т.е. правило его преобразования в конечном итоге получается (a+i) Добавлено через 31 минуту Добавлено через 6 минут А у С С++ паскаля и прочих нативных языков размер не зависит от платформы - он задан в стандарте языка, исключение составляет разве что размер указателя. Но от этой разницы никакой язык избавится не сможет в принципе - так или иначе но под капотом объектов он будет хранить нативные указатели а значит размер объектов будет меняться. Он к примеру у паскаля сколько времени был только вообще нестандартный 48-битный Real, причем жил он таким 48-битным на любом железе. Да и сейсас вроде еще живеt всех живых. Так что все ваши инсенуации ни о чем. Добавлено через 7 минут Т.е. абстрагироваться от задачи не получится. Можно даже не пытаться. Единственное что можно в этом плане сделать - построить библиотечные средства имеющие средства подстройки под конкретные требования конкретной задачи. В плюсах это возможно. В питоне нет. Добавлено через 18 минут А в случае на доске - то тоже нужно найти ненужные уже промежуточные данные которые можно затереть. И каким образом то что туда запишут другие данные помешает этому месту быть ячейками памяти? И чем это отличается от ОЗУ многократной записи? К примеру магнитной ленты, (для которой в 50-х и родился GC). Мало того - именно так и работает вычисление элементарных выражений в любом высокоуровневом ЯП - тут как раз та ниша в которой ФП очень даже на своем месте. Так что мой вам дружеский совет - освойте хотя бы азы специальности для начала. А то у вас в голове реально полная каша. Добавлено через 1 минуту Добавлено через 15 минут Низкоуровневое программирование - это работа напрямую с "железом" - т.е. непосредственная запись/чтение в порты ввода-вывода и регистры переферийных устройств подключенных к системной шине. И это мизерная доля системного программирования. Низкоуровневое программирование в условиях современных осей вообще возможно только для драйверов нулевого кольца, и даже для них является мизерной долей их работы. Тут принцип тот же самый - то что меняется при смене девайса - к примеру алгоритм получения буферов из сетевой карты - это низкоуровневое программирование. А к примеру реализация протокола TCP/IP сортирующего пакеты и проверяющего полноту доставки и т.д. дела от девайса не зависит, а соответственно уже есть высокоуровневое программирование. Хотя точно так же системное. Системное программирование -это в первую очередь создание библиотек. При этом в реалиях современной разработки, особенно по ООП-методологии проектирования, вся разработка ведется путем создания/расширения специализированных библиотек. Прикладная же софтина получается путем декларативной сборки модели из сущностей описываемых классами созданных библиотек. Т.е. язык не пригодный для создания библиотек для самого себя к современной промышленной разработке софта не пригоден от слова совсем. Добавлено через 27 минут Хотя их то понять можно - удар по национальной гордости у них был жесточайший. Они то всегда были наиболее компутеризированной нацией и в плане языкостроения таки были до этого впереди планеты всей. Все таки в предыдущих поколениях языков Фортран и потом С были неоспоримыми лидерами. У Европы с этим все было в общем то грустно. Убивцу Фортрана Алгол рожала-рожала и фактически родила через несколько лет после его похорон. Да и из Паскаля конкурент С не получился от слова совсем. А тут аж три сразу языка нового поколения от европейцев и все успешные а один даже по заказу Пентагона. И свой аж только через 10 лет слепить смоги. И такое УГ оказалось что из того направления куда его автор планировал погнали его сцаными тряпками и даже чуть не рассреляли с горяча - думали диверсант какой. А тут еще и такая заковырка случилася что квалифицированные спецы в закромах Родины то закончились. А голодный рынок он все схавает, только пообещай слепому глаза а кастрату яйца. И пошло поехало бред про "сверхвысокоуровневые " бред про "абстракции" - вобщем про "убер-тулз" который типа позволит быдлокодерам без малейших познаний в специальности типа COKPOWEHEU, софт клепать типа быстрее круче и надежнее чем квалифицированные разрабы. И таки схавали - а деваться то этим шарашкиным конторам некуда было - квалифицированный народ то купить у них денег не хватало. Их то банкротится 80% в первый год а из оставшихся еще 80% во второй. А потом крики про популярность пошли - еще бы быдлокодеров для решения 1% задач по разравниванию ввода-вывода понадобилось то в 10 раз больше чем спецов для решения остальных 99% - обработки данных. А потом Майкрософту идея понравилась и себе так же сливки на говне собирать захотелась. А потом IBM. И т.д. И отак это все больше и больше маркетинговыми мифами и обрастает которые ничего общего с реальностью не имеют. В реальности вся это война жабопитонашарпов про меж собой - не более чем битва за крохи с барского стола контор слившихся в плане разработки средств разрвботки еще в 90-х. А к примеру тот же Борланд жаба-билдер выкинул из своей линейки как неюзабельный еще в 2000-ом. И C# билдер релизить не захотел - настолько ущербным получился в следствие ущербности и не пригодности к созданию высокоуровневых абстракций шарпа. Т.е. к реальным то делам эти ошибки природы вообще никаким боком не притулили. Так и барахтаются на самом дне в странах третьего мира. А все серьезные дела делают таки квалифицированные спецы таки на универсальных языках. Потому что суть программирования - это создание высокоуровневых абстракций. Именно поэтому плюсы и вытеснили практически все остальное в профессиональной разработке - именно в плане средств построения и использования высокоуровневых абстракций им равных нет. Добавлено через 3 минуты А чушь толдычите вы. Потому что не понимаете того что такое тензор от слова совсем. Точно так же как не понимаете ни того что такое указатель, ни того что такое ячейка памяти. Эт наверно потоиу что с логическим мышлением вы не совместимы программно, а с абстрактным вообще аппаратно.
0
|
|||||||||||||||
|
Модератор
|
||
| 21.07.2020, 21:08 | ||
|
По этому и обучают "ан масс" на языках с GC. Думаете, начинающего можно сразу приучать к смартпонтерам не объяснив что это такое и как работает? Вообще то я ни разу не преподавал, но, подозреваю, что с этим проблемы, иначе бы кто то бы так и преподавал - сразу плюсы со смартпоинтерами. Начинающие - они такие начинающие. Как мне сказала дочка знакомого, которая училась на постановщика задач в экономической сфере (и работает теперь секретаршей), "так то я си шарп знаю, только, вот, массивы у меня как то не очень". А вы говорите смартпоинтеры. Так вот. Rust просто не позволит сделать такое безобразие как по ссылке выше. Указатель понадобится вызывать из unsafe. А начинающий же не назло такой код пишет, он думает так и надо. А когда ему, для придуманного им решения, понадобится unsafe, то, скорее всего, до него дойдёт что он ломится не туда.
0
|
||
|
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,080
|
|||||||||||||||||||||
| 21.07.2020, 21:19 | |||||||||||||||||||||
|
Вы, наверное, опять берете за эталон С++, в котором, в силу низкоуровневости, встроенные типы плохо подходят для не-системных задач. Ну так низкоуровневый язык на то и низкоуровневый, что поверх него приходится городить абстракции. Если задача состоит в решении системы уравнений, то где и как будут храниться коэффициенты - забота языка, а не программиста. Программист должен иметь возможность написать код настолько просто и понятно, насколько только может. А вплетение в алгоритм задачи еще и особенностей выделения памяти - однозначно признак говнокода. Между прочим, в отличие от С++, стандарт Паскаля таки дает на это четкий ответ, что однако, не делает его более высокоуровневым, потому что этот размер все равно привязан к платформе. В высокоуровневых же языках число это именно число, в математическом смысле. Естественно, решая задачу, надо решать задачу. Задачу, а не особенности конкретной архитектуры! При решении задачи глубоко безразлично в каком именно формате хранятся строки, выровнены ли данные по ячейкам, конечен ли размер машинного слова и сколько в нем байтов. Добавлено через 6 минут А уж в какую сторону им развиваться - другой вопрос. Возможно, будут ядра и драйвера писать, тогда волей-неволей выучат Си с ассемблером. Возможно, придется сайты делать, тогда всякие Джаваскрипты и ПХП. А может и не будут заниматься программированием специально и им хватит того же Питона для решения повседневных задач.
0
|
|||||||||||||||||||||
|
Модератор
|
|||
| 21.07.2020, 22:27 | |||
|
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||||||||||||||||||||
| 22.07.2020, 06:40 | ||||||||||||||||||||||||||
|
Добавлено через 2 минуты Добавлено через 5 минут Добавлено через 20 минут Добавлено через 4 минуты Добавлено через 4 минуты Если говорим не о библиотеках а только о ядре - то никаких абстракций в питоне нет вообще и взяться им не откуда. Все искоробочные абстрактные объекты у него точно так же живут в искоробочных библиотеках, только вот к написанию оных библиотек питон не пригоден от слова совсем. Добавлено через 3 минуты Добавлено через 4 минуты Добавлено через 1 минуту Добавлено через 1 минуту Для тех кто вообще не в теме - допустимость применимости той или иной существующей либы к конкретной задаче должна математически доказываться. Добавлено через 5 минут Добавлено через 2 минуты Добавлено через 7 минут В плюсах же алгоритмы работы с памятью будут сконцентрированы в одной библиотеке. В остальных же местах для некоторых структур данных будет декларативно (т.е. аргументом шаблона при объявлении структуры) указываться аллокатор ( т.е. просто другой алгоритм из библиотеки) в случае если заданный для них по дефолту не подходит. Тотчно так же с средствами автоматики. Или средствами длинной арифметики или вообще чем угодно. Добавлено через 1 минуту Добавлено через 4 минуты Добавлено через 13 минут Т.е. еще раз для тех кто в танке - нельзя абстрагироваться от деталей реализации крипичиков из которых собирается решение, если нельзя указать какие именно характеристики у этих кирпичиков должны быть. Пайтон и прочия "уберязыки" как раз этого и не позволяют сделать. В отличии от плюсов. Добавлено через 6 минут Добавлено через 1 минуту Добавлено через 40 секунд Добавлено через 1 минуту Добавлено через 12 минут Добавлено через 3 минуты Добавлено через 10 минут А соответственно определив их один раз описанием соответсвующих типов и поераторов перекладываем во всем остальном коде слежение за их соблюдением на машину. Не делая этого вы банально заставляете программиста следить за соблюдением правил алгебры над сущностми во всем коде. Т.е. даже если алгебра потребовала прегрузить O(N^2) операторов, то не перегрузить их будет соответсвовать O( exp(N)). В реалиях же плюсов даже O(N^2) сведется приблизительно к O(N) за счет того что будут указаны только принципы генерации операторов, сами же операторы сгенерирует компилятор. Добавлено через 5 минут Добавлено через 10 минут А соответственно определив их один раз описанием соответсвующих типов и операторов перекладываем во всем остальном коде слежение за их соблюдением на машину. Не делая этого вы банально заставляете программиста следить за соблюдением правил алгебры над сущностми во всем коде. Т.е. даже если алгебра потребовала прегрузить O(N^2) операторов, то не перегрузить их будет соответсвовать O( exp(N)). В реалиях же плюсов даже O(N^2) сведется приблизительно к O(N) за счет того что будут указаны только принципы генерации операторов, сами же операторы сгенерирует компилятор. Вот это и есть сверхвысокоуровневые абстракции, а не тот бред который вы несете про типа абстрактные библиотечные средства. Мало того то что есть в этих средствах в этих ваших "уберязыках" существенно уступает по своим возможностям и уровню реализуемых абстракций тому что есть в этом плане для плюсов. Еще раз для самых одаренных - доступность абстракций определяется в первую очередь возможностями ядра языка в их создании и использовании. Без возможности их создания нельзя и реализовать библиотеки оных абстракций. Без возможности их использования/параметрической конкретизации невозможно и использовать библиотеки абстракций, созданные на языках где средства создания абстракций есть.
0
|
||||||||||||||||||||||||||
|
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,080
|
|||||||||||||||||||||
| 22.07.2020, 08:41 | |||||||||||||||||||||
|
Вы-то наверное считаете, что абстракция это такой класс - это не так. Если же присутствует грамотный процесс разработки с разделением по уровням абстракции, модульностью и независимым тестированием, то есть хотя бы вероятность что он полетит так как надо. Но вам это не грозит, потому что "грамотный процесс разработки" предполагает в том числе применение инструмента, заточенного под задачу, а не С++ во все поля. Но не расстраивайтесь, возможность попасть в небо есть и у вас: купите запчасти для радиоуправляемого самолета или квадрокоптера, напишите прошивку (модель софта реального самолета) и посмотрите что получится. Причем рекомендую отнестись к этому совету серьезно. Даже небольшой опыт работы в смежной области здорово помогает и в основной. Первое что приходит в голову - числа и строки. В Питоне это не машинно-зависимые типы, как в С++, а именно абстрактные. Ну и создание произвольных объектов предметной области там вполне очевидно реализуется. Опять же в отличие от С++. Уже не раз говорил: если бы С++ превосходил все остальные языки по всем параметрами, он бы их вытеснил. Например, ищем любую статистику популярности языков программирования и видим, что язык С++ не то что недостижим для остальных, но даже не на первом месте. Ищем любую другую статистику - видим то же самое. И в третьей, и в четвертой. Вот это - объективные данные. А те "проценты", которые приводите вы - субъективны, потому что никто кроме вас о них не знает. Итак, откуда в вашей оценке сложности взялась именно экспонента, а не полином, логарифм или факториал? --- Ладно, про тензор вы не знаете и знать не хотите. Учитывая, что ни цитирование определений, ни реальные примеры на вас не действует, оставим эту тему, лучше вернемся к более программерским вещам. Вы так и не привели размер актуальной винды, пригодной для повседневного использования не-специалистами. Вы так и не сформулировали почему в системной (низкоуровневой) разработке вроде ядра ОС, драйверов или микроконтроллеров, почти не используется С++.
0
|
|||||||||||||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||||||
| 22.07.2020, 09:47 | |||||||||||
|
Добавлено через 7 минут При этом еще раз - работа с железом и даже ядро оси - это капля в океане системного программирования. Добавлено через 4 минуты Добавлено через 1 минуту Добавлено через 9 минут В плюсах же, точно так же как в других универсальных языках, просто библиотеки меняются на подходящие. В случае если какой то подходящей еще не существует она на плюсах же и пишется. Дописать нужную библиотеку это быстрее и проще чем изобрести очередной одноразовый язык. Т.е. предоставляемый универсальными языками уровень абстракции на порядки выше чем у этих куцых манаджед обрубков мифического "общего назначения". Еще раз - по факту концепцию специализированных языков убил еще фортран. Последним гвоздем в гроб этой концепции стали процедурные С и паскаль, которые позволили использовать библиотечные средства способом семантически неотличимым от добавления их в ядро. Современные же универсальные языки пошли еще дальше - перегрузка операторов и т.д. делает использование библиотечных типов не только семантически но и синтаксически неотличимым от использования встроенных в ядро языка. А по сему ваши эти "общего назначения" - ни специализированные, ни универсальные, а какие то ущербные неведомы зверушки. Добавлено через 12 минут Во всей профессиональной разработке плюсы давно загнали по узким нишам все остальные универсальные языки чем по факту похоронили их как универсальные. Ваши же куцие обрубки нигде кроме задач с нулевой степенью ответсвенности и околонулевой важности не используются. Добавлено через 8 минут Точно так же объективно то, что 90% разработчиков в индустрии не квалифицированные, и суммарно на всех этих "популярных" языках решают около 1% задач. Т.е. "популярность" тут показатель исключительно низкой продуктивности в решении задач. Добавлено через 3 минуты Добавлено через 4 минуты Добавлено через 2 минуты
0
|
|||||||||||
|
Модератор
|
||||
| 22.07.2020, 09:52 | ||||
|
Как и в стандартах всех ЯВУ (ну, может, кроме каких то специализированных).
0
|
||||
| 22.07.2020, 09:52 | |
|
[Rust] Time
Frontend Для RUST Просадки FPS в Rust Rust ошибка E0623 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|