Re[12]: Жизнь без IDE
От: vshabanov http://vshabanov-ru.blogspot.com
Дата: 29.09.09 09:41
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Я вспомнил еще одну фичу IDE, которая мне реально помогает.

DM>Вот есть функции
DM>List.fold_left : ('a -> 'b -> 'a) -> 'a -> 'b list -> 'a
DM>Enum.fold : ('a -> 'b -> 'b) -> 'b -> 'a t -> 'b
DM>Array.fold_left : ('a -> 'b -> 'a) -> 'a -> 'b array -> 'a
DM>Map.fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
DM>Hashtbl.fold : ('a -> 'b -> 'c -> 'c) -> ('a, 'b) t -> 'c -> 'c
DM>или например
DM>String.nsplit : string -> string -> string list
DM> nsplit s sep splits the string s into a list of strings which are separated by sep.

В emacs-е для хаскеля показываются типы для ф-ий из prelude. В кемле есть интерпретатор, где можно посмотреть или ocamlbrowser. Попробуй посмотри, сколько времени ты тратишь на поиск типа ф-ии, и сколько времени для забивания её параметров. IDE тут конечно помогает, но это копейки.
Re[8]: Жизнь без IDE
От: dr.Chaos Россия Украшения HandMade
Дата: 29.09.09 09:48
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В общем, из услышанного у меня сложилось впечатление, что ты описываешь работу с проектом относительно небольшого размера, который пишиется одним-двумя человеками и который можно полностью заложить в мозг одного человека. Но что делать с проектами где есть миллионы строк кода и который разработывают десятки человек? Никакой Хаскель на сделает, так чтобы любая задача могла легко уместиться в голове. А без этого метды "копируем функцию" просто не будут работать.


Я тут влезу немного. Я работаю с проектом которому уже более 15 лет(С/С++), и работали над ним сотни программистов. Конечно та часть которой я посвящал больше всего внимания, написана за последние 4 года, но в ней есть куски старого кода перенесённого из других проектов. Так вот мне в нём ещё не попадались такие куски когда все типы в голове не умещались, а автокомплит просто поиском по имени функции в хедерах помогает в 90% случаев. Кроме того, я отладчиком пользуюсь где-то раз в год, когда по коре и трейсам совсем непонятно из-за чего упало, эта привычка у меня появилась после того как господа из IBM-а своим патчиком вырубили все отладчики на 4 месяца . Так что разбираюсь я в чужом коде простым чтением: вот недавно разбирался в работе одного древнего приложения, там и парсер lex/yacc и обработка всего этого дела на смеси С/С++, нормально пошло.

Основной инструмент — это Vim, так же помогает find, grep, bash, sed и awk последние 2 реже для особых случаев рефакторинга. В принципе для навигации в 80% случаев хватает тегов, для остального моей памяти и grep-а.

Ну тут стоит заметить, что сторонних библиотек мы используем мало, поэтому в документацию стороннюю лазить приходится редко, а своей документации кот наплакал .
В общем, нормально живётся, моей продуктивностью довольны. Не замечал что люди которые используют эклипс и/или студию более продуктивны (Vim-ом пользуются ещё несколько человек).
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[6]: Жизнь без IDE
От: BulatZiganshin  
Дата: 29.09.09 10:44
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Тогда у меня остается только один вопрос. Если нужные возможности практически есть, то почему бы их не прикрутить к редактору, чтобы не нужно было долбить что-то в командной строке и потом искать что-то в модуле? Ведь, как я понимаю — это вполне возможно и не так уж сложно было бы сделать.


прикрути пользователй хаскела на порядки меньше чем сишников, а интеграций такое впечателние что чуть ли не больше: vs (да-да!), eclipse, vim, emacs и ещё несколько редакторов на самом хаскеле. да ещё и не по одной версии интеграции иногда. ес-но, все они оказываются недоделанными. бакгроунд компиляция например была под eclipse, но мало кто это знает и уже тем более пользуется. или например winhugs показывает иерархию классов, функции в них и даже открывает редактор на нужном определении. кто об этом в курсе?
Люди, я люблю вас! Будьте бдительны!!!
Re[8]: Жизнь без IDE
От: BulatZiganshin  
Дата: 29.09.09 10:50
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Так может в этом и кроется загадка хаскеля? В том смысле, что при весьма лестных отзывах о языке пишут на нем единицы. Возможно как раз дело в том, что это как раз те единицы которые предпочитают спартанский образ жизни?


ну разумеется. то же самое верно для всех других непопулярных языков. недостаток community, books, libraries, tools и т.д. мешают их использовать в коммерческих проектах и рекурсивно приводят к тому что эти community и пр. так и не растут. и виндами пользуются не потому что они лучше и дешевле юниха

ты-то ведь интеграцию для немерле писал именно потому, что понимал какое сдерживающее влияние оказывает её отсутствие на число пользователtй этого неплохого языка? и если сейчас тебя спросить, почему немерле менее популярен, чем c#, ты ведь не скажешь, что это потому что язык хуже? так что ж ты здесь с такой претензией изобретаешь велосипеды?
Люди, я люблю вас! Будьте бдительны!!!
Re[4]: Жизнь без IDE
От: BulatZiganshin  
Дата: 29.09.09 11:59
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Она не означает, что я согласен с автором сообщения. Более того по большей части я с ним как раз не согласен.

VD>Оценка за попытку описать технику своей работы. Это многое объясняет... ну, по крайней мере для меня.

что интересно, ты при этом проигнорировал описание техники работы других, более продвинутых товарищей

видишь ли. 20 лет назад я был молод, полон сил и автоматизировал вокруг себя всё что движется не повершиь, у меня тогда основным рабочим инструментом был ME, и я написал даже отладчик для его макроязыка, не говоря уж о килостроках кода на самом этом языке

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

ps: кстати, вот без чего мне действительно было бы неудобно — без синтаксичсекой подсветки. привык за 15 лет, без нёе уже мозг думать отказывается
Люди, я люблю вас! Будьте бдительны!!!
Re[9]: Жизнь без IDE
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.09.09 12:24
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>ты-то ведь интеграцию для немерле писал именно потому, что понимал какое сдерживающее влияние оказывает её отсутствие на число пользователtй этого неплохого языка?


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

BZ>и если сейчас тебя спросить, почему немерле менее популярен, чем c#, ты ведь не скажешь, что это потому что язык хуже? так что ж ты здесь с такой претензией изобретаешь велосипеды?


Какие велосипеды?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Жизнь без IDE
От: BulatZiganshin  
Дата: 29.09.09 12:28
Оценка:
Здравствуйте, VladD2, Вы писали:

BZ>>и если сейчас тебя спросить, почему немерле менее популярен, чем c#, ты ведь не скажешь, что это потому что язык хуже? так что ж ты здесь с такой претензией изобретаешь велосипеды?


VD>Какие велосипеды?


надо было сказать открываешь америки удивляешься тому, что на хаскеле и порчих не пишут из-за отсутствия развитых IDE
Люди, я люблю вас! Будьте бдительны!!!
Re[4]: Жизнь без IDE
От: Klapaucius  
Дата: 01.10.09 07:46
Оценка: 47 (1) +1
Здравствуйте, thesz, Вы писали:

T>Иными словами, думай, а не пользуйся усилителями интеллекта.

T>Здоровее будешь.

Ну, по такой логике и компилятор — усилитель интеллекта. И чтобы не захворать, видимо, следует все писать в машкодах? Это мало того, что, мягко говоря, не согласуется с вашей обычной позицией, так еще и просто бессмысленно. Количество нерешенных задач все равно бесконечно и нет никакого смысла создавать для себя трудности. Тем более, что решение одной и той же задачи раз за разом не только не представляет никакого интереса, так еще и для ума никакой пользы не несет, по той простой причине, что интеллектуальной деятельностью вовсе не является.
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[5]: Жизнь без IDE
От: thesz Россия http://thesz.livejournal.com
Дата: 01.10.09 09:33
Оценка:
Здравствуйте, Klapaucius, Вы писали:

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


T>>Иными словами, думай, а не пользуйся усилителями интеллекта.

T>>Здоровее будешь.

K>Ну, по такой логике и компилятор — усилитель интеллекта.


Это следует только из твоего расширительного толкования.

Тем не менее, я предпочитаю компиляторы с небольшим числом правил проверок корректности программы.

K>И чтобы не захворать, видимо, следует все писать в машкодах? Это мало того, что, мягко говоря, не согласуется с вашей обычной позицией, так еще и просто бессмысленно.


Тем не менее, это моя позиция.

Попробуй убедить меня в обратном.

K>Количество нерешенных задач все равно бесконечно и нет никакого смысла создавать для себя трудности.


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

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


Именно поэтому следует писать программы так, чтобы каждое их изменение было сопряжено с интеллектуальной деятельностью, а не рутиной.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[6]: Жизнь без IDE
От: Klapaucius  
Дата: 01.10.09 10:08
Оценка: +2
Здравствуйте, thesz, Вы писали:

K>>Количество нерешенных задач все равно бесконечно и нет никакого смысла создавать для себя трудности.

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

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

T>Именно поэтому следует писать программы так, чтобы каждое их изменение было сопряжено с интеллектуальной деятельностью, а не рутиной.


Это тоже пустое утверждение — что-то вроде "если хочешь быть счастливым — будь им". Я так понимаю, что мы говорим о том, полезна автоматизация или нет. Моя позиция простая: все что может быть автоматизировано — должно быть автоматизировано. Ручное выполнение автоматизируемого пищи ни уму ни сердцу не дает. Ваша позиция для меня непонятна. Кажется, вы считаете, что автоматизация где-то полезна, а где-то вредна. Но как отличить те области, где она вредна от тех, где полезна мне пока не понятно.
И в особенности непонятно, как отказ от автоматизации может привести к тому, чтобы каждое изменение программ "было сопряжено с интеллектуальной деятельностью, а не рутиной". По моему скромному разумению так можно только обеспечить статистическое преобладание рутины над интеллектуальной деятельностью.
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[7]: Жизнь без IDE
От: thesz Россия http://thesz.livejournal.com
Дата: 01.10.09 12:07
Оценка:
Здравствуйте, Klapaucius, Вы писали:

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


K>>>Количество нерешенных задач все равно бесконечно и нет никакого смысла создавать для себя трудности.

T>>Время, отпущенное на выполнение стоящих перед разработчиком задач, конечно и нет смысла тратить его на изучение того, что может не пригодиться никогда больше.
K>Тут проблема вот в чем — нет никакого способа определить, что когда-нибудь пригодится, а что не пригодится никогда. На этот счет можно только строить некоторые предположения. А значит, в зависимости от этих предположений, этим можно оправдать отказ изучать вообще все что угодно.
K>Поэтому тут нужно ввести некоторые эвристики и презумпции, чтобы ваше утверждение обрело хоть какой-то смысл и практическую применимость. Наверняка, вы их уже знаете, иначе не могли бы на практике следовать своим убеждениям — осталось только их декларировать.

Ну, не знаю. К тому же не я начал кидаться "бесконечно" и "нет никакого смысла".

Это вопрос личного выбора.

Лично я считаю, что мне нужен сперва язык, а потом среда, другие считают иначе.

Или так: мне важнее потенциальные возможности, кому-то — уже реализованные.

T>>Именно поэтому следует писать программы так, чтобы каждое их изменение было сопряжено с интеллектуальной деятельностью, а не рутиной.

K>Это тоже пустое утверждение — что-то вроде "если хочешь быть счастливым — будь им". Я так понимаю, что мы говорим о том, полезна автоматизация или нет. Моя позиция простая: все что может быть автоматизировано — должно быть автоматизировано.

Я добавлю к этой позиции ещё и "но автоматизация не должна накладывать требования получения дополнительных навыков".\

Иными словами, если я автоматизирую создание класса в Java и мне надо выучить последовательность действий, и у меня есть возможность создать ФВП в Хаскеле без изучения этой последовательности, то я предпочту ФВП.

K>Ручное выполнение автоматизируемого пищи ни уму ни сердцу не дает. Ваша позиция для меня непонятна. Кажется, вы считаете, что автоматизация где-то полезна, а где-то вредна. Но как отличить те области, где она вредна от тех, где полезна мне пока не понятно.


Как только эта самая автоматизация требует формирования рефлексов, тут она начинает быть вредна.

K>И в особенности непонятно, как отказ от автоматизации может привести к тому, чтобы каждое изменение программ "было сопряжено с интеллектуальной деятельностью, а не рутиной".

K>По моему скромному разумению так можно только обеспечить статистическое преобладание рутины над интеллектуальной деятельностью.

А вот эти два предложения я не понял совсем.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[7]: Жизнь без IDE
От: VoidEx  
Дата: 01.10.09 12:34
Оценка: +2
Здравствуйте, Klapaucius, Вы писали:

K>Это тоже пустое утверждение — что-то вроде "если хочешь быть счастливым — будь им". Я так понимаю, что мы говорим о том, полезна автоматизация или нет. Моя позиция простая: все что может быть автоматизировано — должно быть автоматизировано. Ручное выполнение автоматизируемого пищи ни уму ни сердцу не дает.


Напомнило отрывок из "Записки невесты программиста", где вместо написания 10 открыток, жених целый день автоматизировал, да баги правил. Разумное место для автоматизации, 10 свадебных открыток, которые не будут написаны больше никогда.
Это я к тому, что крайности, они как бы часто чем-то пренебрегают, я привёл пример неразумной автоматизации. Кроме того, ваша т.н. автоматизация требует ещё и изучения, а толком ничего не даёт. Зачем мне учить команду "удалить две строки", когда я могу запомнить только клавишу delete и что с шифтом и стрелками можно код выделять.
Повторюсь, я не против автоматизации, но ваша позиция слишком максималистичная.

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


Именно так, где-то она не нужна, так как не стоит того. От того, что вам не понятно, как отличить, когда нужна, а когда нет, по-моему, стоит сделать вывод, что над этим надо основательно подумать, а не выбирать одно из двух крайностей.
Re[8]: Жизнь без IDE
От: Klapaucius  
Дата: 01.10.09 14:59
Оценка: :)
Здравствуйте, VoidEx, Вы писали:

VE>Напомнило отрывок из "Записки невесты программиста", где вместо написания 10 открыток, жених целый день автоматизировал, да баги правил. Разумное место для автоматизации, 10 свадебных открыток, которые не будут написаны больше никогда.


Э, нет! Это не спортивно. Я все-таки говорил о принятии решения применять ли средство автоматизации или не применять — а не разрабатывать ли его или не разрабатывать.

VE>Это я к тому, что крайности, они как бы часто чем-то пренебрегают, я привёл пример неразумной автоматизации.


Я строю свой диспут с thesz именно на максимализме и даже экстремизме (не в политическом смысле, конечно) именно потому, что он, как мне кажется, последовательно (до этого самого момента) проводил здесь идеи о том, что максимализм — это то же самое, что прагматизм, а компромисс между A и B хуже и A и B. Тут же эта передовая идея вдруг дала сбой и я, конечно же, решил провентилировать этот вопрос.

VE>Кроме того, ваша т.н. автоматизация требует ещё и изучения, а толком ничего не даёт.


Идея возражения, в общем, ясна. Постулируется, что автоматизация требует во-первых, изучения, а во-вторых — ничего не дает. С такой вводной, конечно, я справиться не могу и полностью разбит, но все это звучит немного странно. Да, я неявно предположил, что автоматизация избавляет от ручного труда — т.е. решает задачи, которые перед автоматизацией ставятся. И это неявное предположение я считаю простительным. Дело в том, что с ваших позиций можно атаковать вообще все что угодно с совершенно опустошающим результатом.
Пример: допустим, мы обсуждаем преимущества путешествия из пункта A в пункт B на самолете. Тут дается вводная: 1) самолет летит через Марианские острова 2) самолет взрывается в воздухе 3) самолет вообще никуда не летит, потому, что он не настоящий. Дальше обсуждать, понятное дело, уже нечего.

VE>Именно так, где-то она не нужна, так как не стоит того. От того, что вам не понятно, как отличить, когда нужна, а когда нет, по-моему, стоит сделать вывод, что над этим надо основательно подумать, а не выбирать одно из двух крайностей.


Давайте все-таки предположим, что автоматизация таки дает некий эффект, т.е. задачу свою выполняет.
Остается, понятное дело, вполне резонное возражение: новый инструмент требует освоения. Это возражение выдвигают чуть менее чем все, кто пишут на rsdn. Обычно оно звучит так: "Я отлично знаю язык Java++ и решу на нем задачу быстрее, чем на языке Пейтон-Джонс потому, что для решения ее на языке ПДж мне нужно сначала изучить этот язык (а дальше он мне может и не пригодится)" — тут человек полностью последователен. Он честно заявляет: все, чего я не знаю — мне не нужно, все чем я не умею пользоваться мне никогда не пригодится. Для меня представляет интерес то, каким образом эту точку зрения удается совмещать с противоположной. Я, как человек ленивый, желаю в этом вопросе вскарабкаться на плечи титанов и сразу обращаюсь с вопросами к людям, которые явно над этим основательно подумали и выработали некий критерий отсечения ненужных навыков. Он, кроме шуток, очень полезен, потому, что необъятное объять, к сожалению, нельзя.
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[8]: Жизнь без IDE
От: Klapaucius  
Дата: 01.10.09 15:19
Оценка: +3
Здравствуйте, thesz, Вы писали:

