Персона. Джон Бэкус — создатель первого языка программирования высокого уровня

Автор: admin от 13-12-2016, 18:10, посмотрело: 239

Персона. Джон Бэкус — создатель первого языка программирования высокого уровня

17 октября 1977 года на ежегодной конференции АСМ премия Алана Тьюринга была вручена человеку, который создал первый высокоуровневый язык программирования для научных и технических целей.

Премия была присуждена Джону Бэкусу «… за глубокий и важный вклад в создание практических систем программирования высокого уровня. В особенности – за работы по Fortran и частые публикации формальных процедур для спецификации языков программирования».

В 50-х годах ХХ века труд программиста по написанию, вводу и отладке программ был далеко не легким: сначала программы писались на машинном языке.

Для облегчения участи программистов были придуманы подпрограммы, а затем первые ассемблеры. Но эффективность программирования от этого существенно не повысилась. Если бы кто-то мог написать транслятор, который позволил бы вводить команды из слов и символов, а затем автоматически конвертировать их в машинный код…

Категория: Программирование » Веб-разработка

 

О метастабильности в электронике

Автор: admin от 13-12-2016, 17:35, посмотрело: 188

Многие начинающие разработчики часто недооценивают влияние асинхронности на работу цифровых схем. В проектах с одним тактовым генератором сложностей не возникает: схема полностью синхронна, и от разработчика требуется только соблюдать требования Setup и Hold. Но как только в системе появляется второй тактовый генератор, возникает проблема CDC – Clock Domains Crossing, связанная с асинхронностью работы участков схемы, работающих от независимых (асинхронных) генераторов. На практике эта проблема выливается в усложнение маршрута проектирования, связанное с особенностями статического временного анализа в САПР, а в железе проявляется в виде такого эффекта как метастабильность, и аномальное поведение триггеров. Собственно, о метастабильности здесь (https://habrahabr.ru/post/254869/) уже писали, но я предлагаю чуть глубже разобраться в проблеме.

Категория: Программирование » Веб-разработка

 

Встраиваем PVS-Studio в Eclipse CDT (macOS)

Автор: admin от 13-12-2016, 17:15, посмотрело: 203

После появления цикла статей о встраивании PVS-Studio в различные IDE под Linux (Eclipse, Anjuta), появилось желание запустить PVS-Studio для проверки своих проектов, разрабатываемых в Eclipse под macOS. Но разработчики PVS-Studio пока не планируют выпускать версию под macOS. Ну что ж, заткнем пока эту брешь.


Дано:



  • macOS Sierra

  • Eclipse Luna + GNU ARM Eclipse Plug-ins

  • GNU ARM Embedded Toolchain


Задача:



  • Прикрутить PVS-Studio

Категория: Программирование » Веб-разработка

 

Оптимизация производительности NFV для локального оборудования заказчиков с виртуализацией

Автор: admin от 13-12-2016, 16:05, посмотрело: 271

В решениях, направленных на виртуализацию реальных сетевых функций, основным фактором является способность обеспечить предсказуемую и гарантированную производительность и пропускную способность для трафика заказчика. Во многих проектах, предназначенных для проверки концепции, уделялось значительное внимание повышению пропускной способности сети, но величина задержек является не менее важным показателем работы сетей (а в ряде случаев — гораздо более важным). В этой статье описывается тестовая среда в лабораториях BT Adastral Park на основе архитектуры Intel Open Network Platform. Эта тестовая среда разработана для оценки производительности локального оборудования заказчиков с виртуализацией.

Оптимизация производительности NFV для локального оборудования заказчиков с виртуализацией

Категория: Админитстрирование » Сетевые технологии

 

Как выбирать алгоритмы для машинного обучения Microsoft Azure

Автор: admin от 13-12-2016, 15:05, посмотрело: 354

В статье вы найдете шпаргалку по алгоритмам машинного обучения Microsoft Azure, которая поможет вам выбрать подходящий алгоритм для ваших решений предиктивной аналитики из библиотеки алгоритмов Microsoft Azure. А также вы узнаете, как ее использовать.

Как выбирать алгоритмы для машинного обучения Microsoft Azure

Категория: Программирование, Microsoft

 

Запускаем Gulp с вотчерами на обычном хостинге через админпанель

Автор: admin от 13-12-2016, 14:55, посмотрело: 533

У тебя есть сайт с админпанелью и ты используешь или только собираешься использовать Gulp в этом проекте? Хочешь максимально работать с сайтом через админпанель, включая контроль над генератором ресурсов Gulp? Тогда под катом я покажу тебе простой способ управления Gulp'ом с вотчерами на сервере прямо из админпанели.

Категория: Программирование

 

Использование паттерна SchedulableObject для выделения бизнес-логики в отдельный поток

Автор: admin от 13-12-2016, 14:15, посмотрело: 284

Использование паттерна SchedulableObject для выделения бизнес-логики в отдельный поток

Интерфейс мобильного приложения — это лицо продукта. Чем более отзывчив интерфейс, тем больше радости приносит продукт. Однако удовлетворённость от использования приложения зависит прежде всего от объёма его функций. По мере увеличения количества и сложности задач они требуют всё больше и больше времени. Если архитектура приложения предполагает, что все они выполняются в главном потоке, то задачи бизнес-логики начинают конкурировать за время с задачами отрисовки интерфейса. При таком подходе рано или поздно обязательно находится сценарий, исполнение которого приводит к залипанию приложения. Для борьбы с этой напастью существует три принципиально разных подхода:


  • Оптимизация алгоритмов и структур данных, вовлечённых в исполнение проблемного сценария.

  • Вынос проблемного сценария из главного потока.

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


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

    Категория: Веб-разработка, iOS

     

    Особенности реализации виртуальной машины в Dart. JS и Dart глазами компиляторщика

    Автор: admin от 13-12-2016, 13:45, посмотрело: 238

    Особенности реализации виртуальной машины в Dart. JS и Dart глазами компиляторщика

    Продолжаем публиковать видео с митапа Dart разработчиков, который прошел в офисе Wrike в конце ноября. Сегодня представляем доклад Вячеслава Егорова из Google. Вячеслав — сотрудник Google в городе Орхус, Дания, в том самом офисе, где появился на свет V8 javascript engine и язык программирования Dart. Компиляторщик до мозга костей, интересующийся всем, что так или иначе связанно с виртуальными машинами. Работал над V8, сейчас работает над Dart VM и иногда чинит баги в LuaJIT. Вместе с ним залезем под капот Dart VM.

    Смотреть

    Категория: Программирование, Веб-разработка

     

    Пишем настоящий Pointer Analysis для LLVM. Часть 1: Введение или первое свидание с миром анализа программ

    Автор: admin от 13-12-2016, 12:40, посмотрело: 250

    Привет, Хабр!
    Пишем настоящий Pointer Analysis для LLVM. Часть 1: Введение или первое свидание с миром анализа программ

    Эта статья станет вступительной в моем небольшом цикле заметок, посвященном такой технике анализа программ, как pointer analysis. Алгоритмы pointer analysis позволяют с заданной точностью определить на какие участки памяти переменная или некоторое выражение может указывать. Без знания информации об указателях анализ программ, активно использующих указатели (то есть программ на любом современном языке программирования — C, C++, C#, Java, Python и других), практически невозможен. Поэтому в любом мало-мальски оптимизируещем компиляторе или серьезном статическом анализаторе кода применяются техники pointer analysis для достижения точных результатов.

    В данном цикле статей мы сосредоточимся на написании эффективного межпроцедурного алгоритма pointer analysis, рассмотрим основные современные подходы к задаче, ну и, конечно же, напишем свой очень серьезный алгоритм pointer analysis для замечательного языка внутреннего представления программ LLVM. Всех интересующихся прошу под кат, будем анализировать программы и многое другое!

    Категория: Информационная безопасность

     

    Книга «Ruby. Объектно-ориентированное проектирование»

    Автор: admin от 13-12-2016, 12:40, посмотрело: 349

    Книга «Ruby. Объектно-ориентированное проектирование» Привет, Хаброжители! Совсем недавно мы перевели бестселлер Сэнди Метц.

    Книга посвящена проектированию объектно-ориентированных программ. Это не учебник, а рассказ программиста о том, как следует создавать программный код. Книга научит вас, как скомпоновать программное обеспечение, чтобы его высокая продуктивность не снижалась ни через месяц, ни через год. В ней показано, как создаются приложения, которые могут пользоваться успехом сегодня и адаптироваться к требованиям будущего.

    Внимательно изучив это руководство, вы сможете: • Понять, как писать на Ruby качественный код в духе ООП • Решать, что должно входить в состав класса Ruby • Не допускать тесной связи между объектами в тех случаях, когда требуется разграничить функциональность • Определять гибкие интерфейсы между объектами • Освоить утиную типизацию • Эффективно задействовать наследование, композицию и полиморфизм • Разрабатывать экономные тесты • Доводить до совершенства любой legacy-код Ruby.

    Категория: Программирование » Веб-разработка

     
    Назад Вперед