LINUX.ORG.RU

Сообщения shty

 

[функциональщина тред][вопрос к специалистам] что выбрать?

Форум — Development

На работе занимаюсь обработкой текстов на естественном языке.

Собственно, пока задачи были маленькие и понятные (типа морфологии и т.п.), в качестве основного языка программирования использовался С++, который был выбран был по ряду причин: работает быстро, есть необходимые абстракции, ничего особого хитрого в задачах нет, заказчики нормально воспринимают код и могут его оценить.

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

А раз так, задумался я над тем какой язык выбрать для реализации. Собрав задницу в кулак и мозг в голову, я прошерстил интернет на предмет того каким решением можно воспользоваться в данной области, по результатам были отобраны следующие языки: Prolog, OCaml, Lisp, Scheme, Haskell и, как это ни странно, Python и Erlang.

Маленькое уточнение: требуется кроссплатформенное решение (windows, linux, macos) с возможностью компиляции в байт-код, хорошо бы иметь потоки, GUI не особо нужны, но будут плюсом, ide - неважно. Ещё один важный момент: наличие коммерческих реализаций с целью дальнейшего на них перехода или, как вариант, серьёзного бэкграунда.

Понятно, что на любом из этих языков можно реализовать всё что угодно, посему оценивались больше практические моменты использования, так вот, поковырявшись с вышеперечисленными языками я сделал для себя следующие выводы о готовности их к использованию в production:

  • Prolog - собственно существуют довольно вменяемые открытые и коммерческие реализации, однако общее состояние дел большее напоминает заброшенную ферму (например, разные реализации интерпретатора могут использовать разный синтаксис).
  • OCaml - неплохой претендент, немного стагнирует в своём развитии, но имеет существенную поддержку в лице INRIA (и небольшой буст со стороны в виде F#).
  • Lisp - весьма разносторонний язык, есть весьма вменяемая свободная реализация (Clozure CL; SBCL, увы, *nix oriented) и мега-буст с точки зрения коммерческих реализаций (Allegro CL, LispWorks), есть так же реализация под Java VM.
  • Scheme - сводный брат Lisp, ситуация обстоит приблизительно так же, хотя непонятно что с коммерческими реализациями и вообще Scheme имеет репутацию академического языка.
  • Haskell - довольно молодая и таки тёмная лошадка, есть некоторый зоопарк в реализациях, коммерческие средства отсутствуют, присутствует некоторый перекос ориентации в сторону *nix.
  • Python - довольно годный язык, но поддержка функциональной парадигмы там реализована довольно слабо + наличествуют всякие выкрутасы (типа GIL).
  • Erlang - годный Prolog-like язык, но меня смущает его ориентация на телеком.

Как то вот так у меня получилось (большого опыта работы с данными языками у меня нет, так что, если я где в оценке промахнулся, просьба тыкнуть меня носом :)).

Сам пока склоняюсь к Lisp.

Собственно, товарищи опытные функциональщики, нужен Ваш совет относительно данной ситуации, что бы использовали Вы (что использовали Вы), что будет более/менее годное для решения подобного класса задач, какие есть подводные камни. И, самое главное, какие по Вашему мнению языки вляются более перспективными, на какие в первую очередь стоит тратить своё время.

Уф! Дописал. Всем откликнувшимся большое спасибо заранее. :)

ЗЫ brainf*ck и иже с ним не предлагать.

shty ()

[эта страна] google, yandex и Антуан де Сент Экзюпери

Форум — Talks

смотрю на то как google и yandex освещают тему 100 летия Антуана де Сент Экзюпери и плачу

почему в этой стране умудряются такие убогие вещи творить имея моск?

доколе???

shty ()

[ДТ] из нерезиновска в поребрик...

Форум — Talks

посетила шальная мысль про сабжёвый трансфер своей тушки :)

в связи с этим есть пару вопросов к резидентам:

  • чё как с работой, туго устроиться программистом например или как (вакансии зырил, интересует реальная обстановка)?
  • чё с районами, где адекватно жить можно, где можно, но неадекватно и где нельзя?
  • как погода по жизни?

и вообще чё там как :)

ЗЫ мысль пока варится, так что никакой срочности :)

shty ()

санки, оракл и солярка

Форум — Linux-hardware

преамбула: выбираются жестянки для толстого проекта

вопрос: стоит ли брать санковские серваки с соляркой или остановиться на межделмашах с редхатом, к примеру?

кто что использовал? кто что порекомендует?

shty ()

[вопрос] как хранить бинарные блобы

Форум — Development

есть не сильно большой бинарный блоб, метров на 200, падает 2 раза в день на сервак, должен отдаваться клиентам по запросу

вопрос: как (и чем) лучше это хранить?

есть варианты в БД либо ручками в директориях с индексом

кто что предпочитает?

shty ()

[си] calloc vs malloc

Форум — Development

господа, вот вопросец, одновременно простой и непонятный

вот код с malloc

float *array = malloc(number_of_elements * sizeof(float));
if(!array)
{
   /* handle memory allocation error */
}
 
/* doing some stuff */

/* freeing resources */
free(array);
array = NULL;

а вот с calloc

float *array = calloc(number_of_elements, sizeof(float));
if(!array)
{
   /* handle memory allocation error */
}
 
/* doing some stuff */

/* freeing resources */
free(array);
array = NULL;

так вот вопрос, на первый взгляд - никакой разницы, а в чём фишка? зачем 2 функци с немного разным синтаксисом делающих одно и то же? есть что-то что я забыл (типа атомарности операции)?