T>Это вопрос личного выбора.

T>Лично я считаю, что мне нужен сперва язык, а потом среда, другие считают иначе.

Нет, ну это не интересно. Зачем сводить к проблему к вкусовщине? Петя любит помидоры, Вася — огурцы, и их убеждениям всесте не сойтись, как киплинговским востоку и западу. Хотелось бы, конечно, чего-то более объективного.
Например, не важно, на самом деле, среда или язык, но если язык X без среды дает больше, чем язык Y со средой — вопросов нет. Я и сам предерживаюсь мнения, что язык — важнее среды и убогий язык никакая среда не вытянет. Тут, кстати, можно все проверить на опыте.

Мне непонятно другое. Почему тут, вроде как, заявляется что среда не нужна — и язык X со средой это даже хуже, чем язык X без среды. Это меня совершенно обескуражило. Я-то полагал, что если язык хорош, то со средой он станет только лучше.

T>Или так: мне важнее потенциальные возможности, кому-то — уже реализованные.


Это уже интереснее. Но и непонятнее. Я не вижу противопоставления между этими возможностями — любая реализованная возможность, по моему мнению, создает возможности потенциальные, расширяет пространство возможностей, потому, что ему, вообще говоря, есть куда рости. Никакой игры с нулевой суммой между возможностями "потенциальными" и "кинетическими", по моему, вовсе не существует.

