А если бы все с начала ?
От: Pavel Dvorkin Россия  
Дата: 12.01.18 12:37
Оценка: 9 (3) +1 :)
Представим себе вольную фантазию.

Все существующее ПО одномоментно исчезло. Все.

Железо осталось. Без изменений.

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

А Вы — демиург. В Ваших силах мгновенно создать новое ПО с той же функциональностью (для пользователей), создать языки, библиотеки и фреймворки и вложить это все в головы программистов, так что они сразу будут в состоянии с этими новыми средствами работать на прежнем профессиональном уровне. Ну а Вы после этого отойдете в сторону и вмешиваться больше не будете.

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

Представили ?

Вопрос же следующий.

Что бы Вы из существующего сделали в практически том же виде, в каком оно существует сейчас и что сделали бы по-другому ?

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

Вот, скажем, предложение заменить TCP/IP на что-то иное — это другое дело. Или вместо файлов ввести... ну уж не знаю что.

Конечно, аргументируйте.

P.S. Для тех, кому моя преамбула не нужна, сформулирую вопрос более реалистично.

Что из того, что заложено в существующее ПО, сделано так, как и надо было бы "по уму" сделать, и что надо было бы сделать иначе, да только , увы, невозможно — мешают проклятая compatibility и огромные наработки ?

P.P.S. У меня сложилось впечатление, что некоторые участники дискуссии не против бы и мир переделать (десятичную систему заменить, время по иному измерять, даже число pi ревизовать). Просьба все же оставаться в рамках темы. Ни железо, ни тем более внешний мир этому демиургу возможности изменять я не давал
With best regards
Pavel Dvorkin
Отредактировано 12.01.2018 17:04 Pavel Dvorkin . Предыдущая версия . Еще …
Отредактировано 12.01.2018 12:53 Pavel Dvorkin . Предыдущая версия .
Re: А если бы все с начала ?
От: Qulac Россия  
Дата: 12.01.18 14:40
Оценка: 23 (3) +7 :))
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Что из того, что заложено в существующее ПО, сделано так, как и надо было бы "по уму" сделать, и что надо было бы сделать иначе, да только , увы, невозможно — мешают проклятая compatibility и огромные наработки ?


Я бы JavaScript убрал бы. Заменил бы чем ни будь похожим на C# или Java.
Программа – это мысли спрессованные в код
Re: Календарь
От: Qbit86 Кипр
Дата: 12.01.18 14:49
Оценка: 16 (1)
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>и что сделали бы по-другому ?


Надо что-то сделать с календарём и временем.
Глаза у меня добрые, но рубашка — смирительная!
Re: А если бы все с начала ?
От: Alexander G Украина  
Дата: 12.01.18 14:50
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Что из того, что заложено в существующее ПО, сделано так, как и надо было бы "по уму" сделать, и что надо было бы сделать иначе, да только , увы, невозможно — мешают проклятая compatibility и огромные наработки ?


Если всё, что не нравится, избежим, и пойдём другим путём, непременно найдём новые грабли, не хуже старых
Русский военный корабль идёт ко дну!
Re: Десятичная система счисления
От: Qbit86 Кипр
Дата: 12.01.18 14:51
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>что сделали бы по-другому ?


Перейти к системе счисления с основанием, выбранным рационально, а не эволюционно-биологически.
Глаза у меня добрые, но рубашка — смирительная!
Re[2]: А если бы все с начала ?
От: Jack128  
Дата: 12.01.18 14:52
Оценка:
Здравствуйте, Qulac, Вы писали:

Q>Здравствуйте, Pavel Dvorkin, Вы писали:


PD>>Что из того, что заложено в существующее ПО, сделано так, как и надо было бы "по уму" сделать, и что надо было бы сделать иначе, да только , увы, невозможно — мешают проклятая compatibility и огромные наработки ?


Q>Я бы JavaScript убрал бы. Заменил бы чем ни будь похожим на C# или Java.


