Чи вважається HTML мовою програмування? [зачинено]


184

Я здогадуюсь, що питання є само собою зрозумілим, але мені цікаво, чи кваліфікується HTML як мова програмування (очевидно, що "L" означає мову).

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


28
Можливо, ви не повинні називати це мовами програмування, а просто мовами , технологіями , досвідом чи навичками .
Gumbo

5
Привіт. Я використовую Java EE, і я програмую в XML, здається ...
whirlwin

4
Ні, мови програмування повинні бути завершеними. HTML не завершується.
Arunav Sanyal

2
HTML схожий на перфоровані музичні аркуші, подані в автоматичне фортепіано, для браузерів. У певному сенсі це мова програмування браузера, тобто вказує браузеру, що потрібно показувати. У багатьох мовах в наші дні є конструкції лямбда на високому рівні, такі як LINQ в C #, які вказують комп'ютеру, що робити не робити. Еволюція мов програмування рухається до декларативнішого характеру, такі мови, як Котлін, очевидні.
аґгатон

Як цікавість, правило 110 було реалізовано за допомогою CSS 3, і було показано, що Тьюрінг завершений.
aggaton

Відповіді:


463

Ні, HTML не є мовою програмування. "M" означає "Розмітка". Як правило, мова програмування дозволяє описати якийсь процес виконання чогось, тоді як HTML - це спосіб додати контекст і структуру до тексту.

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

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

Однак якщо ваш досвід роботи з HTML включає серйозні матеріали веб-дизайну, включаючи Ajax, JavaScript тощо, ви можете поговорити про них у розділі "Досвід".


38
+1 за те, що називав це ініціалізацією замість абревіатури
Джейсон

15
TeX - повна мова Тьюрінга, тому її класифікація як мови програмування або мови розмітки трохи розмита. :)
mipadi

7
Мабуть, HTML5 + CSS3 також завершується: lemire.me/blog/archives/2011/03/08/…
e-satis

3
Раніше я ставлю LaTeX як навичку, але тому, що це важливо в деяких областях. :)
Брайан d foy

7
@SarahofGaia - це абревіатура, коли ви говорите букви так, ніби це було слово (наприклад, NASA), де ініціалізацією є те, де ви говорите кожну окрему букву (наприклад, HTML). Це тонка різниця, але одна з них.
Джейсон

64

ТАК, декларативна мова програмування.

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

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

Оновлення 6-8-2012: Будь-яка інструкція, яка сповіщає комп'ютер щось робити, є мовою програмування. Тож навіть після всіх цих років я все ще стою свою відповідь. HTML - мова програмування. Щось, що не є мовою програмування, буде XML.


16
Якщо hello world - це програма, то html-сторінки - це програми, оскільки вони є лише складнішим світом hello. Ergo, html - мова програмування, оскільки він інструктує комп'ютер, що робити. Я з цим хлопцем.
простір

17
Неправда. Навіть привіт світ має в ньому логіку. Тільки тому, що ваш улюблений IDE готує необхідну структуру програми під обкладинками, або для друку на вихід потрібно лише кілька ключових слів, в роботі є логіка. Я згоден з Крісом тут щодо HR.
Ед С.

40
@freespace - за цим визначенням майже все є мовою програмування, що робить його практично марною класифікацією.
Kaz Dragon

20
@freespace: Цей аргумент - нісенітниця. Це по суті те саме, що говорити: Собаки мають хутро. Кішки мають хутро. Тому коти - собаки.
Джеймс Курран

8
@ChrisPietschmann декларативний, так. Програмування, немає. Як ви пишете цикл у HTML?
Thorbjørn Ravn Andersen


22

На деякому рівні Кріс Пітшман вірно. SQL не є Тюрінгом повним (принаймні, без збережених процедур), але люди перелічать, що як мову, TeX є Turing завершеним, але більшість людей розглядають його як мову розмітки.

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


2
"поки люди перелічать це як мову", звичайно, як мову запиту, а не програмування.
Андрій Істомін

@AndrejIstomin Я не бачив, що ти говориш не про HTML, а про SQL, вибач.
Карл Ріхтер

14

