JetBrains смогла адаптировать свою бизнес-модель, и такие IDE, как IntelliJ IDEA и PyCharm, остались главными инструментами для миллионов разработчиков.
JetBrains подключилась к антипутинским санкциям. Не существует в России легальных способов покупки лицензий и скачивания дистрибутивов/обновлений их продуктов. И все эти "миллионы разработчиков" отрыто нарушают условия лицензий JetBrains.
Произошёл некий ренессанс Linux и рождение новой культуры.
Переход на Linux (даже на якобы "российские" сборки) прямо саботируется Яндексом, демонстративно не выпускающим свой коммуникационный софт для "российских" операционных систем. Но в условиях блокирования государством полноценных мессенджеров для коммуникации внутри компаний остаются практически только Яндекс Мессенджер и Яндекс Телемост. И это вынуждает продолжать использовать Windows.
Российские интеграторы и вендоры начинают предлагать свои услуги и продукты на рынках стран БРИКС и СНГ, где многие компании сталкиваются с похожими вызовами.
Перечислите, пожалуйста, эти страны с "многими компаниями". Белоруссия, как союзник России - понятно. Но какие ещё страны попали под такие международные санкции, что им срочно понадобилась "российская" IT-продукция?
"$request['method'] $request['path']\n" // И внутри итрепретируемых строк индексы тоже в кавычках
Зачем strpos($line, ':')? Какой смысл в этом лишнем просмотре строки, замедляющем код, если по результатам explode мы сразу можем сказать, имеет заголовок формат "ключ: значение" или нет? Тем более, что все корректные заголовки, кроме первого, имеют этот формат.
Basic - это предельно упрощённый Fortran, адаптированный для людей, не являющихся ни профессиональными программистами, ни профессиональными математиками. Собственно, он и был создан для написания кода студентами, не изучающими программирование.
В качестве языка для обучения программированию лучше всего охарактеризовал Basic Дейкстра: "Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации".
Во времена первых 8-битных персональных компьютеров широкому распространению Basic способствовало то, что интерпретатор языка мог работать на компьютерах с предельно малым объёмом ОЗУ. Но сама концепция статически типизированного интерпретируемого языка программирования - эволюционный тупик. И язык начал умирать в 1991 году - с появлением более удобного и рассчитанного на ту же самую аудиторию динамически типизированного Python. Лишь позиция Билла Гейтса, пихающего Basic во все щели, позволила удержать этот язык на плаву ещё несколько десятилетий.
P.S. ИМХО, лучшие диалекты Basic - QuickBasic / QBasic (интерпретатор и компилятор с очень похожими структурными диалектами языка, немного отличающимися семантикой подпрограмм): они прекрасно подходили для прототипирования в задачах, не связанных с обработкой текстов. Но вот VB - это уже деградация.
Единственная причина "популярности" 1C в России - аффилированность с властью. Когда 1С начинала, их бухгалтерская система была лишь одной из многих и далеко не лучшей. А вот дальше началось планомерное убирание конкурентов.
Бизнес-модель, в которой сама 1С ни за что не отвечает, а обслуживанием конечных пользователей занимаются [полу]подвальные фирмочки-посредники - типичный пример сетевого маркетинга в его худшем виде.
Мечты, мечты... С треском разбивающиеся о раздел математики под названием "теория алгоритмов".
Верить вы можете во что угодно, но реальные возможности ИИ определяются не религиозной верой, а математическими правилами, по которым построены все существующие на Земле цифровые компьютеры.
А теперь это всё, внезапно, разработчики языка просто взяли и сломали
Не "внезапно". От объявления того, что какой-то механизм языка будет в будущем удалён, до его фактического удаления проходит более чем достаточно времени. И если правки в любой проект не были внесены вовремя, виноваты в этом не разработчики PHP, а разработчики, занимающиеся развитием проекта и не пожелавшие вовремя внести небольшие изменения в код. Последней же версией, при переходе на которую могла потребоваться радикальная переделка старого кода, была PHP 5.4 (отказ от совместимости с PHP 4).
P.S. Пример JavaScript, в котором "совместимость" возвели в религию, показывает, что это приводит лишь к бессмысленному раздуванию языка и тиражированию низкокачественного кода.
P.P.S. В современном мире несовместимости между версиями языка - не исключение из правил, а норма. С которой приходится сталкиваться даже в предельно стабильном Go.
Строительство дата-центров говорит только о том, что эти дата-центры приносят доход своим владельцам. И не важно, работает технология, или нет. Главное - создать у клиентов иллюзию того, что технология работает. Те, кто несут свои деньги астрологам или гадалкам, тоже уверены, что получат правильный ответ на свой вопрос.
ИМХО, pipe станет более востребован, когда в 8.6 появится частичное применение функций https://wiki.php.net/rfc/partial_function_application_v2. А до тех пор каналы (или трубы?) безусловно упростят код в некоторых случаях, но не станут повсеместно используемым механизмом.
Если в области, площадь которую сократили с помощью ИИ, содержится ответ - ну потратим в несколько раз больше сил и времени на ручную перепроверку тех участков полученной области, в которых ответа нет и быть не может. В конце-концов ответ всё же найдем.
Но ведь регулярно будут возникать ситуации, когда ответ есть, но он находится вне определённой ИИ области. В результате существующий ответ не будет найден.
почему действительно на него не жалеют денег?
Об этом, в том числе, рассказывает статья, которую вы комментируете. И я полностью согласен с её автором.
Он ускорит процесс получения учёными знаний и, соответственно открытий.
Нет, не ускорит. ИИ - не инструмент генерации знаний, а всего лишь эвристика, генерирующая примерно правильный ответ на базе заданного набора правильных ответов (обучающей выборки). И как всякая эвристика, ИИ не может не ошибаться.
Алгоритмизируемая обработка данных не требует ИИ: прямая реализация алгоритма (дающего правильный ответ в 100% случаев) требует для своей работы на порядки меньше вычислительных ресурсов, чем нейросеть, в результате обучения примерно правильно имитирующая этот алгоритм.
А для нетривиальной неалгоритмизируемой обработки ИИ гарантировано будет выдавать мешанину из правильных результатов и откровенного бреда, внешне похожего на правильные результаты. И на отделение одного от другого понадобится куда больше сил и времени, чем на обработку данных без использования ИИ.
Один молодой разработчик способен создать систему, которая обслуживает тысячи пользователей.
А теперь спросите этого молодого разработчика, насколько эффективна созданная им система... И в большинстве случаев вы не сможете получить адекватный ответ.
В том-то и проблема, что все умения наиболее распространённого в России типажа "молодого разработчика" сводятся к бездумной (как научили, так и клепаем) сборке кое-как работающих систем из готовых кубиков-библиотек. Без какого-либо понимания и того, насколько эти библиотеки эффективны в данном конкретном случае, и того, насколько алгоритмически эффективны написанные им самим прокладки между библиотеками.
И написанная таким разработчиком система способна обслуживать тысячи пользователей не потому, что "молодой разработчик" написал качественный код, а потому, что высокопроизводительное железо способно [частично] замаскировать проблемы качества кода.
Как минимум, с 42 версии KDE - один из шести основных вариантов Fedora. Полностью равноправный варианту с Gnome. И если рассказывать о нововведениях, то во всех шести базовых вариантах (Workstation, Plasma Desktop, Server, IoT, Cloud, CoreOS), выделенных на главной странице официального сайта Fedora. Или переименовать статью: чтобы сразу было понятно, что речь не о всей Fedora 43, а лишь о единственном варианте системы.
А уж объявление в статье Qt источником устаревших приложений, требующих доработки...
P.S. Кстати, KDE 6.5.1 в Fedora 43 уже завезли: автоматически устанавливается при обновлении.
Так ведь фраза "радиус покрытия 10 метров" клиентов никак не привлечёт. Вот и приходится ухищряться, чтобы впаривать лохам эту бессмысленно дорогую игрушку.
Не Object Pascal, а Oberon. И Pascal (не монструозный Object Pascal, а маленький оригинальный Pascal) и Oberon созданы Виртом и многие конструкции в этих языках внешне похожи. Именно потому у вас сложилось это ложное впечатление.
Нужна недорогая самосборка - берём ASRock DeskMeet x600 или даже DeskMini x600 и не заморачиваемся с выбором корпуса / материнки / блока питания. И без отдельной видеокарты, т.к. старые игры встроенная видеокарта прекрасно потянет, а новые игры дешёвый компьютер потянуть не сможет.
Вы в своей статье преподносите var как доказательство факта:
в статически типизированные языки пытаются привнести динамики
и это не соответствует реальности.
В var нет динамики. Ни в каком виде нет. Динамика - это когда что-то делается в процессе выполнения кода. Но var работает на этапе компиляции и только компиляции: статика в чистом виде.
Ваше предположение, что var появился в статически-типизированных языках под влиянием динамически-типизированных, абсолютно ошибочно. Между статическим выводом типов переменных в C#, Go, Java и полным отсутствием типов переменных в JavaScript, Python нет ничего общего.
Динамическая типизация, это когда одной и той же переменной можно присваивать значения совершенно разных типов. Вот если бы в Java можно было написать:
var x = 12;
x = "12345";
это была бы динамическая типизация.
Но нет, такое в Java невозможно. И конструкция:
var x = 12;
создаёт переменную целого типа, которой можно присваивать только целочисленные значения.
Var - не динамическая типизация, а всё та же статическая. Вся разница только в том, что вместо явного прописывания имени типа используется тип значения инициализирующего выражения, однозначно определяемый в момент компиляции. Это называется "выведение типа": оно используется во многих статически типизированных языках и не имеет никакого отношения к языкам с динамической типизацией.
JetBrains подключилась к антипутинским санкциям. Не существует в России легальных способов покупки лицензий и скачивания дистрибутивов/обновлений их продуктов. И все эти "миллионы разработчиков" отрыто нарушают условия лицензий JetBrains.
Переход на Linux (даже на якобы "российские" сборки) прямо саботируется Яндексом, демонстративно не выпускающим свой коммуникационный софт для "российских" операционных систем. Но в условиях блокирования государством полноценных мессенджеров для коммуникации внутри компаний остаются практически только Яндекс Мессенджер и Яндекс Телемост. И это вынуждает продолжать использовать Windows.
Перечислите, пожалуйста, эти страны с "многими компаниями". Белоруссия, как союзник России - понятно. Но какие ещё страны попали под такие международные санкции, что им срочно понадобилась "российская" IT-продукция?
Шизофазия или шизофрения?
В качестве экзерсиса - отлично. Но для практической работы (например, для отладки) лучше использовать встроенный в интерпретатор PHP web-сервер: https://www.php.net/manual/ru/features.commandline.webserver.php
То, что сразу бросилось в глаза в коде:
Зачем
strpos($line, ':')? Какой смысл в этом лишнем просмотре строки, замедляющем код, если по результатам explode мы сразу можем сказать, имеет заголовок формат "ключ: значение" или нет? Тем более, что все корректные заголовки, кроме первого, имеют этот формат.Basic - это предельно упрощённый Fortran, адаптированный для людей, не являющихся ни профессиональными программистами, ни профессиональными математиками. Собственно, он и был создан для написания кода студентами, не изучающими программирование.
В качестве языка для обучения программированию лучше всего охарактеризовал Basic Дейкстра: "Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации".
Во времена первых 8-битных персональных компьютеров широкому распространению Basic способствовало то, что интерпретатор языка мог работать на компьютерах с предельно малым объёмом ОЗУ. Но сама концепция статически типизированного интерпретируемого языка программирования - эволюционный тупик. И язык начал умирать в 1991 году - с появлением более удобного и рассчитанного на ту же самую аудиторию динамически типизированного Python. Лишь позиция Билла Гейтса, пихающего Basic во все щели, позволила удержать этот язык на плаву ещё несколько десятилетий.
P.S. ИМХО, лучшие диалекты Basic - QuickBasic / QBasic (интерпретатор и компилятор с очень похожими структурными диалектами языка, немного отличающимися семантикой подпрограмм): они прекрасно подходили для прототипирования в задачах, не связанных с обработкой текстов. Но вот VB - это уже деградация.
Единственная причина "популярности" 1C в России - аффилированность с властью. Когда 1С начинала, их бухгалтерская система была лишь одной из многих и далеко не лучшей. А вот дальше началось планомерное убирание конкурентов.
Бизнес-модель, в которой сама 1С ни за что не отвечает, а обслуживанием конечных пользователей занимаются [полу]подвальные фирмочки-посредники - типичный пример сетевого маркетинга в его худшем виде.
Мечты, мечты... С треском разбивающиеся о раздел математики под названием "теория алгоритмов".
Верить вы можете во что угодно, но реальные возможности ИИ определяются не религиозной верой, а математическими правилами, по которым построены все существующие на Земле цифровые компьютеры.
Не "внезапно". От объявления того, что какой-то механизм языка будет в будущем удалён, до его фактического удаления проходит более чем достаточно времени. И если правки в любой проект не были внесены вовремя, виноваты в этом не разработчики PHP, а разработчики, занимающиеся развитием проекта и не пожелавшие вовремя внести небольшие изменения в код. Последней же версией, при переходе на которую могла потребоваться радикальная переделка старого кода, была PHP 5.4 (отказ от совместимости с PHP 4).
P.S. Пример JavaScript, в котором "совместимость" возвели в религию, показывает, что это приводит лишь к бессмысленному раздуванию языка и тиражированию низкокачественного кода.
P.P.S. В современном мире несовместимости между версиями языка - не исключение из правил, а норма. С которой приходится сталкиваться даже в предельно стабильном Go.
Строительство дата-центров говорит только о том, что эти дата-центры приносят доход своим владельцам. И не важно, работает технология, или нет. Главное - создать у клиентов иллюзию того, что технология работает. Те, кто несут свои деньги астрологам или гадалкам, тоже уверены, что получат правильный ответ на свой вопрос.
ИМХО, pipe станет более востребован, когда в 8.6 появится частичное применение функций https://wiki.php.net/rfc/partial_function_application_v2. А до тех пор каналы (или трубы?) безусловно упростят код в некоторых случаях, но не станут повсеместно используемым механизмом.
Если в области, площадь которую сократили с помощью ИИ, содержится ответ - ну потратим в несколько раз больше сил и времени на ручную перепроверку тех участков полученной области, в которых ответа нет и быть не может. В конце-концов ответ всё же найдем.
Но ведь регулярно будут возникать ситуации, когда ответ есть, но он находится вне определённой ИИ области. В результате существующий ответ не будет найден.
Об этом, в том числе, рассказывает статья, которую вы комментируете. И я полностью согласен с её автором.
Нет, не ускорит. ИИ - не инструмент генерации знаний, а всего лишь эвристика, генерирующая примерно правильный ответ на базе заданного набора правильных ответов (обучающей выборки). И как всякая эвристика, ИИ не может не ошибаться.
Алгоритмизируемая обработка данных не требует ИИ: прямая реализация алгоритма (дающего правильный ответ в 100% случаев) требует для своей работы на порядки меньше вычислительных ресурсов, чем нейросеть, в результате обучения примерно правильно имитирующая этот алгоритм.
А для нетривиальной неалгоритмизируемой обработки ИИ гарантировано будет выдавать мешанину из правильных результатов и откровенного бреда, внешне похожего на правильные результаты. И на отделение одного от другого понадобится куда больше сил и времени, чем на обработку данных без использования ИИ.
А теперь спросите этого молодого разработчика, насколько эффективна созданная им система... И в большинстве случаев вы не сможете получить адекватный ответ.
В том-то и проблема, что все умения наиболее распространённого в России типажа "молодого разработчика" сводятся к бездумной (как научили, так и клепаем) сборке кое-как работающих систем из готовых кубиков-библиотек. Без какого-либо понимания и того, насколько эти библиотеки эффективны в данном конкретном случае, и того, насколько алгоритмически эффективны написанные им самим прокладки между библиотеками.
И написанная таким разработчиком система способна обслуживать тысячи пользователей не потому, что "молодой разработчик" написал качественный код, а потому, что высокопроизводительное железо способно [частично] замаскировать проблемы качества кода.
Как минимум, с 42 версии KDE - один из шести основных вариантов Fedora. Полностью равноправный варианту с Gnome. И если рассказывать о нововведениях, то во всех шести базовых вариантах (Workstation, Plasma Desktop, Server, IoT, Cloud, CoreOS), выделенных на главной странице официального сайта Fedora. Или переименовать статью: чтобы сразу было понятно, что речь не о всей Fedora 43, а лишь о единственном варианте системы.
А уж объявление в статье Qt источником устаревших приложений, требующих доработки...
P.S. Кстати, KDE 6.5.1 в Fedora 43 уже завезли: автоматически устанавливается при обновлении.
Ваш комментарий свидетельствует только о том, что вы незнакомы ни с языком Oberon, ни даже с учебником языка Go авторства Донована и Кернигана.
Ну да: то, что вместо 10 метров будет 10 метров 17 сантиметров, безусловно меняет ситуацию.
Так ведь фраза "радиус покрытия 10 метров" клиентов никак не привлечёт. Вот и приходится ухищряться, чтобы впаривать лохам эту бессмысленно дорогую игрушку.
Не Object Pascal, а Oberon. И Pascal (не монструозный Object Pascal, а маленький оригинальный Pascal) и Oberon созданы Виртом и многие конструкции в этих языках внешне похожи. Именно потому у вас сложилось это ложное впечатление.
Нужна недорогая самосборка - берём ASRock DeskMeet x600 или даже DeskMini x600 и не заморачиваемся с выбором корпуса / материнки / блока питания. И без отдельной видеокарты, т.к. старые игры встроенная видеокарта прекрасно потянет, а новые игры дешёвый компьютер потянуть не сможет.
Вы в своей статье преподносите var как доказательство факта:
и это не соответствует реальности.
В var нет динамики. Ни в каком виде нет. Динамика - это когда что-то делается в процессе выполнения кода. Но var работает на этапе компиляции и только компиляции: статика в чистом виде.
Ваше предположение, что var появился в статически-типизированных языках под влиянием динамически-типизированных, абсолютно ошибочно. Между статическим выводом типов переменных в C#, Go, Java и полным отсутствием типов переменных в JavaScript, Python нет ничего общего.
Динамическая типизация, это когда одной и той же переменной можно присваивать значения совершенно разных типов. Вот если бы в Java можно было написать:
это была бы динамическая типизация.
Но нет, такое в Java невозможно. И конструкция:
создаёт переменную целого типа, которой можно присваивать только целочисленные значения.
Var - не динамическая типизация, а всё та же статическая. Вся разница только в том, что вместо явного прописывания имени типа используется тип значения инициализирующего выражения, однозначно определяемый в момент компиляции. Это называется "выведение типа": оно используется во многих статически типизированных языках и не имеет никакого отношения к языкам с динамической типизацией.