LINUX.ORG.RU

Сообщения forCe

 

Инструментарий разработки язычков для JVM и .NET

Форум — Development

Всем привет!

Для нативных решений сейчас есть инфраструктура LLVM и даже туториалы с построением игрушечного языка в духе Kaleidoscope.

Есть ли что-то подобное для JVM? Для .NET?

 , ,

forCe ()

Язык программирования для ребенка

Форум — Development

Всем привет!

Какой язык вы бы рекомендовали для изучения программирования и почему?

Если отойти от общего вопроса, то конкретный ребенок(10 лет) проходил много всякого на code.org и прошел немного на code combat, там в качестве языка был питон(но там готовое окружение с командами и объектами игры). Есть немного опыта работы с программированием lego mindstorms. Для дальнейшего развития интересны робототехника и разработка игр(для телефонов и ПК).

Попросил помочь с тем, как и куда двигаться дальше и какой язык изучать :)

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

 , ,

forCe ()

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

Форум — Development

Навеяно одной из соседних тем. Стало интересно, что вообще люди думают по этому поводу.

Какой бы вы хотели видеть систему модулей?

Тут можно выделить ряд вопросов.

Должны ли модули быть файлами(один файл - один модуль) или они должны декларироваться в коде? Или это можно как-то скомбинировать?

Должен ли модуль быть единицей инкапсуляции или же это лучше оставить системе типов(классы в случае ООП)?

Должен ли модуль формировать пространство имен? Как должен работать import?

Нужно ли явно отделять интерфейс модуля от реализации в коде(или даже их стоит по разным файлам разносить)?

Как система модулей сочетается с системой пакетов/зависимостей? Как сочетается с системой сборки?

И т.д. и т.п.

Делитесь мыслями и идеями=)

 , ,

forCe ()

Сортировка списка множеств по степени пересечения с данной

Форум — Development

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

Сам пока ничего хорошего придумать не смог. Понятно, что можно найти пересечение(число элементов) для каждой пары множеств, потом для каждого множества построить списки и отсортировать. Проблема в том, что на реальных данных это работает крайне медленно.

Если кому интересна задачка, предлагайте свои варианты решения или просто подтолкните в нужную сторону.

Если это как-то поможет, то сами множества изначально задаются парами {номер_множества, элемент}. Возможно, есть способ этим воспользоваться.

 , ,

forCe ()

Синтаксис и LISP'ы

Форум — Development

Часто можно наткнуться на мнение, что у лиспа(ов) нет синтаксиса. Хотелось бы понять, что конкретно тут имеется в виду.

Во-первых, синтаксическая запись s-expr'ов так же является некоторым языком, со своими синтаксическими правилами и возможностью описания посредством грамматики.

Во-вторых, различные диалекты лиспа вводят специальные дополнительные синтаксические конструкции, вроде [ и ] в clojure или typed racket.

Имеется в виду, что этот синтаксис прост и фактически без особых изменений определяет AST?

 , ,

forCe ()

software transaction memory & C/C++(gcc, tinystm, libltx, libcmt, ctl, etc.)

Форум — Development

Кто-то работал с какими-то библиотеками для STM, версией от gcc(Transactional Memory in GCC) или даже писал собственные реализации? Поделитесь опытом. Интересует как аспекты реализации, так и удобство использования, а так же, безусловно, производительность и аппетиты тех или иных решений.

 , , ,

forCe ()

clojure: atom/agent vs STM

Форум — Development

Интересует мнение практиков. Поделитесь опытом, пожалуйста. Когда и для чего вы применяете STM, а когда atom или agent. Что оказывается лучше в каких ситуациях? Понятно, что если объект один, то лучше atom/agent, но вот в случае более сложных структур, что обычно предпочтительнее, завести группу ссылок и действовать через stm или же сгруппировать данные в структуру и завести один atom/agent для этого? Чем руководствоваться в выборе? Есть ли исследования и полезные ссылки?

 , ,

forCe ()

Библиотека алгоритмов и структур данных для C

Форум — Development

В который раз наблюдая за велосипедами в одном сишном проекте, задался вопросом, а нет ли относительно «стандартной» библиотеки для алгоритмов и структур данных, хотя бы на уровне крестовой STL?

