2014 dxdy logo

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

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




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. На страницу Пред.  1, 2, 3, 4, 5  След.
 
 Re: Прогнозы развития программирования, ИИ и железа
Сообщение12.05.2018, 00:26 
Заслуженный участник


31/12/15
936
Программу надо представлять в виде геометрического объекта (вроде узла из цветных ниток) и вязать её крючком (виртуальным).

 Профиль  
                  
 
 Re: Компьютер победил Го-чемпиона
Сообщение12.05.2018, 09:10 


15/11/15
1080
Munin в сообщении #1311665 писал(а):
Программирование исчезнет совсем по другим причинам, и гораздо раньше, и уже почти исчезло.
Munin в сообщении #1311668 писал(а):
Во-первых, это офтопик. Во-вторых, в ЛС. В-третьих, ответ не слишком интересен.
Теперь уже не оффтопик. И очень интересно :) Раскроете?

 Профиль  
                  
 
 Re: Прогнозы развития программирования, ИИ и железа
Сообщение12.05.2018, 12:04 
Аватара пользователя


31/10/08
1244
Программирование не исчезнет в ближайшее время. Хотя интерес к нему угас, так как люди стали строить принтеры и прочих роботов.
Есть куча дата центров объемы их жёстких дисков растут из года в год и их нужно наполнять информацией. Иначе бизнес встанет. Идёт переход от текстовой 1D информации к фото 2D далее видео 3D и голограммы/дополненная реальность 4D.
Информацию надо не только генерировать(поставлять), но и обрабатывать изменять.
Количество процессоров на человека растёт из года в год.
Сейчас идёт развитие автономных пилотов машин. Роботы помощники. Идёт развитие распознавание видео. На самом деле сейчас идёт развитие над систем облачные технологии и инфраструктуры такой как интернет для вещей.
И всё это пронизано программированием можно сказать что оно связывает.

Я бы сказал что 2/3 от жизни ИТ уже прошло. Поэтому уже идёт жёсткая конкуренция/война между дата центрами. Снятие постулата на равноправный обмен трафика. Введение запретов на пользование дата центрами в других странах.
Так что программисты будут ещё востребованы.

Скорее всего программирование умрёт вместе с появлением ИИ. Через 25-100 лет. А ещё через 50 лет человечество уничтожит само себя доверив работу ИИ.

 Профиль  
                  
 
 Re: Компьютер победил Го-чемпиона
Сообщение12.05.2018, 16:35 
Заслуженный участник


20/08/14
11771
Россия, Москва
Munin в сообщении #1311665 писал(а):
Программирование исчезнет совсем по другим причинам, и гораздо раньше, и уже почти исчезло.
Munin в сообщении #1311668 писал(а):
Во-первых, это офтопик. Во-вторых, в ЛС. В-третьих, ответ не слишком интересен.
Я бы тоже с интересом почитал аргументацию, хотя и догадываюсь. Может всё же выложите сюда?

 Профиль  
                  
 
 Re: Прогнозы развития программирования, ИИ и железа
Сообщение12.05.2018, 17:36 
Заслуженный участник


27/04/09
28128
Я даже не очень уверен, что догадываюсь. :-) По-моему, работы для людей ещё вагон и маленькая тележка. Вот кто, например, будет разрабатывать новые языки программирования, уж точно решающие проблемы всех предыдущих? Это важная деятельность, её нельзя прерывать вот так.

(Оффтоп)

И на самом деле я тихо жду, когда же придумают систему типов to rule them all, и чтобы у неё был алгоритм вывода/проверки типов приемлемо одновременно и мощный, и, как это полагается, тотальный, и позволяющий приводить свои доказательства в случае, когда сам он оказывается недостаточным, и всякое такое, и чтобы можно было писать какие-то директивы для оптимизации представления данных / компиляции некоторых кусков, которые тоже бы проверялись на непротиворечие с базовой семантикой). Насколько знаю, чтобы всё и сразу, нигде пока нет. Часто из-за того, что слишком мощные системы типов оказываются непрактичными с текущих позиций (хочется думать, что возможность ручного управления тут может что-то исправить, но я вообще не разбираюсь пока) или что они требуют от рантайма чего-то такого, допустить куда пальцы пользователей чревато, а разбираться, как сделать разумные ограничения, видимо, не платят и времени достаточно не дают.

В общем, мне наверняка скажут, что мечтать не вредно — и на том спасибо. :mrgreen:

 Профиль  
                  
 
 Re: Прогнозы развития программирования, ИИ и железа
Сообщение12.05.2018, 18:20 
Заслуженный участник


