Існує безліч мов на вибір для тих, хто хоче програмувати; для більш сучасних платформ часто навіть не потрібно редагувати традиційні рядки коду.

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

Звичайно, деякі навички абстракції та логіка потрібні і сьогодні, але не настільки високі, як, скажімо, до 15 років тому. Шкільна комп’ютерна програма вісімдесятих років, безкоштовні компілятори та скриптові механізми, а також швидкі темпи середовищ - Raspberry Pi допомогли зробити програмування захоплюючою хобі для навіть набагато ширшої аудиторії, ніж раніше, і навіть роботою годувальника. Чому б не перевірити, якщо ми маємо для цього талант?

Перші кроки

Якщо ми просто хочемо ознайомитись з програмуванням без попередньої підготовки, то головним аспектом є вивчуваність та застосовність вивченого. Якщо ми можемо уявити, що ми здатні побудувати щось традиційно, набравши рядки (у нас немає текстових зв’язків), тоді ми можемо вибрати безкоштовну мову сценаріїв для початку (наприклад, Python підходить для початківців). Якщо наш рівень знань походить з піонерської епохи обчислювальної техніки та домашнього обчислення, ми можемо стати на шлях, що пройшов шлях, і відродити наші ОСНОВНІ знання, але ми повинні знати, що рано чи пізно нам потрібно відійти від них.

