Програмчлалын философи нь гурван талын програмчлал юм. Аюулгүй байдлын мэдээллийн портал

Програмчлалд суралцах нь үнэ цэнэтэй юу?

"Програмчлал" гэдэг нь маш өргөн ойлголт юм. Зарим програмчлалын хэл нь бусдаас хамаагүй хялбар байдаг. Зарим хэл нь програм нь компьютертэй хэрхэн "яридаг" талаар ойлголттой байхыг шаарддаг. Код сурах хамгийн чухал хэсэг бол зөв сэтгэлгээг хадгалах явдал юм. Гол нь өөртөө "Би үүнийг хийж чадна" гэж хэлэх эсвэл шаардлагатай ном зохиол унших биш юм ...

Хамгийн гол нь энэ…

Програмчлалд суралцах уу, сурахгүй байх уу?

Энгийн HTML-ээс эхлээд нарийн төвөгтэй C++ хүртэл ямар ч компьютерийн хэлийг эзэмшсэн байх нь зөвхөн технологид төдийгүй түүний хэзээ ч дуусашгүй өөрчлөлтөд өөрийгөө зориулахыг шаарддаг. HTML5 нь тодорхой шалтгааны улмаас тоогоор төгсдөг. Хангалттай вэб хөтчүүд HTML6-г дэмждэг бол хөгжүүлэгчид дахин шинэ зүйл сурах хэрэгтэй болно.

Та яагаад оролцохыг хүсч байгаа боломжит шалтгаанууд шинэ процесссурах:

  • Өөртөө итгэх итгэлийг олж ав: Хэрэв програмчлалын хэл эзэмшсэн бол компьютер тэднийг бага айлгах болно гэж боддог хэд хэдэн үйлчлүүлэгч надад байсан.
  • Шаардлагатай: техникийн асуудал ямар ч үед үүсч болно.
  • Сэтгэл хөдөлгөм: Зарим хүмүүс шинэ ур чадвар эзэмшихийг л хүсдэг.
  • Юу боломжтойг ойлгохын тулд: хөгжүүлэгч хэлэхдээ: "Үүнийг хийх боломжгүй!" Тэр энэ үнэхээр боломжгүй гэсэн үг үү, эсвэл тэр зүгээр л энэ толгойны өвчинг авахыг хүсэхгүй байна уу?

Үргэлж сониуч бай

Хэн ч алдаа гаргахыг хүсэхгүй салхины шил. Миний хувьд бүтэлгүйтэхээс айх айдас бус, төөрчих вий гэсэн айдас л хүмүүсийг айлгадаг. Хэт их найдваргүй байдал нь өөрийгөө дорд үзэх мэдрэмжийг өдөөдөг. Зоригтой, тэвчээртэй байх нь сэтгэлийн хямралыг арилгах эм биш, харин энэ мэдрэмж таныг эзэмдэхээс өмнө цаг тухайд нь зогсоох нь хамгийн сайн эм байх болно.

Аливаа төслийн асуудлыг шийдвэрлэх гурван арга надад байна:

  • Таныг бухимдуулж буй сэдвийг олоорой

Хугацаа, төлбөр нь бүгд сайн. Гэхдээ юу ч хүрч чадахгүй загатнахаас илүү түлхэц өгөхгүй. Ирээдүйтэй ирээдүйд програмчлал нь өөрөө төгсгөл байх ёсгүй. Энэ нь таны "хагархай хаалганы тос" болж үйлчлэх ёстой.

  • Та нэмэлт хүчин чармайлтаа шагнах ёстой

Зүйр цэцэн үгийн загатнаа олж мэдсэнийхээ дараа програмчлалын чиглэлээр суралцдаг хүмүүс бас тайвшрах ёстой. Ямар ч хичээл, багаж хэрэгсэл, магтаал хэнийг ч КОД мастер болоход тус болохгүй. Зөвхөн "Би үүнийг бичсэн бөгөөд ... би юу хийснээ хараарай!" та саад бэрхшээлийг даван туулсан гэдгээ мэдрэх болно. Та өөрөө оролдох хүртэл тэнэг сонсогдох болно. Туршсан код нь танд адреналиныг хурдасгаж, компьютерийн програмчлалын мастер болсон мэт сэтгэгдэл төрүүлэх болно.

  • Таны төслийг таны тархи хоолны дуршилтай байх үед хийх ёстой.

Тархиа сурга. Цэнэглэх үед дасгалжуулагчид хүмүүсийг хязгаараасаа бага зэрэг хэтрүүлэхийг уриалдаг. Сурах нь өлсгөлөн юм. Таны тархи үргэлж шинэ мэдлэгийг хүсдэг.

Өдөр бүр дасгал хий

Програмчлалд суралцаж, түүнийг үүрд санах цорын ганц арга бол өдөр бүр дадлага хийх явдал юм. Аливаа шинэ ур чадвар эзэмшихтэй адил шинэ зорилго, зорилт бүхий тууштай ажлын хуваарь нь таны ур чадварыг аажмаар хязгаарлах болно.

Философийн луйварчин Иммануэль Кант зохион бүтээжээ агуу зүйл, ангостицизмын хувьд. "Өөртөө байгаа зүйл" гэж нэрлэгддэг зүйл. Маш сонирхолтой зүйл.
Чип нь дараах байдалтай байна: ердийн эпистемологийн үйл явцад объект-субъектийн холболт байдаг. Тэдгээр. Тухайн субьектийн мэддэг объект үргэлж байдаг.
Бидний сурч мэдсэн олон үзэл бодол (идеализм, материализм ба тэдгээрийн дараагийн урсгалууд) байдаг бөгөөд энд нэг нь Кант хүн бүрээс илүү гарсан.
Түүний ойлголтоор бол та ямар нэг зүйлийг мэдэхийг зөвшөөрсөн тохиолдолд л мэдэж болно. Жишээлбэл, хэрэв ямар нэгэн зүйл онгойлгохыг хүсэхгүй байвал түүнийг огтолж авсан ч модоор хийсэн гэдгийг хэзээ ч мэдэхгүй.
Тэдгээр. тэр объектыг субьекттэй тэнцүүлэх замаар хүсэл зоригийг өгдөг. Тиймээс, та тухайн зүйлийг мэдэж байгаа цагт тэр зүйл таныг мэдэх болно. Янз бүрийн түвшний харилцаа ижил түвшинд шилжсэн.

Энэ нь галзуу мэт санагдаж байгаа ч энэ таамаглалын баталгааг хаа сайгүй олж болно. Жишээлбэл, Малевичийн хар дөрвөлжин. Олон хүмүүс үүнийг зүгээр л хар дөрвөлжин гэж үздэг бол зарим нь гүн гүнзгий утгыг хардаг.
Талбай танд зүгээр л нээгдээгүй байж магадгүй, гэхдээ хэн нэгэн үүнийг ухаарсан байх. Мөн ийм тохиолдол олон байдаг. Эцсийн эцэст, олон хүмүүс ямар нэг зүйлийн хажуугаар өнгөрч, дараа нь нэг хүн гэнэт нээлт / шинэ бүтээл хийдэг. энгийн зүйлсБидний эргэн тойронд хэвтэж байсан, гэхдээ бид "анхаарахгүй" байсан. Тэнд, магадгүй гол нь бид тэднийг анзаараагүйд биш, харин бүх зүйл бидэнд нээгдээгүйд байгаа юм болов уу? Энэхүү маргаантай, сонирхолтой байр суурь нь маш чухал юм бодит боломжуудбодит байдал дээр оршин тогтнох.

Жишээлбэл, хэрэв орчлон ертөнц асар том программ байсан бол бүтээгч өөр өөр объектуудыг дүрслэх өөр өөр ангиудыг бий болгохыг хүсэх болов уу? Мэдээжийн хэрэг үгүй, бүх зүйл хамгийн бага энергитэй байдаг тул хүн бүр аль болох залхуу байдаг. Тиймээс хэт их төвөг учруулахгүйн тулд универсаль программист бүх объектод зөвхөн нэг анги үүсгэх болно. Мөн энэ нь зөвхөн 1 төрлийн объект хоорондын харилцан үйлчлэлийг зохицуулах шаардлагатай. Үүнээс болж тухайн объект өөрт нь өөрийгөө нээхээр шийдсэн үед л нөгөө объектыг ойлгодог байх бүрэн боломжтой юм.

Хоёр дахь сонирхолтой ажиглалт бол ертөнцийг үзэх үзэл, үнэт зүйлд оршдог.
Энэ ертөнцийн үнэт зүйлс нь бидний ертөнцийг үзэх үзлийг бүрдүүлдэг бөгөөд энэ нь эргээд бидний үнэт зүйлсийг бүрдүүлдэг.
Энэхүү харгис тойрог нь програмчлалд амархан тусгагдсан байдаг:

Функцийн зэрэгцүүлэх(утга) Утга = Утга тооцох алгоритм() Буцах утгуудын төгсгөлийн функцууд Програмын үндсэн давталт (тодорхойгүй давтана)( Утга = Алгоритм(Утга) ) Програмын төгсгөл

Философи ба программчлалын хооронд ижил төстэй олон сонирхолтой хамаарал байдаг.

Таны мэдэж байгаагаар компьютер нь үг (текст) болон объектыг (3D загвар, зураг) бичих боломжтой. AI бий болгоход саад болж буй цорын ганц цоорхой бол үзэл баримтлал юм. Тэдгээр. үг ба объектыг холбодог зүйл. Хэрэв хэн нэгэн ойлголтын системийг машинд хэрхэн оруулахыг олж чадвал хиймэл оюун ухаан бий болно.

Философи нь шинжлэх ухаан гэдгээрээ өөрийгөө гээсэн гэж хүмүүс ярих болсон. Аристотель, Демокрит, Сократ нарын цаг үе бол философийн хөгжлийн төгсгөл байсан, одоо хүмүүс нарийн шинжлэх ухаанд завгүй байгаа ч философи хийх газар байхгүй. Гэхдээ философи бол хүрээлэн буй зүйлсийг харах, энэ ертөнц дэх өөрийгөө тодорхойлох явдал юм. Учир нь техникийн дэвшилХүн эргэн тойрныхоо ертөнцийг судлах шинэ арга барил, түүнчлэн ертөнц болон өөртөө нөлөөлөх шинэ аргуудыг олж авсан. Технологи нь бүх хүн төрөлхтний хөгжилд шинэ боломжуудыг нээж өгдөг, бас асар их аюулыг нуудаг тул хүмүүс бид технологийн дэвшлийн дунд ямар байр суурь эзэлдгийг ойлгох хэрэгтэй.

