Рубрика «Программирование» - 210

Наверное, не я один после прочтения документации о sealed классах подумал: «Ладно. Может быть это когда-нибудь пригодится». Позже, когда в работе я встретил пару задач, где удалось успешно применить этот инструмент, я подумал: «Недурно. Стоит чаще задумываться о применении». И, наконец, я наткнулся на описание класса задач в книге Effective Java (Joshua Bloch, 3rd) (да-да, в книге о Java).

Давайте рассмотрим один из вариантов применения и оценим его с точки зрения семантики и производительности.

Sealed classes. Semantics vs performance - 1

Читать полностью »

Hyper-V более известен как технология виртуализации серверов; однако, начиная с Windows 8, он также доступен в клиентской операционной системе. В Windows 10 мы значительно улучшили работу, сделав Hyper-V отличным решением для разработчиков и ИТ-специалистов.
 
Microsoft Hyper-V, кодовое название Viridian, — это нативный (тип 1) гипервизор, который, в отличие от VMware Workstation, VirtualBox и других гипервизоров типа 2, работает непосредственно на оборудовании. Впервые он был выпущен в Windows Server 2008 и позволяет запускать виртуальные машины в системах x86-64.

Hyper-V позволяет разработчикам быстро разгонять виртуальные машины для разработки на Windows 10 с превосходной производительностью, но он также используется в нескольких других функциях разработки в качестве серверной технологии, например, в таких как эмулятор Android, подсистема Windows для Linux 2 (WSL2) или контейнеры Docker. В этой статье мы кратко рассмотрим, как Hyper-V в Windows 10 может помочь разработчикам.
Hyper-V для разработчиков под Windows 10 - 1Читать полностью »

Познакомившись с Аланом Тьюрингом, Брукер отправился работать в Манчестерский университет и написал язык программирования для первого коммерческого компьютера

Пионер программирования компьютеров Тони Брукер скончался в возрасте 94 лет - 1
Тони Брукер, справа, с коллегами из Университета Эссекса в 1972 году

Тони Брукер, математик и специалист по информатике, разработавший язык программирования для первого коммерческого компьютера, умер 20 ноября в доме престарелых в Хексеме, Англия. Ему было 94 года. Его кончину подтвердил его сын Стивен.

Брукер занимался компьютерными исследованиями на их раннем этапе в Кембриджском университете, и однажды, возвращаясь домой после восхождений на горы Северного Уэльса, остановился в Манчестерском университете, чтобы посетить тамошнюю компьютерную лабораторию, одну из первых в своём роде. Он приехал туда без приглашения, и познакомился с Аланом Тьюрингом, отцом-основателем компьютерной эпохи, бывшим тогда заместителем директора лаборатории.
Читать полностью »

Статическая подписка с использованием шаблона Наблюдатель на примере С++ и микроконтроллера Cortex M4 - 1

Всем доброго здравия!

В преддверии Нового года хочу продолжить рассказывать про использование С++ на микроконтроллерах, на этот раз попытаюсь рассказать про использование шаблона Наблюдатель (но далее я буду называть его Издатель-Подписчик или просто Подписчик, такой вот каламбур), а также реализацию статической подписки на С++17 и преимущества этого подхода в некоторых приложениях.

Читать полностью »

Краткая и на 146% точная история языков программирования - 1

1800

Жозеф Мари Жаккар учит ткацкий станок читать перфокарты, создавая первый многопоточный процессор. Изобретение в штыки принял ткачихи, которые уже тогда что-то подозревали.

1842

Ада Лавлейс, устав от положенного по социальному классу безделья, делает наброски в блокноте, которые станут известны как первая компьютерная программа. С поправкой, конечно, на то, что компьютеров тогда ещё не было.

Читать полностью »

— Сколько нужно архитекторов, чтобы реализовать язык программирования?
— Сто. Один будет писать реализацию, а 99 — говорить, что могут сделать лучше.

В этой статье я хочу затронуть не столько сам язык, сколько детали реализации CPython и его стандартной библиотеки, которые гарантируют, что у вас не будет никаких простых способов сделать приложение на питоне ни многопоточным, ни быстрым, ни легко поддерживаемым, и почему было создано столько альтернативных реализаций (PyPy, Cython, Jython, IronPython, Python for .NET, Parakeet, Nuitka, Stackless, Unladen Swallow), половина из которых уже умерла, и вряд мало кто понял, почему у них не было шансов победить в борьбе за выживание против других языков. Да, есть GDScript, который призван решить проблемы с производительность, есть Nim, который призван решить вообще все проблемы, не обязывая при этом пользователя чрезмерно явно объявлять типы. Однако, учитывая огромную инертность индустрии, я осознаю, что в ближайшие 10 лет новые языки точно не займут значимой ниши. Однако, я верю в то, что питон возможно сделать эффективным, изменив стиль написания кода, по большей части сохранив оригинальный синтаксис, и полностью сохраняя возможность взаимодействия кода нового и старого стиля. Я буду концентрироваться на проблемах CPython, а не ближайшего его конкурента, PyPy, поскольку PyPy на самом деле прыгает вокруг всё тех же проблем CPython.

Читать полностью »

Еще одна статья про реактивное программирование. И только не надо на этой строчке закатывать глаза и томным голосом говорить вслух — "Ну что еще ты можешь мне рассказать про реактивное программирование… а?". Она немного отличается от кучи других, написаных словно под копирку, поэтому некоторые вещи в ней могут показаться… странными или даже совершенно неуместными, как сортирный юмор.

Совершенно не важно, знаешь ли ты наизусть reactive manifesto, присутствует ли в твоем утреннем кофе бекпрешур, трогаешь ли ты вот этими вот своими ручками всякие паблишеры и сабскрайберы или пишешь старый добрый синхронный, блокирующийся код. А может быть только недавно, кто-то своим откровенно рекламным докладом про светлое будущее и потоковый оргазм (ну или струйный, тут тонкости перевода решают все), от использования одной из реактивных библиотек конечно-же, зажег в твоих глазах интерес к новой технологии.

Будет интересно.

Читать полностью »

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

Задачки по программированию — плохой способ оценки квалификации Senior Developer'а - 1

Читать полностью »

На Яндекс.Станции неудобно смотреть YouTube. Нет рекомендаций, подписок и даже поиск нормально не работает. Поэтому я написал телеграмм бота для отправки на неё любого видео.

Дорабатываем Яндекс.Станцию для просмотра YouTube - 1

Под катом история, как я это сделал несмотря на то, что официального открытого API нет.
Читать полностью »

image

Привет всем! В этой статье я хотел бы показать вам, как создать Flutter приложение, используя Redux. Если вы не знаете, что такое Flutter, то это — SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений под Android и iOS, а также это пока единственный способ разработки приложений под Google Fuchsia.

Если вы знакомы с Flutter и хотите создать приложение, которое хорошо спроектировано, легко тестируется и имеет очень предсказуемое поведение, — продолжайте читать данную статью и вы скоро это узнаете!

Но перед тем как мы приступим к написанию самого приложения. Давайте немного познакомимся с теорией, давайте начнем с объяснения, что такое Redux.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js