20/08/14
11771
Россия, Москва
А они точно нужны, новые языки? Языки ведь разрабатываются в основном для удобства программирования, а с переносом последнего на комп вопрос удобства снимается и превращается в вопрос оптимальности (по разным критериям). Нет, я сам программист, и новым возможностям рад, но не уверен что это единственный (и необходимый) путь. Да та же система типов придумана для удобства программистов и автоматизации проверки их ошибок, никто (кроме меня частенько) ведь не проверяет код за компилятором ЯВУ, те ли типы переменных и методы он выдал в асм. :D
По системе типов, мне кажется сейчас там принципиальный конфликт между удобством и строгостью. И есть решения с обоих концов проблемы, и достаточно свободные системы, и очень жёсткие. Но на практике последние оказались неудобными человеку. И хотя я сам сторонних более жёстких систем, но сильно раздражает необходимость для функции из пяти строк ещё несколькими десятками (а то и сотнями) описывать типизацию и преобразования типов (ну утрирую немного).
По мере развития технологий мне кажется система типов ослабляется и сложность уходит/переносится в runtime, благо доступные скорость и память это часто позволяют. Потому если строить прогнозы, то скорее в сторону дальнейшего приближения типизации к естественной/произвольной. Типа: сформулировали задачу словесно, проверили работу сгенерённой проги, выдали ЦУ, повторили итерации до получения приемлемого результата. :D И никаких формальных систем типов данных. :mrgreen:
arseniiv, мне и понятна и даже во многом разделяю Вашу позицию из офтопика, но это взгляд со стороны программистов. А здесь речь скорее о всей индустрии разработки новых программ, где программисты уже не единственное самое важное звено.

 Профиль  
                  
 
 Re: Прогнозы развития программирования, ИИ и железа
Сообщение12.05.2018, 19:18 
Заслуженный участник


27/04/09
28128

(Dmitriy40)

Dmitriy40 в сообщении #1311905 писал(а):
А они точно нужны, новые языки?
Ну, что не вредно, то может быть и полезным. Так что пускай. Приток новых языков нужен хотя бы для того, чтобы выделенность* недостаточно в конечном счёте удобных не была чересчур долгой. Вообще, пока нет консенсуса по поводу того, содержит ли пул языков что-то близкое к идеалу (и что), или что он не будет никогда содержать ничего существенно лучшего, чем имеющееся сейчас, я бы не предлагал останавливаться.

* Сначала хотел написать «популярность», но это явно не было бы понято как надо. Имеется в виду некоторая комбинация следующих вещей. (1) Бо́льшая поддержка третьими лицами. Типа того, что JS есть в браузерах и де-факто единственная альтернатива скриптам в браузере, а PHP был(/есть?) часто единственный поддерживаемый серверный язык у хостеров, не дающих пользователю сразу виртуальный сервер, где бы он себе сам ставил что хочет. (2) Просто старый код, который проще поддерживать, плача и колясь, чем заменить этот кактус чем-то более приятным. (3) Наверняка ещё что-то забыл. • В результатах опросов и сборов статистики SE подобные языки входят в категорию «dreaded».

Dmitriy40 в сообщении #1311905 писал(а):
И хотя я сам сторонних более жёстких систем, но сильно раздражает необходимость для функции из пяти строк ещё несколькими десятками (а то и сотнями) описывать типизацию и преобразования типов (ну утрирую немного).
Кажется, весьма сильно. :-) Не могу представить частых случаев, где описание типа (если только компилятор или хороший тон его точно требуют) было бы (в токенах ли, символах) больше кода раза хотя бы в три, кроме случаев специализации какой-нибудь чересчур общей функции. Если хотите, приведите пример (наверно, в ЛС), интересно.

Dmitriy40 в сообщении #1311905 писал(а):
По мере развития технологий мне кажется система типов ослабляется и сложность уходит/переносится в runtime, благо доступные скорость и память это часто позволяют.
Ой сильно не уверен. Ни в том, что ослабляется, ни в том, что в рантайм нужно переносить проверки, которые возможны статически. Статическая проверка лучше локализует ошибки в коде, а в рантайме труднее уследить, где могла быть настоящая причина (пример: проверка определённой инициализации переменной vs. исключение, если переменной ничего к моменту использования не присвоили) (я знаю, что обычно приходится сочетать первое со вторым, потому что трудно сделать статическую проверку совсем уж умной, но лучше так — и с обязательной пометкой переменной как late, притом тогда и только тогда, когда статическая проверка не срабатывает — чем вообще никак). Или можно статически проверять дизъюнктность альтернатив в switch (это позволяет их переставлять или, например, запретить бессмысленный в таком случае блок else/default; кроме того, при расширении числа альтернатив (допустим, это тип-перечисление) свитчи сломаются во всех тех местах, где их надо после этого по логике обновить). Я практически полностью уверен, что пользу статических проверок нельзя переоценить — и как раз половина этих проверок опирается на информацию, связанную с типами.

