Pull to refresh
11
Karma
0
Rating

Пользователь

Лучше чем C

Programming *System Programming *C *D *
Recovery mode
В настоящее время у системных программистов практически нет выбора какой язык использовать. По хорошему все варианты сводятся или к чистому Си или к Rust, хотя как показывает опыт далеко не всем нравится его синтаксис.

Благодаря усилиями команды разработчиков языка у D теперь появилось совместимое с чистым Си подмножество обладающее не только привычным для любого программиста Си синтаксисом, но и значительно расширяющее функционал языка. Новое подмножество называется «betterC». Это подмножество позволяет перевести написание Си приложение на новый уровень.
Читать дальше →
Total votes 53: ↑36 and ↓17 +19
Views 21K
Comments 140

Так ли быстр ваш любимый С или нативная реализация линейной алгебры на D

C *D *Machine learning *
Sandbox
Тем, кто занимается системами машинного обучения и компьютерным зрением, хорошо знакома такая библиотека как OpenBLAS (Basic Linear Algebra Subprograms). OpenBLAS написан на C и используется повсеместно там где нужна работа с матрицами. Так же у него есть несколько альтернативных реализаций таких как Eigen и двух закрытых имплементацией от Intel и Apple. Все они написаны на С\С++.

В настоящий момент OpenBLAS используется в матричных манипуляциях в таких языках как Julia и Python (NumPy). OpenBLAS крайне хорошо оптимизирована и значительная её часть вообще написана на ассемблере.

Однако так ли хорош для вычислений чистый C, как это принято считать?

Встречайте Mir GLAS! Нативная реализация библиотеки линейной алгебры на чисто D без единой вставки на ассемблере!
Читать дальше →
Total votes 44: ↑37 and ↓7 +30
Views 16K
Comments 26

D std.ndslice как замена Python Numpy

Python *Programming *Mathematics *D *
Recovery mode
Предисловие: Я пишу на Python более 6 лет и могу назвать себя профессионалом в этом языке. Недавно я даже написал о нем книгу. Однако последние 8 месяцев я переключился на D и уже 4 месяца активно участвую в разработке этого языка по части расширения стандартной библиотеки Phobos. Так же я участвовал в код-ревью модуля std.ndslice о котором и пойдет речь.

std.ndslice так же как и Numpy предназначен для работы с многомерными массивами. Однако в отличие от Numpy ndslice имет крайне низкий оверхэд так как базируется на ranges (диапазонах), которые используются в штатной библиотеке повсеместно. Ranges позволяют избежать лишние процедуры копирования, а так же позволяют красиво организовать ленивые вычисления.

В этой статье мне хотелось бы рассказать о том какие преимущества std.ndslice дает по сравнению с Numpy.
Читать дальше →
Total votes 28: ↑21 and ↓7 +14
Views 12K
Comments 24

Дайджест событий из мира D №2

Programming *
Recovery mode
В последнее время на Хабре стало много публикаций на тему Rust и Go и достаточно мало про D. Главной причиной этого является поддержка этих языков Mozilla и Google, которые могут вкладывать большие деньги в свои детища. За D не стоит ни одной столь же крупной компании, однако это не мешает языку активно развиваться. Сейчас я кратко расскажу о последних новостях языка и оставлю кому-то другому возможность провести комплексное сравнение Rust/Go и D.
Читать дальше →
Total votes 17: ↑14 and ↓3 +11
Views 7.7K
Comments 19

Дайджест событий из мира D

Programming *D *
Sandbox
Предлагаю вашему вниманию дайджест интересных событий из мира D.

Событий за последнее время произошло не мало.

Новости языка


1. Состоялся новый релиз компилятора dmd 2.067.
Среди основных новшеств — значительные улучшения в скорости работы GC. В некоторых случаях количество потребляемой памяти сократилось в два раза. Появилась экспериментальная поддержка полного отключения GC:

app "--DRT-gcopt=profile:1 minPoolSize:16" arguments to app
Читать дальше →
Total votes 29: ↑28 and ↓1 +27
Views 6.7K
Comments 14

Нелинейный менеджмент. На пути к созиданию

Project management *
Такие понятия как лидерство, нелинейность, открытость, самоорганизация, мыслетворчества понемногу начинают входить в современный менеджмент. Начинается все с тех компаний, которые решили не брать готовые лекала и строить на их базе свой бизнес, а создавать свои внутренние правила, которые как мы видимо по прошествии времени становятся эталонами.

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

Современный менеджмент, как наука организации и управления людьми, как никакая другая дисциплина так глубоко не ощущает все это противоборство, протекающее в человеке. А ведь нейтрализация этой внутренней борьбы означает, что энергия потраченная на эту борьбу может быть направлена на творчество и реализацию новых концепций и идей.
Читать дальше →
Total votes 16: ↑9 and ↓7 +2
Views 4.6K
Comments 4

Самоорганизующиеся команды

GTD *
Sandbox
Я работаю в одной молодой консалтинговой компании, которая специализируется на вопросах личной эффективности. В отличие от многих других компаний, которые берут и пытаются применять чьи-то готовые техники, мы разработали свою методологию и свой собственный концепт, который называется Энерджи Менеджмент. Сам концепт Энерджи Менеджмента станет предметом следующей статьи, а сегодня мы затронем вопросы эффективности с точки зрения организации команд, дав в качестве примера две известные компании, которые уже упоминались на хабре, и которые так же как и мы не стали брать готовые шаблоны развития, а сделали что-то свое и с нуля. В следующих статьях я планирую рассказать непосредственно о нашем концепте Энерджи Менеджмент, и его принципиальных отличиях от Тайм-Менеджмента.
Читать дальше →
Total votes 48: ↑38 and ↓10 +28
Views 6K
Comments 17

Information

Rating
4,676-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity