[image]

У России должна быть своя ОС

 
1 17 18 19 20 21 22 23
+
-
edit
 

Balancer

администратор
★★★★★
digger> Сложные функции в ячейке - извращение.Я вместо этого использую Питон

Офис, всё же, пишется не для маргиналов. Маргиналы куда эффективнее используют тот же TeX.

Попробуй заставить свою бухгалтершу писать на Питоне...
   33
LT Bredonosec #14.06.2016 19:27  @Balancer#14.06.2016 18:54
+
-
edit
 
Balancer> Более того, такого количества сегодня нет ни у одной страны мира.
тут вспомнил, читал, что при анализе некоторых вирей выяснили, что какие-то госконторы в сша создали новый язык программирования, на котором эти вири написаны... не особенно уловил, как можно понять при декомпиляции - какие-то переменные обладали не тем набором атрибутов? Или вовсе иная логика языка?
Я к тому, что с нуля какие-то вещи делаются, хоть и не столь крупные..

Balancer> Ядро Linux — ещё 10 млн. человекочасов.
а там действительно нужно столько?
Или это просто мусорный код, добавляемый компилированием из написанного на высокоуровневом языке программы?
Программингом заниматься очень рудиментарно пробовал, но тем не менее, помню, что одна и та же вещь может занимать на порядки разное место.
На каком-нить С# наверно хелловорлрд пару метров займет, а смесяц назад приятель гостил, рассказывал, как в германии на конкурсе демок заняли призовой (второе чтоль?) место с демкой на 2 метра, в которой уместили емнис 15-минутный фильм про мир фоллаута.
Да и с примитивным рисованием страничек в юности помню - вручную напишешь - оно занимает буквально с десяток килобайт. На визивиге - полметра какого-то мусора, в котором даже разбираться неохота от обилия совершенно мусорного кода.

>Базы данных, сервера, графические редакторы, растровые и векторые, браузеры...
но разве идеология программ привязана к оси? Или они своё делают, а только ввод-вывод приспосабливают к особенностям апи?

Balancer> Не может быть сложного софта без дыр. Нереально предусмотреть всё.
потому и возвращаюсь каждый раз к вопросу - зачем усложнение?
   26.026.0
LT Bredonosec #14.06.2016 19:38  @Balancer#14.06.2016 19:02
+
-
edit
 
Balancer> А если ты про POSIX-подсистему (которая не имеет ничего общего с OS/2), то да, нужна. Ею пользуется огромное количество кроссплатформенного софта.
о как.... однако.. А кто именно? Ну, из самых распространенных..

Balancer> По сравнению с инфраструктурой в целом — это мелочь.
ну это же только примеры.. То, с чем помню, что сталкивался.

Balancer> Видишь ли, при разработке таких систем или ты обеспечиваешь поддержку имеющегося софта и тогда у тебя система пухнет и глючит (привет, Windows), или ты обеспечиваешь работоспособность только текущего актуального софта, тогда система получается легче, надёжнее, но не может потеснить рынок там, где работает система с поддержкой старого (привет, Linux, Android и iOS), или ты полностью забиваешь на совместимость, планируя, что весь необходимый софт будет написан с нуля или портирован тобой или заинтересованными и тогда твоя система умирает (WinPhone, BlackBerry, Tizen, BeOS, Firefox OS, Ubuntu Touch и десятки других).
хм.... спасибо, вот этот момент неплохо точки над Ё поставил.

А эту идеологию как-то изменить нельзя?
Ну, напр, выяснилась некая дыра, убрали или изменили некие апи, заодно выслали разрабам софтин сообщение, что так и так - это теперь сменилось на вот так, если ваш софт использует это место - меняйте, обновляйте, патчите или что там хотите делайте.
Или сделать ядро независимым, а софт запускать как вирт-машины, со своими песочницами - чтоб дыры софта нельзя было использовать для попадания в систему?
   26.026.0
LT Bredonosec #14.06.2016 19:45  @Balancer#14.06.2016 19:15
+
-
edit
 
Balancer> На низком уровне тебе приходится контролировать массу рутинных операций, малейшая ошибка в которых способна привести к уязвимости.
А нет-ли редакторов для низкоуровневого языка, которые б проверяли синтаксис на ошибки? Получается что-то вроде высокоуровневого, но без обязательного упоминания кучи мусорного кода там, где он не нужен..
Или нет?

