2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Является ли программирование творчеством?
Да 78%  78%  [ 29 ]
Нет 14%  14%  [ 5 ]
Иной ответ (пишите в тему) 8%  8%  [ 3 ]
Всего голосов : 37
 
 Re: Является ли программирование творчеством?
Сообщение30.11.2012, 00:06 
Аватара пользователя


22/09/09

1907
Esp_
Esp_ в сообщении #651703 писал(а):
Для одной задачи существует бесконечное множество программ, которые ее решают. Умение выбирать "правильные" программы из этого множества - это творчество воистину.
В этом полностью согласен. Но во второй части Вы, вслед за svb, говорите, что новые языки - это показатель развития (нпр., для конкретной страны). Это, извините, ИМХО не верно! Предложены тысячи тысяч языков, и что? Лучший из предложенных ИМХО - язык Паскаль, трансформировавшийся в Delphi 7/ Kylix. Лучший, потому что надежен (защитное программирование) и минимизирует неоднозначности. А сейчас именно надежности софта всем особо не хватает. Я знаю много интересных языков и их разработчиков, нпр., Dee (чистое ООП), Т (промежуточный между ЯП высокого уровня и ассемблером) и т.д. Но языки выбирают магнаты индустрии, сами программ не пишущие: сказал один такой: "васик!", и долго еще многие талантливые люди будут вынуждены мучиться с VBA, а Dee, Т и, даже, Оберон остались невостребованными. Этот же магнат, когда его "мелкомягкую" фирму побили в ОО Паскале, разозлился на Паскаль, но, несмотря на свою любовь к Васику, был вынужден выбрать более мощный язык для своих раз-рабов. Ничего лучше не нашел как С++. Теперь, когда пошли многопоточные CPU, пришлось выдумывать всякие TBB для Си, а Delphi 7 внутри себя очень неплохо реализует стандартные решения для многопоточности (мьютексы, семафоры и т.д.). Можно долго продолжать сравнение языков, но новых сейчас пока не нужно: старым (уже придуманным) пользовались бы правильно - были бы первыми на всей планете.

-- Пт ноя 30, 2012 00:21:17 --

Aritaborian в сообщении #650810 писал(а):
Неважно, занимаешься ли ты поэзией, живописью, математикой, дизайном, программированием, физикой. Когда летишь на крыльях вдохновения, никакого напряжения просто не может быть. Только свобода и желание лететь дальше ;-)
Но! Такой известный художник, как Сальвадор Дали подчеркивал в своих дневниках, что творчество - тяжкий ежедневный труд, а не только полет! Оценивать программинг, как и живопись, только по размаху крыльев вдохновения было бы поверхностно. У многих рядовых художников, как и у рядовых футболистов "размах на рубль, удар на копейку" :-(

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение30.11.2012, 01:13 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
bin, полностью согласен с вами (и с Дали). И не спорил даже ;-)

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение30.11.2012, 11:41 
Админ форума
Аватара пользователя


19/03/10
8952
post651209.html#p651209,
post651219.html#p651219,
post651547.html#p651547,
post651682.html#p651682
 !  докер, JMH, arseniiv, замечание за оффтопик

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение30.11.2012, 12:32 


22/01/11
309
bin в сообщении #651769 писал(а):
Это, извините, ИМХО не верно! Предложены тысячи тысяч языков, и что? Лучший из предложенных ИМХО - язык Паскаль, трансформировавшийся в Delphi 7/ Kylix


Вы говорите про Object Pascal?

Цитата:
Лучший, потому что надежен (защитное программирование) и минимизирует неоднозначности.

Что такое "надежен" ? Поясните.


Цитата:
А сейчас именно надежности софта всем особо не хватает

Вы хотите сказать, что если софт писать на паскале, то это как-то поможет?

Цитата:
а Delphi 7 внутри себя очень неплохо реализует стандартные решения для многопоточности (мьютексы, семафоры и т.д.).


Этим никого не удивишь. И это относится не к языку, а мы здесь обсуждаем языки.


Цитата:
старым (уже придуманным) пользовались бы правильно - были бы первыми на всей планете.

Старые языки неповоротливы.

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение01.12.2012, 18:24 
Аватара пользователя


22/09/09

1907
Esp_ в сообщении #651903 писал(а):
Вы говорите про Object Pascal?
Не только. В Delphi интегрировано много технологий. Реализаций Object Pascal было много. Так, был Turbo Pascal 5.5 от Борланда, и одновременно другая реализации от Микрософта. Первая оказалась сильно удачнее, и Уильям Генри Гейтс III (более известный как Билл Гейтс) очень обиделся...;-)
Esp_ в сообщении #651903 писал(а):
Что такое "надежен" ? Поясните.
См., например:
Цитата:
В программном коде может быть так называемое недокументированное поведение — серьёзные ошибки, которые не проявляются при нормальном ходе выполнения программы, однако весьма опасны для безопасности всей системы в случае целенаправленной атаки. Чаще всего это результат ошибок программиста. (Википедия: Отладка программы)

Esp_ в сообщении #651903 писал(а):
Вы хотите сказать, что если софт писать на паскале, то это как-то поможет?
Да.
Esp_ в сообщении #651903 писал(а):
Этим никого не удивишь. И это относится не к языку, а мы здесь обсуждаем языки.
Однако в С++ с этим очень плохо ;-)
Esp_ в сообщении #651903 писал(а):
Старые языки неповоротливы.
Что значит "неповоротливы"? Какие ЯП "поворотливы"?

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение01.12.2012, 19:45 


22/01/11
309
bin в сообщении #652534 писал(а):
Не только. В Delphi интегрировано много технологий. Реализаций Object Pascal было много. Так, был Turbo Pascal 5.5 от Борланда, и одновременно другая реализации от Микрософта. Первая оказалась сильно удачнее, и Уильям Генри Гейтс III (более известный как Билл Гейтс) очень обиделся...


Говорить о Паскале вообще смысла нет. Язык устарел. Для обучения и сейчас сгодится.
На сколько я понимаю, с поддержкой Delphi сейчас тоже какая-то плохая история, после смерти Борланда.


Цитата:
В программном коде может быть так называемое недокументированное поведение — серьёзные ошибки, которые не проявляются при нормальном ходе выполнения программы, однако весьма опасны для безопасности всей системы в случае целенаправленной атаки. Чаще всего это результат ошибок программиста. (Википедия: Отладка программы)

Если вы говорите про уязвимости, то это едва ли относится к языку. К библиотекам и компиляторам - да.


Цитата:
Вы хотите сказать, что если софт писать на паскале, то это как-то поможет?
Да.


Это очень вряд ли, коллега. По двум основным причинам. Первая - качество софта, я уверен, достаточно слабо зависит от языка, на котором этот софт сделан, если говорить о промышленных масштабах. Нет, конечно, на Delphi писать качественный код проще, чем на С++, но при хорошем знании этих языков корелляция будет достаточно слабой. Влиять на качество будут совсем другие вещи, в первую очередь, умение людей , которые этот софт делают "программировать вообще". Вторая - этот язык устарел, инструменты и библиотеки под этот язык не поддерживают и не выпускают. Может, Delphi.Net только и будет выходом. Но зачем писать на Delphi, если есть C#, который гораздо удобнее?

Цитата:
Однако в С++ с этим очень плохо


Я понимаю о чем вы говорите, но времена изменились. сейчас вы попробуйте найти людей, которые пишут на С++ и используют только стандартные библиотеки - их количество стремительно упало за последние 7 лет.
Сейчас многие используют Qt , Boost и прочие обертки и библиотеки, в них все проблемы подобного плана уже решены.

Что значит "неповоротливы"? Какие ЯП "поворотливы"?

Поворотливы гибридные языки. Это прежде всего C#, F#, Python.

Я имел в виду, что есть некоторый спектр задач, который на таких языках как Object Pascal требует написать ощутимо больше кода, чем это реально нужно. Не говоря уже о сложности этого кода.
Сейчас нешуточную популярность, а можно сказать и вторую жизнь получило функциональное программирование. Используя его практики, можно экономить не только в количестве кода, но и поднимать его качество, снижать риск ошибок. Также это влияет на скорость программирования.
Многие были недовольны тем, что в Java функциональное программирование никак не может устояться. Microsoft же в этом плане вовремя подсуетился.

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение01.12.2012, 20:14 
Заслуженный участник


09/05/12
25179
Esp_ в сообщении #652563 писал(а):
Говорить о Паскале вообще смысла нет. Язык устарел.

Чем именно?

