LINUX.ORG.RU
Ответ на: комментарий от marvin_yorke

Да. Но делать на нем что-то помимо текстов - извращение (когда-то игрался с запилом на нем сложения, умножения, деления... получилось, но ценой упорного brainfuckingа).

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

Зато не очень компактный в строках :)

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

Он разве жив?

Местами — да. Но, разве, вопрос про живость был? APL даже менее жив, ИМХО :)

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

подсказывает, что на ruby получается короче всего

и ещё PHP с JS.

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

А вообще, в девелопменте не так давно было обсуждение того, какое же г*вно C++, на основании того, что решение задачи «создать TCP-server, который бы принимал запросы в виде чисел и отдавал разложение числа на простые множители». На Ruby у меня получилось 40 строк (для сравнения: C++ - 140). Сможешь на bash сделать короче, не делая длинных строк?

#!/bin/bash

self=${0##*/}

usage() {
 echo "Usage: $self port";
};

if (($# < 1)) || [[ $1 = -h ]] || [[ $1 = --help ]]; then
 usage
 exit $(($# < 1))
fi

fifo=`mktemp "$self.XXXXXX"` && rm "$fifo" && mkfifo "$fifo" || exit $?
trap 'rm "$fifo"' exit

nc -l -p "$1" < "$fifo" | stdbuf -oL factor > "$fifo"
anonymous
()
Ответ на: комментарий от mityash

Совсем неумный, да? Даже код для совсем уж махровых CISC, таких как VAX, не особо компактный, а уж код современных RISC (молчу уж про VLIW) раздут до крайности.

Машинный код может быть компактным только если это шитый код для Форт-процессора.

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

Очень читабельно :D

А где такие необходимые фичи, как multithreading, а также возможность повесить его на произвольный сетевой интерфейс, в том числе IPv6?

PS. Без функциональности клиента на Ruby 28 строк.

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

franchukroman

... на очень узком круге задач

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

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

Fanta

минЕт.

да. Это тоже sed не умеет делать. Такие дела.

drBatty ★★
()

конвееров и перенаправлений.

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

import game
game.start()

Но никто же не скажет что питон позволяет писать игры ценой двух строк кода.

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

машинный код же

В ASCII довольно объёмно получается.

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

На тех же текстовых задачах awk намного больше подходит для чего-то бОльшего, чем однострочник.

А еще awk считать умеет.

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

Пробовал. Бросил на полпути.

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

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

franchukroman

На тех же текстовых задачах awk намного больше подходит для чего-то бОльшего, чем однострочник.

просто потому, что вы кроме команды s в sed больше ничего видимо и не знаете. На самом деле, скрипты и однострочники на sed намного компактнее, чем на awk (это конечно не делает их более понятными).

franchukroman

А еще awk считать умеет.

умеет.

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

просто потому, что вы кроме команды s в sed больше ничего видимо и не знаете.

Знаю.

На самом деле, скрипты и однострочники на sed намного компактнее, чем на awk (это конечно не делает их более понятными).

Компактнее - знаю (но только если задача чисто строковая). Но читабельность у sed такова, что свой код за несколько часов становится как чужой. А у awk читабельность нормальная.

Deleted
()

А для каких задач?

Скажем для работы с БД - SQL наверное. Для графопостроения - gnuplot и иже с ним, хотя у меня есть и куда более компактные надстройки. Для символьных вычислений какая нить CAS. И т.д....

В общем наиболее компактный код получается на ЯП, который создавался именно для решаемой задачи;-)

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

franchukroman

Компактнее - знаю (но только если задача чисто строковая).

дык сабж у нас вовсе и не «понятность».

franchukroman

Но читабельность у sed такова, что свой код за несколько часов становится как чужой. А у awk читабельность нормальная.

никто не заставляет пихать всё в однострок. Скрипты на sed тоже допускают стиль. Если вы не желаете пользоваться этим - ваше право. Большинство ЯП точно такие же - программу на C можно тоже одной строкой записать в 100500 букв. За сим заканчиваю, ибо вроде как уже договорились, что для каждой задачи нужен свой инструмент. ОК?

drBatty ★★
()

J(K) конечно рекордсмен.

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

«Среда выполнения в настоящее время хранится в единственном исполняемом файле. REBOL/Core, консольная версия, занимает приблизительно 300 КБ. REBOL/View, версия с поддержкой GUI (графического пользовательского интерфейса), имеет размер приблизительно 600 КБ. Прикладные программы, иногда называемые сценариями, что для данного языка не совсем правильно — редко больше, чем несколько килобайтов.»

«Среда выполнения включает в себя поддержку многих протоколов Internet, облегчая создание Internet-приложений типа агентов электронной почты или Web-приложений, и вообщее клиент-серверных приложений любого масштаба.»

P.S. Однако, есть два «НО»: 1) Проприетарен 2) Не нашёл в нём UTF-8

anonymous
()

А к Tcl/Tk у меня одна претензия:

ПОЧЕМУ

% set a [ ls -lh ]
% puts $a
нельзя получить весь вывод `ls -lh` в значении переменной $a таким вот образом?!

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

Форт

Он разве жив?

Полагаю, Forth ещё всех нас переживёт. Уж больно хорош он для роботов. :)

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