Програмчлалыг ихэвчлэн урлагтай харьцуулдаг. Хөтөлбөрийн нарийн төвөгтэй байдал нэмэгдэхийн хэрээр тусгай сургалттай, хамгийн чухал нь улам бүр төвөгтэй болж буй цахим тархинд "амьсгалах" онцгой сэтгэлгээтэй хүмүүс шаардлагатай болж байгаа нь үүнийг зөвтгөдөг. "Мэдээлэл" гэсэн ойлголт тоглодог чухал үүрэгпрограмчлалын гүн гүнзгий үйл явцыг ойлгох. Мэдээлэл гэдэг нь тухайн хүний ​​тархинаас материал болон цахим орчинд шилжүүлсэн мэдлэг юм.

Компьютерийн урвуу нөлөөг тооцохгүй байх нь бас хэцүү байдаг хүний ​​сэтгэлгээ. Технологийн дэвшлийн нөлөөгөөр хүний ​​амьдрал, түүний оюун санааны үнэт зүйлс хэрхэн өөрчлөгддөг.

Сонирхолтой баримт бол хөтөлбөрүүд нь зөвхөн танд болон надад - электрон бүтээгдэхүүний хэрэглэгчид төдийгүй програмистуудад ч нөлөөлдөг. Хөтөлбөрийг бүтээгч нь ажиллаж байхдаа машины ангиллаар бодож, түүнийг хүрээлэн буй хүмүүст шилжүүлж эхэлдэг. Програмист хүн компьютерийг удаан хугацаагаар ашиглахдаа сэтгэлгээний тусгай арга барилыг хөгжүүлдэг. Эдгээр үйлдлийг гүйцэтгэхэд компьютерт нарийн заавар хэрэгтэй.

Компьютерийн сэтгэлгээ

Зураач зураг зурахдаа сүүлчийн цохилтыг хийж, улмаар зургаа дуусгах ийм мөчтэй байдаг. Програм бичихэд ч мөн адил. Мөн программист программыг "том" амьдрал руу илгээх мөчөөс эхлэн бие даан амьдарч эхэлдэг. Энд та ийм ойлголтыг авчирч болно " хиймэл оюун”, энэ нь “тархи”, мөн “сэтгэхүй” гэсэн ойлголттой холбоотой. Мэдээжийн хэрэг, хүний ​​тархи болон компьютер нь гаднах байдлаараа нийтлэг зүйлгүй боловч ижил төстэй зүйлийг олж болно. .

Үг хэлэх, хөгжим сонсох гэх мэт хүний ​​өвөрмөц чадвар, чадвар хийсвэр сэтгэлгээхарьцангуй тогтвортой байдал бүхий нейродинамик тархины бүтцийн үйл ажиллагаа юм. Бүтээлийн хоорондох ижил төстэй байдлыг та харж болно хүний ​​тархиболон компьютерийн програм хангамжийн үйл явцын үйл ажиллагаа. Компьютер нь олон сая транзистороор дамждаг цахилгаан импульс (мөн мэдрэлийн эсүүдээр дамждаг импульс) ашигладаг. Гэхдээ энэ үйл явцыг сэтгэлгээ гэж нэрлэж болох уу? Эцсийн эцэст, сэтгэх нь юм идэвхтэй үйл явцтодорхой асуудлыг шийдвэрлэхтэй холбоотой үзэл баримтлал, дүгнэлт, онол гэх мэт объектив ертөнцийн тусгал.

Байгаа сайн жишээбие даан суралцах систем гэж нэрлэгддэг. Эдгээр системүүд нь туршилт, алдаагаар дамжуулан мэдээллийг цуглуулдаг эерэг шийдвэрүүнтэй төстэй нөхцөл байдлаас зөв гарахын тулд энэхүү мэдээллээр ажиллана. Өөрийгөө сурах системүүд ертөнцийг "танидаг" гэж дүгнэж болох ч тэд дүгнэлт хийх хандлагатай байдаг уу? Мэдээж үгүй. Систем нь олж авсан туршлага дээрээ ажилладаг бөгөөд хэрэв нөхцөл байдал өмнөхөөсөө арай өөр байвал энэ нь мухардалд орох болно. Тэдэнд тодорхой нөхцөл байдлаас зайлсхийх арга байхгүй бөгөөд програмыг хичнээн сайн бичсэн байсан ч зөвхөн шийдлийг сонгодог бөгөөд хэрэв нөхцөл байдал компьютерт танил биш бол гацах болно.

Эндээс одоо компьютерийн программ ч, компьютер ч сэтгэж чадахгүй гэсэн дүгнэлт гарч байна.

Програмчлалын ёс суртахууны тал

"Компьютерийн вирус" гэсэн хэллэг бидний амьдралд баттай орж ирсэн. Компьютертэй тааралдсан хүн энэ нэр томъёог сонссон бөгөөд хэн нэгэн түүний хор хөнөөлтэй үр дагавартай шууд тулгарсан. Гэсэн хэдий ч эдгээр компьютерийн вирусууд юу вэ? Эдгээр нь бусад програмуудын алгоритмыг өөрчлөх, өгөгдлийг устгах, хэрэглэгчийг хэвийн ажиллахаас сэргийлдэг тусгайлан бичсэн програмууд юм.

Эдгээр хөтөлбөрүүдийг хүмүүс бичдэг, гэхдээ асуулт нь: энэ хүнийг юу жолооддог вэ?

Практик дээр суурилсан ихэнх вирусыг террористууд огт бүтээгээгүй, эдгээр нь бусдын хийж чадахгүй зүйлийг хийж чадна гэдгээ харуулахын тулд өөрсдийн давуу байдлаа харуулахыг хүсдэг хүмүүс юм. Эдгээр хүмүүс ажиллах чадвартай, гэхдээ ихэнхдээ тэд үүнийг сул зогсолтоос хийдэг. Эдгээр хүмүүс бол эвдэн сүйтгэх үйл ажиллагаа явуулдаг хүмүүс юм. Тэд зөрчилдөөнтэй хүсэлд хөтлөгддөг. Хэрэв энэ хүн шаардлагатай ур чадвартай бол тэр компьютерийн вирус бичиж магадгүй юм.

Хүний ёс суртахууны туршлагыг бий болгодог нийгмийн ёс зүйн хэм хэмжээ нь эвдэн сүйтгэх үйлдэл, үүний дагуу компьютерийн вирусын эсрэг сөрөг хандлагатай байдаг. Мэдээжийн хэрэг, ёс суртахууны өндөр зарчимтай хүн бол аливаа програмын кодыг бичихээсээ өмнө энэ програм нь бусад хүмүүст хэрэг болох эсэх, энэ компьютерийн програм нь хүмүүст инээмсэглэл авчрах эсэх, програмист эдгээрт хэзээ хариулах вэ гэж хэд хэдэн удаа бодох болно. гэсэн асуултад тэр ажилдаа орно. Ийм л хүмүүс л сайн зүйл бүтээх гэж байгаа мэргэжлийн программист болж өснө.

Дүгнэлт.

Энэ нийтлэлд авч үзсэн асуудлууд нь өргөн цар хүрээтэй тул тэдгээрийг нэг нийтлэлд бүрэн багтаах боломжгүй юм. Програмчлал нь хөгжиж буй, залуу шинжлэх ухааны хувьд хэрэгцээтэй байдаг философийн үзэл бодол. Энэхүү нийтлэлд дурдсан асуудлуудыг шинжлэх ухаан, технологийн дэвшилтэй холбоотой философийн асуудлын нэг хэсэг гэж үзэж болно. Эдгээр болон бусад олон философийн асуултуудбидний өмнө тавьсан шинжлэх ухаан, технологийн хувьсгал, философийн эргэцүүлэл, орчин үеийн философичдын анхаарлыг их шаарддаг хэвээр байна.


