На днях ко мне подошел папа и спросил: «Как работают компьютерные программы?»

Он, мастер всей бытовой электротехники, известный в городе своим превосходным мастерством, выглядел расстроенным, когда дело доходило до компьютеров.

Такое же разочарование возникает, когда новички решают изучать программирование и застревают в красочных редакторах и строках кода, что, в конце концов, лишает эти проницательные умы, включая моего папу, настроения двигаться дальше.

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

Почему вы должны научиться программировать

Помимо Таноса, самые неизбежные вещи в 21 веке:

  • Экономика и финансы,
  • Психология,
  • и, Программирование

Общее у них то, что они повсюду, играют большую роль в нашей жизни, и незнание этого вызывает большой недостаток.

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

Программирование ставит вас на место водителя.

Вы сами выбираете, куда идти и как быстро. Воображение — это предел.

Умение программировать позволяет:

  • Возьмите управление в свои руки: простые скрипты помогут решить большинство проблем, избавив вас от поиска в магазине неуклюжих приложений с раздутыми функциями.
  • Более эффективное использование компьютеров: эффективнее справляться с ежедневными задачами.
  • Наслаждайтесь обширной коллекцией инструментов: используйте миллионы бесплатных инструментов, созданных сообществом.
  • Научитесь справляться со сложностями: постепенно научитесь систематически справляться со сложностями и ошибками.
  • Если вы станете профессионалом: вы присоединитесь к огромному и энергичному сообществу, полному новаторов, и, как программист, хорошо заработаете.

Правильное мышление

Правильный способ изучения программирования — это все о языках программирования, и — ну, вы уже догадались — — не о языках.

Позволь мне объяснить.

Язык программирования — это среда, которая находится между вами и компьютером.

Понимание того, почему и как работает язык программирования, дает вам правильное представление, которое, в свою очередь, поможет вам в процессе изучения любого интересующего вас языка.

Правда №1: компьютеры делают ТОЧНО то, что вы им приказываете, программировать — значит писать такие инструкции.

Давайте будем честными, у компьютеров нет мозгов. Это просто наборы цепей в вашем распоряжении. Вы создаете инструкции, записывая код, который может выполнить компьютер.

Правильно, компьютер не понимает и не импровизирует, он только выполняет инструкции, которые вы даете, даже если такие инструкции не отражают точную идею, которую вы имеете в виду (и именно так мы получаем ошибки).

Правда № 2. Языки созданы, чтобы помогать вам создавать инструкции, разные языки разработаны с учетом разных предпочтений.

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

  • мы, программисты, можем писать в форматах, близких к человеческому языку, что гораздо легче читать и понимать (отсюда и слово Читаемость)
  • инструкции могут поддерживаться в виде ограниченных шаблонов, что дает возможность для лучшей проверки ошибок и оптимизации

Разные языки подчеркивают разную философию. Например, Python был создан для хорошей читабельности и лучшего опыта кодирования, а JavaScript был создан для того, чтобы программисты на C и C++ могли писать простую логику в браузерах.

Новичкам рекомендую изучать язык под названием Python, т.к.

  • Он был создан с учетом удобочитаемости и красоты (посмотрите Дзен Python).
  • Это один из самых популярных языков, а это значит, что вы можете найти больше людей, которые ответят на ваши вопросы.
  • Его сообщество является одним из лучших, что подразумевает тот факт, что лучшие программисты нашего времени помогают развитию Python.

Правда №3: ​​приложение = ваш код + язык + библиотеки

Помню, в детстве смотрел телепередачу, где высокий красивый парень в костюме с блестящими волосами и уверенной улыбкой вышел из вертолета и спас красивую женщину.

Женщина спросила его: «Почему ты такой богатый?»

"Я программист."

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

Теперь, как и в 21 веке, или в 2023 году, мы также можем совершать такие чудеса благодаря помощи языков программирования и библиотек, созданных сообществом.

Как новичку начать создавать приложения, спросите вы? Ответ кроется в библиотеках.

Библиотеки – это наборы кода (также называемые пакетами на некоторых языках), в которых реализованы инструкции для решения распространенных проблем. Одно решение, используемое повсеместно, повышающее качество, бесплатно. Представь это.

Вместо того, чтобы писать десять тысяч строк кода для завершения приложения, вы просто используете библиотеку. Тогда программирование становится не столько тяжелой работой, сколько сборкой лего. Это похоже на то, как вертолет из предыдущей истории был передан вам бесплатно.

Помните, App = Your Code + Language + Libraries, буквально.

Пример

Допустим, я сделал 10 000 селфи, когда в последний раз был в Нью-Йорке, и сохранил их в каталоге на своем ноутбуке. Как мне переименовать все эти файлы в 1-NYC , 2-NYC

д., с ведущим счетчиком?

Мой папа хотел бы поработать над ним немедленно и, надеюсь, завершить его до заката. Это, правда, расстраивает.

Посмотрите этот скрипт на Python, который сделает всю работу за него, и не беспокойтесь о языковой грамматике, это просто английский. Для лучшей читабельности я добавил в сценарий комментарии, чтобы вы могли читать код, как воскресный рецепт.

# By Peter, https://medium.com/@pyssion5
# Follow me for more programming tips, technics, career and life advices.

# file: rename_selfies.py

# this is a library, it provides most instructions we will use later
import os

# tell the library to go to directory D:\\tons_of_selfies_in_NYC
os.chdir("D:\\tons_of_selfies_in_NYC")

# Oops, a for-loop, which literally means to LOOP FOR every file IN ...
for count, f in enumerate(os.listdir()):
    # every time we loop, run these instructions
    # the indentation indicates this is a block inside the loop

    # f represents for the file in this loop,
    # from which os helps extract file name, and extention suffix
    # e.g. selfie.jpeg -> selfie & .jpeg
    file_name, file_ext = os.path.splitext(f)
    # then we concatenate count and NYC to a new name, e.g. 1-NYC, 2-NYC
    f_name = str(count) + "-NYC"

    # and don't forget the ext
    new_name = f'{f_name}{file_ext}'
    # finally, with the help of rename from os, rename it
    # old name f -> 1-NYC.jpeg
    os.rename(f, new_name)

Дайте этот кусок кода (инструкции) языку, дважды щелкнув файл rename_selfies.py, или вызвав язык (его интерпретатор) с помощью этой команды:

$ python rename_selfies.py

Результат

Раньше файлы имели временную метку:

Далее имена нумеруются простым кодом/скриптом:

Другой пример

Этот пример вообще не требует кодирования, но он так же важен, как кодирование.

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

Предположим, вы хотите переместить файл с компьютера A на компьютер B, будь то установщик видеоигры 30G, фильм Blue-Ray 10G или что-то еще. Интернет-соединения нет, к сожалению, только домашний сигнал WiFi.

Обладая небольшими знаниями в области программирования, вы можете загрузить этот файл из точки А в точку Б, просто выполнив одну команду:

запустите python -m http.server на компьютере A. Как показано на снимке экрана ниже, сервер Python запущен, по умолчанию обслуживая порт 8000:

зайдите на http://192.168.1.3:8080 (ip адрес может отличаться) на компьютере Б, вот он, файл, и его можно просто скачать.

Как удобно.

Python, как и любые другие языки, с его замечательными библиотеками, предоставляет в ваше распоряжение огромную функциональность, как и модуль http.server, который помогает создать ваш статический сайт для временного обмена файлами.

Резюме и что дальше

Всегда помни об этом,

  • Компьютеры принимают только инструкции
  • Мы используем языки программирования для генерации инструкций
  • Приложение = ваш код + язык + библиотеки
  • В вашем распоряжении десятки тысяч библиотек

Мудрый человек не рождается мудрым, он просто умеет пользоваться инструментами.

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

Что дальше?

Если вы только начинаете изучать программирование, теперь у вас правильный настрой, любое руководство должно быть менее пугающим.

Если вы хотите дальнейшего развития своих навыков, имейте в виду, что программирование не всегда будет легким, не таким простым, как ABC, но его можно понять, а затем освоить, как и любые другие навыки в жизни.

Разработка и реализация программы не происходит визуально, ее нельзя увидеть невооруженным глазом или потрогать голыми руками. Они лежат между строк слов и графиков в документах и ​​комментариях.

Вот почему вам понадобится правильное видение, которое поможет вам в этом.

Для новичков это образ мышления языков и операционных систем, на которых работают приложения, для людей, которые работают в этой сфере бизнеса, это алгоритмы, структуры данных и шаблоны проектирования.

Чтобы достичь величия, мы все должны мыслить масштабно и начинать с малого. Каждый шаг — это дополнительная выгода, и каждая ошибка ведет к лучшему пути. При правильном настрое программирование, хотя и требует не менее тяжелой работы, может быть менее утомительным и гораздо более увлекательным.

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