Можливо, нам доведеться адаптуватися до наших довгострокових цілей, тому нам потрібно здобути знання, якими можна користуватися в школі чи на роботі, і в цьому випадку доцільніше обрати мову, яка є визнаною та затребуваною у професійних колах (C #, C ++ або Java). Для них також існують засоби візуального розвитку, але, що важливіше, доступні відповідні навчальні посібники. Це настільки ключове питання, що варто заздалегідь вивчити, чи достатньо детальних та якісних навчальних посібників та документації наявною нам знайомою природною мовою, щоб мати змогу заглибитися у вивчення місцевості. (Англійською та німецькою мовами є матеріали майже для всього, але якщо ми розуміємо лише угорську, ми можемо вибрати з набагато вужчої пропозиції, можливо, нам доведеться придбати підручник.)

Розробка майже апаратного програмування (системи управління, управління процесами) та вбудованих систем (знання, вбудовані в гаджети) все ще вимагає більш абстрактного мислення та більш незручних методів роботи, ніж зазвичай в інших областях; якщо ви подаєте заявку на цю галузь, вирушайте до школи або одержимої самоосвіти. (Звичайно, якщо ми були гуру програмування Асамблеї в 8-бітову героїчну епоху, це також не буде непереборним викликом для нас).

програмне забезпечення

Якщо традиційні текстові редактори дуже відразливі для нас, можливо, ви захочете подивитися навколо систем, що надають візуальні рішення, що блокують код (Scratch, Google Blockly). Існує кілька легших напіввізуальних інструментів для створення комп’ютерного програмного забезпечення (програми реєстру, утиліти), а також для компіляції веб-сторінок. Є функції, які пропонують майстер-подібні рішення, за допомогою яких можна створити веб-сторінку, електронну книгу чи мобільний додаток без редагування HTML та CSS - якщо нічого іншого, їх може створити кожен. Однак, чим далі ми переходимо від глибини до комфорту, тим менше ми можемо контролювати деталі, тобто ми матимемо власний розроблений додаток, але це цілком шаблон.

Шаблони будівельних майданчиків

В основному, більшість реальних завдань також базуються на шаблонах, тому, можливо, варто почати в цьому напрямку для тих, хто не має досвіду програмування чи спорідненості. Якщо ви хочете створити мобільний додаток, у вас є кілька доступних служб - правда, повністю англійською.

Одним з найкращих, здається, є безкоштовна панель додатків: ви можете вибрати безліч шаблонів і навіть створити програму зі своєї існуючої сторінки у Facebook. Шаблони охоплюють рамки типових складів, таких як електронна книга, програма для приготування їжі (розумна кулінарна книга), банківська справа, будівництво, освітнє програмне забезпечення, тренажерний зал тощо - відповідно до підходу Appsbar, варто створити мобільний додаток для всього, що ми маємо поки що розробив веб-сайт. (Приємно знати, що наш додаток буде відображати рекламу, але дохід надходить розробникам Appsbar.) Без піктограми, заставки, кольорового шаблону, звичайно, наш мобільний твір не коштував би багато - у нас є вбудована графіка і ми можемо додати своє. Потім нам потрібно додати вміст, подібно до того, як ми додаємо додаткові сторінки та вміст (відео, фотографії, форми, посилання) на веб-сайт. Завантаження в Google Play або iTunes також виконується, тоді нам залишається почекати, поки наша програма перевіриться.

Подібним підходом ми можемо працювати з трохи більшими кроками на веб-сайті AppsGeyser, який спеціалізується на розбитті веб-вмісту на програми. Робота починається трохи грубіше, але натомість легко перетворити існуючий веб-сайт у додаток, і ця компанія також ділиться з нами доходами від реклами.

Розробка з блоків

Мабуть, одним з найпопулярніших блокових рішень є Scratch. У безкоштовному інструменті розробки, який надає MIT Media Lab, ви можете буквально програмувати, тобто ви можете контролювати послідовність подій, приймати рішення, повторювати операції залежно від умови, але вам не доведеться турбуватися редагуванням текстових вихідних файлів. Елементальні операції та структури управління можуть бути розташовані у вигляді блоків, що нагадують елементи головоломки, ми можемо просто поєднати анімацію або невеликий додаток чи гру за допомогою миші. Характерна, взаємопов’язана форма головоломки різна для кожного типу елементів, тому багато практично безглуздих вузлів неможливо з самого початку.

Програма також доступна у завантажуваній формі, але вона також може використовуватися з браузера і (серед багатьох інших мов) також розуміє угорську; локалізований не тільки інтерфейс, але і імена елементів програмування. Це може допомогти кожному, хто не знайомий з основами програмування (навіть для дітей), і полегшує перехід до більш серйозних інструментів розробки.

Ви також можете створити дещо більш серйозне програмне забезпечення за допомогою Google Blockly, який є більш докладним інструментом навіть для розробки власних типів блоків. Програми, зібрані в області редагування, також можна переглядати у форматі JavaScript, Python, Dart або XML як вихідний текст. Блокова система є типовою, тобто ми теж тут нічого не вміщаємо, і це також прискіпливо. Компіляція формул трохи громіздка, оскільки для констант, операцій та змінних більш складної формули вам доведеться переміщати багато блоків, але система дотримується суворої логіки, яка може допомогти програмістам-початківцям.

І останнє, але не менш важливе, слід згадати App Inventor, який використовує підхід Блоклі в складній системі, яка може бути використана для створення мобільних додатків. Ви можете розробити інтерфейс і вивантажити керовану подіями програму з блоків. Ми можемо створити трохи вигляд шаблону, але дуже мінливий додаток із безкоштовною системою; ми можемо зібрати досить серйозні речі. Безкоштовний веб-редактор доступний за адресою appinventor.mit.edu. Звичайно, давайте не маємо ілюзій, якщо ми хочемо серйозно поставитися до програмування смартфонів Android, нам заздалегідь знадобиться досвід Java.

Сучасні мови сценаріїв

Багато сучасних мов не вимагають традиційного перекладу (див. Наш розділ), що робить їх більш гнучкими та зрозумілими. Серед мов загального призначення Python виділяється роками і є об’єктно-орієнтованим і в той же час надзвичайно легким. Це легко вивчити, і є підручники, доступні угорською мовою, а програмісти Python відносно затребувані та добре оплачувані професіонали. Платформу можна безкоштовно завантажити (python.org) та безкоштовно використовувати із різноманітними редакторами, а також пакетом, інтегрованим з великою кількістю дизайнерів графічного інтерфейсу. Однак використовувані набори інструментів (бібліотеки програм, що представляють користувальницький інтерфейс) можуть відрізнятися, тому не має значення, в який із них ми вникаємо. Якщо у нас немає натяків, ми спочатку можемо залишитися з Tkinter, розподіленим за допомогою Python.

HTML, JavaScript, CSS, PHP - все це модні ключові слова. HTML насправді не є мовою програмування, а описовою мовою, він структуровано описує інформацію на веб-сайті, її однорідний вигляд надають таблиці стилів (CSS). Якщо ви хочете бути веб-дизайнером, вам потрібно це знати та/або придбати візуальне програмне забезпечення для редагування веб-сайтів, одним з найвідоміших і найдорожчих з яких є Adobe Dreamweaver.

Веб-програмісти можуть використовувати JavaScript (та деякі подібні мови сценаріїв) для опису поведінки веб-сторінки, завантаженої у браузер. Серверна робота (наприклад, компіляція вмісту веб-сторінок з баз даних, обробка анкет) може виконуватися у багатьох системах (наприклад, Java, Ruby on Rails), найпоширенішим є, ймовірно, PHP, який використовується на веб-сервері (наприклад, Apache) та Запускається движок бази даних SQL (наприклад, MySQL). Останнє програмне забезпечення на стороні сервера є безкоштовним, і, володіючи англійською мовою, ми також можемо багати на підручники; один з найпопулярніших матеріалів Кодекадемії.