Balancer> Следующий уровень — разнесение функций одного приложения на серверы приложений, раздельные ноды.
вот тут уже не понял.. это уже не программирование, а что-то еще?

Balancer> И, вообще, за счёт уменьшения рутины резко растёт производительность процесса разработки.
не, так это как раз и не обсуждается.... Это само собой. Но с учетом позднейшего перетрахивания кода в поисках будущих ошибок и исправлений не выйдет более оптимально изначально написать более простым языком, чтоб потом меньше лопатить?
   26.026.0
BY V.Stepan #14.06.2016 19:48  @Balancer#14.06.2016 19:02
+
-
edit
 

V.Stepan

аксакал
★★☆
Balancer> Откуда «в выни - полуось»? :)

В первых версиях NT была поддержка 16-битных консольных приложений OS/2.

Хотя система, которая изначально должна была называться «NT OS/2» была в итоге выпущена как «Windows NT», она осталась во многом совместимой с OS/2. Так, поддерживалась файловая система HPFS, а также работавшие в текстовом режиме 16-битные приложения OS/2 (в версии для x86).
 


Тыж не забывай, что весь код от OS/2 1.Х у мелкомягких был (разве что 1.3 не было, но там поддержка текстовых приложений не менялась).

Но уже, ЕМНИП, в 4.0 исчезла эта подсистема.
   38.938.9
LT Bredonosec #14.06.2016 19:49  @digger#14.06.2016 19:19
+
-
edit
 
digger> Сложные функции в ячейке - извращение.
наоборот очень удобно :)
не надо макросов (которые по дефолту еще и много где запрещаются, их при пересылке почтовые клиенты вырезать или деактивировать пытаются (у меня первый вариант одного упрощения работы был на макросе - при пересылке вырезало нафиг)))), не надо извращаться с длинным синтаксисом: накатал название функции, дал аргументы - и оно всё делает за тебя безо всяких промежуточных ячеек и геморроя :)

>Я вместо этого использую Питон и данные в текстовом формате
не помню, кто писал, что питон изобрели, чтоб над кем-то поиздеваться, судя по степени его нелогичности ))
В общем, привычка может менять многое ))
   26.026.0
+
-
edit
 

digger

аксакал

Balancer> Попробуй заставить свою бухгалтершу писать на Питоне...
Ну тогда макро Экселя.Проще написать руками, чем разбираться в мудреных фичах и заставлять продукт работать, или может мозги бухгалтеров не так устроены.Вообще никогда не переваривал Эксель, он страхолюдный и неудобный.Если надо хранить таблицу, проще Аксесс.

>На визивиге - полметра какого-то мусора, в котором даже разбираться неохота от обилия совершенно мусорного кода.

Вовсе не такие большие, если на древнем. Дельфи - 300к пустого файла или 1.5 мб сложной программы из набросанных на форму компонентов (BSPlayer), VB - eще меньше + msvbvm60.dll 5мб + несколько ocx. Мусорный код там - обработчики никогда не наступающих событий и исключений.
   50.0.2661.10250.0.2661.102
RU Balancer #14.06.2016 19:52  @Bredonosec#14.06.2016 19:27
+
-
edit
 

Balancer

администратор
★★★★★
Bredonosec> Я к тому, что с нуля какие-то вещи делаются, хоть и не столь крупные..

С нуля много чего делается :)

Balancer>> Ядро Linux — ещё 10 млн. человекочасов.
Bredonosec> а там действительно нужно столько?

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

А так, первое попавшееся из changelog последнего релиза:

>compress: remove unused pcomp interface
>removes ethtool_cmd deprecated fields
>Remove mmapped netlink support
>powernv: Remove support for p5ioc2
>Remove obsolete 68360 support
>AHCI: Remove obsolete Intel Lewisburg SATA RAID device IDs
>cpqarray: remove it from the kernel
>iio: Remove periodic RTC trigger driver
>Delete STE RMI4 hackish driver
>Staging: dgap: Remove obsolete driver
>Remove deprecated AU1X00 AC97 driver
>Remove 68328 driver
>Remove Maxim 77802 driver

и т.д., там много :)

Bredonosec> На каком-нить С# наверно хелловорлрд пару метров займет

HelloWorld на Go занимает около 10 Мбайт :) Но сегодня это никому не интересно, так как весит столько не сам код «HellWorld», а вся инфраструктура, которую тянет с собой система. Поэтому, что «HelloWorld», что довольно сложное Web-приложение будут весить на Go всё те же 10Мбайт. Последнее будет только на сотню-другую килобайт больше первого :)

Bredonosec> в германии на конкурсе демок заняли призовой (второе чтоль?) место с демкой на 2 метра, в которой уместили емнис 15-минутный фильм про мир фоллаута.

Да, демки это круто. Я и сам ими баловался ещё в DOS-времена. Но это как раз крайний случай в другую сторону — как писать очень компактно, но очень, очень долго и без всякой надёжности :)

Bredonosec> но разве идеология программ привязана к оси?

Не идеология, а API. Невозможно написать полноценный API, не потратив на разработку системы время, сравнимое с разработкой системы оригинала. Яркий пример тому как раз ReactOS. Или WinE. Так что или тебе придётся писать вторую Windows/Linux самому и с нуля, или придётся забивать на совместимость, но тогда тебе придётся и весь софт под систему писать самому же :)

Balancer>> Не может быть сложного софта без дыр. Нереально предусмотреть всё.
Bredonosec> потому и возвращаюсь каждый раз к вопросу - зачем усложнение?

Так потому что задачи от софта всё более сложные требуются. Уже недостаточно уметь зажигать отдельные пикселы на экране в однозадачном режиме или пищать спикером :) Один только Web-браузер — чудовищная по своей сложности система, разрабатывать которую сегодня тянут буквально 3 команды. WebKit/Opensource/Google + Edge/Microsoft + Gecko/Mozilla. Всё? Safari (Apple, Карл!) и Opera отказались от гонки и перешли на WebKit. Что ещё?

И, вот, как ты полагаешь, для «чисто российской ОС» нужно разрабатывать движок с нуля (с чем в последние годы официально только MS связалась, поменяв Trident на Edge — хотя ещё вопрос, сколько в последнем «с нуля», а сколько от первого? :D)? Если да — то затея изначально глухая. Если нет и можно использовать сторонние компоненты то, внезапно, а зачем вообще делать систему с нуля, когда можно пойти по пути того же Китая (да и России :D) и воспользоваться готовым Linux?
   33
RU Balancer #14.06.2016 20:05  @Bredonosec#14.06.2016 19:38
+
-
edit
 

Balancer

администратор
★★★★★
Bredonosec> Ну, напр, выяснилась некая дыра, убрали или изменили некие апи, заодно выслали разрабам софтин сообщение

И вот тут возникает проблема. Есть огромная масса софта, которые больше никак не развивается. Автор забил на софт. Или вообще умер. Софт работает и востребован. И тут, бац — изменение в API. Никакая рассылка уже тут не поможет...

Bredonosec> что так и так - это теперь сменилось на вот так, если ваш софт использует это место - меняйте, обновляйте, патчите или что там хотите делайте.

На самом деле это настолько нереально, что не используется вообще ни в каких системах :) Либо система пытается обеспечить совместимость практически всего софта длительное время (Windows), либо пытается обеспечить совместимость текущих версий софта (Linux, Android, MacOS) — но это уже писалось выше.

Bredonosec> Или сделать ядро независимым, а софт запускать как вирт-машины, со своими песочницами

Это уже активно используется на серверах (Авиабаза, например, уже года четыре так работает) и развивается всё активнее (сперва — весь сервер в виртулаьной машине, теперь — каждое приложение в своём контейнере).

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

И всё опять утыкается в обмен данными, в файловую систему. В той же iOS или WinPhone приложения очень сильно разделены. Конечно, разделение не столь полноценное, как в Linux-контейнерах, но позволяет решить львиную долю проблем безопасности. Но, внезапно, программы теряют возможность работать с общими файлами. В лучшем случае — пересылать файл друг другу. Попробуй переслать 25Гб BlueRay видео... :D
   33
