Щоразу, коли я переглядаю веб-сторінку, присвячену якійсь мові програмування, я завжди бачу слово "потужний" у списку ідіосинкрасій / атрибутів.
Якщо кожна мова програмування є потужною, чому вони ставлять це слово в підручники / документації?
Щоразу, коли я переглядаю веб-сторінку, присвячену якійсь мові програмування, я завжди бачу слово "потужний" у списку ідіосинкрасій / атрибутів.
Якщо кожна мова програмування є потужною, чому вони ставлять це слово в підручники / документації?
Відповіді:
Я не можу вважати мову, яку коли-небудь описували як слабку. Так, я вважаю це маркетинговим розмиттям, і не тільки це, це покладає на програміста тягу для невдач, а не на основні можливості мови. Я маю на увазі, мова є потужною, тому, якщо є проблеми з кодом, вона явно не може лежати в специфікаціях для того, що, очевидно, дивовижна мова.
Річ у тому, що якщо наступна нова мова не описує себе як потужна, це матиме негайний недолік у порівнянні з раніше існуючими конкурентами, які описують себе як потужні. Це як вічне коло зараз.
Правило №207 мов програмування полягає в тому, що вони в деяких справах хороші (тобто є потужними) і справді смотряться на інших.
Маркетинговий матеріал не вистачає в описі того, де потужна мова, яку він натискає. Наприклад, Perl чудово підходить для обробки тексту, оскільки має деякі потужні функції, які полегшують обробку рядків, але є справжнім смердюком для високоефективного скорочення чисел. FORTRAN - навпаки.
Тому що це завжди правда в якомусь сенсі. Один або кілька цих потужних аспектів стосується всіх мов програмування:
Я впевнений, що міг би продовжувати, але я навіть не впевнений, що насправді означає потужне . Чи є мова ефективною, виразною, лаконічною чи що. Просто ще одне слово про те.
Якщо ви маєте на увазі його використання в реченнях на кшталт "Мова програмування X - це потужний, стислий, елегантний інструмент для виконання Y і Z", ну, це реклама / пропаганда. Якщо ви слухаєте їх усіх, усі мови є потужними, вся їжа є смачною, всі машини або приємні для сім’ї, або круті / швидкі, усі країни праведні та героїчні у світі зрадників та нелюдських диктаторів, усі релігії мають рацію, тощо.
Як і половина інших прикладів, це не зовсім помилково, але навіть не є близьким до всієї істини - мова A добре працює для таких завдань, як X, мова B краще працює для таких завдань, як Y, обидва такі, у яких інший хороший. (Іноді бувають мови, які абсолютно і зовсім непридатні для практичних цілей і створені і вивчені лише для комедій. Це езотеричні мови, і ніхто не пише для них серйозної пропаганди.)
Потужність відносна. Кожна мова певним чином є більш потужною, ніж старі. Java є більш потужною, ніж C ++, оскільки спрощує управління пам'яттю. C ++ є більш потужним, ніж Java, оскільки має шаблонні класи та функції та перевантаження операторів та детерміновані знищення.