T>Я добавлю к этой позиции ещё и "но автоматизация не должна накладывать требования получения дополнительных навыков".\


Ну, это возможно разве что только в идеале. Да даже в идеале невозможно. В идеале — это обеспечить такую кривую обучения, чтобы возможности раскрывались и осваивались ненавязчиво.

T>Иными словами, если я автоматизирую создание класса в Java и мне надо выучить последовательность действий, и у меня есть возможность создать ФВП в Хаскеле без изучения этой последовательности, то я предпочту ФВП.


Это требует изучения ФВП. Но понятно, что изучение ФВП раскрывает гораздо (несоизмеримо) больше возможностей, чем изучение какого-нибудь генератора кода для Явы. Кроме того, это намного интереснее.

T>Как только эта самая автоматизация требует формирования рефлексов, тут она начинает быть вредна.


Ну, это, конечно, неправильная автоматизация. Автоматизация должна избавлять от необходимости формировать рефлексы.

T>А вот эти два предложения я не понял совсем.


В этих предложениях всего лишь написано, что я не понял, как предложение "Именно поэтому следует писать программы так, чтобы каждое их изменение было сопряжено с интеллектуальной деятельностью, а не рутиной."
может быть аргументом против автоматизации. Выглядит как аргумент за.
... << RSDN@Home 1.2.0 alpha 4 rev. 1228>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[9]: Жизнь без IDE
От: thesz Россия http://thesz.livejournal.com
Дата: 01.10.09 16:39
Оценка:
Здравствуйте, Klapaucius, Вы писали:

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


