Краткость ЯП достоинство или недостаток?
От: anokata  
Дата: 24.05.11 08:45
Оценка:
и каков разумный предел?
Собственно, испытывало ли ещё кто трудности/неприятие/разочарование и т.п. из-за длинного расплывчатого кода/алгоритма?
были ли какие нибудь более-менее успешные попытки увеличить плотность? в разумных пределах конечно, не в ущерб читабельности(разве что минимальный).
Буду программировать и переводить с японского за еду. Предложения принимаются.
краткость яп
Re: Краткость ЯП достоинство или недостаток?
От: andy1618 Россия  
Дата: 24.05.11 09:23
Оценка:
Здравствуйте, anokata, Вы писали:

A>и каков разумный предел?

A>Собственно, испытывало ли ещё кто трудности/неприятие/разочарование и т.п. из-за длинного расплывчатого кода/алгоритма?
A>были ли какие нибудь более-менее успешные попытки увеличить плотность? в разумных пределах конечно, не в ущерб читабельности(разве что минимальный).

Довольно поучительно анализировать решения одних и тех же задач на разных языках. К примеру, очень неплохо для этого подходит турнир Google Code Jam — народ наклепал даже специальный сайт статистики, где можно искать присланные решения задач:
http://www.go-hero.net/jam/10/solutions

Про увеличение плотности — к примеру, практически все турнирные решения на C++ начинаются с тучи заранее заготовленных макросов, резко упрощающих и ускоряющих написание кода.
Re: Краткость ЯП достоинство или недостаток?
От: anokata  
Дата: 24.05.11 09:29
Оценка:
судя по этому ресурсу rosettacode.org разница в объёме невелика..
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re: Краткость ЯП достоинство или недостаток?
От: Artifact  
Дата: 24.05.11 10:37
Оценка: 1 (1) +1
Здравствуйте, anokata, Вы писали:

Этот вопрос был решён ещё задолго до появления языков программирования. Поэтому вместо "двадцать три прибавить тридцать три" мы пишем "23 + 33".
__________________________________
Не ври себе.
Re: Краткость ЯП достоинство или недостаток?
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 24.05.11 11:15
Оценка: +2
Как экстремальный пример краткости часто приводят J.
Там все очень кратко, но нихефига непонятно.
Re[2]: Краткость ЯП достоинство или недостаток?
От: anokata  
Дата: 24.05.11 11:19
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Как экстремальный пример краткости часто приводят J.

DM>Там все очень кратко, но нихефига непонятно.

Изучаю) А ещё более краткого нету?
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[2]: Краткость ЯП достоинство или недостаток?
От: Privalov  
Дата: 24.05.11 11:23
Оценка:
Здравствуйте, Artifact, Вы писали:

A>Этот вопрос был решён ещё задолго до появления языков программирования. Поэтому вместо "двадцать три прибавить тридцать три" мы пишем "23 + 33".


А в Коболе именно так и пишем: ДОБАВИТЬ 23 К 33 ПОЛОЖИТЬ РЕЗУЛЬТАТ В СУММА
Re[2]: Краткость ЯП достоинство или недостаток?
От: batu Украина  
Дата: 24.05.11 11:23
Оценка:
Здравствуйте, Artifact, Вы писали:

A>Здравствуйте, anokata, Вы писали:


A>Этот вопрос был решён ещё задолго до появления языков программирования. Поэтому вместо "двадцать три прибавить тридцать три" мы пишем "23 + 33".

Пример появления понятия дифференциал более поучителен.. вместо "отношение приращения функции к приращению аргумента"
Re: Краткость ЯП достоинство или недостаток?
От: batu Украина  
Дата: 24.05.11 11:26
Оценка:
Здравствуйте, anokata, Вы писали:

A>и каков разумный предел?

A>Собственно, испытывало ли ещё кто трудности/неприятие/разочарование и т.п. из-за длинного расплывчатого кода/алгоритма?
A>были ли какие нибудь более-менее успешные попытки увеличить плотность? в разумных пределах конечно, не в ущерб читабельности(разве что минимальный).
Тут вариантов два.. либо насыщать обозначениями либо текст.. Так что вопрос стандартизации и пользовательское определение знаков это единственный выход
Re: Стремитесь минимизировать сущности, а не буковки
От: Undying Россия  
Дата: 24.05.11 11:26
Оценка: 2 (2) +3
Здравствуйте, anokata, Вы писали:

A>и каков разумный предел?

A>Собственно, испытывало ли ещё кто трудности/неприятие/разочарование и т.п. из-за длинного расплывчатого кода/алгоритма?
A>были ли какие нибудь более-менее успешные попытки увеличить плотность? в разумных пределах конечно, не в ущерб читабельности(разве что минимальный).

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

Вообще вопросу лаконичности уделяется слишком большое внимание, стремиться нужно к языку, который позволяет решать задачи используя минимум сущностей, а не минимум буковок.
Re: Краткость ЯП достоинство или недостаток?
От: __lambda__ Россия http://zen-hacker.blogspot.com/
Дата: 24.05.11 11:27
Оценка: +2
Здравствуйте, anokata, Вы писали:

A>Собственно, испытывало ли ещё кто трудности/неприятие/разочарование и т.п. из-за длинного расплывчатого кода/алгоритма?


Я наоборот, испытываю трудности с чтением, когда все слишком уплотнено. Люблю, когда написано пусть и немного длинно, но зато понятно.
Computer science is no more about computers than astronomy is about telescopes (c) Edsger Dijkstra
Re[2]: Стремитесь минимизировать сущности, а не буковки
От: anokata  
Дата: 24.05.11 11:34
Оценка:
Здравствуйте, Undying, Вы писали:

U>Большая лаконичность плохо, большая многобуковость тоже плохо, нужен определенный баланс. При этом естественные языки показывают, что баланс должен быть несколько смещен в сторону многобуковости.


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


вот и покажите языки которые обходятся минимумом сущностей
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[3]: Стремитесь минимизировать сущности, а не буковки
От: Курилка Россия http://kirya.narod.ru/
Дата: 24.05.11 11:45
Оценка: +1
Здравствуйте, anokata, Вы писали:

A>Здравствуйте, Undying, Вы писали:


U>>Большая лаконичность плохо, большая многобуковость тоже плохо, нужен определенный баланс. При этом естественные языки показывают, что баланс должен быть несколько смещен в сторону многобуковости.


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


A>вот и покажите языки которые обходятся минимумом сущностей


Имхо сущности они в первую очередь в голове автора, а не в языке...
Re[2]: Краткость ЯП достоинство или недостаток?
От: Ziaw Россия  
Дата: 24.05.11 12:42
Оценка:
Здравствуйте, anokata, Вы писали:

A>судя по этому ресурсу rosettacode.org разница в объёме невелика..


От задач зависит. Предлагаю сравнить решение N-Queens для пролога и С.

Но дело не в объеме. Важна выразительность, в этом плане решение на прологе даст фору питоновскому шестистрочнику.
Re[3]: Краткость ЯП достоинство или недостаток?
От: hardcase Пират http://nemerle.org
Дата: 24.05.11 13:17
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Но дело не в объеме. Важна выразительность, в этом плане решение на прологе даст фору питоновскому шестистрочнику.


Это верно. Коментариев к примеру на Haskell-е раз в 10 больше чем собственно кода.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[4]: Стремитесь минимизировать сущности, а не буковки
От: alpha21264 СССР  
Дата: 24.05.11 14:12
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Имхо сущности они в первую очередь в голове автора, а не в языке...


Не подрывай основы!
Этак ты докатишься до того, что язык не важен.
Хотя, почти все программисты "за сорок" так думают.
Даже Шеридан (фанатик из фанатиков) что-то подобное когда-то говорил

Течёт вода Кубань-реки куда велят большевики.
Re[3]: Краткость ЯП достоинство или недостаток?
От: 0xC0DE  
Дата: 24.05.11 15:37
Оценка:
Здравствуйте, batu, Вы писали:

B>Здравствуйте, Artifact, Вы писали:


A>>Здравствуйте, anokata, Вы писали:


A>>Этот вопрос был решён ещё задолго до появления языков программирования. Поэтому вместо "двадцать три прибавить тридцать три" мы пишем "23 + 33".

B>Пример появления понятия дифференциал более поучителен.. вместо "отношение приращения функции к приращению аргумента"

Математик-наци mode on:
"отношение приращения функции к приращению аргумента" — это производная. Если дописать перед фразой слово "предел" и после "при приращении аргумента, стремящемся к нулю".
Re[4]: Стремитесь минимизировать сущности, а не буковки
От: Sorc17 Россия  
Дата: 24.05.11 16:01
Оценка: +1
Здравствуйте, Курилка, Вы писали:

К>Здравствуйте, anokata, Вы писали:


A>>Здравствуйте, Undying, Вы писали:


U>>>Большая лаконичность плохо, большая многобуковость тоже плохо, нужен определенный баланс. При этом естественные языки показывают, что баланс должен быть несколько смещен в сторону многобуковости.


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


A>>вот и покажите языки которые обходятся минимумом сущностей


К>Имхо сущности они в первую очередь в голове автора, а не в языке...


Именно.

От себя добавлю, что краткости языка не существует. Поэтому нельзя говорить о том достоинство это или недостаток. Всё потому что краткость это когда программист говорит с языком программирования как на своём естественном языке. Хотя если вас интересует количество буковок, то упарываться тут можно до бесконечности сводя всё к абсурду и превращая язык в эзотерический.
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re[5]: Стремитесь минимизировать сущности, а не буковки
От: Sorc17 Россия  
Дата: 24.05.11 16:17
Оценка: +1 :))) :)
Здравствуйте, Sorc17, Вы писали:

S>От себя добавлю, что краткости языка не существует. Поэтому нельзя говорить о том достоинство это или недостаток. Всё потому что краткость это когда программист говорит с языком программирования как на своём естественном языке. Хотя если вас интересует количество буковок, то упарываться тут можно до бесконечности сводя всё к абсурду и превращая язык в эзотерический.


Ах да, и ещё забыл. Например для меня С++ стал эзотерическим со временем. Я просто перестал понимать эту бешеную кашу из перегруженных операторов и сахара. ОХ УЖ ЭТОТ САХАР. Знаете как мыслят эти остолопы? Я делаю одну и ту же рутинную работу каждый день, пишу одни и те же слова. А почему бы мне не заменить их каким-нибудь одним символом? А что, круто! И после этого мы получаем:

myclass():a(0),strcpy(b,"")

C++ и особенно С# мои самые ненавистные языки в этом смысле. Там постоянно вводят какой-то не нужный бред:

var a = new A();

О да, конечно у них очень веские причины чтобы изменить синтаксис языка. Знаете дети, отныне мы не будем писать "дуп" вместо "дуб", так короче и всё равно любой человек поймёт что имеется ввиду "дуб", так зачем утруждать себя и писать "дуб"? Ведь всё же делается чтобы людям было удобнее и проще! Новая улучшенная версия русского языка! Спешите видеть! (студентам скидки)

Как люди пишут на языках, разработчики которых им каждые код вставляют палки в колёса я не знаю. Предпочитаю Java и чистый C. Спасибо за внимание
Для нас [Thompson, Rob Pike, Robert Griesemer] это было просто исследование. Мы собрались вместе и решили, что ненавидим C++ [смех].
Re[5]: Стремитесь минимизировать сущности, а не буковки
От: Курилка Россия http://kirya.narod.ru/
Дата: 24.05.11 16:31
Оценка: 51 (1) +1
Здравствуйте, alpha21264, Вы писали:

A>Здравствуйте, Курилка, Вы писали:


К>>Имхо сущности они в первую очередь в голове автора, а не в языке...


A>Не подрывай основы!

A>Этак ты докатишься до того, что язык не важен.

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