Ном зүйн жагсаалт

  1. Варфоломеева Т.Н., Овчинникова И.Г. Зааварпрограмчлал. [Текст]: судалгаа. тэтгэмж / Магнитогорск: МаГУ, 2005. УМО гэсэн гарчигтай. – 104 х.
  2. Варфоломеева Т.Н., Овчинникова И.Г., Платонова О.И. програмчлалын арга зүй. [Текст]: судалгаа. тэтгэмж / Магнитогорск: МаГУ, 2007. - 204 х.
  3. Варфоломеева, Т.Н. Объект хандалтат програмчлалын лабораторийн семинар. [Текст]: судалгаа. тэтгэмж / T.N. Варфоломеева, И.Ю. Ефимова - Москва, 2014. (2-р хэвлэл, хэвшмэл)
  4. Варфоломеева, Т.Н. PASCAL хэлний жишээн дээр бүтэцлэгдсэн програмчлалын лабораторийн семинар [Текст]: сурах бичиг. тэтгэмж / T.N. Варфоломеева, С.А. Повитухин. - Магнитогорск: МаГУ, 2013. - 123 х.
  5. Варфоломеева, Т.Н. Шалгалтанд бэлтгэх гарын авлага, Мэдээлэл зүйн төв коллеж [Текст]: сурах бичиг. тэтгэмж 2 хэсэг, Боть. 1-р хэсэг. Алгоритмчлал ба програмчлал / T.N. Варфоломеева, И.Г. Овчинников. - Магнитогорск: МаСУ, 2006. - 128 х.
  6. Варфоломеева, Т.Н. Мэдээлэл зүйн төвлөрсөн шалгалтад бэлтгэх сурах бичиг [Текст]: сурах бичиг. тэтгэмж / T.N. Варфоломеева, И.Г. Овчинникова, Н.Г. Корнещук Магнитогорск: МаСУ, 2002. - 205 х.
  7. Варфоломеева, Т.Н. Сургалтын тусламжкомпьютерийн шинжлэх ухааны элсэлтийн шалгалтанд бэлтгэх [Текст]: сурах бичиг. тэтгэмж / T.N. Варфоломеева, И.Г. Овчинникова, Е.Н. Гусева Магнитогорск: Масу, 2002. - 116 х.
  8. Ефимова, И.Ю. Компьютерийн загварчлал [Текст]: цуглуулга практик ажил 2-р хэвлэл, хэвшмэл / И.Ю. Ефимова, Т.Н. Варфоломеев. - Москва: ХХК "Флинта", 2014. - 67 х. ISBN: 978-5-9765-2039-4
  9. Ефимова, И.Ю. Компьютерийн шинжлэх ухааныг заах арга технологи боловсролын байгууллагууд Мэргэжлийн боловсрол[Текст]: боловсролын арга. тэтгэмж 2-р хэвлэл, хэвшмэл / I.Yu. Ефимова, Т.Н. Варфоломеев. - Москва: ХХК "Флинта", 2014. - 41 х. ISBN 978-5-9765-2040-0
  10. Мовчан И.Н. Их сургуульд компьютерийн шинжлэх ухааныг заах шинэлэг арга барил // Орчин үеийн Шинжлэх ухааны судалгааболон инноваци. - 2014. - No 5-2 (37). - S. 45.
  11. Мовчан И.Н. Их сургуулийн оюутнуудын мэдээллийн сургалтын зарим асуудал // Цуглуулга шинжлэх ухааны баримтуудсэлэм. - 2008. V.18. - No 1. - S. 34-36.
  12. Movchan I.N. Сурган хүмүүжүүлэх хяналт мэдээллийн үйл ажиллагаамэргэжлийн сургалтын явцад их сургуулийн оюутан: дис. ... илэн далангүй. ped. Шинжлэх ухаан / Мовчан Ирина Николаевна; Магнитогорскийн улсын их сургууль. - Магнитогорск, 2009, - 205 х.
  13. Овчинникова И.Г. Хувь хүний ​​​​боловсролын үр нөлөөний үнэлгээ [Текст] / I.G. Овчинникова, В.А. Беликов, Л.В. Курзаева // Мэргэжлийн боловсролын нийгмийн түншлэл Бүх Оросын шинжлэх ухаан, практикийн бага хурлын эмхэтгэл. FGOU SPO "Магнитогорскийн улсын мэргэжлийн багшийн коллеж", ОХУ-ын Боловсролын академийн Уралын салбарын бага, дунд мэргэжлийн боловсролын чанарын менежментийн асуудлыг судлах лаборатори: Sat. шинжлэх ухааны Урлаг. Магнитогорск, 2010. - S. 178-187.
  14. Овчинникова, И.Г. Даалгавар ном-програмчлалын семинар [Текст]: сурах бичиг.-арга. тэтгэмж. / I.G. Овчинникова, Т.Н. Варфоломеев. - Магнитогорск: МаСУ, 2009. - 77 х.
  15. Сахнова Т.Н., Овчинникова И.Г. Компьютерийн шинжлэх ухааны хичээл дэх хайлтын алгоритмууд ахлах сургууль[Текст] // Мэдээлэл зүй ба боловсрол. - 2010 - No 11 - S. 79-83.
  16. Сахнова Т.Н., Овчинникова И.Г. Програмчлалын асуудлыг шийдвэрлэх алгоритмуудыг эрэмбэлэх [Текст] // Мэдээлэл зүй ба боловсрол. - 2011. - No 2 - P. 53-57
  17. Сахнова, Т.Н. Алгоритмчлалын үндэс [Текст]: сурах бичиг. тэтгэмж, 2-р хэвлэл, шинэчилсэн. болон нэмэлт / Т.Н. Сахнова, И.Г. Овчинников. - Магнитогорск: МаГУ, 2002. УМО гарчигтай. – 131 х.
  18. Сахнова, Т.Н. Их сургуулийн оюутнуудын мэргэжлийн мэдээллийн сэтгэлгээг төлөвшүүлэх сурган хүмүүжүүлэх нөхцөл [Текст]: дис. …лаа. ped. Шинжлэх ухаан: 13.00.08 / Т.Н. Сахнов. - Магнитогорск, 2003 он.
  19. Сахнова, Т.Н. Шалгалтанд бэлтгэх гарын авлага, Мэдээлэл зүйн төв коллеж [Текст]: сурах бичиг. тэтгэмж 2 хэсэг, Боть. 2-р хэсэг. Үндсэн курс/ Т.Н. Сахнова, И.Г. Овчинников. - Магнитогорск: МаСУ, 2006. - 128 х.
  20. Чусавитина, Г.Н. Алсын зайнаас үүсэх эрсдлийг удирдах загвар боловсруулах боловсролын технологиих сургуульд [Текст] / G.N. Чусавитина, М.О. Чусавитин, Т.Н. Варфоломеева // Мэдээллийн технологийн мэргэжилтнүүдийн сургалтыг сайжруулах чиглэлээр " Хэрэглээний мэдээлэл зүй» шинэлэг эдийн засгийн хувьд: Бямба. шинжлэх ухааны tr. Москва, 2008. - S. 216-218.
Нийтлэлийн үзэлт: Хүлээгээрэй

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

Ер нь кодчилол, алгоритм үүсгэх нь аль хэдийн тодорхой болсон, амьдрал хамгийн түрүүнд ирдэг, өөрөөр хэлбэл хүн "Би ийм ийм шинж чанартай хүрээ бичнэ" гэх мэт тодорхой бодолд тулгуурладаг. Мөн энэ анхны чиглэл нь философийн асуудал юм. Асуудал нь ихэвчлэн програмист хүний ​​эхнэр юу хийж, яагаад гэдгийг философийн түвшинд түүнээс илүү сайн мэддэгт байдаг. Анхан шатны философийн категориуд: сэтгэлгээ, ухамсар, нөхцөл байдал нь програмистад үл мэдэгдэх зүйл юм. Хачирхалтай нь, хэрэв бид програмист хүний ​​сэтгэн бодох чадварыг харьцуулж үзвэл, жишээлбэл, функциональ програмчлал эсвэл хайлтын алгоритмын талаархи нийтлэлүүдийг Орос эсвэл Европын нэрт философичдын нийтлэлүүдтэй хольж уншвал програмистуудын бодит сэтгэн бодох чадварыг хөгжүүлдэг болох нь харагдаж байна. илүү биш юмаа гэхэд багагүй. Гэхдээ програмистын хэл нь загвар зохицох тухай ярихдаа маш баян бөгөөд хамгаалагдсан хязгаарлагдмал орчинд гарч, IDE болон файлын менежерээс салах шаардлагатай үед өрөвдмөөр, органик байдаг.

Прагматизм бол философийн оргилуудын нэг юм. Марксизм нэгэнтээ ухамсрын асуудал дахь төөрөгдөл нь дийлдэшгүй гэж хэлж, эдийн засгийн үндэслэлээр тайлбарлахыг уриалж байсан шиг. натурал тоонууд- прагматизм талбарыг улам нарийсгаж, илэрхий асуудлыг хамгийн үр дүнтэй шийдвэрлэхийг уриалж байна. Энэ утгаараа программист философич хүний ​​хувьд прагматизмд ойр байдаг.

Математикийн түүх гэж нэг юм бий, жишээ нь математикчдын нэрс бол математикийн үндсэн нэр томьёоны нэр. Орос улсад математикийг ихэвчлэн нээлтийнхээ түүхээс тусад нь заадаг бөгөөд Европын сургууль нь шинжлэх ухааны сэтгэлгээний энэ эсвэл бусад томъёог хэрхэн нээсэн үйл явцын тухай ярих соёлыг агуулдаг.

Жишээлбэл, энэ түүх:

Английн дүүргүүдийн газрын зургийг будахыг оролдохдоо Фрэнсис Гутри дөрвөн өнгөний асуудлыг томьёолж, газрын зургийг будахад дөрвөн өнгө хангалттай байдаг тул зэргэлдээх хоёр бүс нутгийг будахад хангалттай гэж тэмдэглэжээ. өөр өөр өнгө. Ах нь энэ асуултыг математикийн багш Август де Морганд өгсөн бөгөөд тэрээр 1852 онд Уильям Хамилтонд бичсэн захидалдаа энэ тухай дурджээ. Артур Кэйли 1878 онд Лондонгийн математикийн нийгэмлэгийн хурал дээр энэ асуудлыг тавьжээ. Мөн онд Тэйт энэ асуудлыг шийдэх анхны шийдлийг санал болгов.

Чи ойлгож байна уу? нийгмийн хэмжигдэхүүн. Өөрөөр хэлбэл, та зөвхөн кодыг сурахаас гадна энэ кодыг гаргаж ирсэн хүмүүсийн нэрийг мэддэг, зөвхөн Си хэлийг судлахаас гадна түүний үүссэн түүхийг бас мэддэг. Энэ нь танд түүхэн өнцгөөс урагшлах боломжийг олгож, нийгмийн бүтцэд өөрийн байр сууриа таньж, бүх хүн төрөлхтний шинэ чиглэлд хүчээ хаана ашиглахаа олох боломжийг танд олгоно. Оросууд програмчлалын шинэ хэл, алгоритмуудыг байнга зохион бүтээж байдаг бөгөөд үүнд ямар ч асуудал гардаггүй, зөвхөн програмчлалын түүх, гүн ухааныг мэдэхгүйгээс болж та аль хэдийн зохион бүтээсэн зүйлийг зохион бүтээдэг. Бүр дордуулах нь, та ямар нэгэн шинэ зүйл зохион бүтээдэг ч хаана тавих, ямар "Лорд Хэмилтон" таны ажлын талаар бичих, аль "Лондон клубын уулзалт" дээр тайлан уншихаа мэдэхгүй байна. Та тайлан бичих бөгөөд энэ нь техникийн үүднээс төгс байх болно.

Системийн инженерчлэл нь бодит дизайн, алгоритмчлал, өгөгдлийн бүтцийг хөгжүүлэх, кодлох, дибаг хийхээс өмнө дүн шинжилгээ хийх, даалгаврыг тогтоохыг хамардаг ч үйлчлүүлэгч өөрөө даалгавраа тавьдаг. Үйлчлүүлэгч нь програмчлалын гүн ухаанд "Эзэн Бурхан" бөгөөд түүнийг ойлгодоггүй, учир нь түүнийг ойлгох боломжгүй, тэр бол үнэмлэхүй, дээд хүч юм. Хүн зөвхөн түүний бие даасан зааврыг ойлгож, "Бурханы бүтээл" -ийн төгс бус байдлын талаар гомдоллож болно. Программист ба үйлчлүүлэгчийн хоорондын харилцааг Java сурах бичигт дурдаагүй бөгөөд энэ нь Марксизм эсвэл Протестант ёс зүй: материаллаг үнэт зүйлсээр захирагдах ба нөхцөлт байдлын метафизик юм. Америкт "супер программистууд", "старт-аперууд" гэсэн анги байдаг, хүмүүс үйлчлүүлэгчгүй, амьдралыг маш сайн мэддэг тул өөрсдөө хэрэгцээгээ харж чаддаг. Өөрөөр хэлбэл, амьдралаа өөрөөс нь илүү ойлгодог хүн ирээд юу хийхээ хэлтэл хүлээгээд суудаггүй, өөрөө амьдралыг ухаарч, мөнгө олохын тулд хаашаа нүүхээ олж, өөрийгөө идэвхтэн гэдгээ ухамсарладаг. Хүмүүсийн хүсэлтээр нэвтрүүлэг бичдэггүй, өөрөө хүсэлт гаргаж, өөрөө хангадаг. Жобсыг iphone гар утсаа авах хүсэлт гарч байсан уу? Эсвэл Жобс өөрөө хүсэлт гаргасан уу?