T>>Это вопрос личного выбора.

T>>Лично я считаю, что мне нужен сперва язык, а потом среда, другие считают иначе.

K>Нет, ну это не интересно. Зачем сводить к проблему к вкусовщине? Петя любит помидоры, Вася — огурцы, и их убеждениям всесте не сойтись, как киплинговским востоку и западу. Хотелось бы, конечно, чего-то более объективного.


Ух ты!

Менее, чем на замеры производительности программистов ты не согласен?

K>Например, не важно, на самом деле, среда или язык, но если язык X без среды дает больше, чем язык Y со средой — вопросов нет. Я и сам предерживаюсь мнения, что язык — важнее среды и убогий язык никакая среда не вытянет. Тут, кстати, можно все проверить на опыте.


О том и речь.

Есть такой тезис, развиваемый PSP/TSP, что время между внесением ошибки и её обнаружением пропорциональна стоимости её исправления (временной и, далее, денежной).

Чем больше ловит язык, тем лучше.

K>Мне непонятно другое. Почему тут, вроде как, заявляется что среда не нужна — и язык X со средой это даже хуже, чем язык X без среды. Это меня совершенно обескуражило. Я-то полагал, что если язык хорош, то со средой он станет только лучше.


Наличие среды означает, что есть некоторые вещи, которые язык плохо "автоматизирует".

