Чи стане JavaScript "вбивцею" Java?

Чи буде Java знищена за допомогою JavaScript? Таке питання поставили користувачі сайту Quora . Найцікавіші відповіді KV.by зібрали в матеріалі.

сайту Quora

Джерасон Бенс, головний інженер

  • Чи буде машинний код знищений ассемблером?
  • Чи буде асемблер знищений за допомогою C?
  • Чи буде C / C ++ знищений за допомогою Java?

Відповідь на всі ці питання - так і ... немає. Давайте поміркуємо:

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

Бінарну або реляційну базу даних я б створював скоріше за допомогою C, ніж Java або асемблера. Структури даних на рівні байтів набагато простіше висловити за допомогою структур мови програмування C. А операція разименованія покажчика дозволяє мені написати неймовірно майстерний код, за допомогою якого можна буде добитися прекрасних показників продуктивності під час операцій з маніпулювання даними. Я можу також зробити це в асемблері, але це зажадає більшої кількості зусиль.

Для низькорівневих операцій з апаратними засобами я б скоріше використовував асемблер, ніж C або машинний код. Я також можу зробити це в C, але в цьому випадку може бути складно зрозуміти, які операції відбуваються в той момент, поки я в критичній секції. Крім того, буде вкрай важко діагностувати і усунути баги.

Займаючись розробкою електрично переться перепрограмувальний ПЗУ (EEPROM), я б скоріше використовував машинний код, ніж асемблер. Це можна було б зробити в асемблері, але тоді мені б довелося повозитися з настройками, щоб видалити непотрібну інформацію. У мене є тільки 512 байт для цього, тому кожна команда має значення! Набагато простіше відкрити шістнадцятковий редактор і зробити все в ньому.

Кожна з вищеназваних технологій все ще існує, хоча і передбачалося, що вони повинні були бути «знищені» новими замінниками. І ми все одно достатньо часто використовуємо більш старі інструменти, що знаходяться на більш низькому рівні, щоб створити те, що нам необхідно.

Якщо ми застосуємо до Javascript висновки, зроблені вище, то ми виявимо, що призначений для користувача інтерфейс я б вважав за краще створювати в Javascript, а не в Java. Функціональний дизайн Javascript's, а саме однопоточні модель циклу подій з Неблокована I / O, а також вбудовані структури даних дозволили б мені якісно взаємодіяти з користувачем і мати справу з безліччю паралельних елементів управління, написавши при цьому мінімальний код. Я можу також зробити все це в Java, але код тоді буде більш громіздким, крім того, в цьому випадку я повинен буду добре розбиратися в паралельному програмуванні.

Камерон Перді, програміст

По-перше, JavaScript примудрився майже поодинці знищити Java-аплети, Silverlight і мультимедійну платформу Adobe Shockwave / Flash. На даний момент для роботи в браузері (а також майже для всіх практичних цілей) найчастіше використовується JavaScript (а також ті інструменти, які з ним сумісні). Тому якщо ми ведемо мову про код, що виконується в веб-браузері, який запущений на телефоні, планшеті, ноутбуці або ПК, тоді так, JavaScript знищив Java.

По-друге, це лише питання ціни. Я б припустив, що наступним мовою, який JavaScript буде знищувати, буде ... JavaScript! Причина такого висновку проста і очевидна для будь-якого, хто коли-небудь використав JavaScript або будь-який інший шановний мову програмування: для будь-якого значного додатки витрати на підтримку додатків, що функціонують на базі JavaScript, істотно перевищують витрати на заміну тих же самих JavaScript-додатків. Або як свідчить одна стара приказка: «Завжди не вистачає часу, щоб виконати роботу як треба, але на те, щоб її переробити, час знаходиться». JavaScript вже вмирає під власною вагою, але поки немає альтернативи, яка б змогла його замінити, кількість програм, написаних і переписаних на цій мові, тільки зростає.

Пітер Шинек, програміст

Серйозно, хлопці, досить розводити галас з цього приводу. Я знаю, про що я говорю - я був там до релізу Ruby on Rails 1.0. Галас була просто неймовірна!