Филологич, философичид, өөрөөр хэлбэл програмистуудтай адилхан залуус, зөвхөн өөр факультетийн хүмүүс бүх инженерүүдийг хүн чанаргүй гэж үздэг. Тэдний хувьд программист бол яг л бяцхан амьтан шиг, технологиор гайхалтай мэх хийж чаддаг ч хүн биш. Өөрөөр хэлбэл, та компьютертэй өрөөнд сууж байгаа боловч яагаад тэнд сууж байгаагаа ойлгохгүй байна. Өөрөөр хэлбэл, та ойлгож байна гэж бодож байна, гэхдээ филологич чамаас "яагаад, яагаад" гэж асуувал та бичиж буй хөтөлбөрөө тайлбарлаж эхэлнэ. Философичийн анхан шатны ур чадвар: нийгмийн харилцаа холбоо, нөхцөл байдлаа жагсааж, түүхээ ухаарч, энэ нь таныг энд, одоо энэ сандал дээр хэрхэн хүргэсэн болохыг ойлгох нь өөрийгөө ухамсарлахуйн ABC юм.

Хүнийг сэтгэдэг амьтан гэж үздэг бөгөөд програмист хүн сэтгэхүйтэй харьцуулж үзвэл үүнийг ойлгоход маш хялбар байх болно компьютерийн программ. Хөтөлбөр шиг хүн вакуум орчинд ажиллаж чадахгүй, энгийнээр хэлбэл хүн харсан зүйлээ боддог. Та кодыг хараад, үүнийг хэрхэн сайжруулах талаар бодож, алдааны мессежийг хардаг - та үүнийг хэрхэн засах талаар боддог. Дэлгэцээс холдож, ижил асуудлыг шийдэхийг хичээгээрэй, та үүнийг харах болно - энэ нь жигд боловч таны толгойноос хурдан алга болно. Үүнийг харж байгаа зүйлээ бодох, оролтын дохионд найдах, ухамсрын нөхцөл болгох гэж нэрлэдэг. Тиймээс хоёр дахь програмчлалын вектор гарч ирнэ. Би програм бичдэг, энэ нь компьютер, чип дэх процессуудыг хянадаг, гэхдээ би өөрөө бичсэн эх кодыг хардаг бөгөөд миний харж байгаа зүйл бол миний хувийн оруулсан зүйл бөгөөд цаашдын сэтгэх боломжийг олгодог. Тиймээс шинэ програмчлалын хэлний чиглэлээр байнга судалгаа хийдэг. Тиймээс дахиад нэг програмчлалын хэл (PL) сурах хүсэл төрж байна. Хүн өөрийгөө програмчилж, чадвараа өргөжүүлэхийг хүсдэг.

Давталт нь хүний ​​шинж, рекурс нь бурхны шинж гэж үг байдаг. Үнэнийг хайхад удаан хугацааны туршид зөв чиглэл байхгүй, хүмүүс тарсан, харьцангуй үзэл, олон ургальч үзэл. Бид ямар нэгэн объектыг дурдахад бидний мэдэгдэл шууд объект болж хувирдаг бөгөөд үүнийг дурдаж болно, эсвэл та ерөнхийдөө хүн рүү шилжиж болно, тиймээс бид аливаа хэлэлцүүлэг, тайлбар, постмодернизмын илрэлийг шууд олж авах болно (объектыг солих). лавлагаа) ба феноменализм - утгын баганад живэхээс зайлсхийхийн тулд хувийн шинж чанарт шилжих.

Үүний дагуу PL, хөгжлийн орчин, хүрээг сонгох олон ургальч үзэл нь нэг туйл руу татагдах явдал юм. Бусад олон хүмүүсийн хийдэг ижил төстэй PL-ийг ашиглах хүсэл бол хамтын үзэл, атомчлах, харийнлах явдал юм. Програмист хүн маш их ганцаарддаг бөгөөд нэгэн зэрэг харилцаанд хэт ачаалалтай байдаг. Энэ бол судалгаа хийхэд хагалгаагүй талбай юм. Дээд мэдрэлийн үйл ажиллагаа, бүтэц, тексттэй ажиллах, хэл сурах - энэ нь өдөр тутмын ердийн үйл ажиллагаатай адил юм. Програмист хүн өөрийн сэтгэхүйн чадвар, хүчээр XIX зууны хүмүүсийг гайхшруулна. Тэр хорин нэгдүгээр үеийнхэнтэй өдөр бүр ажилладаг түвшиндээ харилцаж чадвал тэднийг гайхшруулна. Хамгийн гайхмаар зүйл бол програмистын харалган байдал юм. Программист нь ихэвчлэн онцлог шинж чанартай байдаг Гадаад төрх. Мөн энэ бол хувцаслалтын код биш, хүн зүгээр л хэрхэн харагдах, юу өмсөж байгаагаа анхаарч үздэггүй. Өөрөөр хэлбэл, тэр юу өмсөж байгаагаа мэддэг, гэхдээ яагаад үүнийг яг таг, тэр ч байтугай хэрхэн зөв нэрлэсэн нь түүний хувьд хол зай юм. Ноосон цамц, пуловер хоёрын ялгааг та мэдэх үү? Ноосон цамцнаас үсрэх үү? Би яагаад тэгэх ёстой гэж?

Программист бол дэнлүүний боол шиг, матрицын батерей шиг - хэрэв тэр гэнэт тархиа ашиглаж эхэлбэл түүний урьд өмнө байгаагүй чадвар, хэл, логик, олон тооны өгөгдөлтэй ажиллах чадвар. энгийн амьдрал- Тэр хараагүйчүүдийн улсын хаан болох ганц нүдтэй хүн болж чадна. Ноосон цамц нь хүзүү болон биед тохирсон, пуловер нь татахад хялбар болгох өргөн нүхтэй (татах), хүрэм нь товчтой. Холбогч нь өргөн нээлхийн оронд тэврэлттэй байдаг. Энэ бол энгийн зүйл, та үүнийг кодын нэг мөрөнд бичиж болно. Гэвч энэ мэдээлэл нь хувцасны тухай биш, амьдралын дүрслэлийн нэг хэсэг гэдгийг програмист хүн ойлгохгүй байна. Үнэн, Европчууд зарим талаараа ялгаатай, амьдралын програмчлалын соёл, ялангуяа Британичуудын дунд байдаг. "Би чамд гурван уут даавуу илгээж байна, надад зургаан алт илгээнэ үү" гэх мэт захидал бичиж болно гэдгийг тэд эртнээс олж мэдсэн бөгөөд гэнэт энэ нь дахин дахин давтагдаж, удирдах боломжтой болдог. зүгээр л ширээн дээрээ суугаад захидал бичих амьдрал. Венеци, Ханса, Кембриа. Энэ чанар нь америкчуудад өвлөгдөж, тэд ч бас компьютер, программчлалд дурласан тул хүрч болшгүй түвшинд хүрсэн. Тэд програмчлалын гурав дахь векторыг хардаг: ямар ч код, ямар ч програмын програм нь зөвхөн компьютер төдийгүй зөвхөн процессор төдийгүй хэрэглэгчид.

Хэрэглэгчид бол зүгээр л ямар нэг зүйлийг хүсч байгаа хүмүүс биш бөгөөд та тэдэнд мөнгө өгч болно. Хэрэглэгчид нь адилхан сэтгэдэг амьтад бөгөөд тэдний сэтгэлгээ нь таных шиг гаднаас ирсэн дохиогоор нөхцөл болдог. Тэд харсан зүйлээ боддог. Тэд програмын интерфейсийг харж, түүний дагуу бодож, ажиллах болно. Програмистын кодыг хараад хэдэн минутын дотор гаргасан шийдвэр бүр нь хэрэглэгчийн үйл ажиллагаанд өөрчлөлт оруулдаг. Та үүнийг програмчлаарай. Энэ нь боломж, хариуцлага, үр дүнг эрэлхийлэх гэсэн үг юм. Эдгээр философийн анхан шатны ангилалууд. Хэдийгээр сүүлийнх нь програмисттай ойрхон боловч энэ нь зөвхөн хөгжүүлэлтийн давталт, энэ нь дибаг хийх, хувилбар гаргах явдал юм. Бичиж, хэрэглэгчийн юу хэлэхийг сонсож, кодонд дахин өөрчлөлт оруулав. Гэхдээ үгүй ​​ээ, тэр сонссонгүй, сонсоод зогсохгүй, түүний зан авирыг яг л нэвтрүүлгийн зан байдал юм шиг харж, шинжилж, бодож үзсэн.

Гурван чиглэлтэй програмчлал. Компьютер, программист, хэрэглэгч. Хэрэглэгч болон программист ирээдүйд өөрчлөлт оруулахгүйгээр кодын өөрчлөлтийг хийх боломжгүй юм. Гэхдээ та энэ талаар бодож чадахгүй. Энэ нь илүү хялбар. Бодохгүй байх нь үргэлж хялбар байдаг. Бүх оролтын дохионуудаас хүн тусгал шаарддаггүй, харин зөвхөн мэдрэмжийг хүлээн авахыг илүүд үздэг. Шар айрагны амт, цэвэрхэн цамц, магтаал, эсвэл бүр дарга нарын доромжлол, дайралт. Эдгээр сэтгэл хөдлөлөөс сэтгэл хөдлөлийн шийдвэр гаргана. Сайхан хүрээ. Тэнэг програмчлалын хэл. Тэнэг сэтгэгдэл. Сайхан нийтлэл. Би өөрийн б-модны хэрэгжилтийг бичих санаа төрсөн. Яагаад? За энэ санаа надад таалагдсан. Логикийн хувьд хамгийн завгүй оюун ухаан болох программистуудын харилцаа нь сэтгэл хөдлөлийн солилцоонд ордог. Эдгээр нь мөргөлдөж, түлхэж, хуй салхи үүсгэдэг хоёр урсгал юм - тэд яаж программчлах вэ? Маш энгийнээр хэлэхэд тэд нэг цагийн сэтгэл хөдлөлийн дараа ном уншихаар тардаг. Эндээс л бодол орж ирдэг. Холбоос оруулаад би уншина. Надад таалагдсан, энэ сэдвээр унших зүйл байна уу? Хоёр амьдрал. Програмист хүн ялангуяа сонирхолтой байдаг, учир нь түүний хувьд код бичих нь хүртэл сэтгэл хөдлөлийн үйл ажиллагаа бөгөөд тэрээр өөрийн мэдрэмжээ хүйтэн дэлгэц рүү шидэж, логикийг үнэрлэж, улмаар өөрийгөө оюун ухаан болгон төлөвшүүлэхийг хичээдэг. Энэ нь ялангуяа Оросын програмистуудын онцлог шинж чанар бөгөөд тэдний онцлог шинж чанар биш - ялангуяа чанга дуугаар, ялангуяа бичгээр тайлбарлах. Түүгээр ч барахгүй төслийнхөө талаар ярьж чаддаг хүн үл итгэх байдлыг бий болгодог - тэр кодыг харахын оронд алгоритмын бүтцийг ойлгохын оронд ямар нэгэн шалтгаанаар нийгмийн илрэлүүд, PR - Эльбрусын тухай үлгэрийн талаар боддог худалч мэт санагддаг. болон Phantom.

Тиймээс Орос улсад нээлттэй эх сурвалж байдаггүй. Учир нь нээлттэй эх нь програмчлах чадвар биш, харин харилцах чадвар юм. Энэ бол программууд болон программистуудын түүхийн талаарх мэдлэг юм. Та бүтээлээ github дээр байрлуулж, нийтлэл, зааварчилгаа хүртэл бичиж болно, гэхдээ үүнийг унших хүн байхгүй болно. Эсвэл тэд "Би төсөлд нэгдэхийг хүсч байна, гэхдээ би юу хийхээ мэдэхгүй байна" гэж уншиж, бичих болно. “Оюутан, би Java-г бага зэрэг мэднэ сонирхолтой төсөлюу хийхийг надад хэлээч." Яагаад Америк оюутан"Java-г мэдэх" тэр даруй юу хийхээ мэддэг үү? Тэр яагаад нэг нээлттэй эхийн төсөл зохиож, өөр нэг төсөлд нэгдэж чаддаг юм бэ? Асуулт нь философи гэхээсээ илүү нийгмийн шинжтэй, манай нийгэм өөр байдалд байна. Гэвч хүн өөрийгөө мэддэггүй нь философичдод ойлгомжтой. Гузеевагийн хэлснээр "Гэрлэцгээе" - "тэр өөрийнхөө тухай юу ч ойлгохгүй байна." Тэр өрөөндөө компьютерийн ард сууж байхад ээж нь "Чи яагаад амьдралд дасаагүй юм бэ" гэж хэлдэг. "Өө, чи өөрөө ухаантай бол ард нь байх ёстой." Гэхдээ ээж ухаантай, чи тэнэг юм. Илүү нарийвчлалтай хэлэхэд тэр өөр оролтын дохиотой, та мониторыг хараарай, тэр эргэн тойрноо хардаг. Оюуны хувьд, логик, мэдээлэлтэй ажиллах ур чадварын хувьд хоцрогдсон ч гэсэн амьдрал, хүмүүсийн тухай, харилцааны талаархи өргөн хүрээний оролтын дохио байгаа нь хүнийг програмистаас илүү сайн ойлгоход хүргэдэг.

Ээж бол тэнэг хүн биш, тэр ч байтугай асинхрон өгөгдөл боловсруулалтыг мэдэхгүй ч таны ирээдүйг урьдчилан таамаглаж чадна. Энэ нь тийм ч хэцүү биш, нийгмийг харж, дүрслэх, програмчлалын хэлийг мэддэг байсан бол чадна. Эрх баригчдад ханд. Үнэ цэнэтэй хүрээ өсч байна. Ухаалаг залуу гарч ирэв. Зөв бичиг баримт. Удирдлага анхааралдаа авлаа. Энэ бол API юм. Ямар ч төвөгтэй зүйл байхгүй. Программистууд дэлхийг захирч чадна, удирдах ёстой. Гэхдээ одоог хүртэл Америкийн програмистуудын цөөн хэсэг л үүнийг ойлгосон байна. Програм нь компьютер дээр зааварчилгааг нь гүйцэтгэх үед бүтэлгүйтэж болох ч хэрэглэгч өөрийн зааврыг гүйцэтгэх үед бүтэлгүйтэх ёсгүй гэдгийг Гейтс ойлгосон. Энэ бол зөвхөн эелдэг үзэл биш, энэ бол өөрийн үүрэг, зан үйлийн судалгаа, хэрэглэгчийн API болон бүх нийгмийг судлах явдал юм. Энд дарна уу, хэрэв хэрэглэгч энэ товчийг дарвал юу болох вэ? Хэрэв энд текст оруулсан бол би яаж түүнийг энд бас текст оруулах вэ? Файл сонгох цонх нээгдсэн бөгөөд үүнийг аль анхдагч фолдерт нээх вэ? Та код дибаг хийхэд хэдэн цаг зарцуулсан бэ, яагаад хэрэглэгчийн зан төлөвийг судлахад арав дахин их цаг зарцуулаагүй юм бэ? Гейтс зарцуулсан.

Хүмүүс уг программын ард байгаа хэрэглэгчийн зан төлөвийг, өрөөнд орж ирсэн цагаас нь эхлэн бичлэгт бичдэг. Хамгийн инээдтэй нь эдгээр хүмүүс програмист биш, уригдсан хүмүүс - социологич, тэр байтугай сургагч багш нар юм. Тэд сууж, онолын хувьд програмист илүү үр дүнтэй хийх ёстой ажлыг хийдэг, учир нь энэ нь кодыг дибаг хийх явдал юм. Өөрчлөлтүүд хийгдэж байна. Гэхдээ эдгээр өөрчлөлтүүдийн дараа програм илүү хурдан ажиллахгүй, процессор, компьютер дээр алдаатай, удаан, ихэвчлэн алдаатай байдаг, гэхдээ хэрэглэгчийн зан төлөвт илүү сайн ажилладаг, үйлдлүүдийг илүү хурдан гүйцэтгэдэг (гүйцэтгэл), зорилгодоо хүрдэг. илүү олон удаа (дибаг), тэр сэтгэл хангалуун байдаг (эрчим хүч хэмнэх). Тэр эцэст нь төлдөг. Жобсын хийсэн бүх зүйл бол хэрэглэгчийн програмчлал юм. Тэр яаж ийм байдалд хүрсэн бэ? байгаль орчны соёл? хар тамхи? хувийн авьяас? Философи. Кант-Гегельс, Хуссерлис-Расселлс, Витгенштейн-Сартрас, тэдний мянга мянган. Тэд бодит байдлыг тайлбарлах олон хэл, түүнийг ойлгох API-г бий болгосон. Олонхи ухаалаг үгсБидний зөн совингоор ашигладаг эдгээрийг нэг удаа танилцуулж, томъёолсон. "Соёл" гэдэг үгийг ашиглаад консерватори гэж бодоод, "консерватори" гэж хэлээд, энэ бол юуны түрүүнд багшлах, сонгон шалгаруулах тогтолцоо гэдгийг мэдэхгүй байж болохгүй. Консерватив ба консерватив туршлага. Програмист хүний ​​хувьд түүний ашигладаг бүх зүйл гэнэт гарч ирдэг. Ухаалаг хүмүүсҮүнийг ойлгох болно, үүнд их сургуульд багш нар байдаг.

Дашрамд хэлэхэд, програмчлалын багш ихэвчлэн хэрхэн програмчлах, заахаа мэддэггүй. Тусдаа дуу болсон, Сталин олон сая нягт тариачдыг инженерийн чиглэлээр суралцахаар илгээсэн бол одоо Энэтхэгт үүнтэй төстэй зүйл болж байна. Жилд гурван сая хүн төгсдөг. Хүмүүс илүү их зүйлийг хаяж, заах ажлыг оновчтой болгох хандлагатай байдаг нь тодорхой байна. Та яагаад үүнийг мэдэх хэрэгтэй байна вэ, та үүнийг сурах хэрэгтэй - энэ нь хэрэг болно. Максвеллийн туршилтуудын түүх маш сонирхолтой боловч танд үүнийг сурах цаг байхгүй тул та Максвеллийн тэгшитгэлийг шууд сурах болно. Та ядаж оюутнуудад Максвеллээс өмнө юу ч байгаагүй, түүний дараа цахилгааны шинжлэх ухаан аль хэдийн хөгжсөн гэж хэлээрэй. Программистуудын хувьд ямар үлгэр жишээ вэ! Юу ч байхгүй - ямар нэг зүйл байна. Ядаж Строуструп, Торвалдс нар хэрхэн ажиллаж байсныг бидэнд хэлээч. Юунаас ч юм гарч ирдэг юм шиг. Өөрөөр хэлбэл, багш нь оюутан шиг гүн ухааны хувьд нягт байдаг.

Америкчууд Иракийг дэлхийн бөмбөрцөг дээрээс олж чадахгүй байна гэж чи инээдэг. Та өөрийгөө шоолон инээж байна, логикийн түүхийн бөмбөрцөг дээрээс та Гегелийг олж чадах уу? Та BASH-г ашигладаг уу, үүнийг хэн, хэзээ бүтээсэн, хэдэн арван жилийн дараа бүтээлээ хэрхэн тайлбарлаж байгааг мэдэх үү? Терминал яагаад терминал гэж нэрлэгддэгийг та мэдэх үү? Энэ нь телетайптай ямар холбоотой вэ? IBM зуу гаруй жилийн өмнө АНУ-ын хүн амын тооллогыг төв банкны мөнгөөр ​​хийж, улмаар эдгээр механик компьютеруудыг Гитлерт хүргэж байсныг та мэдэх үү? Өгөгдлийн сангийн бүтэц, нэр томьёо нь XIX зууны эхээр Англиас авчирсан каталогичдын хийсэн тэдгээр цоолтуурын картуудаас үүдэлтэй гэж та төсөөлж байна уу? Atari-г бүтээгч Бушнелл өөрийн ажилтны Жобсын санааг хэрхэн олж аваагүйг та мэдэх үү? Та ядаж түүхэн дэх Атаригийн үүргийг төсөөлж байна уу компьютерийн шинжлэх ухаан? Atari эсвэл Sinclair хэнийг хуулбарласан бэ? Төхөөрөмж, тэдгээрийн түүхийг мэдэх нь хангалтгүй бөгөөд та юуны түрүүнд хүмүүс, бодол санаа, тэдний түүхийг мэдэх ёстой. Годелийн аав нь санваартан, Гэгээн Францисын аав нь банкир, худалдаачин байжээ. Львов-Варшавын логикийн сургууль гэж юу вэ?

За энэ бол таны гурван талт програмчлал, мэдээжийн хэрэг та зөвхөн код, програмчлалын хэл биш, мөн тухайн хэлний түүхийг мэддэг, өөрийгөө болон хэрэглэгч, түүх, хэлийг мэддэг байх хэрэгтэй, харин дибаг хийх талаар юу? Дибаг хийх талаар? Та яагаад дибаглагч хэрэгтэй байна вэ? Зүгээр л та яаж бодохоо мэдэхгүй байгаа тул та хариу үйлдэл үзүүлж, сануулгыг хүлээсээр, програмаа ойлгоогүй, та үүнийг зогсоож, дибаглагч танд ямар нэг зүйл харуулахыг хүлээж байна. Дараа нь таны толгойд санаа гарч ирнэ гэж найдаж байна. "Таны дибаглагч таслах цэгийг тогтооход эвгүй байна." Метапрограмчлал гэдэг нь тухайн программыг программ, мөн нэг төрлийн рекурс үүсгэхийг хэлнэ. Үүний нэгэн адил, програм нь програмыг дибаг хийх, мета дибаг хийх боломжтой боловч үүний тулд програмист хоёр дахин ухаалаг байх ёстой, тэр хоёр програмыг нэг дор толгойдоо байлгах ёстой. printf() ашигладаг, дибаг хийгчдийг шоолон инээдэг хүмүүс юу хийж байгаагаа илүү сайн ойлгодог.

Дашрамд хэлэхэд, холбогч нь бас шаардлагагүй, анхны орчуулагчдын ул мөр юм. Зуун програмистаас зөвхөн нэг нь програмчлахыг мэддэг, үлдсэнийг нь гараар хөтлөх шаардлагатай байдаг тул бичсэн хэлүүд хэрэгтэй. Зөвхөн шаардлагатай түлхүүрүүдийг онгойлгож оруулбал нэг сармагчин ч гэсэн "Дайн ба энх" гэж бичнэ зөв дараалал. Тийм ч учраас бид синтакс онцлох, загвар зохион бүтээх дуртай байдаг - энэ нь өөртөө болон оюун ухаандаа нөлөөлж, анхаарлаа төвлөрүүлж, илүү ихийг харахад туслах арга юм. Одоо хил хязгаар нь бүдгэрч, суурилагдсан бичиг баримт хаана байна, интернет хаана байна, хөрвүүлэгч хаана байна, орчуулагч хаана байна, хаана ажиллах вэ, хувиараа хөдөлмөр эрхлэлт хаана байна. Ийм нөхцөлд насанд хүрсэн хүний ​​ханцуйнаас атгах хүүхдийн хүсэл шиг эрх мэдэлд найдах хүсэл төрдөг. Google-ийн дараагийн технологийг хөгжүүлэгчдэд танилцуулж байх үед тэдний нүд рүү чин сэтгэлээсээ харав. Та хөл дээрээ босч, технологи судалдаггүй, харин тэдгээрийг бүтээдэг, зөвхөн гарын авлагыг төдийгүй өөрт тань барьж буй гарыг хардаг, үүнийг мэддэг том том ертөнцөд эргэн тойрноо харах хэрэгтэй. хоёулангийнх нь түүх. Үүнийг програмчлалын философи гэдэг.

Програмчлалын философи

Үзсэн: 873

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

Ер нь кодчилол, алгоритм үүсгэх нь аль хэдийн тодорхой болсон, амьдрал хамгийн түрүүнд ирдэг, өөрөөр хэлбэл хүн "Би ийм ийм шинж чанартай хүрээ бичнэ" гэх мэт тодорхой бодолд тулгуурладаг. Мөн энэ анхны чиглэл нь философийн асуудал юм. Асуудал нь ихэвчлэн програмист хүний ​​эхнэр юу хийж, яагаад гэдгийг философийн түвшинд түүнээс илүү сайн мэддэгт байдаг. Анхан шатны философийн категориуд: сэтгэлгээ, ухамсар, нөхцөл байдал нь програмистад үл мэдэгдэх зүйл юм. Энэ нь хачирхалтай нь, хэрэв бид програмист хүний ​​сэтгэн бодох чадварыг харьцуулж үзвэл, тухайлбал, функциональ програмчлал эсвэл хайлтын алгоритмын талаархи нийтлэлүүдийг уншиж, Европын нэр хүндтэй эсвэл Оросын философичдын нийтлэлүүдийг уншвал програмистуудын бодит сэтгэн бодох чадварыг хөгжүүлдэг болох нь харагдаж байна. илүү биш юмаа гэхэд багагүй. Гэхдээ програмистын хэл нь загвар зохицох тухай ярихдаа маш баян бөгөөд хамгаалагдсан хязгаарлагдмал орчинд гарч, IDE болон файлын менежерээс салах шаардлагатай үед өрөвдмөөр, органик байдаг.

Прагматизм бол философийн оргилуудын нэг юм. Марксизм нэгэн цагт ухамсрын асуудалд төөрөгдөл нь дийлдэшгүй гэдгийг тунхаглаж, эдийн засгийн үндэслэлээр, натурал тоонд буулгах үндэслэлтэй байхыг уриалж байсан шиг прагматизм талбарыг улам нарийсгаж, илэрхий асуудлыг хамгийн үр дүнтэй шийдвэрлэхийг уриалж байна. Энэ утгаараа программист философич хүний ​​хувьд прагматизмд ойр байдаг.

Математикийн түүх гэж нэг юм бий, жишээ нь математикчдын нэрс бол математикийн үндсэн нэр томьёоны нэр. Орос улсад математикийг ихэвчлэн нээлтийнхээ түүхээс тусад нь заадаг бөгөөд Европын сургууль нь шинжлэх ухааны сэтгэлгээний энэ эсвэл бусад томъёог хэрхэн нээсэн үйл явцын тухай ярих соёлыг агуулдаг.

Жишээлбэл, энэ түүх:

Английн мужуудын газрын зургийг будахыг оролдохдоо Фрэнсис Гутри дөрвөн өнгөний асуудлыг томъёолж, газрын зургийг будахад дөрвөн өнгө хангалттай бөгөөд зэргэлдээ хоёр бүс өөр өөр өнгөтэй байна гэж тэмдэглэжээ. Ах нь энэ асуултыг математикийн багш Август де Морганд өгсөн бөгөөд тэрээр 1852 онд Уильям Хамилтонд бичсэн захидалдаа энэ тухай дурджээ. Артур Кэйли 1878 онд Лондонгийн математикийн нийгэмлэгийн хурал дээр энэ асуудлыг тавьжээ. Мөн онд Тэйт энэ асуудлыг шийдэх анхны шийдлийг санал болгов.

Чи ойлгож байна уу? нийгмийн хэмжигдэхүүн. Өөрөөр хэлбэл, та зөвхөн кодыг сурахаас гадна энэ кодыг гаргаж ирсэн хүмүүсийн нэрийг мэддэг, зөвхөн Си хэлийг судлахаас гадна түүний үүссэн түүхийг бас мэддэг. Энэ нь танд түүхэн өнцгөөс урагшлах боломжийг олгож, нийгмийн бүтцэд өөрийн байр сууриа таньж, бүх хүн төрөлхтний шинэ чиглэлд хүчээ хаана ашиглахаа олох боломжийг танд олгоно. Оросууд програмчлалын шинэ хэл, алгоритмуудыг байнга зохион бүтээж байдаг бөгөөд үүнд ямар ч асуудал гардаггүй, зөвхөн програмчлалын түүх, гүн ухааныг мэдэхгүйгээс болж та аль хэдийн зохион бүтээсэн зүйлийг зохион бүтээдэг. Бүр дордуулах нь, та ямар нэгэн шинэ зүйл зохион бүтээдэг ч хаана тавих, ямар "Лорд Хэмилтон" таны ажлын талаар бичих, аль "Лондон клубын уулзалт" дээр тайлан уншихаа мэдэхгүй байна. Та тайлан бичих бөгөөд энэ нь техникийн үүднээс төгс байх болно.

Системийн инженерчлэл нь бодит дизайн, алгоритмчлал, өгөгдлийн бүтцийг хөгжүүлэх, кодчилол, дибаг хийхээс өмнө дүн шинжилгээ хийх, даалгаврыг тогтоохыг хамардаг ч үйлчлүүлэгч өөрөө даалгавраа тавьдаг. Үйлчлүүлэгч нь програмчлалын гүн ухаанд "Эзэн Бурхан" бөгөөд түүнийг ойлгодоггүй, учир нь түүнийг ойлгох боломжгүй, тэр бол үнэмлэхүй, дээд хүч юм. Хүн зөвхөн түүний бие даасан зааврыг ойлгож, "Бурханы бүтээл" -ийн төгс бус байдлын талаар гомдоллож болно. Программист ба үйлчлүүлэгчийн хоорондын харилцааг Java сурах бичигт дурдаагүй бөгөөд энэ нь Марксизм эсвэл Протестант ёс зүй: материаллаг үнэт зүйлсээр захирагдах ба нөхцөлт байдлын метафизик юм. Америкт "супер программистууд", "старт-апууд" гэсэн анги байдаг, хүмүүс үйлчлүүлэгчгүй, амьдралыг маш их мэддэг болохоор өөрсдөө хэрэгцээгээ харж чаддаг. Өөрөөр хэлбэл, амьдралаа өөрөөс нь илүү ойлгодог хүн ирээд юу хийхээ хэлтэл хүлээгээд суудаггүй, өөрөө амьдралыг ухаарч, мөнгө олохын тулд хаашаа нүүхээ олж, өөрийгөө идэвхтэн гэдгээ ухамсарладаг. Хүмүүсийн хүсэлтээр нэвтрүүлэг бичдэггүй, өөрөө хүсэлт гаргаж, өөрөө хангадаг. Жобсыг iphone гар утсаа авах хүсэлт гарч байсан уу? Эсвэл Жобс өөрөө хүсэлт гаргасан уу?

Филологич, философичид, өөрөөр хэлбэл програмистуудтай адилхан залуус, зөвхөн өөр факультетийн хүмүүс бүх инженерүүдийг хүн чанаргүй гэж үздэг. Тэдний хувьд программист бол яг л бяцхан амьтан шиг, технологиор гайхалтай мэх хийж чаддаг ч хүн биш. Өөрөөр хэлбэл, та компьютертэй өрөөнд сууж байгаа боловч яагаад тэнд сууж байгаагаа ойлгохгүй байна. Өөрөөр хэлбэл, та ойлгож байна гэж бодож байна, гэхдээ филологич чамаас "яагаад, яагаад" гэж асуувал та бичиж буй хөтөлбөрөө тайлбарлаж эхэлнэ. Философичийн анхан шатны ур чадвар: нийгмийн харилцаа холбоо, нөхцөл байдлаа жагсааж, түүхээ ухаарч, энэ нь таныг энд, одоо энэ сандал дээр хэрхэн хүргэсэн болохыг ойлгох нь өөрийгөө ухамсарлахуйн ABC юм.

Хүнийг сэтгэдэг амьтан гэж үздэг бөгөөд програмист хүн сэтгэхүйг компьютерийн программтай зүйрлэвэл ойлгоход маш хялбар байх болно. Хөтөлбөр шиг хүн вакуум орчинд ажиллаж чадахгүй, энгийнээр хэлбэл хүн харсан зүйлээ боддог. Та кодыг хараад, үүнийг хэрхэн сайжруулах талаар бодож, алдааны мессежийг хардаг - та үүнийг хэрхэн засах талаар боддог. Дэлгэцээс холдож, ижил асуудлыг шийдэхийг хичээгээрэй, та үүнийг харах болно - энэ нь жигд боловч таны толгойноос хурдан алга болно. Үүнийг харж байгаа зүйлээ бодох, оролтын дохионд найдах, ухамсрын нөхцөл болгох гэж нэрлэдэг. Тиймээс хоёр дахь програмчлалын вектор гарч ирнэ. Би програм бичдэг, энэ нь компьютер, чип дэх процессуудыг хянадаг, гэхдээ би өөрөө бичсэн эх кодыг хардаг бөгөөд миний харж байгаа зүйл бол миний хувийн оруулсан зүйл бөгөөд цаашдын сэтгэх боломжийг олгодог. Тиймээс шинэ програмчлалын хэлний чиглэлээр байнга судалгаа хийдэг. Тиймээс дахиад нэг програмчлалын хэл (PL) сурах хүсэл төрж байна. Хүн өөрийгөө програмчилж, чадвараа өргөжүүлэхийг хүсдэг.

Давталт нь хүний ​​шинж, рекурс нь бурхны шинж гэж үг байдаг. Үнэнийг хайхад удаан хугацааны туршид зөв чиглэл байхгүй, хүмүүс тарсан, харьцангуй үзэл, олон ургальч үзэл. Бид ямар нэгэн объектыг дурдахад бидний мэдэгдэл шууд объект болж хувирдаг бөгөөд үүнийг дурдаж болно, эсвэл та ерөнхийдөө хүн рүү шилжиж болно, тиймээс бид аливаа хэлэлцүүлэг, тайлбар, постмодернизмын илрэлийг шууд олж авах болно (объектыг солих). лавлагаа) ба феноменализм - утгын баганад живэхээс зайлсхийхийн тулд хувийн шинж чанарт шилжих.

Үүний дагуу PL, хөгжлийн орчин, хүрээг сонгох олон ургальч үзэл нь нэг туйл руу татагдах явдал юм. Бусад олон хүмүүсийн хийдэг ижил төстэй PL-ийг ашиглах хүсэл бол хамтын үзэл, атомчлах, харийнлах явдал юм. Програмист хүн маш их ганцаарддаг бөгөөд нэгэн зэрэг харилцаанд хэт ачаалалтай байдаг. Энэ бол судалгаа хийхэд хагалгаагүй талбай юм. Дээд мэдрэлийн үйл ажиллагаа, бүтэц, тексттэй ажиллах, хэл сурах - энэ нь өдөр тутмын ердийн үйл ажиллагаатай адил юм. Програмист хүн өөрийн сэтгэхүйн чадвар, хүчээр XIX зууны хүмүүсийг гайхшруулна. Тэр хорин нэгдүгээр үеийнхэнтэй өдөр бүр ажилладаг түвшиндээ харилцаж чадвал тэднийг гайхшруулна. Хамгийн гайхмаар зүйл бол програмистын харалган байдал юм. Програмист хүн ихэвчлэн гадаад төрхөөрөө ялгардаг. Мөн энэ бол хувцаслалтын код биш, хүн зүгээр л хэрхэн харагдах, юу өмсөж байгаагаа анхаарч үздэггүй. Өөрөөр хэлбэл, тэр юу өмсөж байгаагаа мэддэг, гэхдээ яагаад үүнийг яг таг, тэр ч байтугай хэрхэн зөв нэрлэсэн нь түүний хувьд хол зай юм. Ноосон цамц, пуловер хоёрын ялгааг та мэдэх үү? Ноосон цамцнаас үсрэх үү? Би яагаад тэгэх ёстой гэж?

Программист бол чийдэнгийн боол шиг, матрицын батарей шиг - хэрэв тэр гэнэт тархиа ашиглаж эхэлбэл, түүний урьд өмнө хэзээ ч байгаагүй чадвар, хэл, логик, энгийн амьдралдаа их хэмжээний өгөгдөлтэй ажиллах чадвар нь тэр нэгэн нүдтэй болж чадна. хараагүйчүүдийн улсын хаан юм. Ноосон цамц нь хүзүү болон биед тохирсон, пуловер нь татахад хялбар болгох өргөн нүхтэй (татах), хүрэм нь товчтой. Холбогч нь өргөн нээлхийн оронд тэврэлттэй байдаг. Энэ бол энгийн зүйл, та үүнийг кодын нэг мөрөнд бичиж болно. Гэвч энэ мэдээлэл нь хувцасны тухай биш, амьдралын дүрслэлийн нэг хэсэг гэдгийг програмист хүн ойлгохгүй байна. Үнэн, Европчууд зарим талаараа ялгаатай, амьдралын програмчлалын соёл, ялангуяа Британичуудын дунд байдаг. "Би чамд гурван уут даавуу илгээж байна, надад зургаан алт илгээнэ үү" гэх мэт захидал бичиж болно гэдгийг тэд эртнээс олж мэдсэн бөгөөд гэнэт энэ нь дахин дахин давтагдаж, удирдах боломжтой болдог. зүгээр л ширээн дээрээ суугаад захидал бичих амьдрал. Венеци, Ханса, Кембриа. Энэ чанар нь америкчуудад өвлөгдөж, тэд ч бас компьютер, программчлалд дурласан тул хүрч болшгүй түвшинд хүрсэн. Тэд програмчлалын гурав дахь векторыг хардаг: ямар ч код, ямар ч програмын програм нь зөвхөн компьютер төдийгүй зөвхөн процессор төдийгүй хэрэглэгчид.

Хэрэглэгчид бол зүгээр л ямар нэг зүйлийг хүсч байгаа хүмүүс биш бөгөөд та тэдэнд мөнгө өгч болно. Хэрэглэгчид нь адилхан сэтгэдэг амьтад бөгөөд тэдний сэтгэлгээ нь таных шиг гаднаас ирсэн дохиогоор нөхцөл болдог. Тэд харсан зүйлээ боддог. Тэд програмын интерфейсийг харж, түүний дагуу бодож, ажиллах болно. Програмистын кодыг хараад хэдэн минутын дотор гаргасан шийдвэр бүр нь хэрэглэгчийн үйл ажиллагаанд өөрчлөлт оруулдаг. Та үүнийг програмчлаарай. Энэ нь боломж, хариуцлага, үр дүнг эрэлхийлэх гэсэн үг юм. Эдгээр философийн анхан шатны ангилалууд. Хэдийгээр сүүлийнх нь програмисттай ойрхон боловч энэ нь зөвхөн хөгжүүлэлтийн давталт, энэ нь дибаг хийх, хувилбар гаргах явдал юм. Бичиж, хэрэглэгчийн юу хэлэхийг сонсож, кодонд дахин өөрчлөлт оруулав. Гэхдээ үгүй ​​ээ, тэр сонссонгүй, сонсоод зогсохгүй, түүний зан авирыг яг л нэвтрүүлгийн зан байдал юм шиг харж, шинжилж, бодож үзсэн.

Гурван чиглэлтэй програмчлал. Компьютер, программист, хэрэглэгч. Хэрэглэгч болон программист ирээдүйд өөрчлөлт оруулахгүйгээр кодын өөрчлөлтийг хийх боломжгүй юм. Гэхдээ та энэ талаар бодож чадахгүй. Энэ нь илүү хялбар. Бодохгүй байх нь үргэлж хялбар байдаг. Бүх оролтын дохионуудаас хүн тусгал шаарддаггүй, харин зөвхөн мэдрэмжийг хүлээн авахыг илүүд үздэг. Шар айрагны амт, цэвэрхэн цамц, магтаал, эсвэл бүр дарга нарын доромжлол, дайралт. Эдгээр сэтгэл хөдлөлөөс сэтгэл хөдлөлийн шийдвэр гаргана. Сайхан хүрээ. Тэнэг програмчлалын хэл. Тэнэг сэтгэгдэл. Сайхан нийтлэл. Би өөрийн б-модны хэрэгжилтийг бичих санаа төрсөн. Яагаад? За энэ санаа надад таалагдсан. Логикийн хувьд хамгийн завгүй оюун ухаан болох программистуудын харилцаа нь сэтгэл хөдлөлийн солилцоонд ордог. Эдгээр нь мөргөлдөж, түлхэж, хуй салхи үүсгэдэг хоёр урсгал юм - тэд яаж программчлах вэ? Маш энгийнээр хэлэхэд тэд нэг цагийн сэтгэл хөдлөлийн дараа ном уншихаар тардаг. Эндээс л бодол орж ирдэг. Холбоос оруулаад би уншина. Надад таалагдсан, энэ сэдвээр унших зүйл байна уу? Хоёр амьдрал. Програмист хүн ялангуяа сонирхолтой байдаг, учир нь түүний хувьд код бичих нь хүртэл сэтгэл хөдлөлийн үйл ажиллагаа бөгөөд тэрээр өөрийн мэдрэмжээ хүйтэн дэлгэц рүү шидэж, логикийг үнэрлэж, улмаар өөрийгөө оюун ухаан болгон төлөвшүүлэхийг хичээдэг. Энэ нь ялангуяа Оросын програмистуудын онцлог шинж чанар бөгөөд тэдний онцлог шинж чанар биш - ялангуяа чанга дуугаар, ялангуяа бичгээр тайлбарлах. Түүгээр ч барахгүй төслийнхөө талаар ярьж чаддаг хүн үл итгэх байдлыг бий болгодог - тэр кодыг харахын оронд алгоритмын бүтцийг ойлгохын оронд ямар нэгэн шалтгаанаар нийгмийн илрэлүүд, PR - Эльбрусын тухай үлгэрийн талаар боддог худалч мэт санагддаг. болон Phantom.

Тиймээс Орос улсад нээлттэй эх сурвалж байдаггүй. Учир нь нээлттэй эх нь програмчлах чадвар биш, харин харилцах чадвар юм. Энэ бол программууд болон программистуудын түүхийн талаарх мэдлэг юм. Та бүтээлээ github дээр байрлуулж, нийтлэл, зааварчилгаа хүртэл бичиж болно, гэхдээ үүнийг унших хүн байхгүй болно. Эсвэл тэд "Би төсөлд нэгдэхийг хүсч байна, гэхдээ би юу хийхээ мэдэхгүй байна" гэж уншиж, бичих болно. "Оюутан, би Java-г бага зэрэг мэднэ, маш сонирхолтой төсөл, надад юу хийхийг хэлээрэй." Яагаад "Ява мэддэг" америк оюутан юу хийхээ тэр дор нь мэддэг юм бэ? Тэр яагаад нэг нээлттэй эхийн төсөл зохиож, өөр нэг төсөлд нэгдэж чаддаг юм бэ? Асуулт нь философи гэхээсээ илүү нийгмийн шинжтэй, манай нийгэм өөр байдалд байна. Гэвч хүн өөрийгөө мэддэггүй нь философичдод ойлгомжтой. Гузеевагийн хэлснээр "Гэрлэцгээе" - "тэр өөрийнхөө тухай юу ч ойлгохгүй байна." Тэр өрөөндөө компьютерийн ард сууж байхад ээж нь "Чи яагаад амьдралд дасаагүй юм бэ" гэж хэлдэг. "Өө, чи өөрөө ухаантай бол ард нь байх ёстой." Гэхдээ ээж ухаантай, чи тэнэг юм. Илүү нарийвчлалтай хэлэхэд тэр өөр оролтын дохиотой, та мониторыг хараарай, тэр эргэн тойрноо хардаг. Оюуны хувьд, логик, мэдээлэлтэй ажиллах ур чадварын хувьд хоцрогдсон ч гэсэн амьдрал, хүмүүсийн тухай, харилцааны талаархи өргөн хүрээний оролтын дохио байгаа нь хүнийг програмистаас илүү сайн ойлгоход хүргэдэг.