Иными словами, изучения языка недостаточно, чтобы быть максимально производительным.

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

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

T>>Или так: мне важнее потенциальные возможности, кому-то — уже реализованные.

K>Это уже интереснее. Но и непонятнее. Я не вижу противопоставления между этими возможностями — любая реализованная возможность, по моему мнению, создает возможности потенциальные, расширяет пространство возможностей, потому, что ему, вообще говоря, есть куда рости. Никакой игры с нулевой суммой между возможностями "потенциальными" и "кинетическими", по моему, вовсе не существует.

А по-моему, существует.

Реализация возможностей приводит к фиксации чего-то. I can tell you, even when you're a Java enthusiast, there's nothing more depressing than looking at java.util.Date and thinking, "That should have been immutable, but it's going to be mutable for the rest of eternity. We will never fix that."

T>>Я добавлю к этой позиции ещё и "но автоматизация не должна накладывать требования получения дополнительных навыков".\

K>Ну, это возможно разве что только в идеале. Да даже в идеале невозможно. В идеале — это обеспечить такую кривую обучения, чтобы возможности раскрывались и осваивались ненавязчиво.

Мой призыв "язык(и) без IDE!" на самом деле сводится к тому, сколько надо учить инструментов. Другая положительная сторона: сколько можно использовать инструментов одновременно.