Esp_ в сообщении #652563 писал(а):
Первая - качество софта, я уверен, достаточно слабо зависит от языка, на котором этот софт сделан, если говорить о промышленных масштабах. Нет, конечно, на Delphi писать качественный код проще, чем на С++, но при хорошем знании этих языков корелляция будет достаточно слабой. Влиять на качество будут совсем другие вещи, в первую очередь, умение людей , которые этот софт делают "программировать вообще".

Проблема в том, что "хорошее знание C++" достижимо с существенно большим трудом, чем хорошее знание какого-то более аккуратного и последовательного в своей идеологии языка (Delphi, кстати, в этом отношении образец далеко не лучший, то, что даже он лучше C++ - само по себе яркая характеристика последнего).

Esp_ в сообщении #652563 писал(а):
Вторая - этот язык устарел, инструменты и библиотеки под этот язык не поддерживают и не выпускают.


Хм...
Код:
peter@antares:~> fpc -i
Free Pascal Compiler version 2.6.0

Compiler Date      : 2012/11/28
Compiler CPU Target: x86_64

Supported targets:
  Linux for x86-64
  FreeBSD for x86-64
  Win64 for x64
  Darwin for x86_64
  Solaris for x86-64 (under development)

Посмотрите внимательно на дату выхода этой версии.

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение01.12.2012, 21:07 


22/01/11
309
Pphantom в сообщении #652581 писал(а):
Чем именно?


В своем посте я написал - чем. Посмотрите про гибридные языки.

Pphantom в сообщении #652581 писал(а):
Посмотрите внимательно на дату выхода этой версии.

Pphantom

Я поясню, почему это не то:
Во-первых, Free Pascal - это не индустриальное решение, а такой же опер сорс продукт, написанный не пойми кем (впрочем, возможно у истоков проекта и стоял кто-то большой и сильный, но сейчас вряд ли), с таким же опен сорсным качеством. Кто будет использовать это в индустриальном программировании? http://bugs.freepascal.org/my_view_page.php - посмотрите на список актуальных багов. Да это просто ужас.

Во-вторых - на одном компиляторе далеко не уедешь. В Сишарпе у меня есть супер IDE с плагинами и свежими фрейморками. А что у меня есть в Паскале?

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение01.12.2012, 21:23 


25/08/08
545
Написать красочную захватывающую игру для 8-битной приставки с 48 килобайтами памяти и 3,5 МГц процессором - вот это искусство.
Еще в детстве поражался, как четко, с точностью буквально до тактов, были выверены алгоритмы.

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение01.12.2012, 21:26 
Заслуженный участник


09/05/12
25179
Esp_ в сообщении #652621 писал(а):
В своем посте я написал - чем. Посмотрите про гибридные языки.


Сложность написания (а главное - поддержки) кода определяется в первую очередь не его размером в килобайтах.

Esp_ в сообщении #652621 писал(а):
Во-первых, Free Pascal - это не индустриальное решение, а такой же опер сорс продукт, написанный не пойми кем (впрочем, возможно у истоков проекта и стоял кто-то большой и сильный, но сейчас вряд ли), с таким же опен сорсным качеством.

Т.е. если закрыть код и не показывать Вам список багов, то все сразу станет хорошо? :wink:

Но допустим. Чем Вам не нравится какая-либо реализация Ada?

Esp_ в сообщении #652621 писал(а):
Во-вторых - на одном компиляторе далеко не уедешь. В Сишарпе у меня есть супер IDE с плагинами и свежими фрейморками. А что у меня есть в Паскале?

Во-первых, совместно с компилятором можно использовать прорву различных IDE (если только что-то одно производитель не прибил к своему продукту гвоздями намертво). Во-вторых, если уж нужно что-то одно "самое правильное", то есть Lazarus. Ну и наконец, что делать с этим самым C# еще лет через 6-7, когда единственная убогая платформа, на которой им еще как-то можно пользоваться, в очередной раз откажется от обратной совместимости?

P.S. Вообще говоря, мы, похоже, ушли от темы. Может быть, выделить все это в отдельное производство?

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение01.12.2012, 22:16 


22/01/11
309
Pphantom в сообщении #652631 писал(а):
Сложность написания (а главное - поддержки) кода определяется в первую очередь не его размером в килобайтах.


А я вам и не про размер в килобайтах писал.

Цитата:
Т.е. если закрыть код и не показывать Вам список багов, то все сразу станет хорошо?

Но допустим. Чем Вам не нравится какая-либо реализация Ada?


