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

Мысли об идеальном языке программирования - 1
В данной статье я хотел бы поделиться своими мыслями об идеальном языке программирования общего назначения. В первую очередь — о языке, который мог бы заменить С++.
Так случилось, что языки программирования — мое хобби и мой основной интерес в сфере IT. Наверное, любой программист иногда мечтает создать свой собственный — идеальный — язык программирования. Для меня это нечто большее чем просто мечта, фактически я уже давно собираю всю информацию по различным языкам и проектирую свой собственный язык.
На разных ресурсах я регулярно высказываюсь по вопросам этой тематики. В этой статье я попытался собрать основные мысли воедино. Мы рассмотрим основные недостатки С++, особенности других языков, которые так или иначе можно сравнивать с С++, и — самое интересное — потребности программистов в языковых фичах, на примере библиотеки Boost.
Данная статья не претендует на какую-то техническую полезность (хотя если она будет кому-то полезна, это замечательно). Это статья-приглашение к обсуждению.
Читать полностью »

Американская комиссия по пенсионному обеспечению работников на железных дорогах (United States Railroad Retirement Board, RBB) начала обновлять свою компьютерную инфраструктуру 50-летней давности. Она объявила поиск подрядчика, который способен помочь в модернизации компьютерных систем. Работа ожидается большая: программное обеспечение содержит 7 млн строк на языке программирования COBOL.

В наши дни COBOL не назовёшь очень модным языком программирования. Молодые разработчики нечасто выбирают его для изучения, а многие опытные специалисты уже на пенсии.
Читать полностью »

Премьер-министр Сингапура выложил исходный код своей программы, решающей Судоку - 1

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

Об этой программе премьер-министр упомянул в своем обращении к представителям ИТ-индустрии от 20 апреля. Стоит отметить, что саму программу он написал несколько лет назад, теперь на это у премьер-министра просто нет времени.
Читать полностью »

image
Фото Reuters
В пятницу присяжные суда Нью-Йорка признали 45-летнего программиста Сергея Алейникова виновным в краже кода, принадлежащего банку Goldman Sach. По второй пункту обвинения — незаконному копированию — присяжные не смогли определиться, и по нему Алейников был оправдан. Как установил суд, программист «украл» неназванное количество программного кода, предназначенного для осуществления высокочастотного трейдинга с целью передачи его в другую трейдерскую фирму Teza Technologies, которая является конкурентом Goldman Sach и которая предложила Алейникову работу.
Читать полностью »

Пока Европейцы думают об этичности изменения ДНК эмбрионов людей, наши Китайские друзья делают первое в мире редактирование ДНК человека.

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

image

muffe публичная бета 2, с глюками и недоработками.
Читать полностью »

Концепт переноса сознания червя в робота - 1

Основная задача состоит в реализации нервной системы круглого червя c. elegans в теле робота таким способом, чтобы все поведение контролировалось этой нейронной сетью.
Читать полностью »

Сегодня мы публикуем шестую лекцию из курса «Анализ изображений и видео», прочитанного Натальей Васильевой в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS-клуба.

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

  1. Введение в курс «Анализ изображений и видео».
  2. Основы пространственной и частотной обработки изображений.
  3. Морфологическая обработка изображений.
  4. Построение признаков и сравнение изображений: глобальные признаки.
  5. Построение признаков и сравнение изображений: локальные признаки.

Под катом, вы найдете план новой лекции, слайды и подробную расшифровку.
Читать полностью »

Рекурсия: см. рекурсия.

О бедной рекурсии замолвите слово, или всё, что вы не знали и не хотите о ней знать - 1Все программисты делятся на 112 категорий: кто не понимает рекурсию, кто уже понял, и кто научился ею пользоваться. В общем, гурилка из меня исключительно картонный, так что постигать Дао Рекурсии тебе, читатель, всё равно придётся самостоятельно, я лишь постараюсь выдать несколько волшебных пенделей в нужном направлении.

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

— Как она сложена?
— Превосходно! Только рука немного торчит из чемодана.

Именно пытаясь разместить стройную теорию алгоритма в жесткий рюкзак реальных ресурсов и приходится постоянно кроить по живому, перепаковывать, и вместо красивых и стройных определений Фибоначчи:

  def fib(n):
    if n<0: raise Exception("fib(n) defined for n>=0")
    if n>1: return fib(n-1) + fib(n-2)
    return n

приходится городить всевозможные грязные хаки, начиная от:

  @memoized
  def fib(n):
    if n<0: raise Exception("fib(n) defined for n>=0")
    if n>1: return fib(n-1) + fib(n-2)
    return n

И заканчивая вообще:

  def fib(n):
    if n<0: raise Exception("fib(n) defined for n>=0")
    n0 = 0
    n1 = 1
    for k in range(n):
      n0, n1 = n1, n0+n1
    return n0

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

Управление роботами, созданными с помощью LEGO® Mindstorms® NXT Brick через язык Wolfram Language (Mathematica) - 1

Скачать статью в виде документа Mathematica (NB), CDF-файла или PDF.

NXT — процессор общего назначения, который используется для управления двигателями и датчиками; он идеально подходит для создания автономных роботов. Он также может сообщаться с более сложным программным обеспечением на компьютере посредством Bluetooth. В этой статье мы покажем, как правильно взаимодействовать с NXT через язык Wolfram Language (Mathematica), посылая корректные сигналы. Мы также представим пакет, который управляет всеми взаимодействиями между функциями. Эти функции могут использоваться в сочетании с динамическими ячейками для отображения статуса робота и управления его двигателем.
Читать полностью »


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