|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
Rust vs C++26.06.2020, 16:10. Показов 49544. Ответов 660
Метки нет (Все метки)
0
|
|
| 26.06.2020, 16:10 | |
|
Ответы с готовыми решениями:
660
[Rust] Обсуждение возможностей и предстоящей роли языка Rust [Rust] Как привязывать WinAPI-функции к коду на Rust? Расскажите о своём опыте программирования на Rust |
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||
| 07.07.2020, 20:30 | |||||||
|
Добавлено через 3 минуты Добавлено через 59 секунд Добавлено через 1 час 14 минут Добавлено через 15 минут Вообще последним действительно специализированным языком был давно почивыший в бозе CLIPPER-87. Все что после - это куцые обрубки универсальных языков, создаваемые исключительно с целью привлечения неквалифицированных разрабов к самым примитивным задачам и не более того. Добавлено через 5 минут И именно поэтому ФП с 50-летни опозданием во всю движется именно в сторону ООП. По другому спроектировать что то сложнее примитивной числодробилки невозможно. Добавлено через 2 часа 29 минут COKPOWEHEU, При этом не надо путать ответвление и обобщение. Это таки две огромные разницы.
0
|
|||||||
|
14789 / 9562 / 1367
Регистрация: 21.01.2016
Сообщений: 36,057
|
||
| 08.07.2020, 07:54 | ||
|
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||||||||
| 08.07.2020, 09:05 | |||||||||
|
И как видно по вашей же ссылке, даже современное ядро намного компактнее древних виндовых, при том что до функционала линукса и современной винде еще расти и расти. Процедурное программирование разделяет данные и процедуры, это скорее выделение повторяющихся блоков в более-менее монолитном алгоритме. В функциональном данные как таковые отсутствуют, есть только функции, аналогичные математическим (хм. только сейчас задумался что Labview богомерзкий - функциональный язык. Да и bash тоже, хотя и от процедурщины там немало) Хоть теперь разница понятна?
1
|
|||||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|
| 08.07.2020, 09:36 | |
|
0
|
|
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|
| 08.07.2020, 10:57 | |
|
korvin_, имеется в виду, что они существуют только между функциями, в неявном виде. Может быть линия данных, но вот выделенного хранилища данных в ФП быть не должно.
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||
| 08.07.2020, 14:22 | ||||||||
|
Не верите? Ну спросите у любого адепта ФП а можно ли обойтись без стейтов и ООП? Ну единственное что он ответит - их можно эмулировать средствами ФП - т.е. обойтись нельзя. Но когда перешли к эмуляции оных то и жить оно будет по правилам статефулл ООП. Добавлено через 1 минуту Добавлено через 2 минуты
0
|
||||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||||||||||
| 08.07.2020, 15:10 | |||||||||||
|
Алгоритмы и процедуры у вас это кардинально разные вещи. "Процедурщина отличается отсутствием поддержки оного", причем ничего подходящего под это "оное" в тексте нет. Не нервничайте так сильно, все равно от вас не ждут что вы что-то умное скажете. Но хотя бы когда говорите чушь, старайтесь чтобы хоть понятно было, какую именно чушь говорите. Каждый раз, когда надо написать мало-мальски кроссплатформенную программу (этот термин обозначает, что она должна запускаться на нескольких операционных системах, в моем случае Linux + Windows), как раз приходится открывать документацию к winapi. И, естественно, плеваться от того насколько там все криво и неудобно. Не верите? Тогда попробуйте решить простенькую задачу - открыть анонимный канал (pipe) между процессом и его потомком, чтобы обмен не блокировался при опустошении. То есть, скажем, потомок пытается из канала читать, а там пусто - он должен понять что там пусто и продолжать свою работу. Но если вы надеетесь, что за потоком вашего сознания я забуду про вопросы - напрасно:
0
|
|||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||||||
| 08.07.2020, 16:19 | ||||||||||||
|
Речь о том что нечто в духе
Добавлено через 5 минут Добавлено через 7 минут Добавлено через 9 минут Где к примеру в апи линухи аналог библиотеки контролов? или хотя бы где в их недоокнах багажник под пользовательский указатель? Добавлено через 8 минут Кроме файлового ввода-вывода сокетов и средст винхронизации у линухи вообще ничего нет. Потоки появились и какая то пародия на динамические либы- во какое достижение. а COM/DCOM где? Или так и будете всю жизнь заниматься изобретением мульйона частных случаев маршаллинга RPC через пайп? Добавлено через 17 минут Добавлено через 4 минуты К примеру финальная сборка в той же дельфе (та часть которая называется формошлепством) делается точно так же. Отличия только в том что дельфа имеет еще и полноценные средства расширения библиотеки компонентов из которых производится финальная сборка. Поэтому и является универсальным языком в отличии от всяких GPSS и LabView, которые не более чем специализированные вспомогательные узконишевые средства. Но как бы сама концепция специализированных языков давно почила в бозе - фактически последними гвоздями в ее доску стало появление С и виртовского паскаля.
0
|
||||||||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
||||||||||||||
| 08.07.2020, 16:33 | ||||||||||||||
|
Например, в Линуксе можно сделать так
Найти человеческого решения через winapi мне не удалось, пришлось городить костыль. А, я понял! Вам надо провести ликбез что такое ядро операционной системы и чем оно отличается от оболочки. Если вкратце, ядро управляет распределением и единообразным доступом к ресурсам - памяти, процессорному времени, оборудованию. Это слой абстракции, отделяющий конкретное аппаратное обеспечение от пользовательских программ. Но пользователь с ядром не взаимодействует, для этого есть оболочки. И конкретный способ обмена информацией с пользователем зависит именно от оболочки. Это может быть консоль (в том числе подсоединяемая по последовательному порту), графическая система или, скажем, голосовое управление или нейроинтерфейс (пока что я про такое не слышал, но почему бы и нет). А графические контролы, очевидно, имеют смысл только в рамках какой-либо графической системы, то есть оболочки. И даже там они не являются обязательными: вполне представима графическая система, в которой каждое окно самостоятельно рисует весь свой интерфейс, а оболочке выдает только готовую картинку (вроде бы wayland примерно так работает). Ну и традиционно не забываем напомнить вопросы:
0
|
||||||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||
| 08.07.2020, 16:40 | |||||
|
Добавлено через 2 минуты Добавлено через 1 минуту
0
|
|||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||
| 08.07.2020, 16:41 | |||
|
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 08.07.2020, 16:44 | ||
|
При этом только ядро линухи в котором ничего этого действительно быть не должно, давно по размерам кода превзошло всю как минимум Win2k - т.е. и примерно аналогичное ядро и все эти апи, и еще кучу всего чего в линухе вообще нет от слова совсем. О чем и речь - продуктивность С крайне низка по сравнению с плюсами, именно потому что реализация на С требует на порядки больше кода чем на плюсах. Разницы же в проектировании того что реализовывать нет в принципе. Не забывайте что постановка задачи от языка реализации не зависит от слова совсем, и для такой штуки как ядро офисной ОС постановка плюс/минус одинакова.
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||||||||||
| 08.07.2020, 16:50 | |||||||||||
У вас как обычно - хотели выпендриться, а в результате очередное хореографическое сальто в лужу.
0
|
|||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 08.07.2020, 16:52 | ||
|
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||
| 08.07.2020, 16:53 | |||
|
Добавлено через 1 минуту
1
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 08.07.2020, 16:56 | |||
|
Добавлено через 2 минуты
0
|
|||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||||
| 08.07.2020, 17:32 | |||||
|
Могу повторить крупными буквами для тех, у кого со зрением проблемы: Реализация на более низкоуровневом языке требует больше кода, чем на более высокоуровневом. Если проблемы не со зрением, а с восприятием письменного текста, поясню: Си более низкоуровневый, чем С++, поэтому объем кода на Си больше, чем на С++.
На случай очередного выверта про "встроенные драйвера" тоже можем провести эксперимент. --
0
|
|||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 08.07.2020, 18:23 | ||
|
При этом априори функциональность ядра всегда на порядки меньше функциональности целой оси на подобном ядре. Имеем - ядро линухи переросло размер оси ,которая по функциональности первосходит всю линуху на голову, не говоря уже о только ядре. Вы же как всегда несете ахинею про какое то сравнение мягкого с холодным. Добавлено через 1 минуту COKPOWEHEU, Вы сравнение дробей в начальной школе проходили? Ну вот пойдите и повторите. А то так и не поймете как сравнить дроби строк кода/функциональность Добавлено через 6 минут COKPOWEHEU, Или вы просто настолько безграмотны что не можете понять разницу между ядром ос и дистрибутивом ос?
0
|
||
|
3141 / 1742 / 274
Регистрация: 19.02.2010
Сообщений: 4,550
|
|||
| 08.07.2020, 19:15 | |||
|
И/или Set/GetWindowWord(), если предварительно при регистрации класса окна (WNDCLASS+RegisterClass()) задавать классу ненулевое (а дефолтно оно там нулевое) значение поля структуры, отвечающего за размер пользовательского буфера у каждого экземпляра окна этого класса. , что в Винде окон (в т.ч. в виде диалоговых элементов - кнопок и т.д.) суммарно гораздо больше, чем связанных с окнами "объектов" в отдельной проге.Т.е. самомУ по отдельно и специально созданной таблице соответствия хэндлов окон стейтам=объектам пробежаться будет быстрее, чем отдавать эту операцию Винде. Ибо хоть я и не мерял скорость работы указанных выше ВинАПИшных функций - но не наблюдаю в их логике указание на то, что они имеют ограничение области работы в виде перебора окон только некоторой проги (из потока которой они вызваны). Так что тут ВинАПИ просто может давать облегчение работы программиста за счёт возможных тормозов. Особенно если в оконную функцию пойдёт достаточно активный поток событий, а доставать ссылку/индекс объекта прогер решит однократно (т.е. непосредственно перед свитчом выбора обрабатываемых сообщений) - т.е. будет доставать ссылку и для всех тех ненужных сообщений, обработка которых затем отправится в DefWindowProc().
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||||
| 08.07.2020, 20:28 | ||||||||||
|
Добавлено через 6 минут
По событиям же не связанным с мышиной возней нахождение адресата O(1) априори. Добавлено через 32 минуты Т.е. как результат наличие багажника у винды позволяет диспетчеризировать событие на стороне получателя за O(1), в линухе же потребуется Log( n ) поверх того, что потратила ось на своей стороне на определение адресата. С учетом того что все кроме мыши на стороне оси O(1) по определению, а O(1) (или хотя бы O(1) в подавляющем большинстве случаев) на стороне оси достижимы и для беготни грызуна - то отсутсвия багажника в линуксе как дает существенное пенальти по производительность диспетчеризации, так и резко снижает продуктивность программист при создании подсистемы диспетчеризации на принимающей события стороне, особенно если городить все эти подписки/отписки в мап на голом С. Добавлено через 22 минуты Вывод: разрабам линукса не мешало бы хотя бы базовые курсы подготовки программистов пройти, а не фапать де Майкрософт всех купил потому и такой процент распространенности у винды.
0
|
||||||||||
| 08.07.2020, 20:28 | |
|
[Rust] Time
Frontend Для RUST Просадки FPS в Rust Rust ошибка E0623 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|