Отличная фича, вот пример того что есть в Си и чего очень не хватает в С++ (в с++20 вроде занесут, но все равно приходится пользоваться более старыми компиляторами).
Прямо сейчас изучаю исходники компилятора и линкера SCC, на фоне огромных исходников компилятора языка D совсем маленькая программа, десяток файлов общим объемом 140К, и эта кроха генерирует работающие Windows программы:)
Конечно в Си есть некоторые архитектурные недостатки, понятно что на момент его создания еще не было такой отработанной базы концепций и парадигм как сейчас. Но такой маленький объем и простота — вот к чему надо стремиться.
Хорошая идея — держать основной системой Linux, а Windows в виртуалке без доступа к интернету.
То есть линукс — как достаточно безопасная и предсказуемая система для интернета и повседневных задач, а винда — чисто для прикладного софта, который существует только под винду. Если виндовая программа требует интернет, можно на линуксе поднять прокси, а виндовой программе этот прокси прописать — тогда программе будет доступен инет, а всем остальным виндовым программам и винде в целом — нет.
Все концепции пользовательских операционных систем с графическим интерфейсом в основном определились еще в 90-е, если не раньше. Окна, меню, диалоги, работа с мышью и все такое прочее. Концепции же уровня ядра были известны еще раньше. Спрашивается — чего там менять?
Разумеется, появляется новое железо, под которое нужны новые драйверы (хотя в общем случае архитектура драйвера тоже давно известна);
время от времени возникают какие-то действительно новые возможности в плане интерфейса (типа сенсорных панелей, распознавания жестов и голоса и т.п.);
и также разумеется существующие возможности требуют корректировок и улучшений, так как с первого (как и во второго, и даже с десятого) раза всего не предусмотреть никогда.
То есть развитие софта все равно происходит и будет происходить.
Но в целом, то что происходит с обновлениями в десятке, в моем понимании в категорию «развитие софта» не попадает. Кажется, процентов на 90 это какая-то имитация бурной деятельности. Уж не знаю чем это вызвано — то-ли начиная с какого-то уровня сложности человеческий разум в принципе не способен обозреть всего, и разработчики путаются в собственном творении; то-ли это чисто маркетинговая деятельность (но зачем?); или вообще разработчики занимаются всем этим просто ради того чтобы и дальше работать в MS и получать зарплату. Я не знаю. Особенно непонятно в свете того, что закон Мура затормозился, нового железа (как в плане производительности/объема памяти, так и в плане новых фич) появляется все меньше, и возникает вопрос — так что же они там делают???
Это просто общий принцип из функциональных языков: операторные блоки могут возвращать значения. Унификация, чуть больше компактности, возможность использовать блоки в выражениях — почему бы и нет?
Ну что-ж, посмотрим. Тут интересно главным образом то, смогут ли китайцы поддержать достаточно высокий уровень открытости своей системы (это и open-source, и культура взаимодействия с Сообществом и пользователями в самых разных аспектах). А то и американцы-то далеко не всегда могут, сколько было случаев и нарушений GPL, и тивоизации, и задержек с публикацией исходников… А китайцы, скажем так, более склонны к централизации во всем.
Конечно статическая типизация лучше чем динамическая — просто потому, что статическая типизация может включать в себя динамическую как частный случай (а вот наоборот не получится). Достаточно ввести какой-то тип «dynamic» или «any», для объектов которого будут применяться правила динамической типизации (в том числе с поддержкой со стороны компилятора). Если вы любите динамическую типизацию — просто объявляйте ВСЕ объекты этого типа, и будет как в JS или PHP. Но зато тем, кто предпочитает статическую, не придется плакать горючими слезами при попытках повторного использования такого кода: достаточно будет уяснить по смыслу программы, какого конкретно типа должна быть переменная — заменить в объявлении «any» на этот конкретный тип… и возможно увидеть предупреждения и ошибки компиляции при попытке использовать эту переменную как объект другого типа:)
Децентрализованная госсистема. В Китае и РФ она централизованная, т.е. имеется Вертикаль Власти, и все органы власти — федеральные, региональные, местные, все ветки — законодательная, исполнительная, судебная — так или иначе, явно или неявно подчиняются единому Центру; т.е. система такова, что даже при отсутствии явной субординации, действовать против воли Центра любому элементу системы просто невыгодно.
Система власти скажем в США выглядит более децентрализованной; там множество выборных должностей на всех уровнях, которые не подчиняются центру. Т.е. вполне возможно противостояние центра и региона, региона и местной власти, а также разных ветвей. Конечно и там все далеко от идеала (да и достижим ли он вообще?).
Еще может быть такое, что любая система власти имеет тенденцию скатываться к централизации. Но с другой стороны, если брать живой многоклеточный организм, то он, будучи сложнейшей системой, в состав которой входят триллионы клеток, сложнейшим образом структурированных в органы и ткани, тем ни менее не имеет никакой централизации вообще; хотя конечно такая аналогия может быть не вполне корректной.
Посты про Матрицу плюсую всегда, обожаю ее эстетику и атмосферу. Это нечто непередаваемое.
Кто не знает — после всех матриц были локальные игры Enter the Matrix и Path of Neo, и сетевая игра Matrix Online, а затем ее закрыли, но энтузиасты с помощью реверс-инжиниринга сделали свой сервер. Не знаю можно ли там полноценно играть, но можно побродить по настоящему Matrix City. Вот именно ради эстетики и атмосферы. mxoemu.info
Я имел в виду не microsoft, а Сообщество гиков и хакеров, которые иногда делают удивительные вещи, вроде хакинтошей, установки windows на смарт-часы и написания виртуалок на javascript. WSL на семерке вполне могла бы попасть в сферу интересов подобных людей:)
У меня есть Linux в дуалбуте, если надо что-то сделать — использую. А на работе вообще линуксом в виртуалке каждый день пользуюсь.
Но винда все-таки удобнее.
Гораздо интереснее, что до сих пор никто не раскопал технические подробности — что именно не хватает для WSL в семерке. В англоязычных источниках упоминаются только некие «вызовы ядра». Что это за вызовы, насколько они критичны, можно ли их как-то добавить путем патча ядра семерки или самого WSL и т.п.?
Я ставлю только обновления, проверенные Сообществом на отсутствие телеметрии и прочих гадостей:) И никаких автоматических обновлений, только вручную.
Ну и еще стоит TinyWall, в котором собственно винде выход в инет заблокирован (хотя конечно ОС может найти средства обхода софтового файервола, но пока вроде все ОК).
Я не пользуюсь WSL т.к. сижу на семерке. И кстати, непонятно что делать тем кто по тем или иным соображениям не хочет переходить на десятку
* WSL недоступен
* проект coLinux как-то не развивается, последний релиз 2011 года
* виртуалки… иногда это удобно а иногда нет, кроме того есть еще случай когда процессор не поддерживает аппаратную виртуализацию.
Не знаю что вы имеете в виду под «гуманитарными достижениями», но они прекрасно реплицируемы. Или вы не читаете книги, не смотрите фильмы, не слушаете музыку, не смотрите наконец картинки в интернете? :) Гуманитарный прогресс работает несколько сложнее чем вам кажется. Так например, какой-нибудь заумный перформанс «не для всех», на который вы даже не пойдете, все равно оказывает на вас влияние — самим фактом своего существования, тем что вы краем глаза увидели новость или краем уха услышали о том, что в вашем городе такое есть. Это создает определенную «атмосферу возможностей» и немножко, совершенно неощутимо для конкретного человека сдвигает «окно Овертона» в определенном направлении. Но то что неощутимо для конкретного человека, ощутимо для человечества — на больших масштабах и на больших промежутках времени.
Права человека — это безусловно «intersubjective reality», то есть реальность, основанная на коллективном согласии людей по некоторому вопросу. Сюда же относятся такие понятия как «государство», «законы», «собственность», «деньги», «культура», «религия» и т.д. В отличие от объективной реальности, интерсубъективная целиком основана на людях как носителях — но это не делает ее менее реальной. Государства могут начать войну, в которой вы погибнете, без денег вам не на что будет кушать, а доминирующая религия может ограничить вас в правах или вовсе лишить жизни за то, что вы окажетесь «еретиком» или «вероотступником».
Поэтому я, как один из носителей интерсубъективной реальности нашей цивилизации, поддерживаю определенные ее аспекты (такие как права человека и либерализм) и не поддерживаю другие (такие как фашизм и законы шариата).
Хорошо когда технический прогресс синхронизирован с гуманитарным, а в данном случае технический прогресс покупается за огромные деньги, а гуманитарным там и не пахнет. Это потенциально опасная ситуация, для обозначения которой есть фразеологизм «обезьяна с гранатой».
Конечно в Си есть некоторые архитектурные недостатки, понятно что на момент его создания еще не было такой отработанной базы концепций и парадигм как сейчас. Но такой маленький объем и простота — вот к чему надо стремиться.
То есть линукс — как достаточно безопасная и предсказуемая система для интернета и повседневных задач, а винда — чисто для прикладного софта, который существует только под винду. Если виндовая программа требует интернет, можно на линуксе поднять прокси, а виндовой программе этот прокси прописать — тогда программе будет доступен инет, а всем остальным виндовым программам и винде в целом — нет.
Разумеется, появляется новое железо, под которое нужны новые драйверы (хотя в общем случае архитектура драйвера тоже давно известна);
время от времени возникают какие-то действительно новые возможности в плане интерфейса (типа сенсорных панелей, распознавания жестов и голоса и т.п.);
и также разумеется существующие возможности требуют корректировок и улучшений, так как с первого (как и во второго, и даже с десятого) раза всего не предусмотреть никогда.
То есть развитие софта все равно происходит и будет происходить.
Но в целом, то что происходит с обновлениями в десятке, в моем понимании в категорию «развитие софта» не попадает. Кажется, процентов на 90 это какая-то имитация бурной деятельности. Уж не знаю чем это вызвано — то-ли начиная с какого-то уровня сложности человеческий разум в принципе не способен обозреть всего, и разработчики путаются в собственном творении; то-ли это чисто маркетинговая деятельность (но зачем?); или вообще разработчики занимаются всем этим просто ради того чтобы и дальше работать в MS и получать зарплату. Я не знаю. Особенно непонятно в свете того, что закон Мура затормозился, нового железа (как в плане производительности/объема памяти, так и в плане новых фич) появляется все меньше, и возникает вопрос — так что же они там делают???
Система власти скажем в США выглядит более децентрализованной; там множество выборных должностей на всех уровнях, которые не подчиняются центру. Т.е. вполне возможно противостояние центра и региона, региона и местной власти, а также разных ветвей. Конечно и там все далеко от идеала (да и достижим ли он вообще?).
Еще может быть такое, что любая система власти имеет тенденцию скатываться к централизации. Но с другой стороны, если брать живой многоклеточный организм, то он, будучи сложнейшей системой, в состав которой входят триллионы клеток, сложнейшим образом структурированных в органы и ткани, тем ни менее не имеет никакой централизации вообще; хотя конечно такая аналогия может быть не вполне корректной.
Кто не знает — после всех матриц были локальные игры Enter the Matrix и Path of Neo, и сетевая игра Matrix Online, а затем ее закрыли, но энтузиасты с помощью реверс-инжиниринга сделали свой сервер. Не знаю можно ли там полноценно играть, но можно побродить по настоящему Matrix City. Вот именно ради эстетики и атмосферы. mxoemu.info
Но винда все-таки удобнее.
Гораздо интереснее, что до сих пор никто не раскопал технические подробности — что именно не хватает для WSL в семерке. В англоязычных источниках упоминаются только некие «вызовы ядра». Что это за вызовы, насколько они критичны, можно ли их как-то добавить путем патча ядра семерки или самого WSL и т.п.?
Ну и еще стоит TinyWall, в котором собственно винде выход в инет заблокирован (хотя конечно ОС может найти средства обхода софтового файервола, но пока вроде все ОК).
* WSL недоступен
* проект coLinux как-то не развивается, последний релиз 2011 года
* виртуалки… иногда это удобно а иногда нет, кроме того есть еще случай когда процессор не поддерживает аппаратную виртуализацию.
Поэтому я, как один из носителей интерсубъективной реальности нашей цивилизации, поддерживаю определенные ее аспекты (такие как права человека и либерализм) и не поддерживаю другие (такие как фашизм и законы шариата).