Dmitriy40 в сообщении #1311905 писал(а):
Потому если строить прогнозы, то скорее в сторону дальнейшего приближения типизации к естественной/произвольной.
Это не обязательно несовместимо со строгостью и статичностью. :-) Кстати, контракты кода я тоже поддерживаю, просто это информация на грани типов. А когда кстати есть хороший солвер — а они развиваются сейчас весьма — вообще ой-ой…

Dmitriy40 в сообщении #1311905 писал(а):
А здесь речь скорее о всей индустрии разработки новых программ, где программисты уже не единственное самое важное звено.
А, ну если говорить об этом, так это ведь уже очень давно, и программисты не вымерли. И не должны — равновесие-то динамическое, а разделение труда тоже самое обычное человеческое, и не должен сферический программист быть лицом программы, разрабатываемой десятком и более человек. Ну, иногда люди выступают во множестве ролей несмотря на разделение непосредственно вокруг (а не потому, что команда состоит из этого единственного человека), но это тоже не новость.

 Профиль  
                  
 
 Re: Прогнозы развития программирования, ИИ и железа
Сообщение12.05.2018, 19:45 
Заслуженный участник


20/08/14
11771
Россия, Москва
arseniiv
Я наверное плохо выразился, имел в виду например возможный качественный переход при появлении достаточно хороших систем генерации кода, как сейчас происходит в сфере роботизации производства (или начинает происходить в сфере автомашин без водителя). И начинает быть заметным и в программировании например с тем же ардуино (многие практические задачи решаются малограмотными юзерами без привлечения программиста - да, криво и тупо, но ведь работает же! и пользователя устраивает!). Пока все изменения были количественные (кроме пожалуй изобретения самого понятия ЯВУ и типизации данных) и возможно до появлении ИИ они такими и будут, т.е. предыдущая история не является аргументом что так и надо и будет. И равновесие не просто подстроится под новые реалии, а будет сломлено и программисты превратятся в узкую выделенную секту (ой, не то слово, ну может касту или специализацию), как например сейчас конюхи и жакеи (а ведь недавно без них буквально никуда).
Я не говорю что это всё прям вот уже на пороге, скорее мечтаю и фантазирую.
По офтопику наверное не стоит тут развивать столь узкую полемику и отвечу в ЛС. Единственное: да, возможно я утрировал слишком сильно. :-)

 Профиль  
                  
 
 Re: Прогнозы развития программирования, ИИ и железа
Сообщение12.05.2018, 20:02 
Заслуженный участник


27/04/09
28128
Dmitriy40 в сообщении #1311916 писал(а):
Я наверное плохо выразился, имел в виду например возможный качественный переход при появлении достаточно хороших систем генерации кода, как сейчас происходит в сфере роботизации производства (или начинает происходить в сфере автомашин без водителя).
А, ну он наверняка когда-то будет. Не знаю только, в те ли сроки, которые имел в виду Munin. :roll:

Dmitriy40 в сообщении #1311916 писал(а):
И равновесие не просто подстроится под новые реалии, а будет сломлено и программисты превратятся в узкую выделенную секту (ой, не то слово, ну может касту или специализацию), как например сейчас конюхи и жакеи (а ведь недавно без них буквально никуда).
О, интересное сравнение. (Хм, кстати, а пору зарождения IT программисты тоже были выделенной сектой, кажется? Значит, совсем плохо не будет.)

Dmitriy40 в сообщении #1311916 писал(а):
По офтопику наверное не стоит тут развивать столь узкую полемику и отвечу в ЛС. Единственное: да, возможно я утрировал слишком сильно. :-)
Как хотите: можно и тему открыть, если вдруг что.

 Профиль  
                  
 
 Re: Прогнозы развития программирования, ИИ и железа
Сообщение12.05.2018, 20:36 
Заслуженный участник


20/08/14
11771
Россия, Москва
arseniiv в сообщении #1311919 писал(а):
Хм, кстати, а пору зарождения IT программисты тоже были выделенной сектой, кажется?
Да, были. Но они же были и совершенно необходимы, а выделенность базировалась на высоком уровне знаний и одновременно сильной специализации. В отличии от конюхов, тут аналогия кособока.
Ну может программисты будут сравнимы с персональными водителями сейчас: и не такая уж прям необходимость, и признак статуса, и реальная польза есть, и задачи достаточно узкие. Я хотел сравнить именно по последнему критерию, по узости решаемых задач. 99% (или чуть больше ;-) ) будет решаться не ими, но и будут задачи под них, очень специальные. По крайней мере до появления ИИ.