Во-первых, список багов многих закрытых продуктов открыт. Даже если он закрыт, есть поддержка, которая отвечает вполне оперативно и помогает решить проблему. Во-вторых, толку от того, что код того или иного продукта открыт в конечном счете не много. Качество open sourc'а за последние 5 лет реально не изменилось.
Кто делает эти программы и как? Кто их тестирует и как? :lol:

Я про Аду ничего не знаю, в глаза ее не видел. Зато какой open source продукт не возьми - руки чешутся его доделать.

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение01.12.2012, 22:19 
Аватара пользователя


22/09/09

1907
Esp_ в сообщении #652563 писал(а):
Нет, конечно, на Delphi писать качественный код проще, чем на С++, но при хорошем знании этих языков корелляция будет достаточно слабой.
Т.е. добавим дополнительные сложности, чтобы было, что преодолевать? ;-) При хорошем знании и спагетти с goto даст результаты. Но кому это нужно и кто это выдержит? ;-)
Esp_ в сообщении #652563 писал(а):
Если вы говорите про уязвимости, то это едва ли относится к языку. К библиотекам и компиляторам - да.
Ранее я уже отметил:
bin в сообщении #649688 писал(а):
можно вспомнить, что еще в прошлом веке В.Ш.Кауфман опубликовал статью в журнале Программирование, где показал, что любой универсальный язык программирования высокого уровня содержит так называемые "темные места", ведущие к неоднозначностям. Про неоднозначности такого модного языка, как С++, ленивый только не писал. Но и более строгие языки невозможны, по Кауфману, без неоднозначностей.

Esp_ в сообщении #652563 писал(а):
качество софта, я уверен, достаточно слабо зависит от языка, на котором этот софт сделан, если говорить о промышленных масштабах.
Упомянутый выше Б.Гейтс искренне верит, что все можно делать на Васике ;-)
Esp_ в сообщении #652563 писал(а):
этот язык устарел, инструменты и библиотеки под этот язык не поддерживают и не выпускают.
Что не выпускают достаточно спец.библиотек, не значит, что язык устарел. А значит, в частности, то что недальновидные начальники бегут за модой.
Esp_ в сообщении #652563 писал(а):
Поворотливы гибридные языки.
Как насчет ДРАКОНа (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность)? У меня был печальный опыт создания IDE на двух языках (одни модули на одном, другие на другом) - пока не уговорил перейти на один язык, постоянно буксовали. Это только в теории многоязычная разработка (и всяческая гибридизация) выглядит беспроблемно. Иногда гибридность нужна. Не спорю. Но только ИМХО в особых случаях.
Esp_ в сообщении #652563 писал(а):
Сейчас нешуточную популярность, а можно сказать и вторую жизнь получило функциональное программирование. Используя его практики, можно экономить не только в количестве кода, но и поднимать его качество, снижать риск ошибок.
Цитата:
Недостатки функционального программирования вытекают из тех же самых его особенностей. Отсутствие присваиваний и замена их на порождение новых данных приводят к необходимости постоянного выделения и автоматического освобождения памяти, поэтому в системе исполнения функциональной программы обязательным компонентом становится высокоэффективный сборщик мусора. Нестрогая модель вычислений приводит к непредсказуемому порядку вызова функций, что создает проблемы при вводе-выводе, где порядок выполнения операций важен. Кроме того, очевидно, функции ввода в своем естественном виде (например, getchar из стандартной библиотеки языка C) не являются чистыми, поскольку способны возвращать различные значения для одних и тех же аргументов, и для устранения этого требуются определенные ухищрения.