'M' означає «Розмітка». Це "мова розмітки", а не мова програмування. Деякі люди не погоджуються з цим, але я вважаю, що якщо йому не вистачає логічних конструкцій (умовне розгалуження, ітерація тощо), це насправді не мова програмування.

Що стосується резюме, я б запропонував розмістити HTML та XML під таким розділом, як "Технології". У мене зазвичай є такий розділ, де я перераховую такі речі, як програмне забезпечення для управління версіями, ОС, яку я розробив, побудувати системи тощо


1
Пролог не має циклу. Багато функціональних мов доводиться вдаватися до рекурсії.
аґгатон

13

Я думаю, що не саме мова програмування, а саме те, що говорить її назва: мова розмітки. Ми не можемо програмувати, використовуючи просто чистий HTML. Але просто поясніть, як презентувати контент.

Але якщо ви розглядаєте програмування акта, щоб розповісти комп’ютеру, як представляти вміст, це мова програмування.


2
"Але якщо ви розглядаєте програмування акта, щоб розповісти комп'ютеру, як представляти вміст, це мова програмування." У цей момент можна також назвати все програмування, тому що в основному це причинність. xD

13

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

Отже, ні, HTML - це не мова програмування. З цієї причини його називають "розміткою".

Простіше кажучи - HTML визначає вміст!


2
Як можна <b> це жирним шрифтом </b> порівняти з цим жирним шрифтом ? Якщо HTML не є мовою програмування, добре, але він працює з HTML! = Робота з Word Documents.
dpp

2
Word - це додаток. Файли з багатою текстовою формою або різні інші файли, що створюються, можуть вважатися (і вважаються) доменними мовами. І якщо ви знаєте RTF або будь-яку іншу складну розмітку (особливо деякі старіші формати на основі бінарних даних, ви повинні бути раді ввести це у своє резюме. Ці звірі виходять досить складними.)
Matthew Whited

HTML - мова програмування - настільки ж простою, як і раніше, вона все ще потрапляє в парасольковий термін мови програмування. Як я вже говорив, дуже часто в Word ви вручну налаштовуєте, що є абзацом чи заголовком тощо. У HTML ви "автоматизуєте" процес, повідомляючи / вказуючи веб-переглядачу робити щось заголовком чи абзацом (разом з усіма іншими інструкціями, які є доступно). Програмування може бути дуже простим або справді складним. Немає встановленого параметра, наскільки складним є щось, щоб воно було «програмуванням». Це просто потрібно бути чимось, що змушує щось робити щось ...
Чіст-тост

10

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

Я б не перелічував HTML у розділі "мови програмування" поряд із C # чи ще чимось, але варто зазначити ваш досвід.


9

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

За цим визначенням, ні, HTML - це не мова програмування, навіть декларативна. Це, як пояснили інші, мова розмітки.

Але люди, які переглядають ваше резюме, можуть не перейматися такою формальною відмінністю. Я б дотримувався добрих порад, які давали інші, і перелічу їх у розділі "Технології".


Не дуже вдале визначення, оскільки C не є Turing завершеним, тоді як HTML5 + CSS3 є, тому я просто сказав, що HTML не є "загальною" мовою програмування, а лише вузькоспеціалізованою.
Серж

3
@Serge У якому значущому сенсі C не є повним Turing, але HTML5 + CSS3 є?
Майкл Екстранд

доступний операційний модуль C обмежений 2 ** num_bits (size_t), залежно від стандарту та реалізації, це може змінюватись, можливо, існують деякі лазівки, але скажімо, Turing повнота C є сумнівною. Доказ повноти HMTL + CSS у стаціонарному потоці очікує певного рівня участі людини, тому, ймовірно, не на 100% переконливого. Так чи інакше знайдеться дуже малоймовірні мови від анімації Powerpoint до нотації Turing Complete gwern.net/Turing-complete
Серж,

5
Я не думаю, що обмеження обмеженою пам'яттю є корисним запереченням щодо того, щоб вважати C (або будь-яким іншим мовою програмування) Тюрінгом як повним. Будь - яка реально реалізована система буде обмежена обмеженою пам'яттю, включаючи HTML5 + CSS3 або PowerPoint.
Майкл Екстранд

ми говоримо про не реально реалізовану систему (кількість атомів / частинок у спостережуваному Всесвіті, ймовірно, обмежена)
Серж,

7

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

Лише дурні б ігнорували заявника, оскільки він чи вона перераховували HTML під "мовами" замість якоїсь іншої мітки, тим більше, що немає галузевого стандарту. А хто хоче працювати дурням?


7

Ні - в ІТ є великий забобон щодо веб-дизайну; але в цьому випадку "справжні" програмісти знаходяться на досить твердій основі.

Якщо ви зробили багато робіт з веб-дизайну, ви, мабуть, зробили деякі JavaScript, тому ви можете помістити це під "Мови програмування"; якщо ви хочете також перелічити HTML, тоді я погоджуюся з відповіддю, що пропонує "Технології".

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


5

Ну, L - це мова, але це не означає мову програмування. Зрештою, англійська чи французька теж є (природними) мовами! ;-)

Як було сказано вище, технологія здається хорошим терміном.

(Дивлячись на власне резюме, яке не оновлювалося через деякий час), я створив розділ, який називався "Мови", тому я не можу помилитися ... :-D
Я поставив "(X) HTML та CSS, XML / DTD / Схема та SVG "в кінці розділу, чітко розділені.

Французькою мовою у мене є розділ "Лангажі" (програмування та розмітка) та ще один "Мови" (французька / англійська). В англійській версії я назвав обидва на "Languages", що незграбно зараз, коли я думаю про це, хоча контекст це уточнює. Я повинен знайти кращу формулу.


4

HTML жодним чином не є мовою програмування.

Мови програмування стосуються "функцій обробки" тощо. HTML просто стосується візуального інтерфейсу веб-сторінки, де власне програмування обробляє процес обробки. Наприклад, PHP

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


6
Це просто неправда. Мова програмування просто дає вказівки комп'ютеру щось робити. HTML - це специфічна для домену мова, яка вказує комп'ютеру основний макет документа з гіпертекстом.
Метью Віт

3
Потім файл txt вказує комп'ютеру, який текст відображати
whackamadoodle3000

... Якщо, звичайно, ви не освічені та не розумієте англійську мову та інформатику ... в цьому випадку HTML, очевидно, є мовою програмування. Мені подобається, коли люди використовують такі слова, як "фактичний" або "справжній", тому що вони зазвичай сидять прямо біля "Справжньої помилки шотландець". Ви коли-небудь використовували словник? Наступного разу, як наслідок, ви уважно вивчіть визначення поняття "програмування" та знайдіть, де в ньому є ЗАЛЕЖНІСТЬ щодо слова "обробка". Чому я знаю, що HTML - це мова програмування? У мене з відзнакою перший клас з інформатики і я розумію англійську мову.
Сирний тост

3

У термінах набору, опинившись по обидва боки паркану, обов'язково поставте HTML під "мови програмування" або, можливо, більш безпечно під "технології"

Так, всі ми знаємо, що це мова розмітки, а не мова програмування. але а) Кадрові агенції не знають і не цікавляться; б) роботодавці не знають і не цікавляться. Дійсно.

І вказівка ​​на їхнє незнання лише послужить вам хворим. І тех, хто врешті-решт побачать ваше резюме, будуть вдячні кандидату, який чув про HTML, і не буде хвилюватися з приводу таксономії.

Чесно кажучи, це не проблема.


1
Техніки, які побачать ваше резюме, будуть вдячні кандидату, який чув про HTML? Я ще не закінчив коледж, але я вже зневажаю людей, які перелічують HTML в рамках мов програмування. Але до кожного я гадаю.
MiseryIndex

7
Якщо ви плануєте працювати над ким-небудь ще після закінчення навчання, Misery, не забувайте практикувати приховування презирства, щоб ви не провалили кожного інтерв'ю через "заявник діє як ривок" :)
Peter Recore

3
Трохи суворий, Пітер, але ти можеш мати рацію - якщо ви серйозно зауважили, то часто будете стикатися з неправильно опитаними інтерв'юерами; тактовно не погоджуючись може отримати вам роботу, але якщо ви будете зневажливими та вищими, ви збираєтесь пропустити - незалежно від того, наскільки ви «правильні».
CJM

0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.