Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

Хочу поюзать, что пишет ЮЗ 2   Найти похожие ветки 

 
Юрий Зотов ©   (2005-05-26 05:59) [120]

> Piter ©   (26.05.05 00:55) [117]

> разработать комплекс управления ПВО куда проще, чем
> разработать компилятор.

??????????????


 
msguns ©   (2005-05-26 09:44) [121]

>Piter ©   (25.05.05 16:38) [112]
>Имхо, ОС и коипилятор - самые трудоекмкие проекты. Что может быть более трудоемкое?

Похоже, что компиляторы - самое сложное, что вам приходилось проектировать (программировать)

"О, сколько нам открытий чудных.." (с)


 
VMcL ©   (2005-05-26 11:35) [122]

>>pasha_golub ©   (25.05.05 10:26) [108]

Опечатка в URL. Там два файла.


 
Piter ©   (2005-05-26 12:21) [123]

Юрий Зотов ©   (26.05.05 5:59) [120]
??????????????


это не вся фраза. Я там дальше кое-что написал.


 
Игорь Шевченко ©   (2005-05-26 13:26) [124]

Piter ©   (26.05.05 00:55) [117]


> Но с точки зрения программирования, имхо, разработать комплекс
> управления ПВО куда проще, чем разработать компилятор.


Надо понимать, ты написал реализации обоих проектов и делишься собственным опытом ?


 
Суслик ©   (2005-05-26 13:50) [125]

Piter

Я ВМиКашник, а следовательно ПВОишник.
Сам есно не писал, но то, что слышал впечатляет.

А компилятор? Что там сложного. Сел за книгу, да написал за приемлемое время. Особенно, если пользоваться готовыми инструментами лексического и синтаксического разбора, так это вообще запросто. Думаю, что интерпретатор (не библиотеки!) уровня java (в смысле разбора он легче дельфи), можно осилить в одиночку за год, может быстрее. С компиляцией и оптимизацией, конечно сложнее. Но я говорю про только интерпретатор.


 
Юрий Зотов ©   (2005-05-26 14:02) [126]

> Piter ©   (26.05.05 12:21) [123]

> это не вся фраза.

Мое недоумение (крайнее!) относилось именно к этой фразе. ИМХО, делать подобные заявления - довольно самоуверенно и весьма опрометчиво.

> Я там дальше кое-что написал.

Да, написали: "По общей ресурсоемкости я спорить не буду. Смоделировать развитие ядерного взрыва тоже гораздо сложнее, чем написать компилятор (собственно, почему до сих пор проводятся реальные эксперименты практические - моделирование очень сложно). Но тут опять проблема не в программировании, а в теории".

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

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

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


 
Piter ©   (2005-05-26 15:42) [127]

Игорь Шевченко ©   (26.05.05 13:26) [124]
Надо понимать, ты написал реализации обоих проектов и делишься собственным опытом ?


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

Суслик ©   (26.05.05 13:50) [125]
Я ВМиКашник, а следовательно ПВОишник.
Сам есно не писал, но то, что слышал впечатляет


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

Ок, ты ПВОшник. Представляешь себе проблему.

Объясни - в чем проблема написания ПО по управлению ПВО? Какие трудности ждут на пути написания такой программы, хотя бы несколько примеров!

Юрий Зотов ©   (26.05.05 14:02) [126]
Попробуйте хотя бы численно решить плохо обусловленную систему даже обыкновенных дифф. уравнений


ну а причем здесь программрование?

Теоретические методы решения таких систем хорошо известны

понимаю.

У меня вопрос - вот, например, подбор интерполяционного метода для решения некой системы уравнений - это задача программиста?

Если вы ответите да - то у нас просто разные понятия о задачах, выполняемых программистом.

Например - отключилось питание, но система должна продолжать работать

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

Распределенные вычисления, их перераспределение и синхронизация - и пр. и пр

вот это да - проблема для программиста, согласен.

Ну так мое мнение, что в ПВО уровень таких программистких задач меньше, чем при написании компилятора.


 
Суслик ©   (2005-05-26 15:44) [128]


>  [127] Piter ©   (26.05.05 15:42)


> Ок, ты ПВОшник. Представляешь себе проблему.
>
> Объясни - в чем проблема написания ПО по управлению ПВО?
> Какие трудности ждут на пути написания такой программы,
> хотя бы несколько примеров!


ты спорщик-беспредельщик
С тобой связываться - себе дороже.


 
Piter ©   (2005-05-26 15:47) [129]

Суслик ©   (26.05.05 15:44) [128]
ты спорщик-беспредельщик
С тобой связываться - себе дороже


вообще-то я просил тебя привести примеры. Если примеры привести не можешь - так и скажи


 
Суслик ©   (2005-05-26 15:52) [130]