Для преодоления недостатков функциональных программ уже первые языки функционального программирования включали не только чисто функциональные средства, но и механизмы императивного программирования (присваивание, цикл, «неявный PROGN» были уже в LISPе). Использование таких средств позволяет решить некоторые практические проблемы, но означает отход от идей (и преимуществ) функционального программирования и написание императивных программ на функциональных языках. (Википедия:Функциональное программирование)
Esp_ в сообщении #652621 писал(а):
Во-вторых - на одном компиляторе далеко не уедешь. В Сишарпе у меня есть супер IDE с плагинами и свежими фрейморками. А что у меня есть в Паскале?
В Паскале есть IDE Delphi с плагинами и т.д.
Pphantom в сообщении #652631 писал(а):
Вообще говоря, мы, похоже, ушли от темы. Может быть, выделить все это в отдельное производство?
В принципе, очевидное предложение. Однако данная подтема - дает хорошую иллюстрацию для основной темы - насколько непростая ситуация сложилась в современном программинге и насколько в нем нужен творческий подход. А если говорить в общем, без конкретики, то можно договориться до того, что программинг не сложнее рядовой сантехнической работы по замене текущего бачка известного воднобачкового инструмента :D

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение01.12.2012, 22:30 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Esp_ в сообщении #652660 писал(а):
Во-первых, список багов многих закрытых продуктов открыт. Даже если он закрыт, есть поддержка, которая отвечает вполне оперативно и помогает решить проблему. Во-вторых, толку от того, что код того или иного продукта открыт в конечном счете не много. Качество open sourc'а за последние 5 лет реально не изменилось.
Я пользуюсь в основном OpenSource последние 7 лет, и за это время его качество изменилось очень сильно. А качество небольших опенсорсных проектов на мой взгляд всегда было выше качества коммерческих проектов, разрабатываемых одним человеком или небольшой командой. Понятно, что FPC и C# - это проекты сильно разных уровней.

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение01.12.2012, 23:06 


22/01/11
309
bin в сообщении #652666 писал(а):
Что не выпускают достаточно спец.библиотек, не значит, что язык устарел.


Есть куда более простой тест: посмотрите на ваших товарищей, посчитайте количество программистов Delphi сред них.


Цитата:
Недостатки функционального программирования вытекают из тех же самых его особенностей. Отсутствие присваиваний и замена их на порождение новых данных приводят к необходимости постоянного выделения и автоматического освобождения памяти, поэтому в системе исполнения функциональной программы обязательным компонентом становится высокоэффективный сборщик мусора. Нестрогая модель вычислений приводит к непредсказуемому порядку вызова функций, что создает проблемы при вводе-выводе, где порядок выполнения операций важен. Кроме того, очевидно, функции ввода в своем естественном виде (например, getchar из стандартной библиотеки языка C) не являются чистыми, поскольку способны возвращать различные значения для одних и тех же аргументов, и для устранения этого требуются определенные ухищрения.

Для преодоления недостатков функциональных программ уже первые языки функционального программирования включали не только чисто функциональные средства, но и механизмы императивного программирования (присваивание, цикл, «неявный PROGN» были уже в LISPе). Использование таких средств позволяет решить некоторые практические проблемы, но означает отход от идей (и преимуществ) функционального программирования и написание императивных программ на функциональных языках. (Википедия:Функциональное программирование)


Это прошлый век здесь описан. Ей богу! Сейчас ситуация ощутимо иная.
Во-первых, в гибридных языках такие проблемы почти что не возникают, т.к. стандартные функциональные конструкции там имеют достаточно простой вид и хорошо известно, в какой код они компилируются. В то же время, если такие конструкции не использовать - код усложняется.
Во-вторых, функциональное программирование нужно понимать и использовать его с умом. Если вы единожды поняли суть- проблемы в стиле копирования данных будут побеждены тем или иным способом.


Цитата:
В Паскале есть IDE Delphi с плагинами и т.д


Не смешите меня. Вы видели VS 2012 ? Где Delphi и где оно?

Xaositect в сообщении #652672 писал(а):
Я пользуюсь в основном OpenSource последние 7 лет, и за это время его качество изменилось очень сильно. А качество небольших опенсорсных проектов на мой взгляд всегда было выше качества коммерческих проектов, разрабатываемых одним человеком или небольшой командой. Понятно, что FPC и C# - это проекты сильно разных уровней.


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

А вот мои примеры:
- Open Office - проблемы с производительностью так и не победили до конца. И по сей день существенный заметный отклик.
- Apache - нашли много дыр, сценариев где он крашится, итд
- Texnic Center - это хрень , а не редактор.
- Eclipse - это просто феерический ужас стал. Проблемы с производительностью.
- Tortoise<X> - крашится.

Список можно продолжать.
В целом что можно сказать: в коммерческом софте как правило гораздо более удобный UI, что является качественным опережающим отличием. в Опер сорсе все еще никак не закончится период ранних двухтысячных.

 Профиль  
                  
 
 Re: Является ли программирование творчеством?
Сообщение01.12.2012, 23:22 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Esp_, примеры отличных опенсорс-продуктов: Blender, LuxRender.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 95 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group