LINUX.ORG.RU

Самый практичный язык


0

1

Предположим понадобилось *быстро* написать какую-то программу (для личных целей). Скорость работы, размер исходника или бинарника и прочее не интересуют — важно напсиать программу, которая делала своё дело. (Например, я хочу написать небольшой «геометрический» язык, чтобы перебором решать геом. задачи). Какой язык больше всего подходит для таких целей?

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


друк, твой выбор - Хацкель

kyz
()
Ответ на: комментарий от anonymous

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

paxac
() автор топика

Ruby же. Много вкусняшек там.

Nao ★★★★★
()

> хочу написать небольшой «геометрический» язык

Метапрограммирование в руби позволяет легко создавать DSL.

anonymous
()

скриптовой язык, типа перла

питон

mikki
()
def func maxsize = [(a,b,c)|a<-[1..maxsize],b<-[1..a],c<-[1..b],b^2+c^2==a^2]

Из учебника по Хаскелю. Переборная задача выбора всех прямоугольных треугольников

vertexua ★★★★★
()

python обычно берут на такие задачи
там достаточно много расширений (в том числе и на скоростном C) на все случаи жизни

к тому же есть продвинутый шелл iPython, который любят многие математики

зы. http://ru.wikipedia.org/wiki/NumPy

VladimirMalyk ★★★★★
()

ну и большой плюс - интерактивность.
то есть ты на живую пишешь в шелле иПитона:

x = linspace(0, 2*pi, 100)
y = sin(x)
plot(x,y,'ro-')

и получаешь картинку http://upload.wikimedia.org/wikipedia/commons/0/01/Numpy_example.png

после чего можешь продолжить внесение команд или переназначить существующие аргументы и отричовать график снова

VladimirMalyk ★★★★★
()
Ответ на: комментарий от unC0Rr

))) Хз, чего я его там влепил. Тред о Python на верное

vertexua ★★★★★
()

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

Python - более традиционный императивный язык. D - если нужна производительность. Perl - если задача предполагает обработку текста.

Legioner ★★★★★
()

Ну, попробуй Perl5 тогда.
Плюсы: гибкость, большое количество библиотек.
Минусы: древнее говно, perl6 современее

anonymous
()
Ответ на: комментарий от unC0Rr

def? это точно хаскель?

оговорка по Фройду.

kyz
()

Кстати, если для математики то может sage?

anonymous
()

Самого практичного не существует. В качестве простого, удобного и пригодного для широкого спектра задач можно пользовать Python/Ruby. Но для решения подобного рода переборных проблем (если не важна эффективность решения) я бы посмотрел в сторону программирования в ограничениях (например, на прологе).

twosev ★★
()

Боянистый срач, тред не читал.

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

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

AutoLISP не хочешь? ;P

slackwarrior ★★★★★
()

python || c, что больше нравится

yltsrc
()
Ответ на: комментарий от paxac

>Даже регэкспов нет, если только возитьяс с дополнительными либами, что гемморно.

Ты не поверишь: но даже для элементарного printf надо возиться с дополнительными либами.

Attila ★★
()
Ответ на: комментарий от paxac

«С» самый просто и самый быстрый.
На первом этапе ты создаешь уровень абстракций именно _ТАКОЙ_КАК_ТЕБЕ_НУЖЕН_ . Далее все пишется таким себе мета програмированием(насколько это применимо в С).
Питон/Раби накладывают большие ограничения на создание именно своего уровня абстракций, подменяя нужное тебе своими аналогами, что не всегда удобно. О всяких хаскелях и лиспах не в курсе :)

Jetty ★★★★★
()
Ответ на: комментарий от Jetty

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

Jetty ★★★★★
()
Ответ на: комментарий от balodja

Аксиому точно дёргать не стоит, там нет геометрии и она просто уг. Максима тоже никаким местом не стоит к геометрии.

mikki
()

>Например, я хочу написать небольшой «геометрический» язык, чтобы перебором решать геом. задачи

CL

yoghurt

anonymous
()
Ответ на: комментарий от jtootf

Занятно посмотреть на умников быренько пишущих такое на С:

Реверси на TCL в 64 строки
http://habrahabr.ru/blogs/crazydev/89822/
зы: <вброс>
И да, скорее всего закончится «простым и быстрым нагромождением» переписать это на других языках.

elipse ★★★
()
Ответ на: комментарий от Jetty

> «С» самый просто и самый быстрый.

О всяких хаскелях и лиспах не в курсе :)

В этом твоя проблема.

anonymous
()
Ответ на: комментарий от anonymous

>> Например, я хочу написать небольшой «геометрический» язык, чтобы перебором решать геом. задачи

CL

yoghurt

А чо не Смолток?

tailgunner ★★★★★
()
Ответ на: комментарий от elipse

Занятно посмотреть на умников быренько пишущих такое на С

у Tcl есть C API, если что; переписать эту программу на вызовы оттуда - не такая уж и сложная задача

jtootf ★★★★★
()
Ответ на: комментарий от tailgunner

лисперы, сцуко, перевербовали.

anonymous
()
Ответ на: комментарий от tailgunner

Smalltalk я плохо вижу в сфере решения переборных задач :) Лисповые как-то изящнее туда подходят ИМХО.

yoghurt

anonymous
()

не буду оригинальным

Ruby, Python, Perl, Free Pascal

robux
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.