И даже если есть, то почему почти в каждом проекте(возьмем для простоты открытые) свои велосипеды? На каждый чих. Неужели язык толкает на это(сложно предложить достаточно общее решение)?

Если такой библиотеки просто нет, то возможно есть смысл ее создать? У кого какие мысли, кто какие перспективные разработки знает?

И да, я в курсе существования glibc, queue.h и tree.h, коллекций в glib и пр.

Есть еще какие-то sglib, gdsl. Но их не использовал и их использование не видел.

 , ,

forCe ()

Скрестить ужа с ежём: first-class функции vs методы, как частный вид функций

Форум — Development

Навеяно чьими-то сообщениями в темах про ООП, что прочел давно, но не было времени сформулировать проблему...

Итак предположим, что в нашем языке функции - это объекты, а объекты могут иметь методы. У функций есть специальный метод apply(call, operator(), etc.), который вызывается при вызове функции. В этом случае получается, что методы не могут являться first-class объектами и разновидностью функций, т.к. тогда у них должен быть метод apply, который в свою очередь должен иметь метод apply, который и т.д. и т.д.

Решения у нас могут быть примерно такие:

- или мы делаем как в крестах и получаем не first-class функции/методы, но имеем возможность сделать «объект-функцию»(в том числе через лямбды), если потребуется;

- или мы делаем как в scala и получаем довольно стройную систему, но отказываемся от простой очевидной концепции метода как частного вида функции и, как следствие, от first-class методов;

- или мы делаем «функции» особым видом объектов, который нельзя сделать в обход механизма создания функций(определив для объектов какого-то типа apply или operator());

Я правильно понимаю? Или можно таки разорвать цепочку красиво?

 , , ,

forCe ()

Посоветуйте хранилище

Форум — Development

Что там модно сейчас для хранения и обработки больших объемов данных? Riak? Cassandra? CouchDB? VoltDB? Vertica? Hadoop? Даже elasticsearch может? ...? Свои велосипеды?

Масштабируемость основной критерий. Объем большой. Полноценный SQL, наверное, не нужен.

 , , , ,

forCe ()

Вопрос к знатокам memory management: arena, pool, region

Форум — Development

В чем сходства и отличия понятий arena, pool и region в контексте управления памятью?

Вроде бы программирую давно, да и сам реализовывал различные штуки для управления памятью, как pool'ы, так и всякие вариации на тему сборщика мусора, но с теорией и терминологией по этому делу у меня проблемы. Или все проще и термины употребляются фактически для одного и того же?

 , ,

forCe ()

Ссылки и типы в C++

Форум — Development

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

При этом появились ссылки исключительно ради перегрузки операторов, т.к. указатели не позволяли это сделать. Если верить D&E.

Не лучше ли было сделать механизм квалификаторов для «синонимов»(что-то вроде ref в C#, только с учетом константности), чтобы программист мог указывать, что функция принимает аргумент/возвращает значение по ссылке, а не по значению. Проблему перегрузки операторов это решает полностью, сложности никакой не представляет, систему типов не усложняет.

 , ,

forCe ()

Выражение и инструкции

Форум — Development

Навеяно обсуждением новой версии компилятора D в новостях.

Начался спор, как я понял, с вопроса о нужности явного ретурна, но мне кажется, что это лишь следствие более общего(и интересного) вопроса: «разделять ли при проектировании ЯП понятия выражение и инструкция или же считать все выражением?».

 , ,

forCe ()

Зависимые типы и мутабельность

Форум — Development

Есть ли системы зависимых мутабельных типов? И если есть, то как они решают проблему косвенных ссылок на один и тот же объект? Ведь мы можем «случайно» косвенным образом(так, что компилятор не сможет это вывести) увеличить, например, число элементов в списке.

Только отошел после выходных, строго не судите.

 ,

forCe ()

Вычисляется ли выражение при сопоставлении с _?

Форум — Development

Сорри, если вопрос слишком нубский.

Интересует не просто факт, но и обоснование, поскольку я не могу решить, как «правильно».

 , ,

forCe ()

Сложные виды циклов(цикл Дейкстры, цикл «Паук», etc.)

Форум — Development

Собственно, интересует степень полезности, история вопроса, жалел ли кто-либо об отсутствии прямой поддержки в языках и пр.

 , ,

forCe ()

RSS подписка на новые темы