шило на мыло ?? пи-код нужен!!
Re: The Tau Manifesto
От: Qbit86 Кипр
Дата: 12.01.18 14:53
Оценка: 18 (3) :)
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>что сделали бы по-другому ?


Константой круга назвать другое число: https://tauday.com/tau-manifesto
Глаза у меня добрые, но рубашка — смирительная!
Re: А если бы все с начала ?
От: lpd Черногория  
Дата: 12.01.18 15:56
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Что бы Вы из существующего сделали в практически том же виде, в каком оно существует сейчас и что сделали бы по-другому ?


Я бы заменил С++, Java и C# на один язык без VM со сборкой мусора(отключемой). Но насчет этого разных мнений много.

PD>Вот, скажем, предложение заменить TCP/IP на что-то иное — это другое дело. Или вместо файлов ввести... ну уж не знаю что.


Вместо IPv4 и ада с NAT использовать сразу IPv6.

PD>Только просьба — не разменивайтесь по мелочам. Не пишите, что Вы бы поменяли бордюр у какого-то окна или вообще сделали его круглым.


Вообще, в ИТ изменения легче внедряются, чем в других инженерных областях. Поэтому больше ни на какое legacy особенно не жалуюсь.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Отредактировано 12.01.2018 15:57 lpd . Предыдущая версия .
Re: А если бы все с начала ?
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 12.01.18 16:16
Оценка: +1 -1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Вот, скажем, предложение заменить TCP/IP на что-то иное — это другое дело. Или вместо файлов ввести... ну уж не знаю что.


У меня бы все сразу были на IPv6 не размениваясь на IPv4.

PD>Что из того, что заложено в существующее ПО, сделано так, как и надо было бы "по уму" сделать, и что надо было бы сделать иначе, да только , увы, невозможно — мешают проклятая compatibility и огромные наработки ?


Не нужно было делать Java, .NET и кучу других разработок вносивших разброд и шатание, деля программистов по специализации относительно инструментов разработки, а не умению использовать алгоритмы. Cмартфоны для приложений использовали бы C/C++ и были дровишки для GNU/Linux. Весь код кроссплатформенный, работал бы на десктопа/серверах, смартфонах, промышленных контроллерах и других устройствах.

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

И ещё, совместимость и прочее не так уж сильно и мешают. Другое дело нужно провести огромный труд, а это множество условных человеко часов, причём специалистов высокого уровня. Те же смартфоны делают с расчётом, что пользователь их через несколько лет, а то и раньше выкинет, то есть изначально работа в мусорку. Хорошо было бы стандартизировать библиотеки алгоритмов внедрив в них лучшие практики программирования.
Re[2]: Календарь
От: Pavel Dvorkin Россия  
Дата: 12.01.18 16:53
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Надо что-то сделать с календарём и временем.


Здесь мы ограничены тем, что от мира ИТ не зависит.
With best regards
Pavel Dvorkin
Re[2]: Десятичная система счисления
От: Pavel Dvorkin Россия  
Дата: 12.01.18 16:54
Оценка:
Здравствуйте, Qbit86, Вы писали:

Q>Перейти к системе счисления с основанием, выбранным рационально, а не эволюционно-биологически.


Вообще-то ее в компьютере не так уж много. Вся арифметика в основном не в ней, в ней только вывод результатов.
Если же речь идет не об ИТ, а о мире в целом — это от нас не зависит.
With best regards
Pavel Dvorkin
Re: А если бы все с начала ?
От: elmal  
Дата: 12.01.18 17:41
Оценка: 27 (1) +1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Что из того, что заложено в существующее ПО, сделано так, как и надо было бы "по уму" сделать, и что надо было бы сделать иначе, да только , увы, невозможно — мешают проклятая compatibility и огромные наработки ?

