Найти в Дзене
Философия программирования

Философия программирования

Что такое программирование, как к нему можно относится, как научиться программировать. И что такое философия программирования.
подборка · 43 материала
2 месяца назад
512-й материал на канале о Python. У меня на канале юбилей
Да, это 512-й материал и по программисткой традиции будет считать это круглым числом. А значит на моём канале праздник. Вот этот пост вышел на канале 15 июня 2022. Ну т.е. скоро будет три года. Это правда мой второй канал по программированию, первый я забросил. Он у меня только как хаб работает. Данный канал, в отличие от предыдущего, я посвятил одному языку программирования - python. У меня на канале есть два важных ресурса и По сути они об одном и том же. Они указывают на разделы канала, точнее...
3 месяца назад
"Гляжу на будущность с боязнью" М.Ю. Лермонтов "Да, опять он, — скажете вы, — об искусственном интеллекте". Ну как вам сказать, не совсем, я о человеке. Написать это эссе побудила меня попавшаяся мне в Интернете заметка. Некий человек, видимо не бедный, пишет, что он подарил дочери мобильный телефон только на совершеннолетие. Дочь его, таким образом, получала важные навыки обходиться без внешних информационных систем. Важнейший навык, на случай: если что... В 19-м веке элита нашей страны формировалась в основном из дворянского сословия. Их готовили с детства. Хорошее домашнее воспитание, языки. Потом элитные учебные заведения. Помните Царскоселький лицей? После таких заведений дворяне шли на военную или гражданскую службу. Т.е. целенаправленно готовились люди для управления государством. В действительности в любой стране есть свои механизмы формирования элиты. В Советском Союзе также были механизмы, связанные и с образованием и с идеологией. В конечном итоге, правда, советская элита сдала страну в 1991 году, но это уже совсем другая история. Я подумал, а как готовить элиту страны в будущем? Какие параметры, какие критерии? И мне приходит в голову один критерий. Умение решать вопросы или просто выживать, без подключения к сети. Большинство людей в будущем станут частью глобальной информационной системы, искусственного интеллекта. Отключите их от сети и они просто умрут. А ведь сделать это в будущем можно будет просто "лёгким движением руки". Да, для воспитания новой элиты понадобится понимание руководства страны, понимание родителей, специальные школы и подготовленные учителя. Но это всё решаемые задачи. Главное, чтобы пришло осознание. Вы можете меня спросить: а к чему же вы призываете? Да я ни к чему не призываю, я отслеживаю тенденции. Человек становится придатком всемирной паутины и сам не понимает, что это катастрофа для его интеллекта. А если и осознаёт, то нет у него ни сил, ни возможностей, как это поправить и стать полноценным человеческим существом с самостоятельным интеллектом. Да, на данный момент это ещё не всегда заметно, но тенденция не меняется, а темпы ускоряются. Закончилось тысячелетнее эволюционное развитие умственных способностей человека. Что ждёт человека в ближайшие годы. Перечисляю: не умение писать тексты на естественном языке, не умение понимать сколь нибудь длинный текст на естественном языке, падение знаний иностранных языков, неумение решать простейшие логические и математические задачи, неумение самостоятельно спроектировать какой-либо объём предстоящих работ, неспособность самостоятельно разобраться в юридических делах, абсолютное непонимание политической ситуации и т.д. и т.п. Как такого человека обычно называли? Не скажу этого слова, но оно из области психиатрии. А нас, слава Богу, это не захватило. Есть в жизни счастье, есть. :) Мой канал Философия программирования Краткий обзор моего канала Базовый курс программирования на Python
7 месяцев назад
Сегодня, наконец, я опять пишу очередной философский опус. Назвать его программистским можно лишь с некоторой натяжкой. Это эссе всё же о естественном языке, для меня это русский язык, впитанный с молоком матери, переданный мне на генном уровне и с самых первых дней моей жизни. Но обо всём по порядку, хотя немного сумбурно. Да, существует теория формальных языков, которая охватывает и естественные языки. Но у языка много функций. Основной является коммуникативная. Собственно её и описывают с помощью формальной математической теории. В реальной письменной художественно (хотя и не обязательно художественной) речи много авторского, чего-то, что нельзя описать формально, оно связано с ощущениями того, кто пишет, с чем-то, что идёт из детства или даже из генов, с тем, что он чувствует, когда пишет, с его отношением к тому, о чём он пишет и ещё с чем-то ещё, что есть в человеке. Это выражается в самых разных элементах текста: выражениях, словах, эпитетах, порядке слов, размерах предложений, связи между ними и многом, многом другом. И вряд ли искусственный интеллект в ближайшее время сможет познать радость вот такого творчества. А я уже давно понял, вот так нельзя изучить иностранный язык, потому как родной язык вшит, вплетён в твою жизнь, начиная с самых ранних дней твоего существования. Конечно, я говорю о русском языке, родном мне. На нём можно написать всё: от художественных произведений, выражающих самые тонкие колебания души, до чётких однозначных инструкций, как если бы вы писали программу на одном из языков программирования. Да, и такая программа вполне уже может быть исполнена системой искусственного интеллекта, ну если описанные действия могут быть выполнены программно. Поэтому любой естественный язык много богаче и интересней любых языков программирования. Меня долго разрывало между языками программирования и русским языком, но потом я примирился. Русский язык для души, а программирование и для души и для дела. Но вот что я хотел бы сказать, и естественный язык и язык программирования родственники. И там и там мы пишем предложения, которые кто-то должен интерпретировать. Но как и у писателя у программиста должен быть свой почерк. Я всегда относился к программированию как к искусству. Да это ещё и мой крест. И как-то один читатель на Дзене, но в другом канале меня пристыдил: как вам не стыдно, вы должны учить молодых людей так, чтобы они могли поступить в крупные корпорации, а вы позорите себя. На что я ему ответил, что к сожалению я этим не занимаюсь. Корпоративные дела, это дела коммерческие, а я о творчестве. Творчество это удовольствие и восторг. А деньги лишь заменитель этого. Как заменитель сахара. А заменитель сахара вреден. Приведу отрывок воспоминаний об Аркадии Гайдаре, о писательской кухне. - Ну, - сказал я, - выкладывай: что тебе нужно? - А мне нужно, чтобы ты послушал, какую я чудную фразу придумал. - Какую? - Вот, слушай: "Пострадал, старик, пострадал!" - говорили пассажиры". Хорошо? - Откуда я знаю! - ответил я. - Смотря по тому, где она стоит и к чему относится. Гайдар рассвирепел. - "К чему относится", "к чему относится"! - передразнил он меня. - К тому, к чему надо, к тому и относится! Ну, черт с тобой! Сиди, выписывай свои сочинения. А я пойду запишу эту фразу. О чём этот отрывок? О том, что творчество это дело авторское, личное, индивидуальное. Мы далеко не всегда до конца понимаем авторский текст, в нём где-то глубоко сидят переживания и мучения человека, пока он трудился над текстом. С программами, конечно, проще будет. Но всё равно, сколько программистов, столько и программ. А если всех под единые требования к текстам подводить, то это уже не творчество, а производство. А мой канал о программировании, как об искусстве. Перечитал свой текст и понял, что когда писал, где-то задней мыслью держал в уме проблему искусственного интеллекта. Наверное, стоит об этом поговорить отдельно. Мой канал Философия программирования Краткий обзор моего канала Базовый курс программирования на Python
9 месяцев назад
Тот опыт, который получал я, в своё время, не получают современные программисты и все ИТ-пользователи. О чём это я? О данных. Ну как большинство современных пользователей и даже программистов работают. Покупает современный айтишник или просто обычный пользователь ноутбук и начинает на нём работать. При этом все данные нужные ему по работе и вне работы хранятся на диске компьютера. При том хранятся часто в одном экземпляре. И хоть человек и знает, что нужно копии делать, он часто вообще копий не делает или делает копии чего-то очень важного, по работе. И то часто по тому, что от него требуют это его обязанности. И так работает человек, год, два, пять лет. И всё нормально. И вдруг раз и сломался жёсткий диск. Горе, эмоции на грани. Но проходит всё и человек работает на новом диске или ноутбуке. И постепенно забывается трагедия. Эмоции уходят и опять забывается необходимость хранить копии программ и данных. Человеку свойственно основываться на собственном опыте, а опыт довольно скудный. Редкие случаи потери данных ничему не учат. Конечно, если были потеряны служебные данные и за это работника наказали, тут это уже веская причина запомнить случившееся и постараться в будущем избегать подобных инцидентов. Но в целом современный "продвинутый" человек не слишком обеспокоен сохранностью своих данных. Не так как мы в своё время. А было всё довольно необычно, для большинства тех, кто сегодня пользуется компьютером. Сетей не было, не было внешних жёстких дисков, не было компакт дисков, не было флешек. Были гибкие диски на 360кб, 720кб, 1.2мб. И вот так сидишь себе пишешь программный код часов 8 непрерывно. Заканчиваешь, записываешь свою работу на два гибких диска. На всякий случай два. И уходишь домой. Приходишь на другой день, а жёсткий диск полетел. Причины могли быть разные. Вирус, кто-то садился без тебя на компьютер и "форматнул" диск (format c:), ну или просто вылетел. Но ты спокоен. Садишься за другой компьютер. Но первая дискета не читается или записанные файлы испорчены и тоже самое со второй дискетой. И вот так было и не редко. А сколько раз пропадали данные просто от того, что давал сбой жёсткий диск, выключали свет, пользователь случайно выполнял не положенную операцию. Вот этот опыт, он нарабатывался много лет, теперь уже не возможно ни чем удалить его из моего сознания и подсознания. И я просто уже на автомате храню все нужные мне данные в нескольких экземплярах, в том числе и с помощью облачных сервисов. И вот я думаю, а какой опыт получает современный пользователь. На каких ошибках учиться он. Мой канал Философия программирования Краткий обзор моего канала Базовый курс программирования на Python
10 месяцев назад
О побочных эффектах в программировании
Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео. Сегодня в моём философском разделе поговорим о таком вопросе, как побочные эффекты в программировании. Побочные эффекты (далее ПБЭ) - интересный вопрос. Он интересен и для программирования и для обучения программированию. Во всяком случае можно встретить рассуждения, где ПБЭ привязывают к тому, с какого языка следует обучать программированию. Побочные эффекты могут вызывать ошибки при работе программы...
10 месяцев назад
Возвращаюсь к своим около-философским рассуждениям. Я, начиная с 1980-х годов, увлекаюсь программированием на ассемблере. Приходилось программировать на разных ассемблерах, в разных операционных системах. Однако чисто практически в профессии программиста я мало его использовал. Иногда добавлял ассемблерные модули для оптимизации кода. Просто увлекался, мне нравилось, что реализуя то или иное действие, я могу выписывать самые мелкие детали, такие детали, которые не возможно учитывать на языке высокого уровня. С ассемблером ты ощущаешь, что можешь всё. И здесь возникает такое противоречие. Противоречие между желанием получить результат быстрее и удовольствием от неторопливого программирования. Это как удовольствие от неторопливого чтения. Мы сейчас это удовольствие теряем, а ваш покорный слуга знает что это такое. Когда берёшь книгу и читаешь вечером буквально две-три страницы, переваривая текст, получая удовольствие от слов и составленных с помощью их предложений. Так и ассемблер. Написать несколько команд, реализуя, скажем, поиск подстроки в строке, остановиться и полюбоваться написанным кодом и вдруг обнаружить, что в коде можно сократить пару - тройку команд. К чему же мы, друзья мои, пришли? К алгоритмическим языкам, имея которые можно уже и не задумываться над такой рутиной, как поиск в строке и массиве, а имея библиотеки можно уже выполнять и более сложные действия, такие как решения дифференциальных уравнений и получение готовых диаграмм. И казалось бы всё, но нет. Подсознательное стремление человечества к тому, чтобы уменьшить нагрузку не только на мышцы, но и на свой мозг, привело нас к появлению искусственного интеллекта. И когда мне рассказывают сказки о том, что ведь надо уметь учить ИИ и что это требует высокого интеллектуального уровня, мне смешно. Ведь, во-первых, вы мчитесь семимильными шагами к ситуации, когда вместо 100 программистов нам понадобиться 5 человек, специализирующихся в области машинного обучения. А во-вторых, легко сообразить, что и эти специалисты через некоторое время будут не нужны. Искусственный интеллект научится брать нужную информацию сам. Кто ведёт человечество к такой ситуации, я не знаю. Да есть, конечно, ответ на такие вопросы: деньги и власть. Но меня не удовлетворяет этот ответ. Ведь я сам с большим удовольствием писал программы, чтобы облегчить работу людей в той или иной области, в том числе и интеллектуальную работу. Получая интеллектуальную зарядку, я изо всех сил старался лишить такой возможности других людей. Вот таким странным образом я шагнул от языка ассемблера к глубинным смыслам существования человечества. Не хочу делать уж совсем пессимистичные выводы, пусть этим занимаются футурологи. Но что-то уж очень зловещее вырисовывается на горизонте. Человечество по своей собственной воле не заметно, но поступательно лишает себя великого дара - дара интеллектуальной деятельности. Мой канал Философия программирования Краткий обзор моего канала Базовый курс программирования на Python