shty ()

[правильные мысли] о жизни

Форум — Talks

Доктор медицинских наук Пауло Убиратан работал главврачом больницы в Пуэрто Алегре в Бразилии.

Ниже приведён фрагмент интервью, взятого в своё время у него местным телевидением.

Вопрос: Упражнения для сердечно-сосудистой системы продлевают жизнь, правда ли это? Ответ: Сердце создано для выполнения определённого количества сокращений. Не растрачивайте их на упражнения. Ваш период жизни истечёт независимо от способа использования сердечных сокращений. Это всё равно, что говорить, будто вы можете продлить жизнь своему автомобилю, гоняя его на повышенной скорости. Хотите жить дольше? Спите сиесту.

В: Следует ли прекратить потребление красного мяса и употреблять больше фруктов и растительной пищи? О: Нужно понять стратегию эффективности в питании. Что едят коровы? Траву и кукурузу. Что это такое? Растительная пища. Таким образом шмат говядины - наиболее эффективный способ поместить растительную пищу в ваш организм. Желаете есть злаковые? Кушайте курицу.

В: Следует ли уменьшить потребление алкоголя? О: Ни в коей мере. Вино изготавливается из ягод. Бренди - это дистиллированное вино, что означает, что из ягод удалена жидкость, благодаря чему вы извлёчете из них бульшую пользу. Пиво же производится из злаков. Не ограничивайте его потребление чрезмерно.

В: Каковы преимущества регулярных физических упражнений? О: Моя философия такова: если у вас ничего не болит, ничего не делайте. Вы в порядке.

В: Жареное вредно? О: В наше время еда жарится на масле растительного происхождения и насыщается им. Как может быть вредна дополнительная растительная пища?

В: Как спортзал помогает уменьшить избыточный вес? О: Абсолютно никак. Единственное, к чему приводят упражнения для мускула - это к увеличению размера данного мускула.

В: Шоколад наносит вред? О: Это какао. Еще один представитель растительной пищи. Хороший продукт питания для счастья. Жизнь не должна быть путешествием к гробу с намерением прибыть к нему в добром здравии, с привлекательным и хорошо сохранившимся телом. Лучше всего начать путь с пивом в одной руке и бутербродом в другой и закончить его после многочисленных занятий сексом, с полностью уставшим, использованным телом, крича: оно того стоило, какое прекрасное путешествие!..

В: Что Вы можете ещё посоветовать? О: Если бы постоянная ходьба была полезна, почтальоны были бы бессмертны. Касатки всю жизнь плавают, едят рыбу и пьют воду, и несмотря на это они толстые. Зайцы бегают и прыгают без остановки, но живут не более 15 лет. Черепахи не бегают и ничего не делают, однако живут 450 лет.

• Каждое утро проходя мимо кота , который свой век коротал у своей мусорки ! )) Я думал , что он всем доволен ! )) Не хватало только веселого Марта ! )) Без него просто кошачья жизнь тускнеет!)) Да Здравствует МАРТ !!! МАРТ НАШЕЙ ЖИЗНИ!!))

мне понравилось, позитивненько

взято отсюда

shty ()

[Угар] Годные vs негодные, инспекторы ДПС.

Форум — Talks

В Ставропольском крае автовладелец на приказ инспекторов ДПС остановиться, ударил годного из них по голове и спустил на сотрудников собак

Вот так вот! Обезоружить группу инспекторов ДПС? Легко.

Слабое место группы инспекторов ДПС - годный дпсник. Вырубаем годного и спускаем цобаг, сопротивление сломлено. Profit! :)

По мотивам заметки в газете «Взгляд» (vz.ru).

shty ()

Вышел релиз CGAL 3.6

Новости — Open Source
Группа Open Source

Вышел новый релиз CGAL ( Computational Geometry Algorithms Library, библиотека алгоритмов вычислительной геометрии ).

Основные изменения:

  • трёхмерная периодическая триангуляция; теперь можно использовать CGAL для расчёта периодических альфа переходов;
  • генерация трёхмерной сетки; в генератор сетки была добавлена фаза оптимизации, что позволило добавить генерацию трёхмерной сетки с использованием правильного тетраэдра (well shaped tetrahedra);
  • алгебраическое ядро (новый пакет); содержит алгоритмы для нахождения, оценки и сравнения реальных корней одномерных (univariate) и двумерных (bivariate) систем полиномов.

CGAL распространяется под лицензиями LGPL и QPL (Qt Public License).

Официальный сайт.

>>> полный список изменений

 , , , ,

shty ()

подскажите эталонный проект на С (src)

Форум — Development

озаботился тут доведением С-шных скиллов до адекватного уровня

господа и дамы знатоки посоветуйте плиз адекватный проект на С для последующего разбирания на предмет хороших практик программирования

PS linux kernel не предлагать - too big, too specific :)

PPS смотрел сорцы Python'a - не сильно впечатлился

*spoiler* для троллей: С - нужен

shty ()

Microsoft планирует открыть исходный код компиляторов C# и Visual Basic

Форум — Talks

Microsoft планирует открыть исходный код компиляторов C# и Visual Basic.

Об этом заявил Люка Болоньезе (Luca Bolognese), менеджер группы разработки языков в Microsoft.

Данное решение, по предварительной информации, было принято в рамках Microsoft Professional Developers Conference (PDC).

Перепечатано по материалам InfoWorld.com.

Подробности

Перемещено Aceler из OpenSource

shty ()

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