Ээж бол тэнэг хүн биш, тэр ч байтугай асинхрон өгөгдөл боловсруулалтыг мэдэхгүй ч таны ирээдүйг урьдчилан таамаглаж чадна. Энэ нь тийм ч хэцүү биш, нийгмийг харж, дүрслэх, програмчлалын хэлийг мэддэг байсан бол чадна. Эрх баригчдад ханд. Үнэ цэнэтэй хүрээ өсч байна. Ухаалаг залуу гарч ирэв. Зөв бичиг баримт. Удирдлага анхааралдаа авлаа. Энэ бол API юм. Ямар ч төвөгтэй зүйл байхгүй. Программистууд дэлхийг захирч чадна, удирдах ёстой. Гэхдээ одоог хүртэл Америкийн програмистуудын цөөн хэсэг л үүнийг ойлгосон байна. Програм нь компьютер дээр зааварчилгааг нь гүйцэтгэх үед бүтэлгүйтэж болох ч хэрэглэгч өөрийн зааврыг гүйцэтгэх үед бүтэлгүйтэх ёсгүй гэдгийг Гейтс ойлгосон. Энэ бол зөвхөн эелдэг үзэл биш, энэ бол өөрийн үүрэг, зан үйлийн судалгаа, хэрэглэгчийн API болон бүх нийгмийг судлах явдал юм. Энд дарна уу, хэрэв хэрэглэгч энэ товчийг дарвал юу болох вэ? Хэрэв энд текст оруулсан бол би яаж түүнийг энд бас текст оруулах вэ? Файл сонгох цонх нээгдсэн бөгөөд үүнийг аль анхдагч фолдерт нээх вэ? Та код дибаг хийхэд хэдэн цаг зарцуулсан бэ, яагаад хэрэглэгчийн зан төлөвийг судлахад арав дахин их цаг зарцуулаагүй юм бэ? Гейтс зарцуулсан.

Хүмүүс уг программын ард байгаа хэрэглэгчийн зан төлөвийг, өрөөнд орж ирсэн цагаас нь эхлэн бичлэгт бичдэг. Хамгийн инээдтэй нь эдгээр хүмүүс програмист биш, уригдсан хүмүүс - социологич, тэр байтугай сургагч багш нар юм. Тэд сууж, онолын хувьд програмист илүү үр дүнтэй хийх ёстой ажлыг хийдэг, учир нь энэ нь кодыг дибаг хийх явдал юм. Өөрчлөлтүүд хийгдэж байна. Гэхдээ эдгээр өөрчлөлтүүдийн дараа програм илүү хурдан ажиллахгүй, процессор, компьютер дээр алдаатай, удаан, ихэвчлэн алдаатай байдаг, гэхдээ хэрэглэгчийн зан төлөвт илүү сайн ажилладаг, үйлдлүүдийг илүү хурдан гүйцэтгэдэг (гүйцэтгэл), зорилгодоо хүрдэг. илүү олон удаа (дибаг), тэр сэтгэл хангалуун байдаг (эрчим хүч хэмнэх). Тэр эцэст нь төлдөг. Жобсын хийсэн бүх зүйл бол хэрэглэгчийн програмчлал юм. Тэр яаж ийм байдалд хүрсэн бэ? байгаль орчны соёл? хар тамхи? хувийн авьяас? Философи. Кант-Гегельс, Хуссерлис-Расселлс, Витгенштейн-Сартрас, тэдний мянга мянган. Тэд бодит байдлыг тайлбарлах олон хэл, түүнийг ойлгох API-г бий болгосон. Бидний зөн совингоор ашигладаг ихэнх ухаалаг үгсийг тэд нэг удаа танилцуулж, томъёолсон байдаг. "Соёл" гэдэг үгийг ашиглаад консерватори гэж бодоод, "консерватори" гэж хэлээд, энэ бол юуны түрүүнд багшлах, сонгон шалгаруулах тогтолцоо гэдгийг мэдэхгүй байж болохгүй. Консерватив ба консерватив туршлага. Програмист хүний ​​хувьд түүний ашигладаг бүх зүйл гэнэт гарч ирдэг. Ухаалаг хүмүүс үүнийг ойлгох болно, үүнд их сургуульд багш нар байдаг.

Дашрамд хэлэхэд, програмчлалын багш ихэвчлэн хэрхэн програмчлах, заахаа мэддэггүй. Тусдаа дуу болсон, Сталин олон сая нягт тариачдыг инженерийн чиглэлээр суралцахаар илгээсэн бол одоо Энэтхэгт үүнтэй төстэй зүйл болж байна. Жилд гурван сая хүн төгсдөг. Хүмүүс илүү их зүйлийг хаяж, заах ажлыг оновчтой болгох хандлагатай байдаг нь тодорхой байна. Та яагаад үүнийг мэдэх хэрэгтэй байна вэ, та үүнийг сурах хэрэгтэй - энэ нь хэрэг болно. Максвеллийн туршилтуудын түүх маш сонирхолтой боловч танд үүнийг сурах цаг байхгүй тул та Максвеллийн тэгшитгэлийг шууд сурах болно. Та ядаж оюутнуудад Максвеллээс өмнө юу ч байгаагүй, түүний дараа цахилгааны шинжлэх ухаан аль хэдийн хөгжсөн гэж хэлээрэй. Программистуудын хувьд ямар үлгэр жишээ вэ! Юу ч байхгүй - ямар нэг зүйл байна. Ядаж Строуструп, Торвалдс нар хэрхэн ажиллаж байсныг бидэнд хэлээч. Юунаас ч юм гарч ирдэг юм шиг. Өөрөөр хэлбэл, багш нь оюутан шиг гүн ухааны хувьд нягт байдаг.

Америкчууд Иракийг дэлхийн бөмбөрцөг дээрээс олж чадахгүй байна гэж чи инээдэг. Та өөрийгөө шоолон инээж байна, логикийн түүхийн бөмбөрцөг дээрээс та Гегелийг олж чадах уу? Та BASH-г ашигладаг уу, үүнийг хэн, хэзээ бүтээсэн, хэдэн арван жилийн дараа бүтээлээ хэрхэн тайлбарлаж байгааг мэдэх үү? Терминал яагаад терминал гэж нэрлэгддэгийг та мэдэх үү? Энэ нь телетайптай ямар холбоотой вэ? IBM зуу гаруй жилийн өмнө АНУ-ын хүн амын тооллогыг төв банкны мөнгөөр ​​хийж, улмаар эдгээр механик компьютеруудыг Гитлерт хүргэж байсныг та мэдэх үү? Өгөгдлийн сангийн бүтэц, нэр томьёо нь XIX зууны эхээр Англиас авчирсан каталогичдын хийсэн тэдгээр цоолтуурын картуудаас үүдэлтэй гэж та төсөөлж байна уу? Atari-г бүтээгч Бушнелл өөрийн ажилтны Жобсын санааг хэрхэн олж аваагүйг та мэдэх үү? Компьютерийн түүхэнд Атаригийн гүйцэтгэсэн үүргийн талаар танд ямар нэгэн ойлголт байна уу? Atari эсвэл Sinclair хэнийг хуулбарласан бэ? Төхөөрөмж, тэдгээрийн түүхийг мэдэх нь хангалтгүй бөгөөд та юуны түрүүнд хүмүүс, бодол санаа, тэдний түүхийг мэдэх ёстой. Годелийн аав нь санваартан, Гэгээн Францисын аав нь банкир, худалдаачин байжээ. Львов-Варшавын логикийн сургууль гэж юу вэ?

За энэ бол таны гурван талт програмчлал, мэдээжийн хэрэг та зөвхөн код, програмчлалын хэл биш, мөн тухайн хэлний түүхийг мэддэг, өөрийгөө болон хэрэглэгч, түүх, хэлийг мэддэг байх хэрэгтэй, харин дибаг хийх талаар юу? Дибаг хийх талаар? Та яагаад дибаглагч хэрэгтэй байна вэ? Зүгээр л та яаж бодохоо мэдэхгүй байгаа тул та хариу үйлдэл үзүүлж, сануулгыг хүлээсээр, програмаа ойлгоогүй, та үүнийг зогсоож, дибаглагч танд ямар нэг зүйл харуулахыг хүлээж байна. Дараа нь таны толгойд санаа гарч ирнэ гэж найдаж байна. "Таны дибаглагч таслах цэгийг тогтооход эвгүй байна." Метапрограмчлал гэдэг нь тухайн программыг программ, мөн нэг төрлийн рекурс үүсгэхийг хэлнэ. Үүний нэгэн адил, програм нь програмыг дибаг хийх, мета дибаг хийх боломжтой боловч үүний тулд програмист хоёр дахин ухаалаг байх ёстой, тэр хоёр програмыг нэг дор толгойдоо байлгах ёстой. printf() ашигладаг, дибаг хийгчдийг шоолон инээдэг хүмүүс юу хийж байгаагаа илүү сайн ойлгодог.

Дашрамд хэлэхэд, холбогч нь бас шаардлагагүй, анхны орчуулагчдын ул мөр юм. Зуун програмистаас зөвхөн нэг нь програмчлахыг мэддэг, үлдсэнийг нь гараар хөтлөх шаардлагатай байдаг тул бичсэн хэлүүд хэрэгтэй. Нэг сармагчин ч гэсэн "Дайн ба энх" гэж бичнэ. Тийм ч учраас бид синтакс онцлох, загвар зохион бүтээх дуртай байдаг - энэ нь өөртөө болон оюун ухаандаа нөлөөлж, анхаарлаа төвлөрүүлж, илүү ихийг харахад туслах арга юм. Одоо хил хязгаар нь бүдгэрч, суурилагдсан бичиг баримт хаана байна, интернет хаана байна, хөрвүүлэгч хаана байна, орчуулагч хаана байна, хаана ажиллах вэ, хувиараа хөдөлмөр эрхлэлт хаана байна. Ийм нөхцөлд насанд хүрсэн хүний ​​ханцуйнаас атгах хүүхдийн хүсэл шиг эрх мэдэлд найдах хүсэл төрдөг. Google-ийн дараагийн технологийг хөгжүүлэгчдэд танилцуулж байх үед тэдний нүд рүү чин сэтгэлээсээ харав. Та хөл дээрээ босч, технологи судалдаггүй, харин тэдгээрийг бүтээдэг, зөвхөн гарын авлагыг төдийгүй өөрт тань барьж буй гарыг хардаг, үүнийг мэддэг том том ертөнцөд эргэн тойрноо харах хэрэгтэй. хоёулангийнх нь түүх. Үүнийг програмчлалын философи гэдэг.

Үүнтэй төстэй нийтлэлүүд

2022 parki48.ru. Бид хүрээ байшин барьж байна. Тохижилт. Барилга. Суурь.