Re: Инструменты
От: barn_czn  
Дата: 23.11.10 07:00
Оценка:
MS>А важно то, собственно, к чему это я? А важно то, что не бывает универсальных инструментов. Универсальный инструмент противоречил бы законам природы, так же, как универсальный растворитель — его просто не в чем было бы хранить!

Вы привели пример плохого универсального инструмента и тут же сделали неправильный вывод о бесполезности универсальных вещей.
А вот вам хорошие примеры:

1)комбайн
2)мобильный телефон

Про программирование даже говорить не буду, там куча универсальных технологий.
Re: Инструменты
От: borisman3 Канада http://paskoboris.blogspot.com/
Дата: 23.11.10 16:27
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>Чем дольше я живу, тем сильнее убеждаюсь — нету в природе такой профессии как Программист, нету. Есть профессия Инженер. С удовольствием послушаю возражения, что типа "настоящий программист — это ученый" или "настоящий программист — это творческая личность". Нет, люди. Если ты программист — ты инженер и никак иначе.


У меня в дипломе написано что я инженер-программист, так что все верно
Re: Инструменты
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.11.10 16:30
Оценка: 5 (2) +1
Здравствуйте, McSeem2, Вы писали:

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


Абсолютно согласен. Хотя почему-то, что их шильдики, что твое сообщение наводит меня на один и тот же вопрос — Причем тут Nemerle? Видимо есть какая-то тайная секта поклонников Nemerle которая таким образом старается его рекламировать.

ЗЫ

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

Почему языки программирования сравниваются с какими-то там инструментами? Язык программирования — это в первую очередь (ты не поверишь) язык. Так что если уж проводить аналогии, то как раз с языками общего назначения.

Если подумать, то почему на одном Русском или Немецком языке можно одновременно рассуждать как о сложных химических процессах, так и о литературе? Да потому, что языки расширяемые. В любом живом языке есть базовая часть, а есть языки предметных областей. Современные языки программирования (за редким исключением) — это монолиты. В них прикладные расширения или вообще не невозможно сделать, или имеются очень ограниченные возможности сделать это.

Первая попытка сделать расширяемый язык программирования это Лисп. Нельзя сказать, что попытка провалилась, но конечно же на сегодня Лисп не обладает реальной популярностью. Я думаю, что лисп не завоевал популярность в следствии того, что за расширяемость приходится платить слишком большую плату. Многие чисто физически не могут принять даже синтаксис Лисп. Что уж там говорить о других его особенностях. Nemerle — это новая попытка сделать расширяемый язык. Успешная или нет покажет время. Но, на мой взгляд, это движение в правильном направлении. Через некоторое время это поймут многие. Для меня вопросом является только насколько большим будет это время.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Инструменты
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 23.11.10 20:33
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Почему языки программирования сравниваются с какими-то там инструментами? Язык программирования — это в первую очередь (ты не поверишь) язык. Так что если уж проводить аналогии, то как раз с языками общего назначения.

VD>Если подумать, то почему на одном Русском или Немецком языке можно одновременно рассуждать как о сложных химических процессах, так и о литературе? Да потому, что языки расширяемые.

Подгоняешь под вывод. В частности, и инструмент и язык (общего назначения) — это аналогии ЯП. Следовательно и выводить из них нечего. В первом случае ты сам на это указываешь, а во втором делаешь ту же ошибку. А уж расширяемость языков общего назначения вообще плохая аналогия для расширяемости языков программирования. Вещи совершенно разные.
Re[2]: Инструменты
От: McSeem2 США http://www.antigrain.com
Дата: 24.11.10 01:57
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>Хотел было минус поставить, но вот за это не поставлю.


А зря. Ставь на здоровье.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[2]: Инструменты
От: night beast СССР  
Дата: 24.11.10 04:53
Оценка: +1
Здравствуйте, VladD2, Вы писали:


VD>Абсолютно согласен. Хотя почему-то, что их шильдики, что твое сообщение наводит меня на один и тот же вопрос — Причем тут Nemerle? Видимо есть какая-то тайная секта поклонников Nemerle которая таким образом старается его рекламировать.


VD>ЗЫ


VD>Первая попытка сделать расширяемый язык программирования это Лисп. Нельзя сказать, что попытка провалилась, но конечно же на сегодня Лисп не обладает реальной популярностью. Я думаю, что лисп не завоевал популярность в следствии того, что за расширяемость приходится платить слишком большую плату. Многие чисто физически не могут принять даже синтаксис Лисп. Что уж там говорить о других его особенностях. Nemerle — это новая попытка сделать расширяемый язык. Успешная или нет покажет время. Но, на мой взгляд, это движение в правильном направлении. Через некоторое время это поймут многие. Для меня вопросом является только насколько большим будет это время.


казалось бы, и причем здесь Nemerle
кроме него есть много языков, с расширяемым синтаксисом (forth/tcl/tex).
ты случаем не в секте?
Re[3]: Инструменты
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.11.10 07:51
Оценка:
Здравствуйте, lomeo, Вы писали:

VD>>Почему языки программирования сравниваются с какими-то там инструментами? Язык программирования — это в первую очередь (ты не поверишь) язык. Так что если уж проводить аналогии, то как раз с языками общего назначения.

VD>>Если подумать, то почему на одном Русском или Немецком языке можно одновременно рассуждать как о сложных химических процессах, так и о литературе? Да потому, что языки расширяемые.

L>Подгоняешь под вывод.


Отнюдь.

L>В частности, и инструмент и язык (общего назначения) — это аналогии ЯП.


Инструмент? С чего бы это? Как раз инструмент — это средство автоматизации относительно узкого круга задач. Часто одной. А язык — это средство выражения широкого спектра мыслей. Не даром существует само понятие "общего назначения". Вот узкоспециализированынй язык (DSL) с натяжкой можно сравнить с инструментом.

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


Учитывая ложность предпосылок следствия уже рассматривать нет смысла.

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


Не вижу разницы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Инструменты
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.11.10 07:56
Оценка:
Здравствуйте, night beast, Вы писали:

NB>казалось бы, и причем здесь Nemerle


Зачем повторять мои слова?

NB>кроме него есть много языков, с расширяемым синтаксисом (forth/tcl/tex).


Много? tex не является языком программирвоания. Это язык разметки. tcl скорее тянет на ДСЛ, т.е. с натяжкой можно назвать инструментом. forth — да, не сомненно. Но назвать фаткически два языка термином "много" — это какой не смешной юмор.

NB>ты случаем не в секте?


Чё?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Инструменты
От: night beast СССР  
Дата: 24.11.10 08:04
Оценка:
Здравствуйте, VladD2, Вы писали:

NB>>кроме него есть много языков, с расширяемым синтаксисом (forth/tcl/tex).


VD>Много? tex не является языком программирвоания. Это язык разметки.


это терминологический спор, в который не хотелось бы углубляться.

VD>tcl скорее тянет на ДСЛ, т.е. с натяжкой можно назвать инструментом. forth — да, не сомненно. Но назвать фаткически два языка термином "много" — это какой не смешной юмор.


это какие сразу вспомнились. на форуме можно поискать другие. тема не в первый раз поднимается.

NB>>ты случаем не в секте?

VD>Чё?

Re[4]: Инструменты
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 24.11.10 08:59
Оценка: +1
Здравствуйте, VladD2, Вы писали:

L>>В частности, и инструмент и язык (общего назначения) — это аналогии ЯП.

VD>Инструмент? С чего бы это? Как раз инструмент — это средство автоматизации относительно узкого круга задач. Часто одной. А язык — это средство выражения широкого спектра мыслей. Не даром существует само понятие "общего назначения". Вот узкоспециализированынй язык (DSL) с натяжкой можно сравнить с инструментом.

Опять подгоняешь. Ты даёшь инструменту, ЯОН и ЯП те определения, в которых слова общие. Гораздо важнее семантика. Вот она у пары ЯП-ЯОП ничуть не больше, чем у пары ЯП-инструмент. Тут уже приводили пример инструментов широкого класса. В свою очередь из языков, на которых люди общаются, ты выбрал только "общего назначения", хотя существуют и "DSL"-и.

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

VD>Не вижу разницы.

Смотришь не так. Кроме самого слова у них и общего то ничего нет. Ну, как иллюстрация: расширяемость языков общего назначения — аналогия для расширяемости языка за счёт внесения в него изменений. Появляется новое слово — аналогия появления кейворда, появляется некое направление — внесение поддержки параллелизма на уровне языка, заимствование из других языков — внесение изменений, которые автор видел в другом языке, в язык. И т.д.
Re[2]: Инструменты
От: Undying Россия  
Дата: 24.11.10 15:23
Оценка: 2 (1) +2
Здравствуйте, VladD2, Вы писали:

VD>Если подумать, то почему на одном Русском или Немецком языке можно одновременно рассуждать как о сложных химических процессах, так и о литературе? Да потому, что языки расширяемые. В любом живом языке есть базовая часть, а есть языки предметных областей. Современные языки программирования (за редким исключением) — это монолиты. В них прикладные расширения или вообще не невозможно сделать, или имеются очень ограниченные возможности сделать это.


Из этой аналогии следует прямо противоположный вывод. Что в русском языке расширяемо? Набор слов. Аналогично в любом программном языке можно расширять словарный запас, вводя свои переменные, методы, классы. А все остальное в естественных языках, т.е. пунктуация, падежи, времена, приставки и т.п., практически неизменно. Макросы же позволяют менять что угодно, а не только словарный запас. Соответственно в природе не существует ни одного естественного языка, который можно было бы менять столь же свободно под свои нужды, как это позволяют программные языки реализующие макросы.
Re: Не, программист - не инженер
От: craft-brother Россия  
Дата: 25.11.10 06:43
Оценка: 60 (3) +1 -4 :))) :)
Здравствуйте, McSeem2, Вы писали:

MS>Чем дольше я живу, тем сильнее убеждаюсь — нету в природе такой профессии как Программист, нету. Есть профессия Инженер. С удовольствием послушаю возражения, что типа "настоящий программист — это ученый" или "настоящий программист — это творческая личность". Нет, люди. Если ты программист — ты инженер и никак иначе.



Инженер – это когда с высшим образованием.

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

Инженер – это когда есть законы естественных наук, математики, физики, химии, которые он применяет для конструирования новых продуктов.

Скажите, где у нас законы Ньютона, уравнения Лагранжа или хотя бы сопромат, которые помогли бы мне спроектировать и доказать правильность архитектуры новой нетривиальной программной системы?

Программист – это, скорее, гуманитарий, который выражает свои мысли на одном из языков программирования. Главная проблема в том, что разработка ПО это коллективная работа. Коллективное программирование – это скорее похоже на написания за три месяца поэмы «Евгений Онегин» группой товарищей, которые научились писать по-русски, под руководством системного архитектора, А.С. Пушкина.

ИМХО, здесь зарыты основные проблемы разработки ПО.
Re[2]: Не, программист - не инженер
От: SchweinDeBurg Россия http://zarezky.spb.ru/
Дата: 25.11.10 08:20
Оценка: -1
Здравствуйте, craft-brother, Вы писали:

CB>Программист – это, скорее, гуманитарий, который выражает свои мысли на одном из языков программирования.


+1000
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий ~ ICQ#116846877
In Windows, there’s always a catch… © Paul DiLascia
Re[2]: Не, программист - не инженер
От: Spiceman  
Дата: 25.11.10 09:16
Оценка:
Здравствуйте, craft-brother, Вы писали:

CB>Инженер – это когда с высшим образованием.


Формально да.

CB>Знаю массу успешных программистов без вышки. А один, вообще, бывший рок-музыкант. Пришел в тестирование заработать на новую гитару, а сейчас — системный архитектор в российском представительстве зарубежного разработчика ПО.


Успешный программист не обязательно инженер.

CB>Инженер – это когда есть законы естественных наук, математики, физики, химии, которые он применяет для конструирования новых продуктов.

CB>Скажите, где у нас законы Ньютона, уравнения Лагранжа или хотя бы сопромат, которые помогли бы мне спроектировать и доказать правильность архитектуры новой нетривиальной программной системы?

А при чем тут перечисленные науки? Я бы назвал — теория информации, теория игр, теория принятия решений, теория управления, кибернетика и много чего еще.

CB>ИМХО, здесь зарыты основные проблемы разработки ПО.


Не понял, где? В том, что создание ПО коллективная работа? Но строительство дома или создание машины тоже коллективная работа, в которой участвует множество инженеров. А вот написать книгу может и один творческий человек.
Re[4]: Инструменты
От: FR  
Дата: 25.11.10 09:43
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Много? tex не является языком программирвоания. Это язык разметки. tcl скорее тянет на ДСЛ, т.е. с натяжкой можно назвать инструментом. forth — да, не сомненно. Но назвать фаткически два языка термином "много" — это какой не смешной юмор.


Их немного, из относительно живых есть еще http://en.wikipedia.org/wiki/Dylan_(programming_language), XL, EasyExtend и q-lang

Ну и с натяжкой сюда же можно и Smalltalk и Rebol, так как и управляющие конструкции и частью синтаксис вполне задаются программистом.
Ну и OCaml с его Camlp4 вполне перекрывают очень большую часть возможностей языков с развитыми макросами.
Re[3]: Не, программист - не инженер
От: craft-brother Россия  
Дата: 25.11.10 09:55
Оценка:
Здравствуйте, Spiceman, Вы писали:


S>А при чем тут перечисленные науки? Я бы назвал — теория информации, теория игр, теория принятия решений, теория управления, кибернетика и много чего еще.


Ок. Тогда, пожалуйста, приведи формулу или инженерную методику из этих наук, которая позволила бы мне дать оценку производительности, надежности и доступности разрабатываемой новой системы по ее архитектуре

CB>>ИМХО, здесь зарыты основные проблемы разработки ПО.


S>Не понял, где? В том, что создание ПО коллективная работа? Но строительство дома или создание машины тоже коллективная работа, в которой участвует множество инженеров. А вот написать книгу может и один творческий человек.


Проблема в синхронизации мыслей разработчиков, их ментальных моделей того, что делаем. У инженеров есть формулы, чертежи и схемы. А мы подобны слепым монахам из притчи, которые обсуждают, что такое слон.

Да, один человек может написать книжку, как и программу, но не любую. Размер имеет значение, однако. Для того, чтобы написать книжку в 10 млн. SLOC, ему жизни не хватит. А если и хватит, то эта книжка (читай программа) уже никому не будет нужна. Так что, без помощников не обойтись.

Где-то, так...
Re[5]: Инструменты
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 25.11.10 11:37
Оценка:
Здравствуйте, FR, Вы писали:

FR>Их немного


Ruby, возможно.
Re[6]: Инструменты
От: FR  
Дата: 25.11.10 11:42
Оценка: +1
Здравствуйте, lomeo, Вы писали:

L>Ruby, возможно.


Ruby скорее в компанию к смаллталку и реболу.
Re[5]: Инструменты
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.11.10 15:30
Оценка:
Здравствуйте, FR, Вы писали:

FR>Их немного, из относительно живых есть еще http://en.wikipedia.org/wiki/Dylan_(programming_language), XL, EasyExtend и q-lang


Назвать их "живыми" язык не поворачивается.

FR>Ну и с натяжкой сюда же можно и Smalltalk и Rebol, так как и управляющие конструкции и частью синтаксис вполне задаются программистом.


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

FR>Ну и OCaml с его Camlp4 вполне перекрывают очень большую часть возможностей языков с развитыми макросами.


Ближе, но все же к макросам это не имеет отношение. Возможности не сопоставимы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Инструменты
От: FR  
Дата: 25.11.10 15:49
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Назвать их "живыми" язык не поворачивается.


Ну если так то только лисп и частично форт живые
Немерле еще толком не родился остальные в коме

FR>>Ну и с натяжкой сюда же можно и Smalltalk и Rebol, так как и управляющие конструкции и частью синтаксис вполне задаются программистом.


VD>Они тут совершенно не причем. Если уж говорить о динамике, то тогда уж стоит вспомнить о Руби и Питоне в которых есть другой (но очень действенный) механизм метапрограммирования.


Ну там все-таки другое, синтаксис не трогается.

FR>>Ну и OCaml с его Camlp4 вполне перекрывают очень большую часть возможностей языков с развитыми макросами.


VD>Ближе, но все же к макросам это не имеет отношение. Возможности не сопоставимы.


Так это и есть разновидность макросов парсер + синтаксический препроцессор.
Возможностей конечно меньше чем у макросов в стиле Лиспа/Немерли но на практике очень большую часть
их использования перекрывают, например вы тут где-то недавно приводили примеры встраивания XML/HTML вот
тоже самое http://www.openmirage.org/blog/introduction-to-htcaml или для SQL http://ocsigen.org/macaque/
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.