Через 10 років я все також працюю з Ruby / Ruby on Rails завжди, коли є така можливість. Але при цьому я ніколи не стану використовувати цей фреймворк для наступних цілей:

  • Машинне навчання / Штучний інтелект. Використання мови програмування Python в цьому випадку більш ніж очевидно.
  • Завдання, для виконання яких важливе значення мають обчислення або швидкість виконання. В цьому випадку я б почав з Crystal, а якби його інструментів не вистачало, то перейшов би на C ++ / C / асемблер.
  • Завдання, під час виконання яких необхідно забезпечити високий рівень безпеки, наприклад, банківські операції, вкрай конфіденційні державні програми та інше. Чи можете ви використовувати для цього Rails / Ruby? Звичайно. Чи станете ви це робити? Сподіваюсь, що ні. Для цього є Java.
  • Високо паралельна / розподілена обробка даних. Завдання непросте тільки тому, що існує величезна кількість доступних інструментів: Elixir, Scala, Go, Rust.

І список можна продовжувати і далі. Суть полягає в тому, що необхідно вибирати найкращий інструмент для виконання конкретного завдання.

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

Ви збираєтеся стати творцем наступного Facebook / Google / Snapchat? Тоді, можливо, для вас було б непогано переглянути архітектуру коду і почати реорганізацію його критичних моментів.

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

І, наостанок, ще одне питання на роздуми: чи зможе Javascript знищити один з найстаріших мов програмування COBOL?

Пауліна Йонушайте, більше 15 років ретельно вивчала і застосовує різні мови програмування

Ось повний список людей, зацікавлених в розробці настільних додатків з використанням JavaScript:

  • Люди, які раніше працювали в сфері розробки веб-інтерфейсу, але потім усвідомили, що дана сфера не така прибуткова, як їм би хотілося.

Ось неповний список людей, які не хочуть мати ніяких справ з JavaScript при розробці настільних додатків:

  • Великі компанії, які задіяні в круговороті 95% всіх фінансів в даній сфері і прагнуть приймати тільки здорові рішення щодо підвищення рівня доходів. Ви знаєте, це такі хлопці, які, коли все йде шкереберть, шукають професіонала для вирішення проблем, а не говорять щось на кшталт «Слухай, Боб, тут на форумі написано, що у такий-то фірми була схожа проблема і їм допомогло ось це ось рішення. Давай і ми так спробуємо? ».

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

Для того щоб JavaScript хоча б якимось чином спробував почав загрожувати існуванню Java, знадобиться не що інше, як революція.

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

Мартін Бок, програміст, підприємець

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

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

Головною перевагою Java є не сама мова (громіздкою і часто багатослівний), але віртуальна Java-машина (JVM), на якій він працює. Саме ця віртуальна машина має якраз тими характеристиками, які залучають людей, а саме, швидкістю, надійністю, потужністю і безпекою.

Це зовсім не означає, що немає місця для інших мов, таких як, наприклад, JavaScript. У кожної мови є свої переваги і недоліки, а також певна область застосування. Це прекрасно, що створюються нові інструменти, що дозволяють використовувати JavaScript більш ефективно, але це жодним чином не означає, що саме ця мова замінить всі інші. Вже існує можливість створювати Кросплатформені додатки на основі Java і інших мов. Чому ж тоді люди все одно переключаються на JavaScript? Це відбувається тому, що у JavaScript є цікаві функції, які, на жаль, підходять не для всіх ситуацій. Переваги Javascript роблять роботу з ним досить приємною, але недоліки так само мають місце бути. І вони залишаться, так як існує необхідність у зворотній сумісності.

Чи буде Java знищена за допомогою JavaScript?
Чи буде асемблер знищений за допомогою C?
Чи буде C / C ++ знищений за допомогою Java?
Чи можете ви використовувати для цього Rails / Ruby?
Чи станете ви це робити?
Ви збираєтеся стати творцем наступного Facebook / Google / Snapchat?
І, наостанок, ще одне питання на роздуми: чи зможе Javascript знищити один з найстаріших мов програмування COBOL?
Давай і ми так спробуємо?
Чому ж тоді люди все одно переключаються на JavaScript?

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

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: