Донецкий техникум промышленной автоматики

Яку мову програмування може замінити PHP?

  1. Джордж Мауер, викладає JS
  2. Джефрі Барнс, створив 3 плагіна для iQuery за допомогою JavaScript
  3. Берроуз Аббасі, вчиться в Болонському університеті
  4. Вім тен Брінк, COBOL-розробник

Мова PHP впевнено почуває себе в топах найпопулярніших мов програмування, проте ж у всього є кінець. Чи загрожує PHP виявитися не при справах, що може його замінити і яку мову ви б обрали для створення сайту типу Facebook? На ці питання відповіли користувачі сайту Quora .

Джордж Мауер, викладає JS

PHP вмирає, Java вмирає, C # вмирає, SQL вмирає, JavaScript вмирає, C вмирає. І все одно проектів на цих мовах значно більше, ніж проектів на всіх неперерахованих мовах програмування разом узятих. Так, іноді нові тренди можуть витісняти щось усталене, але цей процес відбувається вкрай повільно. Зовсім не означає, що це найстаріше - погане.

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

Не можна сказати, що PHP був таким вже й поганим вибором. Все ж це мова, яка відповідає вимогам швидкої розробки додатків. А це в свою чергу є одним з ключових чинників для стартапу - у випадку з Facebook цей фактор зіграв вирішальну роль. Спочатку PHP був такою собі збірної колекцією скриптів. І це дозволяє легко перейти на більш низький рівень абстракції і створювати код на C тоді, коли дійсно існує необхідність в оптимізації. Все це було ретельно вивчено та успішно впроваджено в більшість сучасних мов.

Будь ласка, викиньте зі своєї голови ідею, що соціальна мережа вимагає чогось специфічного від мови програмування. Створення більшої частини коду буде абсолютно стандартним і звичним. Так, є деякі проблемні області на зразок зіставлення можливих і потенційних друзів, але схожі питання найчастіше вирішуються за допомогою спеціалізованого програмного забезпечення. Наприклад, графо-орієнтованих баз даних. Вам потрібно буде вкрай ретельно і акуратно будувати свою систему, а також відмінно розбиратися в області DevOps, але те ж саме доведеться проробляти і з іншими мовами. Замість ідеальної мови розробки для вас швидше важливі досвідчені і знають розробники.

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

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

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

На даний момент такою мовою є Elixir. Він базується на віртуальній машині Beam і є досить близьким родичем мови Erlang, який протягом декількох десятиліть відмінно демонстрував себе в ряді проектів. Крім того, дана мова показує просто неймовірні результати щодо продуктивності.

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

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

Кілька важливих зауважень:

  • придивіться до F # на фреймворку .Net або навіть до всюдисущому C #. Якщо ви все ж виберете останній варіант, то будьте готові до того, що для створення чудової команди вам доведеться переглянути і просіяти набагато більшу кількість резюме;
  • за допомогою Scala можна творити вражаючі речі;
  • Node.js. Я просто зобов'язаний згадати Node.js. Особисто я вважаю, що на даний момент на вершині ланцюжка варто Javascript, але Node вже довгий час також входить в список досить широко використовуваних мов. Крім того, є велика кількість висококваліфікованих фахівців.

Джефрі Барнс, створив 3 плагіна для iQuery за допомогою JavaScript

Питання про заміну PHP нагадують щось типу «ой, а чи можу я замінити манго апельсином?».

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

Краще звернемося до деяких фактів:

  • PHP досить потужний, щоб використовуватися в одній з найбільших систем з ведення блогів - WordPress;
  • PHP досить грунтовний, щоб використовуватися в одній з найбільших соціальних мереж - Facebook;
  • PHP легко вивчити;
  • PHP працює з різними платформами: Windows, Linux, Unix і Mac OS X;
  • PHP сумісний майже з усіма використовуваними сьогодні серверами, серед яких Apache і IIS;
  • PHP підтримує величезну кількість баз даних;
  • PHP можна скачати безкоштовно.

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

WooCommerce - це комерційна онлайн-платформа, створена і працює повністю на PHP. WooCommerce займає близько 37% всієї сфери онлайн-покупок і на сьогодні є найбільш популярною електронної комерційної платформою в інтернеті. Статистика від компанії Builtwith представляє WooCommerce і Magento (теж працює на PHP) в якості найбільш популярних фрейворков для онлайн-магазинів.

У PHP-розробника завжди є підтримка одного з найбільших спільнот, що працюють з відкритим вихідним кодом (Stack Overflow і GitHub). А можливість в будь-який момент отримати допомогу або цінну пораду значно полегшує навчання будь-якого предмета, особливо веб-розробці. Крім додатків для онлайн-магазинів існує величезний вибір веб-сайтів, веб-сервісів і багато чого іншого, що можна створити за допомогою цієї мови. PHP пишається тим, що є мовою з найбільшою кількістю фреймворків з відкритим вихідним кодом для створення веб-сайтів. Можна протягом довгого часу міркувати про PHP, але кращий спосіб оцінити його продуктивність і зручність - це вивчити мову, створити на ньому проект і скласти враження виходячи з власного досвіду.

Берроуз Аббасі, вчиться в Болонському університеті

PHP вмирає? Ні, ні, ні, це не так! Насправді навпаки, він росте і розвивається: для порівняння погляньте на PHP7 і на PHP5.x.

У PHP є одні особливості, у Scala - інші, у Go - треті, у інших мов - ще якісь. Але суть в тому, що у PHP, як і у будь-якої мови, є свої переваги і недоліки, а вибір PHP (або будь-якого іншого мови програмування) на самій-то справі залежить від проекту, його цілей, масштабів та іншого. Facebook вибрав PHP в якості базової мови, потім вони створили Hack, HHVM. Але чи означає це, що Hack стане кращим мовою для створення вашої передбачуваної соціальної мережі? А Ruby? Go? Node.js? Python?

Python

Вім тен Брінк, COBOL-розробник

На даний момент існує величезна кількість альтернатив. Головними претендентами, на мій погляд, є Python і Ruby on Rails. Ринок мобільного розробки зростає шаленими темпами, і мобільні додатки найчастіше створюються на основі швидше веб-сервісів, ніж веб-сайтів. PHP може створювати веб-служби, але робить це не кращим чином. Це означає, що фронт-енд для веб-сайтів почне грати більш важливу роль, а, значить, JavaScript займе чільну позицію. А Web Assembly, в свою чергу, замінить його, коли стане еталоном.

Тому я припускаю, що на веб-сайтах будуть розміщуватися в основному прості веб-сторінки, навіть статичні HTML-сторінки з широким використанням JavaScript. Це зменшило б необхідність в бек-енд розробці для веб-сайтів і означало б, що для них тепер можна використовувати простий JavaScript, який працює з усіма видами веб-сервісів. З урахуванням того, що веб-служби найчастіше намагаються створювати за допомогою компільованих мов, щоб ті могли стати частиною великого проекту або навіть декількох проектів, то C #, Java і C ++, на мій погляд, є відмінним вибором для веб-сервісів.

Чи загрожує PHP виявитися не при справах, що може його замінити і яку мову ви б обрали для створення сайту типу Facebook?
Але чи означає це, що Hack стане кращим мовою для створення вашої передбачуваної соціальної мережі?
А Ruby?
Go?
Js?
Python?