Я минимизирую число изучаемых инструментов, выбрав наиболее мощный ЯП. Я максимизирую число используемых инструментов, используя произвольную сборку с Makefile (как пример).

К чему приводит твой призыв "автоматизировать надо всё!"?

T>>Иными словами, если я автоматизирую создание класса в Java и мне надо выучить последовательность действий, и у меня есть возможность создать ФВП в Хаскеле без изучения этой последовательности, то я предпочту ФВП.

K>Это требует изучения ФВП. Но понятно, что изучение ФВП раскрывает гораздо (несоизмеримо) больше возможностей, чем изучение какого-нибудь генератора кода для Явы. Кроме того, это намного интереснее.

Ура!

T>>Как только эта самая автоматизация требует формирования рефлексов, тут она начинает быть вредна.

K>Ну, это, конечно, неправильная автоматизация. Автоматизация должна избавлять от необходимости формировать рефлексы.

От необходимости напрягать мозги вообще. Рефлексы второстепенны.

T>>А вот эти два предложения я не понял совсем.


K>В этих предложениях всего лишь написано, что я не понял, как предложение "Именно поэтому следует писать программы так, чтобы каждое их изменение было сопряжено с интеллектуальной деятельностью, а не рутиной."

K>может быть аргументом против автоматизации. Выглядит как аргумент за.

Я не должен думать, какую автоматизацию применить в данный момент.

Я должен думать, как писать программу, чтобы её изменения были минимальными.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[9]: Жизнь без IDE
От: VoidEx  
Дата: 01.10.09 17:54
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>Я строю свой диспут с thesz именно на максимализме и даже экстремизме (не в политическом смысле, конечно) именно потому, что он, как мне кажется, последовательно (до этого самого момента) проводил здесь идеи о том, что максимализм — это то же самое, что прагматизм, а компромисс между A и B хуже и A и B. Тут же эта передовая идея вдруг дала сбой и я, конечно же, решил провентилировать этот вопрос.


Ну, я с ним в этом не согласен, если в такой формулировке.

K> Обычно оно звучит так: "Я отлично знаю язык Java++ и решу на нем задачу быстрее, чем на языке Пейтон-Джонс потому, что для решения ее на языке ПДж мне нужно сначала изучить этот язык (а дальше он мне может и не пригодится)" — тут человек полностью последователен. Он честно заявляет: все, чего я не знаю — мне не нужно, все чем я не умею пользоваться мне никогда не пригодится.


Он не последователен, он тоже вдаётся в крайность, но противоположную. Одному всё нужно, а другому всё не нужно. Это к последостельности имеет крайне отдалённое отношение.

K> Я, как человек ленивый, желаю в этом вопросе вскарабкаться на плечи титанов и сразу обращаюсь с вопросами к людям, которые явно над этим основательно подумали и выработали некий критерий отсечения ненужных навыков. Он, кроме шуток, очень полезен, потому, что необъятное объять, к сожалению, нельзя.


Склоняюсь к тому, что этот критерий вообще разный для разных людей.
Re[6]: Жизнь без IDE
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.10.09 20:20
Оценка: 18 (1)
Здравствуйте, thesz, Вы писали:

K>>И чтобы не захворать, видимо, следует все писать в машкодах? Это мало того, что, мягко говоря, не согласуется с вашей обычной позицией, так еще и просто бессмысленно.


T>Тем не менее, это моя позиция.

T>Попробуй убедить меня в обратном.

А я почти уверен, что это не твоя позиция, а твоя защитная рекция. Я попробовал IDE ссылка на которую приведена ветке рядом и понял, что продукт не рабочий даже на сегодняшний день. Он тупо повис и чуть не убил всю ОС когда я всего лишь скопировал в него пример из интернета.

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

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

В вашем арсенале есть информация о функциях и типах. Она не так полна как хотелось бы, и не так удобно доступна как могла бы, но она есть. В купе с поиском, грепом и какой-то матерью это позволяет работать.
Далее у вас есть среда для тестирования в виде REPL и разные примочки вроде генераторов документации и тегов навигации которые заменяют вам навигацию по проекту и т.п.

Получается, что IDE вы организовали сами. Ну, а то что некоторые очень громко кричат, что IDE не нужна или даже вообще является злом, так это похоже просто защитная реакция. Тот же Майкрософт поступает точно так же. Если у них чего-то нет, но у них спрашивают — "почему?", то ни всегда заявлют — "потому что не нужно!" и приводят тонны аргументов в защиту этого тезиса. Когда же они добавляют эту фичу, то начинаю делать вид, что так оно и надо и всячески пиарить эту фичу.

Таким образом вывод мой такв. Качественных IDE у большинство нет по бедности (или каким-то другим причинам, например дороговизне и сложности их создания). Заявления о их не нужности являются следствиями того, что а) средства работы с ортодоксальными ФЯ сильно отличаются от того, что можно увидеть в привычных IDE, б) "честь мундира" жалко, ведь казалось бы ФЯ так круты, что на них можно было бы легко написать эти IDE, но их все же нет.

Из всего сказанного в этой теме мне осталось не ясно только несколко моментов. Главный из них — почему, если у гуру есть сои методики и технологии работы с проектами, они не делятся ими с новичками? Почему никто не дает ссылок на статьи типа "как создать и развить большой проект на Хасеель?", а вместо этого с удовольствием ведутся беседы на абстрактные темы рвущие в клочья мозг большинства новичков?

Ну, и вопрос... Как я понимаю на русском таких текстов нет. Есть ли такие тексты на английском? И если есть, то не хочет ли кто-либо перевести их на русский и выложить для общественности к нам?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Жизнь без IDE
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.10.09 20:24
Оценка:
Здравствуйте, thesz, Вы писали:

T>Лично я считаю, что мне нужен сперва язык, а потом среда, другие считают иначе.


Верно ли я понял, что среда все же нужна?

Кто считает иначе? Покажи, плиз, кто выбирает среду и под нее язык?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Жизнь без IDE
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.10.09 20:30
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>Например, не важно, на самом деле, среда или язык, но если язык X без среды дает больше, чем язык Y со средой — вопросов нет. Я и сам предерживаюсь мнения, что язык — важнее среды и убогий язык никакая среда не вытянет. Тут, кстати, можно все проверить на опыте.


Кстати интереснейший вопрос для обсуждения. Но философски, так что ему место в другом форуме.

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

И я вот не пойму кто прав они или мы (я ведь тоже грешен, язык ставлю выше)?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Жизнь без IDE
От: FR  
Дата: 02.10.09 03:52
Оценка: +1 -1
Здравствуйте, VladD2, Вы писали:

VD>Таким образом вывод мой такв. Качественных IDE у большинство нет по бедности (или каким-то другим причинам, например дороговизне и сложности их создания). Заявления о их не нужности являются следствиями того, что а) средства работы с ортодоксальными ФЯ сильно отличаются от того, что можно увидеть в привычных IDE, б) "честь мундира" жалко, ведь казалось бы ФЯ так круты, что на них можно было бы легко написать эти IDE, но их все же нет.


Для OCaml'а есть вполне качественное IDE, для Лиспов тоже их полно, но я не вижу повального ими увлечения. Не знаю может специфика Hемерле, в котором слишком привычная императивная и ООП часть и в котором легко обойтись совсем без функциональщины на тебя так воздействует, может то что ты больше работаешь с окружением чем с самим языком, может то что у тебя нет привычки работать с REPL. В общем я наоборот вижу у тебя IDE зависимость которая не лечится даже такими сильными средствами как ФЯ
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.