Да сколько можно уж говорить, что все эти пертурбации ничего не говорят ни о языках, ни о технических возможностях. А лишь о политических играх в корпорации.
Здравствуйте, Константин Б., Вы писали:
Pzz>>В вендовых программах такое вообще в порядке вещей и никто даже и не жалуется. Кроме инвалидов умственного труда, типа меня, которые успели застать лучшие времена.
КБ>Не связано ли это как-то с наличием многозадачности? 🤔
А что, притормозить активацию поля ввода до окончания инициализации в условиях многозадачности мешает отсутствие в природе какого-то необыкновенного примитива синхронизации?
КБ>Думаю если вернуть вас в эти светлые однозадачные времена — вы взвоете. КБ>Собственно кто и что вам мешает поставить DOS и пользоваться им? 🤔
Ты не поверишь, в 90-е я написал TELNET-клиента для MS-DOS, который поддерживал одновременно несколько активных терминальных сессий, плюс в нем был встроенный FTP-сервер, для обмена файлами между рабочим местом на MS-DOS и удаленным UNIX-ом, и он тоже не ограничивал количество активных сессий единицей, плюс много чего еще другого было.
У меня была встроенная самодельная многопоточность. Я тогда не умел еще делать столько параллелизма в одном потоке.
Оно даже продавалось в России и даже отбивало мою зарплату.
Здравствуйте, SkyDance, Вы писали:
S>>Вместе с командой Python Google уволила команды Flutter и Dart
SD>Да сколько можно уж говорить, что все эти пертурбации ничего не говорят ни о языках, ни о технических возможностях. А лишь о политических играх в корпорации.
Абсолютно согласен. Как-то глянул мельком на эти Flutter и Dart — сложилось впечатление, что двигаются в сторону упрощения программирования, в отличие от того же монструозного С++, который наоборот двигается в сторону усложнения
Здравствуйте, wl., Вы писали:
wl.>в отличие от того же монструозного С++, который наоборот двигается в сторону усложнения
C++ в этом смысле уникален: с каждым новым стандартом язык становится все сложнее и сложнее (честно говоря вообще не представлю, как новичков можно обучать C++20), но вот программировать с современным C++ становится проще.
Здравствуйте, Pzz, Вы писали:
Pzz>Здравствуйте, Константин Б., Вы писали:
КБ>>Думаю если вернуть вас в эти светлые однозадачные времена — вы взвоете. КБ>>Собственно кто и что вам мешает поставить DOS и пользоваться им? 🤔
Pzz>Ты не поверишь...
Конечно поверю. Так кто и что мешает поставить DOS и пользоваться им?
Здравствуйте, so5team, Вы писали:
S>C++ в этом смысле уникален: с каждым новым стандартом язык становится все сложнее и сложнее
Ну дык новые фичи впихивают
S>Но вот программировать с современным C++ становится проще.
Скорее удобнее. Ну и опять таки никто ж не заставляет использовать все новые фичи
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
S>>C++ в этом смысле уникален: с каждым новым стандартом язык становится все сложнее и сложнее CC>Ну дык новые фичи впихивают
Ну да. Причем иногда кажется, что впихивают вещи, которые сделаны более сложными, чем должны были бы быть (ИМХО, яркими примерами таковых являются модули в C++20 и deducing this в C++23, хотя и концепты в C++20 не сказать, что просты и очевидны).
S>>Но вот программировать с современным C++ становится проще. CC>Скорее удобнее. Ну и опять таки никто ж не заставляет использовать все новые фичи
В таких-то случаях "удобнее" становится тождественным "проще". Например: structured binding, fold expression и if constexpr в C++17, spaceship operator и designated intializers в C++20.
Здравствуйте, Pauel, Вы писали:
P>Непонятно, где у вас сложность в консольном приложении
Раз непонятно, то надо прочитать еще раз: код для обработки параметров переданных через командную строку сложнее, чем код для задания тех же параметров через графический интерфейс, особенно для позиционных параметров. Причины этого очевидны: в графическом интерфейсе можно сразу ограничить что и когда пользователь может вводить.
Здравствуйте, Константин Б., Вы писали:
КБ>А давайте проверим. Дайте пример таких чудесных искходников и мы попробуем их собрать.
Например Постгрес, 7.4.8 — версия которую я использовал ~18 лет назад.
Чтение документации — 2 минуты. Сборка — 20 секунд:
SECONDS=0
sudo apt install tar make wget gcc-9
wget https://ftp.postgresql.org/pub/source/v7.4.8/postgresql-7.4.8.tar.bz2
tar -xvjf postgresql-7.4.8.tar.bz2
cd postgresql-7.4.8/
./configure --without-readline
make CC=/usr/bin/gcc-9 -j
echo $SECONDS
...
All of PostgreSQL successfully made. Ready to install.
20
КБ>...и мы попробуем их собрать.
Зачем говорить о себе во множественном числе?
Здравствуйте, Pzz, Вы писали:
Pzz>А что, притормозить активацию поля ввода до окончания инициализации в условиях многозадачности мешает отсутствие в природе какого-то необыкновенного примитива синхронизации?
Это продвинутый стейтменеджмент, на самом деле. Статус инициализации это значит, что у вас более-менее внятная модель приложения, в которой есть такая капабилити.
бОльшая часть приложений такого не имела. И вообще, великие сиплюсники такими мелочами не заморачивались UI тех времен это нашлепать OnButtonPressed, накорябать DoDataExchange и на этом все.
Здравствуйте, Skorodum, Вы писали:
S>Раз непонятно, то надо прочитать еще раз: код для обработки параметров переданных через командную строку сложнее, чем код для задания тех же параметров через графический интерфейс, особенно для позиционных параметров. Причины этого очевидны: в графическом интерфейсе можно сразу ограничить что и когда пользователь может вводить.
Вы снова говорите что сложнее чего. Пример командной строки у вас есть?
И почему вы сравниваете фрагмент кода с другим фрагментом, а не все приложение с другим? У вас что, ui только проверкой параметров занимается?
Здравствуйте, Skorodum, Вы писали:
P>>А вот тот же фокус повторить с апи линукса или макоси у вас уже не получится — эти товарищи обратной совместимостью не озабочены. S>Не затруднит привести примеры где POSIX ломал обратную совместимость?
Ловко вы целое подменили частью. Или для вас это одно и то же?
Здравствуйте, Pauel, Вы писали:
P>Вы снова говорите что сложнее чего. Пример командной строки у вас есть?
Да пожаулйста, что-то типа такого:
- опция 1:
* допустимое значение 1
* допустимое значение 2
* допустимое значение 3
— опция 2:
* диапазон от -100 до 100
— опция 3:
* путь к файлу
— опция 4 выбор между:
* 4.1
* допустимое значение 1
* допустимое значение 2
* 4.2
* допустимое значение 1
* допустимое значение 2
Все это не прибито гвоздями в коде, а задано во время исполнения через какой-нибудь JSON или XML.
P>И почему вы сравниваете фрагмент кода с другим фрагментом, а не все приложение с другим? У вас что, ui только проверкой параметров занимается?
Потому что это сравнение яблок с яблоками. Про сравнение приложений в целом уже хорошо ответил Pzz
Здравствуйте, Pauel, Вы писали:
P>Ловко вы целое подменили частью. Или для вас это одно и то же?
Для начала определитесь что для вас целое в исходном утверждении
Это не в плюсах дело. Микрософт первые двадцать лет основательно приседали с обратной совместимостью. Потому и получается, что можно откомпилировать и запустить.
А вот тот же фокус повторить с апи линукса или макоси у вас уже не получится — эти товарищи обратной совместимостью не озабочены.
Про "можно откомпилировать и запустить" привел пример тут
Например, Постгрес 7.4.8 — версия которую я использовал ~18 лет назад.
Чтение документации — 2 минуты. Сборка — 20 секунд:
SECONDS=0
sudo apt install tar make wget gcc-9
wget https://ftp.postgresql.org/pub/source/v7.4.8/postgresql-7.4.8.tar.bz2
tar -xvjf postgresql-7.4.8.tar.bz2
cd postgresql-7.4.8/
./configure --without-readline
make CC=/usr/bin/gcc-9 -j
echo $SECONDS
...
All of PostgreSQL successfully made. Ready to install.
20
Здравствуйте, Pauel, Вы писали:
Pzz>>У меня была встроенная самодельная многопоточность. Я тогда не умел еще делать столько параллелизма в одном потоке.
P>А вот интересно, как вы многопоточность делали в досе?
Здравствуйте, Pauel, Вы писали:
Pzz>>А что, притормозить активацию поля ввода до окончания инициализации в условиях многозадачности мешает отсутствие в природе какого-то необыкновенного примитива синхронизации?
P>Это продвинутый стейтменеджмент, на самом деле. Статус инициализации это значит, что у вас более-менее внятная модель приложения, в которой есть такая капабилити.
Ужось. А если одна часть приложения обратится к другой части приложения, а та еще не готова, это тоже продвинутый стейтменеджмент? Или ну его нафиг, пользователь сам быстро разберется, что перед приложением лучше не дышать, пока лампочка диска мигает и еще секунд 15 после того?