Собственно легаси и совместимость осталась только в ОС. Соответственно переписал бы ОС полностью с нуля, с учетом лучших наработок. Чтоб ядро отдельно. Разделенное на модули, максимально независимые, и в ядре б оставил минимально возможное количество модулей. Чтоб одну ОС можно было поставить в микроволновку и в десктоп. И в микроволновке базовая архитектура была та же самая, но там бы было только то, что нужно микроволновке. А в компе — все, что нужно компу, и все можно было собрать из кирпичиков. Софт бы ставил из централизованного магазина приложений, как сейчас. У меня до черта есть идей относительно идеальной ОС, и чтоб собрать все воедино будет огроменный документ. Сразу бы при проектировании закладывался, что ОС должна работать на любом процессоре, от i8080 и проще до современных и будущих монстров. Скорее всего в топку бы выбросил концепцию файловой системы, вместо этого что то вроде объект и набор тегов. Точно бы выкинул понятие пути к файлу! Программу бы сразу ставил со всеми зависимостями, все программы пусть живут в своей песочнице. Плюс механизм взаимодействия между программами, когда они универсально умеют сообщать другим что они умеют. Программы бы сделал в обязательном порядке разбитыми на модули, как минимум бы разделял в обязательном порядке UI (причем UI модулей может быть несколько, например голосовой UI, текстовый UI, графический UI) и функционал. API (максимально компактное и универсальное) старался бы продумывать очень и очень тщательно, чтоб потом не нужно было менять. Допускал бы, например, возможность прямого общения между программами минуя ОС, в том числе и между программами, ничего не знающими друг о друге. Соответственно сначала б в течение года писал документ, касающийся архитектуры будущей ОС, тщательно продумывая, чтоб не повторить все подводные камни, на которые огребла индустрия. В частности сразу б учитывал, что хрен я все предугадаю, но должен как то продумывать механизм рефакторингов будущих косяков. На байтах для высокоуровневых вещей бы не экономил.
Re: А если бы все с начала ?
От: s_aa Россия  
Дата: 12.01.18 18:11
Оценка: 30 (3) +1 :))) :)))
Сделал бы так, чтобы все языки на момент создания поддерживали только русский язык. Проснулись бы американцы, ан кругом Пока() Если () Для (пер ё = 0; ё < массив.длина; ё++).
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Отредактировано 12.01.2018 18:43 s_aa . Предыдущая версия .
Re: А если бы все с начала ?
От: MTD https://github.com/mtrempoltsev
Дата: 12.01.18 18:37
Оценка: +1 -1 :)
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Что бы Вы из существующего сделали в практически том же виде, в каком оно существует сейчас и что сделали бы по-другому ?


1. Никаких кодировок кроме utf-8
2. HTML, CSS, гуевые фреймворки на помоечку, вместо всего этого универсальный язык разметки с размерами в миллиметрах (отобразить правильно задача драйвера железки) для всего от принтеров, до экрана телефона. Все иконки строго векторные
3. С на помоечку, вместо него простой, непротиворечивый и логичный язык заточенный (как сделать правильно можно спросить меня)
4. POSIX на помоечку вслед за С, пусть интерфейсы напишут люди умеющие программировать
5. Python, Java script и прочие наколенные поделки на помоечку

Для начала хватит.
Re[2]: А если бы все с начала ?
От: 0x7be СССР  
Дата: 12.01.18 21:29
Оценка: +3
Здравствуйте, velkin, Вы писали:

V>Не нужно было делать Java, .NET и кучу других разработок вносивших разброд и шатание, деля программистов по специализации относительно инструментов разработки, а не умению использовать алгоритмы. Cмартфоны для приложений использовали бы C/C++ и были дровишки для GNU/Linux. Весь код кроссплатформенный, работал бы на десктопа/серверах, смартфонах, промышленных контроллерах и других устройствах.

С++ не нужен был бы
Re: А если бы все с начала ?
От: 0x7be СССР  
Дата: 12.01.18 21:45
Оценка: +3
Здравствуйте, Pavel Dvorkin, Вы писали:


PD>Железо осталось. Без изменений.

А чего так? Я пощупал немного MC68000 — после Intel`а просто рай какой-то. Всё просто и без затей.
Re[3]: А если бы все с начала ?
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 12.01.18 22:29
Оценка: +4 -1
Здравствуйте, 0x7be, Вы писали:

0>С++ не нужен был бы


А какая адекватная замена C/C++? Давайте по примеру топика представим, что платформы .NET, Java, а так же многие языки программирования исчезли. В целом компьютерная инфраструктура пострадала, но компьютеры по прежнему работают. Убираем C/C++ и наступает глобальный конец, ядра операционных систем, драйвера, веб-сервера, базы данных, cad, игры и многое другое перестают существовать. Это между прочим так же говорит о том, что подвергать исчезновению нужно именно C/C++, так как после этого всё остальное попросту исчезнет или не будет работать, потому что использует другие программы написанные на C/C++.
Re[2]: А если бы все с начала ?
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 12.01.18 22:55
Оценка:
Здравствуйте, elmal, Вы писали:

PD>>Чтоб одну ОС можно было поставить в микроволновку и в десктоп. И в микроволновке базовая архитектура была та же самая, но там бы было только то, что нужно микроволновке.


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

PD>>У меня до черта есть идей относительно идеальной ОС, и чтоб собрать все воедино будет огроменный документ. Сразу бы при проектировании закладывался, что ОС должна работать на любом процессоре, от i8080 и проще до современных и будущих монстров.


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

PD>>Скорее всего в топку бы выбросил концепцию файловой системы, вместо этого что то вроде объект и набор тегов. Точно бы выкинул понятие пути к файлу!


А вот в современном программировании существуют такие понятия как:
URI = URN + URL

URI (/ˌjuː ɑːr ˈaɪ/ англ. Uniform Resource Identifier) — унифицированный (единообразный) идентификатор ресурса.

URL — Единый указатель ресурса (англ. Uniform Resource Locator, URL /ˌjuː ɑːr ˈel/) — единообразный локатор (определитель местонахождения) ресурса.
<схема>:[//[<логин>:<пароль>@]<хост>[:<порт>]][/]<URL‐путь>[?<параметры>]<якорь>

URN (англ. Uniform Resource Name) — единообразное название (имя) ресурса.
<URN> ::= "urn:" <NID> ":" <NSS>
<NID> идентификатор пространства имён (англ. Namespace Identifier); представляет собой синтактическую интерпретацию NSS, не чувствителен к регистру.
<NSS> строка из определённого пространства имён (англ. Namespace Specific String);

Эта идея про набор тегов является URN, где NID пространства имён такие как контрольные суммы или что-то менее надёжное, вроде ISBN и так далее, а сами теги представляют собой NSS. Потому мы в принципе ничего нового не получим, те же magnet-ссылки.

URI-схема magnet: — открытый, находящийся в стадии рабочего черновика стандарт, определяющий URI-схему т. н. magnet-ссылок, предназначенных преимущественно для указания на ресурсы, доступные к загрузке через пиринговые сети.

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

PD>>Программу бы сразу ставил со всеми зависимостями, все программы пусть живут в своей песочнице.


В смартфонах пользователя ставят раком, или давай разрешение программе, или она не установится. В целом да, программы нужно ограничивать, но не так как это сейчас реализовано. Ещё люди жалуются на уязвимости в процессорах.
Re[3]: ISO 8601
От: Qbit86 Кипр
Дата: 12.01.18 23:18
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

Q>>Надо что-то сделать с календарём и временем.

PD>Здесь мы ограничены тем, что от мира ИТ не зависит.

Ну хоть на формат представления мы можем повлиять?
Глаза у меня добрые, но рубашка — смирительная!
Re[4]: А если бы все с начала ?
От: 0x7be СССР  
Дата: 13.01.18 00:19
Оценка: +2
Здравствуйте, velkin, Вы писали:

V>А какая адекватная замена C/C++?

Какой-то другой язык, в котором из-за эволюционного развития не было бы таких ужасов
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.