Page 3 of 5 FirstFirst 12345 LastLast
Results 41 to 60 of 97
Like Tree4Likes

Thread: Программирование

  1. #41
    Banned
    Join Date
    Aug 2006
    Location
    С.-Петербург
    Posts
    1,829
    Rep Power
    0
    Quote Originally Posted by pushvv View Post
    И над чем размышляет программист?
    Хороший программист должен размышлять надо всем. Над выбором переменных и констант, над их именами и комментариями к ним, над названиями функций и подпрограмм, над набором параметров этих функций, над размером подпрограммы (в идеале это страница), над структурой программы, над количеством комментариев в программе, над составом библиотеки вспомогательных программ, над интерфейсом программы, над понятностью кода другому программисту и т.д.
    Об этом написаны книги. Например, Ван Тассел: "Стиль, разработка, эффективность, отладка и испытание программ". В моё время это был бестселлер.

    Это было про стиль. А ещё есть содержание. Там вообще голову можно сломать. Я занимался имитационным моделированием морских процессов. Приходилось моделировать распространение звуковой волны в воде и т.д. И надо было в одной модели с заданной точностью моделировать процессы, которые идут на очень разных скоростях. Пришлось придумать метод пересчёта шага по времени (метод дельта T). Там кандидатские и докторские светили. Вообще, я не знаю более интересной работы, чем инженер-программист. Это захватывало так, что думал об этом и в транспорте, и несколько дней в отпуске, пока не отпускало.
    Но есть одно но. Интересно делать только свои программы. Чужие причёсывать не интересно.
    Вообще, сделать программу объёмом 100 листов и чтобы она была без ошибок - это уже не тривиальная задача. Это может только человек со стилем.

  2. #42
    Почтенный гражданин pushvv's Avatar
    Join Date
    Nov 2012
    Posts
    400
    Rep Power
    11
    Ну так сартра переводить тоже не всем дано.

  3. #43
    Завсегдатай it-ogo's Avatar
    Join Date
    Jan 2009
    Location
    Ukraine
    Posts
    3,048
    Rep Power
    29
    Quote Originally Posted by Юрка View Post
    Хороший программист должен размышлять надо всем. Над выбором переменных и констант, над их именами и комментариями к ним, над названиями функций и подпрограмм, над набором параметров этих функций, над размером подпрограммы (в идеале это страница), над структурой программы, над количеством комментариев в программе, над составом библиотеки вспомогательных программ, над интерфейсом программы, над понятностью кода другому программисту и т.д.
    Хороший программист в процессе работы над этим размышлять ни в коем случае не должен. Он должен все это обеспечивать очень быстро - на интуиции и шаблонах. Хороший программист - быстрый программист. Это если говорить о собственно программистах, а не об исследователях и проектировщиках языков и компиляторов/трансляторов.

    Я занимался имитационным моделированием морских процессов. Приходилось моделировать распространение звуковой волны в воде и т.д. И надо было в одной модели с заданной точностью моделировать процессы, которые идут на очень разных скоростях. Пришлось придумать метод пересчёта шага по времени (метод дельта T). Там кандидатские и докторские светили.
    Это опять-таки нетипичная задача для программиста. Задача для профессионального программиста в даном случае - быстро отыскать наиболее адекватную для данной задачи библиотеку и корректно ее использовать, а не изобретать велосипед. Собственно, динамическая коррекция шага, завязанная на оценку погрешности - стандартная черта большинства профессиональных реализаций, например, численного интегрирования, МКЭ, сеток и т.п.. И там столько тонкостей, в которых можно напахать неочевидным образом, что лучше оставить это математикам-специалистам по конкретному типу численных методов, а не писать с нуля для своей предметной области.

    Эта истина выстрадана мной на собственном горьком опыте.
    "Россия для русских" - это неправильно. Остальные-то чем лучше?

  4. #44
    Завсегдатай maxmixiv's Avatar
    Join Date
    Dec 2011
    Location
    Omsk, Russia
    Posts
    1,545
    Rep Power
    28
    что лучше оставить это математикам-специалистам
    Неужели они ещё существуют? Нет, не видел
    "Невозможно передать смысл иностранной фразы, не разрушив при этом её первоначальную структуру."

  5. #45
    Старший оракул CoffeeCup's Avatar
    Join Date
    Feb 2009
    Location
    Snowbearia
    Posts
    902
    Rep Power
    14
    Quote Originally Posted by it-ogo View Post
    Хороший программист ... размышлять ни в коем случае не должен. Хороший программист - быстрый программист.
    if( bool.toString().length() == 4 )
    So Long, and Thanks for All the Fish

  6. #46
    Banned
    Join Date
    Aug 2006
    Location
    С.-Петербург
    Posts
    1,829
    Rep Power
    0
    Quote Originally Posted by it-ogo View Post
    Хороший программист - быстрый программист.
    Так может рассуждать или начальник, у которого в подчинении программисты (мыслитель здесь я, а вы исполнители), или программист стиля тяп-ляп. Но я не встречал работ, в которых приветствуется суета и отсутствие мысли. Слесарь-торопыжка запорет размеры, лесоруб-торопыжка завалет на себя ёлку. Программист-торопыжка сделает нечто, что нужно отлаживать 5 лет, а потом выбросить.
    Quote Originally Posted by it-ogo View Post
    Задача для профессионального программиста в даном случае - быстро отыскать наиболее адекватную для данной задачи библиотеку и корректно ее использовать, а не изобретать велосипед. Собственно, динамическая коррекция шага, завязанная на оценку погрешности - стандартная черта большинства профессиональных реализаций, например, численного интегрирования, МКЭ, сеток и т.п.
    Я работал тогда, когда мы слыхом не слыхивали о всяких матлабах. В то время мы работали на машинах серии ЕС 1060 (если не забыл) с коллективным доступом. Потом увидели первые персональные. Потом получили первые IBM. У нас в лаборатории были профессор, доцент, научные сотрудники, но никто не знал, что такое переменный шаг моделирования. Мы это с нуля осмысливали и разрабатывали.

  7. #47
    Завсегдатай it-ogo's Avatar
    Join Date
    Jan 2009
    Location
    Ukraine
    Posts
    3,048
    Rep Power
    29
    Quote Originally Posted by CoffeeCup View Post
    if( bool.toString().length() == 4 )
    Вот именно. Таков обычно результат излишних размышлений. Надо знать, как это делается обычно, а не выдумывать.

    Quote Originally Posted by Юрка View Post
    Так может рассуждать или начальник, у которого в подчинении программисты (мыслитель здесь я, а вы исполнители), или программист стиля тяп-ляп.
    Таковы современные принципы профессиональной разработки программного обеспечения. (Я же препод - быть в курсе таких вещей - моя обязанность.) Впрочем, что я говорю "современные"? RAD стал мейнстримом в начале девяностых. С тех пор все хужее и хужее. Скорость обновления рынка ПО только растет.

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

    Я работал тогда, когда мы слыхом не слыхивали о всяких матлабах. В то время мы работали на машинах серии ЕС 1060 (если не забыл) с коллективным доступом. Потом увидели первые персональные. Потом получили первые IBM. У нас в лаборатории были профессор, доцент, научные сотрудники, но никто не знал, что такое переменный шаг моделирования. Мы это с нуля осмысливали и разрабатывали.
    Эх, романтика... Я сам немного такой, но мы с вами как программеры устарели с распространением интернета.

    Любой русский программист, после пары минут чтения кода, обязательно вскочит и произнесет, обращаясь к себе: «Переписать это все нафиг!» Потом в нем шевельнется сомнение в том, сколько времени это займет, и остаток дня русский программист потратит на то, что будет доказывать самому себе, что это только кажется, что переписать — это много работы. А если взяться и посидеть немного, то все получится. Зато код будет красивый и правильный. Hа следующее утро русский программист свеж, доволен собой и без единой запинки докладывает начальству, что переписать этот кусок займет один день, не больше. Да, не больше. Hу, в крайнем случае, два, если учесть все риски. В итоге начальство даст ему неделю и через полгода процесс будет успешно завершен. До той поры, пока этот код не увидит другой русский программист.
    "Россия для русских" - это неправильно. Остальные-то чем лучше?

  8. #48
    Завсегдатай it-ogo's Avatar
    Join Date
    Jan 2009
    Location
    Ukraine
    Posts
    3,048
    Rep Power
    29
    Quote Originally Posted by maxmixiv View Post
    Неужели они ещё существуют? Нет, не видел
    Их мало и больше практически не надо. Работают они в фирмах, разрабатывающих специализированное математическое ПО и библиотеки. И в университетах. Западных, по большей части.
    "Россия для русских" - это неправильно. Остальные-то чем лучше?

  9. #49
    Banned
    Join Date
    Aug 2006
    Location
    С.-Петербург
    Posts
    1,829
    Rep Power
    0
    Quote Originally Posted by it-ogo View Post
    мы с вами как программеры устарели с распространением интернета.
    Думаю, что мастерство не пропьёшь. Ведь кататься на велосипеде два раза учиться не нужно, даже если это новый велосипед.
    Любой русский программист, после пары минут чтения кода, обязательно вскочит и произнесет, обращаясь к себе: «Переписать это все нафиг!» Потом в нем шевельнется сомнение в том, сколько времени это займет, и остаток дня русский программист потратит на то, что будет доказывать самому себе, что это только кажется, что переписать — это много работы. А если взяться и посидеть немного, то все получится. Зато код будет красивый и правильный. Hа следующее утро русский программист свеж, доволен собой и без единой запинки докладывает начальству, что переписать этот кусок займет один день, не больше. Да, не больше. Hу, в крайнем случае, два, если учесть все риски. В итоге начальство даст ему неделю и через полгода процесс будет успешно завершен. До той поры, пока этот код не увидит другой русский программист.
    История прям про меня. Изначально я был в группе из трёх человек и мы ваяли верхний уровень большой модели. Придумывали как считать шаг по времени и т.д. Через несколько лет один ушёл в бизнес, другой тоже (потом свалил в Канаду). И вот оставшись в лаборатории последним могиканином (который что-то соображал в верхнем уровне), я за год самостоятельной работы перелопатил то, что мы сделали втроём, переделав 90%. И получилось то, что не получилось сделать втроём. Нам тогда руководитель лаборатории запретил делать переменный шаг по времени, сказав, что мы сами не понимаем, что это такое (и он не понимает). А в одиночку работать оказалось продуктивнее. Ни с кем не надо согласовывать, доказывать, спорить. Ввёл модуль "среды", рекомендации по шагу давали модели нижнего уровня. В итоге упростились до неприличия модули движения. Добавил интерфейс (графика, меню, редактор) и "продал" это в соседнюю тему. У них тогда программа считала, но ничего не изображала. А у меня там виды с любой точки, плавное масштабирование, процесс в динамике и т.д. Но потом понял, что это тупик и ушёл из лаборатирии. Уж очень тупые руководы были, хоть и кандидаты. А профессор был озабочен тем, как продаться на Запад. У него была книжка, но немцы ему объяснили, что голую теорию они не покупают. И вот он засадил аспиранта воплотить его бредовую теорию в ПО. Он и мне предлагал, но я честно признался, что бред не понимаю. Жалею только о том, что не захватил с собой распечатку своих шедевральных программ. Сейчас бы за чашечкой кофе любовался, вспоминал молодость, тыкал в них мордочкой молодёжь (типа, вот как надо программировать).

  10. #50
    kvs
    kvs is offline
    Почётный участник
    Join Date
    Dec 2011
    Location
    Moscow
    Posts
    143
    Rep Power
    9

    Valda, ты же роботов создаешь? Не трать время на игрушки.

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

  11. #51
    Завсегдатай Crocodile's Avatar
    Join Date
    Apr 2008
    Location
    село Торонтовка Онтарийской губернии
    Posts
    3,057
    Rep Power
    20
    Quote Originally Posted by it-ogo View Post
    Впрочем, что я говорю "современные"? RAD стал мейнстримом в начале девяностых. С тех пор все хужее и хужее.
    Не так страшен чёрт, как его малютки.
    Прогресс есть. Для особо криворуких уже есть нехилый рынок CRM и иже с ними, где криворукие вполне достойно могут себя применить, невзирая на свою криворукость.. Так сказать, access diversity for hands-challenged persons.

  12. #52
    Почтенный гражданин pushvv's Avatar
    Join Date
    Nov 2012
    Posts
    400
    Rep Power
    11
    Юрий, руководы тупые, методики групповой разработки нет, mvc нет - начинается куча проблем типа одному эффективнее, все выдумывать с нуля и т.д. Применяя современный подход к разработке ПО 75% проблем удалось бы избежать. Кроме того, сейчас вряд ли кто-то будет заботится об оптимизации кода, экономии памяти и так далее (если не брать в расчет реверс, всякие контролеры и так далее), . Стало быть остается не думать, а изучать объектную область (кстати этим тоже иногда занимаются специально обученные люди, задачей которых является составление подробного алгоритма, который потом надо тупо реализовать, фактически декомпозиция, описание интерфейсов и все). Есть люди, которые GUI рисуют. Есть люди, которые математику делают. Конечно думать надо, но иногда вообще не критично. А спор начинался с того, что программистам надо думать существенно больше, чем, например, переводчикам.

  13. #53
    Завсегдатай Crocodile's Avatar
    Join Date
    Apr 2008
    Location
    село Торонтовка Онтарийской губернии
    Posts
    3,057
    Rep Power
    20
    Quote Originally Posted by pushvv View Post
    Применяя современный подход к разработке ПО 75% проблем удалось бы избежать.
    Так ведь и требования к ПО сейчас другие, однако. Те, кто программировали в 70-х смотрели на программистов 80-х как на законченных дебилов. И таки причины были..

    Quote Originally Posted by pushvv View Post
    А спор начинался с того, что программистам надо думать существенно больше, чем, например, переводчикам.
    Это было неизбежно. И потом, что мы знаем о переводчиках? Может, они искренне верят в то, что для перевода художественной литературы им нужно думать намного больше, чем программистам?
    Помнишь известное высказывание Гильберта:

    Quote Originally Posted by http://www.math.rsu.ru/mexmat/kvm/MME/dsarch/hilb.html
    Об одном бывшем питомце Гильберт отозвался так: "Да, он стал поэтом — и правильно сделал. Для математики ему не хватало фантазии!"

  14. #54
    Banned
    Join Date
    Aug 2011
    Location
    Chicago, IL
    Posts
    904
    Rep Power
    0
    Quote Originally Posted by Юрка View Post
    Думаю, что мастерство не пропьёшь. Ведь кататься на велосипеде два раза учиться не нужно, даже если это новый велосипед.
    История прям про меня. Изначально я был в группе из трёх человек и мы ваяли верхний уровень большой модели. Придумывали как считать шаг по времени и т.д. Через несколько лет один ушёл в бизнес, другой тоже (потом свалил в Канаду). И вот оставшись в лаборатории последним могиканином (который что-то соображал в верхнем уровне), я за год самостоятельной работы перелопатил то, что мы сделали втроём, переделав 90%. И получилось то, что не получилось сделать втроём. Нам тогда руководитель лаборатории запретил делать переменный шаг по времени, сказав, что мы сами не понимаем, что это такое (и он не понимает). А в одиночку работать оказалось продуктивнее. Ни с кем не надо согласовывать, доказывать, спорить.
    только к программированию этот подвиг танкиста не имеет отношения

  15. #55
    Banned
    Join Date
    Aug 2011
    Location
    Chicago, IL
    Posts
    904
    Rep Power
    0
    Quote Originally Posted by Юрка View Post
    Хороший программист должен размышлять надо всем. Над выбором переменных и констант, над их именами и комментариями к ним, над названиями функций и подпрограмм, над набором параметров этих функций, над размером подпрограммы (в идеале это страница), над структурой программы, над количеством комментариев в программе, над составом библиотеки вспомогательных программ, над интерфейсом программы, над понятностью кода другому программисту и т.д.
    хороший программист категорически не должен делать ничего вышенаписанного, за исключением последнего (понятность кода)
    имена переменных, констант и методов должны быть стандартизированы. Чтобы любой программист незнакомый с кодом, взглянув на ваш код мог сразу понять что о чем
    стандартов не так много, но следует придерживаться одного из них на протяжении всего кода
    над интерфейсом программы и функционалом методов программист также не должен думать, для этого есть архитектор

    и вообще хороший программист, это программист который может работать над одним кодом в команде из нескольких человек, поэтому Д'Артаняны в программировании не нужны. Учитывая что у большинства людей технического склада присутствует OCD в той или иной степени тяжести, то работа в команде это наверное пункт номер 3 по значимости в карьере программиста (после знания среды разработки и умения обучаться)

  16. #56
    Завсегдатай it-ogo's Avatar
    Join Date
    Jan 2009
    Location
    Ukraine
    Posts
    3,048
    Rep Power
    29
    Дети, уважайте старцев, на чьих ошибках и чьей кровью написаны ваши учебники и методики! Я вот совершенно самостоятельно додумался до необходимости ООП, например, еще до того, как первый раз увидел Turbo Vision. Ну разве я не Дартаньян?
    Quote Originally Posted by Crocodile View Post
    Не так страшен чёрт, как его малютки.
    Прогресс есть. Для особо криворуких уже есть нехилый рынок CRM и иже с ними, где криворукие вполне достойно могут себя применить, невзирая на свою криворукость.. Так сказать, access diversity for hands-challenged persons.
    CRM? Может ты имеешь в виду CMS? Я как-то попробовал Moodle и Джумлу. Нет уж, для этого я слишком тупой. Ну его в баню!
    "Россия для русских" - это неправильно. Остальные-то чем лучше?

  17. #57
    Завсегдатай Crocodile's Avatar
    Join Date
    Apr 2008
    Location
    село Торонтовка Онтарийской губернии
    Posts
    3,057
    Rep Power
    20
    Quote Originally Posted by it-ogo View Post
    CRM? Может ты имеешь в виду CMS? Я как-то попробовал Moodle и Джумлу. Нет уж, для этого я слишком тупой. Ну его в баню!
    Да всю эту хрень: CRM, CMS, ERP и т.д., всё то, что я назвал "иже с ними".

  18. #58
    Почтенный гражданин pushvv's Avatar
    Join Date
    Nov 2012
    Posts
    400
    Rep Power
    11
    джумла - неплохой инструмент, позволяет развернуть симпатичный сайтик с форумом и фишечками примерно за полчаса.

  19. #59
    Завсегдатай maxmixiv's Avatar
    Join Date
    Dec 2011
    Location
    Omsk, Russia
    Posts
    1,545
    Rep Power
    28
    над интерфейсом программы и функционалом методов программист также не должен думать, для этого есть архитектор
    Для этого нет архитектора. На этот раз не только не видел оных, а даже не слышал ни про одного персонажа этого класса. Так что думать приходится... А главное, всё без толку, ибо, если неизвестно, что надо программировать, то как узнать, насколько хорошим получился результат?
    "Невозможно передать смысл иностранной фразы, не разрушив при этом её первоначальную структуру."

  20. #60
    Banned
    Join Date
    Aug 2006
    Location
    С.-Петербург
    Posts
    1,829
    Rep Power
    0
    Quote Originally Posted by Crocodile View Post
    Те, кто программировали в 70-х смотрели на программистов 80-х как на законченных дебилов.
    А мы (вернее я) на начальника лаборатории смотрели как на дебила. Я видел его программу. Тысячи строк одним куском. Куча операторов GOTO. Нихрена не работает. А он суёт этот свой шедевр всем своим студентам-дипломникам, чтобы они что-то на ней посчитали и использовали при защите. Это мы, его подчинённые, стали нормально структурировать программы и отказались от операторов безусловного перехода. Но тем не менее именно он руководил нами, так как он старше, он кандидат наук, у него папа Герой Социалистического Труда и директор завода. Без его связей в отрасли нашей лаборатории не дали бы заказов.
    Quote Originally Posted by it-ogo View Post
    Я вот совершенно самостоятельно додумался до необходимости ООП, например, еще до того, как первый раз увидел Turbo Vision. Ну разве я не Дартаньян?
    Ты реально крут, мен! Я вот не могу таким похвастаться. Хотя идею объектов нам двигал в конце 70-ых на уроках философии директор средней школы. Объяснял нам, чем общее понятие "кошка" отличается от конкретной кошки Мурки. Я тогда нифига не понял.
    Quote Originally Posted by Crocodile View Post
    Для особо криворуких уже есть нехилый рынок CRM и иже с ними, где криворукие вполне достойно могут себя применить, невзирая на свою криворукость...
    CRM - какое-то знакомое слово... В одной компании, где работал, есть дурацкая система, которую называют CRM. Там ведут учёт рабочего времени и ещё какую-то хрень (потенциальные продажи, открытие возможности, закрепление менеджера и т.д.). В общем торжество бюрократии над здравым смыслом.
    Quote Originally Posted by Doomer View Post
    хороший программист категорически не должен делать ничего вышенаписанного
    Теперь понятно, почему мы мучаемся с программами. Вот примеры из собственного опыта.
    1) "Магазин партнёра", разработанный индийскими программистами, неправильно показывает складские остатки.
    2) Система документооборота содержит пункты меню, непонятные пользователям. Лексикон пользователей и разработчиков не совпал на 100%, хотя и те и другие работают в одной компании. Причём, разработчики и не стремились к совпадению. Главное, что им самим всё понятно.
    maxmixiv likes this.

Page 3 of 5 FirstFirst 12345 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Russian Lessons                           

Russian Tests and Quizzes            

Russian Vocabulary