>  [129] Piter ©   (26.05.05 15:47)

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


 
msguns ©   (2005-05-26 16:09) [131]

>Piter ©   (26.05.05 15:47) [129]
>Суслик ©   (26.05.05 15:44) [128]
>вообще-то я просил тебя привести примеры. Если примеры привести не можешь - так и скажи

Просто 3 примера:

1. Спроектируй и напиши программу "Шашки", играющую хотя бы на уровне 4 разряда
2. Программа оптимального раскроя (в текстильной или мебельной промышленности)
3. SQL-сервер уровня IB или хотя бы рядом.

Это примеры достаточно сложной конструкторской работы. Но они ни в какое сравнение не идут с тем же ПВО или, например, хорошими системами управления предприятием, включающими подготовку производства и оперативное управление (слышал про расцеховки и комплектации ?).


 
Игорь Шевченко ©   (2005-05-26 16:33) [132]

Piter ©   (26.05.05 15:42) [127]


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


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


 
Юрий Зотов ©   (2005-05-26 17:03) [133]

> Piter ©   (26.05.05 15:42) [127]

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

> ну а причем здесь программрование?

?????????????

Снова крайнее недоумение. Честно говоря, я начинаю сомневаться в целесообразности продолжения разговора.

> У меня вопрос - вот, например, подбор интерполяционного
> метода для решения некой системы уравнений - это задача
> программиста?

Нет, это задача математика. Он и скажет - вот тебе правильный метод, юзай его. И метод будет действительно правильным. А задача кодера (в этом случае он просто кодер) - этот метод запрограммировать. Обеспечив устойчивость программы и разумное время счета.

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

Должен сразу предупредить - если возьметесь, то в течение этого полугода у Вас не останется времени ни на что другое. Даже на то, чтобы просто спать по 8 часов в сутки. Поэтому трижды взвесьте - стоит ли браться.

> Если вы ответите да - то у нас просто разные понятия о
> задачах, выполняемых программистом.

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

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

Я же сказал - это всего лишь пример. Пусть будет не питание - пусть одна из вычислительных станций распределенной системы просто уничтожена. Работала, считала - вдруг нет ее больше. Что тогда будем делать? Данные-то улетели. А допускать этого нельзя, будет потеряно драгоценное время. И расчет тут же надо продолжить на другой станции, запустив его ровно с той же точки. Это как - тоже задача хардварщиков, или все же еще и программистов?


 
Piter ©   (2005-05-26 17:19) [134]

Я пишу, пишу, а никто читать не хочет...

Суслик ©   (26.05.05 15:52) [130]
отделение реальный целей от специального мусора


это программерская задача?

еще и с вероятностью посчитать где рвать ракету, чтобы скорее всего зацепить цель

это программерская задача?

Одновременное ведение нескольких десятков целей и нескольких ракет

ну приложение будет многопоточным :)

Динамическое перераспределение целей - т.е. летела ракета в одну цель, потом в другую так-как первую уже сбили

не вижу ничего сложного

msguns ©   (26.05.05 16:09) [131]
1. Спроектируй и напиши программу "Шашки", играющую хотя бы на уровне 4 разряда


ну и в чем проблема? Проблема только в теории шашек, понимаешь? Не в программировании проблема.

Далее тоже самое.

Игорь Шевченко ©   (26.05.05 16:33) [132]
Ну раз не написал, тогда давай ты не будешь


а давайте без давайте. Неинтересно - не читайте, в чем проблема?

почитайте мой пост [117]. Читать правда никто не будет, поэтому прямо вырезку дам:

[b]По общей ресурсоемкости я спорить не буду. Смоделировать развитие ядерного взрыва тоже гораздо сложнее, чем написать компилятор[/b]

Я говорю о чисто программерском ресурсе! Что же вы понять не можете?

Постараюсь еще более доступно объяснить.

Вот например формируется комманда для написания ПО по управлению ПВО. Ясно, что там будут не только программисты. Тоже самое и при написании компилятора.

Да, для создания программы ПВО привлекут 1000 человек, например. Но их этих 1000 программистов будет штук 10 (я все утрирую).

Для написания же компилятора привлекут 200 человек. Но из них программистов будет 50 человек, понимаете?

Да, на разработку ПВО нужно больше ресурсов ВООБЩЕ. Но чисто программерских меньше!

Тоже самое - чтобы создать интерфейс какого-нибудь Partition Magic нужно больше средств, чем чтобы создать интерфейс к программе по управлению ПВО.
Хотя может и показаться - ни фига себе, сравнил какой-то Partition Magic и комплекс по управлению ПВО...


 
Игорь Шевченко ©   (2005-05-26 17:23) [135]


