OlezhkaЕсли бы мне нужно было работать с памятью, я бы использовал для этого язык C. Есть несколько разных уровней работы. Для каждого уровня есть своя группа языков программирования. Например, для работы в системе я использую язык Shell. На питоне тоже можно писать скрипты для работы в системе, но он как бы непригоден для этого. Им неудобно работать. Для всяких разветвлённых систем по работе с данными я использую язык Python. На C тоже можно писать программы для разветвлённых систем по работе с данными, но он как бы непригоден для этого. Для работы с операционной системой или аппаратной частью на низком уровне я использую язык C. На Assembler тоже можно писать программы для работы с операционной системой или аппаратной частью на низком уровне, но он как бы непригоден для этого.
А ты в “Пайтоне” не работал с модулями прямого доступа к памяти? Не редактировал что-нибудь в ОЗУ на лету?
Поэтому я когда пишу программу, обслуживание её на самом верху происходит с помощью языка Shell, обслуживание на средней линии её разветвлений при работе с данными происходит с помощью языка Python, обслуживание её на низком уровне для взаимодействия с элементами операционной системы происходит с помощью языка C. Поэтому программа может быть написана на трёх языках программирования сразу. Просто разные её части с разных уровней пишутся на тех языках программирования, которые максимально подходят для этих уровней и ложатся на них как по маслу.
Я вот недавно написал приложение для смартфона себе, там само приложение написано на языке Java. Но управление этим проектом я полностью написал на языке Shell. Поэтому он сворачивается и разворачивается за одну секунду, менять его очень легко, потому что за это Shell-скрипты отвечают, которые я себе сделал сам. Знаешь, если искать что-то где-то чужое, то ты просто не найдёшь ничего. Поэтому учись делать себе программы сам. Учись делать себе инструменты сам. Тогда у тебя всё будет. Другие в это время будут сидеть в жопе, искать себе инструменты, побираться по сайтам в поисках хотя бы каких-то ошмётков. Потом найдут себе какое-нибудь вялое говно и будут им пользоваться бесконечно. Так вот также я написал себе Shell-скрипт для клонирования проекта, это когда тебе надо полностью воссоздать проект в другом проекте, чтобы провести какие-то эксперименты с приложением, которые в результате могут повредить проект сам так, что потом даже не сможешь понять, как его восстановить. Вот чтобы не портить проект, не ставить его под угрозу и при этом без экспериментов не сидеть, которые что-то кардинально проясняют, я разработал себе скрипт на языке Shell, который мне перекачивает досконально содержимое одного проекта в другой проект, возрождает его как бы в другом проекте. Для этого потребовалось проводить переименования пакетов, залазить внутрь манифестов, отыскивать все доустановленные в проект сторонние библиотеки и прочими такими вещами заниматься. То есть скрипт умно лазит по проекту и всё там умно копирует и после копирования умно переделывает то, что скопировано, иначе оно подгружаться не будет, так как там старые имена как снаружи файлов, так и внутри этих файлов. Всё это кропотливая работа такая. Вручную всё это делать было очень проблематично и занимало минут по сорок, когда я это всё вручную проделывал. После того как я этот скрипт разработал и закончил, я стал делать клоны проекта за минуту. После этого я на этом клоне могу проводить любые эксперименты, а потом могу его оставлять, а могу удалить его весь и создать клон по новой. Это сильно ускорило мою работу и я стал больше программ делать, потому что высвободилось время, которое раньше уходило на ручную работу.
Так вот, в чём смысл этой истории всей. Вот это всё если на одном питоне писать, то оно также будет неудобным. Если же писать одни поверхностные скрипты, то ты не сможешь работать с данными, которые посложнее устроены. А если ты будешь искать модули для питона для работы с аппаратной частью, то ты будешь такой побирушкой в итоге, у которой ничего нет. Поэтому для каждой задачи надо брать подходящие инструменты. А если инструментов нет, то ты понял, да, их надо брать и делать самому без всяких кваканий типа “ой, а я не могу это сделать, я не знаю, чем это можно сделать, а дайте мне молоточек, а дайте мне отвёрточку, а помогите мне, а посоветуйте мне”.
Мне вот никто не нужен. Я себе инструменты сделал и сижу ими и работаю. Я ничего не жду, мне не пять лет, чтобы сидеть и в розовых соплях ждать чего-то на блюдечке. Сам не сделаешь - ничего ниоткуда само не появится.