RU Balancer #14.06.2016 20:11  @Bredonosec#14.06.2016 19:45
+
-
edit
 

Balancer

администратор
★★★★★
Bredonosec> А нет-ли редакторов для низкоуровневого языка, которые б проверяли синтаксис на ошибки?

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

Bredonosec> Или нет?

Нет. Высокий уровень языка — это в первую очередь взятие на себя массы рутины. Снижение доли ошибок — побочный эффект :)

Bredonosec> вот тут уже не понял.. это уже не программирование, а что-то еще?

Программирование. Но более высокого уровня. Скажем, Авиабаза сейчас работает на 5-6-7 (даже точно не знаю навскидку) независимых компонентах. АвиаПорт примерно на таком же количестве.

Bredonosec> Но с учетом позднейшего перетрахивания кода в поисках будущих ошибок и исправлений не выйдет более оптимально изначально написать более простым языком, чтоб потом меньше лопатить?

Так более простой язык — и есть язык высокого уровня :) Тот, который позволяет просто и без лишних закапываний в детали описывать задачу :)
   33
RU Balancer #14.06.2016 20:12  @V.Stepan#14.06.2016 19:48
+
-
edit
 

Balancer

администратор
★★★★★
V.Stepan> В первых версиях NT была поддержка 16-битных консольных приложений OS/2.

Да, про это я уже успел забыть. Почему версии NT начинаются с 3.x помню, а вот про поддержку приложений — забыл :)
   33
RU Balancer #14.06.2016 20:14  @Bredonosec#14.06.2016 19:49
+
-
edit
 

Balancer

администратор
★★★★★
Bredonosec> не помню, кто писал, что питон изобрели, чтоб над кем-то поиздеваться, судя по степени его нелогичности ))

Нет, Питон, как раз, очень прост и логичен. Я считаю среди сегодняшних языков его №1 в списке рекомендаций не-программистам, которым что-то срочно понадобится посчитать. Эдакий современный Basic. По простоте до последнего, увы, сильно не дотягивает, но проще большинства альтернатив.

...

Из того, на чём пишу, на первое место по нелогичности я бы поставил Lua :)
   33
RU спокойный тип #14.06.2016 20:27  @Balancer#14.06.2016 17:07
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★★
Balancer> 95% моего кода за все времена написано в mcedit :D В том числе 99% кода Авиабазы.

ну MC вообще собой заменяет весь виндовс практически :D
   47.047.0
+
-
edit
 

digger

аксакал

Balancer> Нет, Питон, как раз, очень прост и логичен. Я считаю среди сегодняшних языков его №1 в списке рекомендаций не-программистам, которым что-то срочно понадобится посчитать. Эдакий современный Basic. По простоте до последнего, увы, сильно не дотягивает, но проще большинства альтернатив.


Как не дотягивает, если совсем бестиповый язык, нет низкоуровневых средств вроде dim и redim вообще.ИМХО первый и единственный нормальный из простых скриптовых языков, это за 60 лет начиная с Бейсика.Писать утилиты на коленке - далеко впереди любых альтернатив.

>Lua
Где на нем пишут, кроме Сталкера?
   50.0.2661.10250.0.2661.102

yacc

старожил
★★★

Balancer> Лексикон правил под DOS, но не выдержал конкуренции под Windows. В том числе потому, что тут начинался вопрос человекочасов, о котором у нас идёт речь.
Он ( как и другие отечественные разработки ) умер в первую очередь из-за пиратки, потому на проект побольше надо команду и надо финансирование, а его негде взять если коробочную версию тут же ломают и продают на CD за копейки, не приобретая легальную. Такие же копейки стоил Майкрософт, а как железо на котором можно было его запустить, помощнело и подешевело - так и Лексикон стал не нужен.
   50.0.2661.7550.0.2661.75

yacc

старожил
★★★

>>Lua
digger> Где на нем пишут, кроме Сталкера?
Например SetupFactory - легковестный инсталлятор.
Интерпретатор Луа - одна или две DLL всего.
   50.0.2661.7550.0.2661.75

  • Bod [15.06.2016 09:25]: Перенос сообщений в ...del
Последние действия над темой
1 17 18 19 20 21 22 23

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru