
В данной статье я хотел бы поделиться своими мыслями об идеальном языке программирования общего назначения. В первую очередь — о языке, который мог бы заменить С++.
Так случилось, что языки программирования — мое хобби и мой основной интерес в сфере IT. Наверное, любой программист иногда мечтает создать свой собственный — идеальный — язык программирования. Для меня это нечто большее чем просто мечта, фактически я уже давно собираю всю информацию по различным языкам и проектирую свой собственный язык.
На разных ресурсах я регулярно высказываюсь по вопросам этой тематики. В этой статье я попытался собрать основные мысли воедино. Мы рассмотрим основные недостатки С++, особенности других языков, которые так или иначе можно сравнивать с С++, и — самое интересное — потребности программистов в языковых фичах, на примере библиотеки Boost.
Данная статья не претендует на какую-то техническую полезность (хотя если она будет кому-то полезна, это замечательно). Это статья-приглашение к обсуждению.
Читать полностью »
Рубрика «Программирование» - 780
Мысли об идеальном языке программирования
2015-05-11 в 19:38, admin, рубрики: boost, c++, Программирование, языки программированияНужна помощь в модернизации ПО с 7 млн строк кода на COBOL
2015-05-11 в 9:23, admin, рубрики: COBOL, История ИТ, Кобол, модернизация, Программирование, старое железо, метки: COBOL, КоболАмериканская комиссия по пенсионному обеспечению работников на железных дорогах (United States Railroad Retirement Board, RBB) начала обновлять свою компьютерную инфраструктуру 50-летней давности. Она объявила поиск подрядчика, который способен помочь в модернизации компьютерных систем. Работа ожидается большая: программное обеспечение содержит 7 млн строк на языке программирования COBOL.
В наши дни COBOL не назовёшь очень модным языком программирования. Молодые разработчики нечасто выбирают его для изучения, а многие опытные специалисты уже на пенсии.
Читать полностью »
Премьер-министр Сингапура выложил исходный код своей программы, решающей Судоку
2015-05-05 в 8:47, admin, рубрики: windows, логические игры, премьер-министр, Программирование, Сингапур, Софт, судоку 
Среди национальных лидеров различных стран не так много тех, кто хорошо разбирается в современных технологиях. И еще меньше тех, кто может самостоятельно написать какую-либо программу. Похоже, Сингапуру очень повезло со своим премьер-министром — кроме решения важных государственных проблем, Ли Сяньлун может писать программы на C++. На днях Сяньлун выложил в общий доступ свою решалку Судоку, плюс исходный код программы.
Об этой программе премьер-министр упомянул в своем обращении к представителям ИТ-индустрии от 20 апреля. Стоит отметить, что саму программу он написал несколько лет назад, теперь на это у премьер-министра просто нет времени.
Читать полностью »
Бывшего программиста Goldman Sachs осудили за кражу кода
2015-05-04 в 17:23, admin, рубрики: информационная безопасность, кража кода, осуждение, Программирование, сергей алейников, тюремный срок, метки: кража кода, осуждение, сергей алейников, тюремный срок 
Фото Reuters
В пятницу присяжные суда Нью-Йорка признали 45-летнего программиста Сергея Алейникова виновным в краже кода, принадлежащего банку Goldman Sach. По второй пункту обвинения — незаконному копированию — присяжные не смогли определиться, и по нему Алейников был оправдан. Как установил суд, программист «украл» неназванное количество программного кода, предназначенного для осуществления высокочастотного трейдинга с целью передачи его в другую трейдерскую фирму Teza Technologies, которая является конкурентом Goldman Sach и которая предложила Алейникову работу.
Читать полностью »
Китайцы впереди планеты всей: Изменение ДНК человека
2015-04-29 в 21:15, admin, рубрики: Биотехнологии, днк, ДНК человека, изменение ДНК, Китайские ученые, нанотехнологии, Научно-популярное, научный прорыв, Программирование, физика
Пока Европейцы думают об этичности изменения ДНК эмбрионов людей, наши Китайские друзья делают первое в мире редактирование ДНК человека.
Игра 2048 батником на Windows
2015-04-29 в 6:28, admin, рубрики: 2048, ASCII, windows, батником, игра, логические игры, Программирование 
muffe публичная бета 2, с глюками и недоработками.
Читать полностью »
Концепт переноса сознания червя в робота
2015-04-26 в 19:16, admin, рубрики: c. elegans, OpenWorm, Биотехнологии, Ижикевич, искусственный интеллект, коннектом, мозг, нейробиология, нейрон, нейронные сети, Программирование, робототехника, симуляция, симуляция мозга, спайковые нейронные сети, метки: c. elegans, Ижикевич 
Основная задача состоит в реализации нервной системы круглого червя c. elegans в теле робота таким способом, чтобы все поведение контролировалось этой нейронной сетью.
Читать полностью »
Поиск по подобию. Поиск нечетких дубликатов. Лекции от Яндекса
2015-04-22 в 12:43, admin, рубрики: computer science, Алгоритмы, анализ изображений, Блог компании Яндекс, Компьютерное зрение, обработка изображений, Программирование, Работа с анимацией и 3D-графикой, метки: компьютерное зрениеСегодня мы публикуем шестую лекцию из курса «Анализ изображений и видео», прочитанного Натальей Васильевой в петербургском Computer Science Center, который создан по совместной инициативе Школы анализа данных Яндекса, JetBrains и CS-клуба.
Всего в программе девять лекций, из которых уже были опубликованы:
- Введение в курс «Анализ изображений и видео».
- Основы пространственной и частотной обработки изображений.
- Морфологическая обработка изображений.
- Построение признаков и сравнение изображений: глобальные признаки.
- Построение признаков и сравнение изображений: локальные признаки.
Под катом, вы найдете план новой лекции, слайды и подробную расшифровку.
Читать полностью »
О бедной рекурсии замолвите слово, или всё, что вы не знали и не хотите о ней знать
2015-04-22 в 8:05, admin, рубрики: C, c++, python, Алгоритмы, и все-все-все, не дао, не затем их пишут, Не читайте теги, несчастная функция, постижение достижений, Программирование, прокрустова архитектура, рекурсия, Серверная оптимизация, Совершенный кодРекурсия: см. рекурсия.
Все программисты делятся на 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)
2015-04-22 в 6:04, admin, рубрики: lego, lego mindstorms nxt, wolfram language, wolfram mathematica, Блог компании Wolfram Research, Программирование, Программирование робототехники, робототехника
Скачать статью в виде документа Mathematica (NB), CDF-файла или PDF.
NXT — процессор общего назначения, который используется для управления двигателями и датчиками; он идеально подходит для создания автономных роботов. Он также может сообщаться с более сложным программным обеспечением на компьютере посредством Bluetooth. В этой статье мы покажем, как правильно взаимодействовать с NXT через язык Wolfram Language (Mathematica), посылая корректные сигналы. Мы также представим пакет, который управляет всеми взаимодействиями между функциями. Эти функции могут использоваться в сочетании с динамическими ячейками для отображения статуса робота и управления его двигателем.
Читать полностью »