> Да, для создания программы ПВО привлекут 1000 человек, например.
> Но их этих 1000 программистов будет штук 10 (я все утрирую).
>
> Для написания же компилятора привлекут 200 человек. Но из
> них программистов будет 50 человек, понимаете?


Ну и не надо утрировать. Я принимал участие в разработке компилятора С. По крайней мере, хоть эту сторону я знаю, в отличие от некоторых. Программистов в нашей команде было 4 человека. И то много.

Откуда дровишки, кстати, про численность-то ?


 
Суслик ©   (2005-05-26 17:24) [136]

и охота тебе время тратить, спорить тут чего-то :))


 
Суслик ©   (2005-05-26 17:25) [137]

Мое личное мнение, что компилятор (не библиотеки) можно за год втроем только так осилить.


 
Piter ©   (2005-05-26 17:30) [138]

Юрий Зотов ©   (26.05.05 17:03) [133]
Нет, это задача математика


уже хорошо...

И метод будет действительно правильным. А задача кодера (в этом случае он просто кодер) - этот метод запрограммировать. Обеспечив устойчивость программы и разумное время счета.

почти согласен. Уже хорошо :)

Только непонятно - что значит обеспечить устойчивость программы?

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

Я дам полную математическую формулировку задачи и точно укажу метод, которым она точно решается. За вами - через полгода выдать полностью отлаженную программу. Пойдет?

вы сейчас меня обыкновенно пугаете - а зачем?
Лучше объясните - в чем сложность? Есть задча, есть рещение. Нужно просто запрограммировать это решение.

Другое дело, если вы говорите об аналитическом решении и хотите чтобы программист его заменил каким-нибудь интерполяционным методом. Но опять же - разве это задача программиста? Это больше задача математика...

Юрий Зотов ©   (26.05.05 17:03) [133]
будет не питание - пусть одна из вычислительных станций распределенной системы просто уничтожена. Работала, считала - вдруг нет ее больше. Что тогда будем делать? Данные-то улетели. А допускать этого нельзя, будет потеряно драгоценное время. И расчет тут же надо продолжить на другой станции, запустив его ровно с той же точки


в Windows, напрмер, реализован режим Hybernate. Вы практически об этом говорите? Опять же, не думаю, что это так сложно сделать...


 
Piter ©   (2005-05-26 17:31) [139]

Игорь Шевченко ©   (26.05.05 17:23) [135]
Программистов в нашей команде было 4 человека


а сколько всего человек?


 
Игорь Шевченко ©   (2005-05-26 17:34) [140]

Piter ©   (26.05.05 17:31) [139]

Всего в команде ? Полтора десятка, вроде, давно это было, но остальные другими проектами занимались.
Два человека - менеджмент.

Я повторю вопрос - откуда у тебя такие оценки численности, как в посте [134] ?


 
False_Delirium ©   (2005-05-26 17:58) [141]

2 Piter.

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

Вот первая ссылка, которую дал мне google.
http://www.new-factoria.ru/missile/wobb/agm88/agm88.shtml
Можно попытаться представить себе алгоритм анализа.
В новейших ракетах применяется очень сложные системы.

"Для написания же компилятора привлекут 200 человек. Но из них программистов будет 50 человек, понимаете?"

А остальные 150 что будут делать ?

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


 
msguns ©   (2005-05-26 18:00) [142]

В общем, схема такова (Piter) такова (в случае шашек):
1. Библиотека дебютов - отв. мс по шашкам (не программист)
2. Просчет ходов - отв. математик (не программист)
3. Оптимизация расчетов отв. математик (не программист)
4. Дизайн - отв. художник (не программист)
5. Общий интерфейс отв. провайдер-инсталлятор (не программист)
6. Игра по сети - отв. сетевик-аппаратчик (не программист)
7. Общая идея - отв. Гл.менеджер проекта (не программист)
...
N. Тупое кодирование готовых алгоритмов - отв. программист

Дальше базарить не о чем


 
Игорь Шевченко ©   (2005-05-26 18:00) [143]


> А остальные 150 что будут делать ?


Советовать 50, как писать компилятор :)


 
VMcL ©   (2005-05-26 18:05) [144]

>>Piter

>У меня вопрос - вот, например, подбор интерполяционного метода для решения некой системы уравнений - это задача программиста?

Если вы ответите да - то у нас просто разные понятия о задачах, выполняемых программистом.


Программист <> кодер. ИМХО.


 
False_Delirium ©   (2005-05-26 18:09) [145]

Пока писал [141], остальные уже высказали все мысли.


> > А остальные 150 что будут делать ?
> Советовать 50, как писать компилятор :)


В России очень любят так делать - в постановке задачи сразу 30 советов по реализации от специалистов широкого профиля.


 
Игорь Шевченко ©   (2005-05-26 18:11) [146]

False_Delirium ©   (26.05.05 18:09) [145]

Ты будешь крайне удивлен, но и не в России тоже.

VMcL ©   (26.05.05 18:05) [144]


> Программист <> кодер.


А чем они отличаются ? (Я серьезно)


 
False_Delirium ©   (2005-05-26 18:18) [147]

VMcL ©   (26.05.05 18:05) [144]

Программист <> кодер. ИМХО.
Кодер может не быть программистом, а программист может не являться кодером ?

Не согласен, в задачи программиста входит кодирование и/или проектирование и/или разработка и поиск решений. Но не взаимоисключающая интерпритация данных направлений. Профессии "кодер" в моём понимании не существует.

Или кодер-инженер превращается в программиста ?

ИМХО.


 
wal ©   (2005-05-26 18:19) [148]


> [146] Игорь Шевченко ©   (26.05.05 18:11)
> > Программист <> кодер.
> А чем они отличаются ? (Я серьезно)

Если не забуду - принесу завтра классификатор профессий, процитирую. Кодера там, конечно, нет :) , но что-то подобное.

С уважением.


 
VMcL ©   (2005-05-26 18:43) [149]

>>Игорь Шевченко ©   (26.05.05 18:11) [146]

Приблизительно тем, о чём и спрашивал Piter.

Грубо говоря, кодеру говорят: "Вот алгоритм. Реализуй.". Программисту говорят "Есть задача. Поисследуй, какой алгоритм или несколько алгоритмов использовать, а потом их реализуй".

ИМХО.


 
Игорь Шевченко ©   (2005-05-26 18:46) [150]

VMcL ©   (26.05.05 18:43) [149]

То есть, программист должен знать прикладную область ?


 
Просто Джо ©   (2005-05-26 18:47) [151]


>  [150] Игорь Шевченко ©   (26.05.05 18:46)
> То есть, программист должен знать прикладную область ?

А вот это бы не помешало. К сожалению, бывает редко. Но бывает, я -- живой пример :) Не скажу, что мне это мешает ;-)


 
VMcL ©   (2005-05-26 18:50) [152]

>>Игорь Шевченко ©   (26.05.05 18:46) [150]

Ну хотя бы основы.


 
Игорь Шевченко ©   (2005-05-26 18:53) [153]

Просто Джо ©   (26.05.05 18:47) [151]

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

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


 
Игорь Шевченко ©   (2005-05-26 18:54) [154]

Удалено модератором
Примечание: Равенство прав не в том, что все ими воспользуются, а в том, что они всем предоставлены. /Луций Анней Сенека/ (AutoModerator)


 
Просто Джо ©   (2005-05-26 18:59) [155]


>  [153] Игорь Шевченко ©   (26.05.05 18:53)

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


 
DiamondShark ©   (2005-05-26 19:02) [156]


> голова не резиновая

но и не чугунок с крышкой.
Предельного объёма памяти наукой пока не установлено.
А где-то была гипотеза, что чем более связаны и структурированы знания, то тем больше их влазит. Вроде как понятное (и понятое) запоминается лучше, чем белиберда.


 
Суслик ©   (2005-05-26 19:02) [157]

Я считаю, что программист должен знать предметку, иначе получится как у Райкина: к пуговицам претензии есть?


 
Игорь Шевченко ©   (2005-05-26 19:05) [158]

DiamondShark ©   (26.05.05 19:02) [156]

Тем не менее, факт существования экспертов одновременно в различных областях, не настолько частый, чтобы стать обыденным :)


 
Игорь Шевченко ©   (2005-05-26 19:06) [159]

Мой пост № 154:

VMcL ©   (26.05.05 18:50) [152]
Лучше быть экспертом в одной области, чем дилетантом в разных.

ЗЫ: Блин, долбанные регулярные выражения!


 
VMcL ©   (2005-05-26 19:08) [160]

>>Игорь Шевченко ©   (26.05.05 19:06) [159]

Лучше быть экспертом в одной или нескольких областях и при этом неплохо разбираться во многих других. IMHO.



Страницы: 1 2 3 4 5 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.85 MB
Время: 2.983 c
1-1117786816
User1
2005-06-03 12:20
2005.06.29
Зашищаем данные в потоках


1-1118235039
elena_
2005-06-08 16:50
2005.06.29
Как в при вызове Popmenu получить имя компнента вызвавшего его


1-1117879184
Kolan
2005-06-04 13:59
2005.06.29
Условная компиляция


1-1118307829
YoungPioneer
2005-06-09 13:03
2005.06.29
как узнать видимую часть Canvas (DC)


6-1112077504
|)elphin
2005-03-29 10:25
2005.06.29
Работа с Интернетом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский