Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Зачем писать программы сложно и долго, когда можно просто и легко? / 25 сообщений из 324, страница 1 из 13
21.03.2012, 16:32
    #37716114
inv2004
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
В качестве освоения языка взял задачу отсюда: /topic/926718&pg=1
В теме java, поэтому не стал там писать.

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

NB. - коммент

Итого, пишется прямо сходу:
Код: sql
\r\n   [ ns=:? 10#1500\r\n1090 147 658 1229 1022 1232 855 5 1455 673\r\n\r\nNB. Начинаем\r\n\r\nNB. 1. Четные и нечетные числа.\r\n   ns#~2|ns\r\n147 1229 855 5 1455 673\r\n   ns#~-.2|ns\r\n1090 658 1022 1232\r\n\r\nNB. 2. Наибольшее и наименьшее число.\r\n   <./ns\r\n5\r\n   >./ns\r\n1455\r\n\r\nNB. 3. Числа, которые делятся на 3 или на 9.\r\nNB. если делится на 9, то и на 3, так что достаточно только те, что на 3.\r\n   ns#~0=3|ns\r\n147 855 1455\r\n\r\nNB. 4. Числа, которые делятся на 5 и на 7. - нету.\r\n   ns#~((0=7&|) *. 0=5&|)ns\r\n\r\nNB. 5. Элементы, расположенные методом пузырька по убыванию модулей.\r\nNB. сортировать пузырьком, имея в наличие разные сортировки как-то лень.\r\n\r\nNB. 6. Все трехзначные числа, в десятичной записи которых нет одинаковых цифр.\r\n   ns#~((3=#) +. (*./@~:@":))"0 ns\r\n147 658 5 673\r\n\r\nNB. 7. Наибольший общий делитель и наименьшее общее кратное этих чисел.\r\nNB. можно написать, но уже встроено. нужно было подбирать пример получше, а то 1.\r\n   +./ns\r\n1\r\n\r\n8. Простые числа. Встроено, но можно и честное решение.\r\n   ns#~(1&p:)"0 ns\r\n1229 5 673\r\n\r\nNB. честно.\r\n   isprime=:<./@ (|~ 2}.i.)\r\n   ns#~isprime"0 ns\r\n1229 5 673\r\n\r\nNB. 9. Отсортированные числа в порядке возрастания и убывания. Смешно.\r\n   /:~ns\r\n5 147 658 673 855 1022 1090 1229 1232 1455\r\n   \\:~ns\r\n1455 1232 1229 1090 1022 855 673 658 147 5\r\n
\r\n

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

Всё что писал - писалось сходу, потом копипастилось в консоль, для получения результата. Затрачено на всё ну может минут 5.

Флейм: Зачем писать на низком уровне с циклами и кучей ненужного ООП? могу найти только одно объяснение - чтобы списать куда-то как можно больше времени, которое, как получается, потрачено впустую.
...
Рейтинг: 0 / 0
21.03.2012, 16:44
    #37716151
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
...
Рейтинг: 0 / 0
21.03.2012, 16:48
    #37716165
inv2004
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
Яростный Меч ,
Ту ветку читал где-то год назад, автор показался не особо адекватным на ~третьей странице. Он, видимо, слышал про K/J, но похоже не особо освоил, и захотел изобрести что-то понятное ему, но такое же "крутое".

Я ничего не изобретаю, просто пытаюсь понять, почему кому-то не лень писать долго скучно и неэффективно.
...
Рейтинг: 0 / 0
21.03.2012, 16:59
    #37716192
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
inv2004,
авторВ качестве освоения языка взял задачу отсюда: /topic/926718&pg=1
В теме java, поэтому не стал там писать.

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

NB. - коммент

Итого, пишется прямо сходу:

[ ns=:? 10#1500
1090 147 658 1229 1022 1232 855 5 1455 673

NB. Начинаем

NB. 1. Четные и нечетные числа.
ns#~2|ns
147 1229 855 5 1455 673
ns#~-.2|ns
1090 658 1022 1232

NB. 2. Наибольшее и наименьшее число.
<./ns
5
>./ns
1455


коротко, но не просто -----------крайне ненаглядно

мне намного проще понять j=j+1 , чем j++
здесь же наворотов еще больше

в первую очередь надо думать о чтении программы, а не уменьшении
количества нажатых клавиш
...
Рейтинг: 0 / 0
21.03.2012, 17:05
    #37716204
inv2004
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
ПЕНСИОНЕРКА ,
Краткость тут не причём,

я могу заменить #~ и | на слова, получится приблизительно так:
ns where not 0 eq 3 mod ns

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

Японец, с таким же успехом заменит слова на иероглифы, от этого тоже смысл не изменится. Если 1000 раз написать + и - - это ведь тоже привычные символы? тут аналогично, только их больше - без словаря конечно не всё ясно сходу. но ведь и + и - не понятны тем, кто не знает что это значит :)
...
Рейтинг: 0 / 0
21.03.2012, 17:07
    #37716214
Яростный Меч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
ПЕНСИОНЕРКАмне намного проще понять j=j+1 , чем j++пример, конечно, спорный, но в целом согласен - нормально читать такое можно только под грибами
...
Рейтинг: 0 / 0
21.03.2012, 17:08
    #37716217
inv2004
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
Не смотрите на синтаксис, фишка тут не в нём, а в операциях и конкатенациях, которые могут работать с почти любыми типами данных, за счёт чего код сокращается значительно.
...
Рейтинг: 0 / 0
21.03.2012, 17:10
    #37716234
kDnZP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
inv2004, -> brainfuck
...
Рейтинг: 0 / 0
21.03.2012, 17:11
    #37716241
inv2004
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
? я слышал про него, но никогда не писал, напиши на нём пример и посмотрим, что получится.

kDnZPinv2004, -> brainfuck
...
Рейтинг: 0 / 0
21.03.2012, 17:15
    #37716258
kDnZP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
inv2004, brainfuck
...
Рейтинг: 0 / 0
21.03.2012, 17:17
    #37716264
inv2004
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
Если объяснить слова, то становится намного проще:
ns#~-.2|ns

y|x - x mod y, может применяться к целому массиву x
3|1 3 5
1 0 2
-. - not - меняет 1 на 0 и наоборот.
#~ - where берет из списка значения, в соответствии с бинарным индексом.

Итого:
ns where not ns mod 2

Очень сложно? Кмк - точно не сложнее, чем выучить правила английского языка.

Яростный МечПЕНСИОНЕРКАмне намного проще понять j=j+1 , чем j++пример, конечно, спорный, но в целом согласен - нормально читать такое можно только под грибами
...
Рейтинг: 0 / 0
21.03.2012, 17:30
    #37716298
inv2004
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
Есть ещё одно опровержение, что язык только для чтения.

В самом начале изучения, я запостил относительно большую программы в список рассылки по этому языку. Улучшенный результат вернулся минут через 10-15. Люди полностью разобрали алгоритм (парсер ip адреса, поиск в списке диапазонов) и полностью переписали. Т.е. как минимум поняли.

Много ли можно понять из 10-20 страничного java-кода? не уверен, что много, опять же повторю, что длина слова тут роли не играет, играет роль количество.
...
Рейтинг: 0 / 0
21.03.2012, 17:46
    #37716341
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
ПЕНСИОНЕРКАв первую очередь надо думать о чтении программы, а не уменьшении
количества нажатых клавиш
Неа! Надо думать сколько за программу заплотют. И здесь сразу виден конфликт с заголовком темы: " Зачем писать программы сложно и долго, когда можно просто и легко?". А так ли уж нужно это "просто и легко"?
Вот помнится, раньше сидела себе тётенька-бухгалтерша, и считала себе на счётах с костяшками. Сейчас целый отдел каких-то непонятных девок с компьютерами сидит, и у них постоянно то копейки не бьют, то баланс не сходится. :)
То же самое и с программистами. Нам платят не за конечный результат (который часто никому и нафиг не нужен), а за процесс, то есть за работу (сила*расстояние).
...
Рейтинг: 0 / 0
21.03.2012, 17:49
    #37716352
inv2004
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
ShSerge,

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

Качество кода - пофигу, ведь если код не очень качественный - тогда можно, например, продать fix'ы отдельно :)
...
Рейтинг: 0 / 0
21.03.2012, 18:29
    #37716470
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
ShSergeТо же самое и с программистами. Нам платят не за конечный результат (который часто никому и нафиг не нужен), а за процесс, то есть за работу (сила*расстояние).
это где так?
...
Рейтинг: 0 / 0
22.03.2012, 00:49
    #37717017
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
iscrafmShSergeТо же самое и с программистами. Нам платят не за конечный результат (который часто никому и нафиг не нужен), а за процесс, то есть за работу (сила*расстояние).
это где так?
А можно узнать где не так? Тогда мы идём к вам.
...
Рейтинг: 0 / 0
22.03.2012, 02:23
    #37717059
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
ПЕНСИОНЕРКАinv2004,
авторВ качестве освоения языка взял задачу отсюда: /topic/926718&pg=1
В теме java, поэтому не стал там писать.

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

NB. - коммент

Итого, пишется прямо сходу:

[ ns=:? 10#1500
1090 147 658 1229 1022 1232 855 5 1455 673

NB. Начинаем

NB. 1. Четные и нечетные числа.
ns#~2|ns
147 1229 855 5 1455 673
ns#~-.2|ns
1090 658 1022 1232

NB. 2. Наибольшее и наименьшее число.
<./ns
5
>./ns
1455


коротко, но не просто -----------крайне ненаглядно

мне намного проще понять j=j+1 , чем j++
здесь же наворотов еще больше

в первую очередь надо думать о чтении программы, а не уменьшении
количества нажатых клавишпоэтому нужно использовать хаскель, да.
...
Рейтинг: 0 / 0
22.03.2012, 02:42
    #37717064
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
inv2004

Тут недавно был чел., который придумал ультра-короткий язык. Мы достаточно
плотно обсудили сабж. И кажется звучел тезис что в подобного рода языках
принципиально сложно/невозможно/неудобно делать пошаговую отладку.

Согласитесь, неотлаживаемый язык не даёт возможности понять где у тебя
баг и/или ставит разработчика в глупое положение.
...
Рейтинг: 0 / 0
22.03.2012, 03:38
    #37717070
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
mayton inv2004

Тут недавно был чел., который придумал ультра-короткий язык. Мы достаточно
плотно обсудили сабж. И кажется звучел тезис что в подобного рода языках
принципиально сложно/невозможно/неудобно делать пошаговую отладку.

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

т.е. нужно ввобще абстрагироваться от понятия шагов.
вот в том же ленивом хаскеле - хрен поймешь, что после чего вызовется, но в том то и суть, что это не важно. главное - результат а не последовательность вычислений.
...
Рейтинг: 0 / 0
22.03.2012, 03:42
    #37717072
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
ZyK_BotaNну вот не скажи что эта отладка так уж нужна.
если язык функциональный. то можно тестировать работу каждой ф-и по отдельности(можно задействовать и юнит тестирование)

т.е. нужно ввобще абстрагироваться от понятия шагов.
вот в том же ленивом хаскеле - хрен поймешь, что после чего вызовется, но в том то и суть, что это не важно. главное - результат а не последовательность вычислений.
Извини. Наш мир - имеет состояния. И нужно иметь возможность сделать
снимок вселенной. А ФП - это просто определённый подход к
программированию и не более. Определённый уровень абстракций.
Но когда ты работаешь с сетью, файлами эти состояния всплывают
во всей своей красе.
...
Рейтинг: 0 / 0
22.03.2012, 03:45
    #37717075
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
maytonZyK_BotaNну вот не скажи что эта отладка так уж нужна.
если язык функциональный. то можно тестировать работу каждой ф-и по отдельности(можно задействовать и юнит тестирование)

т.е. нужно ввобще абстрагироваться от понятия шагов.
вот в том же ленивом хаскеле - хрен поймешь, что после чего вызовется, но в том то и суть, что это не важно. главное - результат а не последовательность вычислений.
Извини. Наш мир - имеет состояния. И нужно иметь возможность сделать
снимок вселенной. А ФП - это просто определённый подход к
программированию и не более. Определённый уровень абстракций.
Но когда ты работаешь с сетью, файлами эти состояния всплывают
во всей своей красе.логи писать - не вариант?
...
Рейтинг: 0 / 0
22.03.2012, 03:51
    #37717077
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
mayton,

т.е. если мы хотим "отладить" вычислимую задачу(без взаимодействия с миром), то нам достаточно декомпозировать задачу, и тестить элементы по отдельности.

если же работаем с и\о, то логи спасут отца русской демократии.

з.ы. пишу на работе на жаве, но там все равно юзаю в отладочных целях только логер, такие дела. да и не нужен дебагер.
...
Рейтинг: 0 / 0
22.03.2012, 10:55
    #37717369
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
ZyK_BotaNлоги писать - не вариант?
Вариант. Это вообще всегда - вариант. Это и есть дооснащение ЯП
возможностями которых у него изначально не было. По сути иммитация
отладки.
...
Рейтинг: 0 / 0
22.03.2012, 11:16
    #37717432
alix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
Ничего не понял из первого поста, какая-то бессмысленная каша. Короче и понятнее Cи ничего нет.
...
Рейтинг: 0 / 0
22.03.2012, 11:21
    #37717446
inv2004
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зачем писать программы сложно и долго, когда можно просто и легко?
Я не скажу за отладку в J, так как изучаю его не давно, но я знаю про отладку в K - очень простая. Отладчик встроен, если программа падает, то ты попадаешь прямо в ту функцию, где упало, найти где проблема - дело минуты, если же надо именно отладить, когда нет ошибок - то тоже никаких проблем, да и логи никто не отменял. Тут не сложнее, чем в других языках.

mayton inv2004

Тут недавно был чел., который придумал ультра-короткий язык. Мы достаточно
плотно обсудили сабж. И кажется звучел тезис что в подобного рода языках
принципиально сложно/невозможно/неудобно делать пошаговую отладку.

Согласитесь, неотлаживаемый язык не даёт возможности понять где у тебя
баг и/или ставит разработчика в глупое положение.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Зачем писать программы сложно и долго, когда можно просто и легко? / 25 сообщений из 324, страница 1 из 13
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]