(Тему открыть?)

arseniiv в сообщении #1311919 писал(а):
Как хотите: можно и тему открыть, если вдруг что.
Да просто не думаю что мои личные взгляды и без внятных пруфов будут ещё кому-то интересны. Да и вообще обсуждение вопроса достаточно адекватным.

 Профиль  
                  
 
 Re: Прогнозы развития программирования, ИИ и железа
Сообщение13.05.2018, 17:27 


12/07/15
3313
г. Чехов
george66 в сообщении #1311812 писал(а):
Программу надо представлять в виде геометрического объекта (вроде узла из цветных ниток) и вязать её крючком (виртуальным).

У меня есть определëнные мысли в этом направлении, но чтобы их реализовать, надо начать программировать. :-( Хочу сделать программирование не кроссплатформенным, а кросс-индивидуальным. Имею в виду следующую аналогию: кроссплатформенность предполагает адаптацию кода к разным процессорам и ОС, кросс-индивидуальность - адаптация кода к разным людям, к разным программистам. Это я придумал название для обозначения того важного, что меня заботит.

 Профиль  
                  
 
 Re: Прогнозы развития программирования, ИИ и железа
Сообщение13.05.2018, 18:14 
Заслуженный участник


27/04/09
28128
Mihaylo в сообщении #1312152 писал(а):
кросс-индивидуальность - адаптация кода к разным людям, к разным программистам
Так тут волшебной таблетки не может существовать. Незнакомый код любому будет надо в начале разобрать и уложить о нём знания в голове. Тут форма представления мало что изменит, а вот качество документации и свойства языка в этом отношении — да.

-- Вс май 13, 2018 20:18:27 --

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

 Профиль  
                  
 
 Re: Прогнозы развития программирования, ИИ и железа
Сообщение13.05.2018, 18:27 
Заслуженный участник


20/08/14
11771
Россия, Москва
arseniiv
Боюсь подразумевались гораздо более общие вещи. Ну например: привычка передавать параметры по ссылкам или по значениям (это часто можно выбирать); использовать перегруженные функции с разным количеством аргументов vs отдельные функции; использовать аргументы по умолчанию; полагаться на неявные преобразования типов; много что ещё даже ещё более высокого уровня (не придумал примеров). Автоматическим исправлением форматирования или даже самого кода тут дело не поправишь, надо создавать нечто типа самодокументируемого кода, только на пару уровней абстракции повыше. И тут я пессимист.

-- 13.05.2018, 18:41 --

Пример из относительно сложного: как по коду понять причину использования двухсвязного списка если на мой взгляд достаточно и односвязного? Или красно-чёрного дерева если и просто бинарного на первый взгляд достаточно? Такие вещи редко пишутся в комментах и документации. А может автор просто эти структуры знал лучше и ему они привычней и у него были готовые заготовки и объективной причины и нет ...

 Профиль  
                  
 
 Re: Прогнозы развития программирования, ИИ и железа
Сообщение13.05.2018, 19:13 


12/07/15
3313
г. Чехов
arseniiv в сообщении #1312173 писал(а):
Незнакомый код любому будет надо в начале разобрать и уложить о нём знания в голове.

Немного не о том речь. Сейчас, помимо того, что нужно понять код, приходится постоянно переводить с тарабарского на нативный (родной). У программистов постоянно включен интерпретатор "язык C++ <-> язык естественный". Мне больно смотреть, когда программисты "лазиют" по собственному коду, занимаясь не собственно программированием, а интерпретацией того, что сами придумали.

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


27/04/09
28128
Mihaylo в сообщении #1312194 писал(а):
У программистов постоянно включен интерпретатор "язык C++ <-> язык естественный".
Не согласен. «Язык естественный» просто недостаточен, чтобы мыслить о достаточно сложных вещах, будь то программирование, математика или музыка. В голове вообще наверняка нет строгого разделения на обычный язык из слов и всякие конструкции, трудновыразимые парой слов и в отсутствии специфического контекста, типа ощущений звуковых интервалов или обозримых математических записей.

Mihaylo в сообщении #1312194 писал(а):
Мне больно смотреть, когда программисты "лазиют" по собственному коду, занимаясь не собственно программированием, а интерпретацией того, что сами придумали.
Наша память* ограничена, это никак не исправить сменой представления. На помощь в описанной вами ситуации опять же направлена документация (и коллеги, когда есть).

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

-- Вс май 13, 2018 22:23:56 --

Кроме того, есть такое понятие как write-only код, тут уж его писатели сами виноваты (как и те, кто забывает прокомментировать сложные места).

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

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



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

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


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

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