Считается ли HTML языком программирования? [закрыто]


184

Я предполагаю, что вопрос не требует пояснений, но мне интересно, квалифицируется ли HTML как язык программирования (очевидно, «L» обозначает язык).

Причина для этого более прагматична: я собираю резюме и не хочу выглядеть дураком, если перечисляю такие вещи, как HTML и XML, под языками, но не могу понять, как их классифицировать.


28
Может быть, вы не должны называть это языками программирования, а просто языками , технологиями , опытом или навыками .
Гамбо

5
Здравствуй. Я использую Java EE, и я программирую на XML, кажется ...
whirlwin

4
Нет, языки программирования должны быть завершены. HTML не завершен.
Арунав Саньял

2
HTML похож на перфорированные музыкальные листы, подаваемые в автоматическое пианино для браузеров. В некотором смысле это язык программирования браузера, то есть он указывает браузеру, что показывать. Многие языки в наши дни имеют высокоуровневые лямбда-конструкции, такие как LINQ в C #, которые сообщают компьютеру, что делать не так. Эволюция языков программирования движется к более декларативному характеру, языки как Kotlin очевидны из этого.
Aggaton

Любопытно, что Правило 110 было реализовано с использованием CSS 3, и было показано, что оно завершено по Тьюрингу.
aggaton

Ответы:


463

Нет, HTML не является языком программирования. «М» означает «разметка». Как правило, язык программирования позволяет вам описывать некоторый процесс выполнения чего-либо, тогда как HTML - это способ добавления контекста и структуры к тексту.

Если вы хотите добавить больше алфавитного супа в свое резюме, не классифицируйте их вообще. Просто положите их в большую кучу под названием «Технологии» или что угодно. Помните, однако, что все, что вы перечисляете, является честной игрой для вопроса.

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

Однако, если ваш HTML-опыт включает в себя серьезные элементы веб-дизайна, включая Ajax, JavaScript и т. Д., Вы можете поговорить об этом в разделе «Опыт».


38
+1 для того, чтобы назвать это инициализацией вместо сокращения
Джейсон

15
TeX - полный по Тьюрингу язык, поэтому его классификация как языка программирования или языка разметки немного размыта. :)
Mipadi

7
По-видимому, HTML5 + CSS3 также завершен: lemire.me/blog/archives/2011/03/08/…
e-

3
Я использовал LaTeX как навык, но потому что это важно в некоторых областях. :)
Брайан д Фой

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

64

ДА, декларативный язык программирования.

Вы действительно хотите перечислить в своем резюме самые важные вещи, которые вы знаете, которые имеют отношение к работе, на которую вы претендуете. Если вы перечислите ASP.NET, но не перечислите HTML, хотя это несколько очевидно, есть много менеджеров и / или типов персонала, которые предполагают, что вы не знаете HTML, поскольку его нет в списке. У меня было такое раньше со мной.

Обновление - Некоторые говорят, что нет, это не язык программирования, и вы можете не согласиться со мной по этому поводу, но независимо от резюме это язык программирования. Вы просматриваете типы HR, просматривая свое резюме еще до того, как менеджер по найму его увидит. Если менеджер говорит, что вам нужно знать HTML, и он не указан в разделе «Языки программирования», то специалист по персоналу может игнорировать ваше возобновление, думая, что вы его не знаете, потому что его нет в списке.

Обновление 6-8-2012: любая инструкция, которая говорит компьютеру что-то делать, является языком программирования. Так что даже после всех этих лет я все еще поддерживаю свой ответ. HTML это язык программирования. То, что не является языком программирования, будет XML.


16
Если hello world - это программа, то html-страницы - это программы, поскольку они представляют собой просто более сложный hello world. Следовательно, html - это язык программирования, так как он инструктирует компьютер о том, что делать. Я с этим парнем.
свободное пространство

17
Не правда. Даже в привет мире есть логика. Просто потому, что ваша любимая среда IDE подготавливает необходимую структуру программы под обложками, или для вывода на печать требуется всего несколько ключевых слов, логика работает. Я согласен с Крисом здесь относительно HR.
Эд С.

40
@freespace - по этому определению почти все является языком программирования, что делает его практически бесполезной классификацией.
Kaz Dragon

20
@freespace: этот аргумент бессмыслен. По сути это то же самое, что сказать: у собак есть мех. Кошки имеют мех. Поэтому кошки - это собаки.
Джеймс Керран

8
@ChrisPietschmann декларативный, да. Программирование, нет. Как вы будете писать цикл в HTML?
Турбьёрн Равн Андерсен


22

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

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


2
«все же люди будут перечислять это как язык», конечно, как язык запросов, а не язык программирования.
Андрей Истомин

@AndrejIstomin Я не видел, что вы говорите не о HTML, а о SQL, извините.
Карл Рихтер

14

«М» означает «разметка». Это «Язык разметки», а не язык программирования. Некоторые люди не согласятся с этим, но я считаю, что если в нем отсутствуют логические конструкции (условное ветвление, итерации и т. Д.), То это не совсем язык программирования.

Что касается резюме, я бы предложил поместить HTML и XML в раздел «Технологии». У меня обычно есть такой раздел, где я перечисляю такие вещи, как программное обеспечение для контроля версий, ОС, для которых я разработал, сборка систем и т. Д.


1
Пролог не имеет петель. Многие функциональные языки вынуждены прибегать к рекурсии.
Аггатон

13

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

Но если вы рассматриваете программирование как акт, рассказывающий компьютеру, как представлять содержимое, это язык программирования.


2
«Но если вы рассматриваете программирование как акт, рассказывающий компьютеру, как представлять содержимое, это язык программирования». В этот момент можно было бы также назвать все программированием, потому что это в основном и есть причинность. xD

13

Если вы собираетесь сказать, что HTML - это язык программирования, то вы можете также включить такие вещи, как текстовые документы, поскольку они тоже основаны на ML или «языке разметки».

Итак, нет, HTML не является языком программирования. По этой причине это называется «разметка».

Проще говоря - HTML определяет контент!


2
Как <b> это жирный шрифт </ b> сопоставим с этим жирным шрифтом ? Если HTML не является языком программирования, хорошо, но работа с HTML! = Работа с документами Word.
ДПП

2
Слово это приложение. Rich Text Files или различные другие файлы, которые производит слово, могут (и считаются) считаться языками, специфичными для предметной области. И если вы знаете RTF или любую другую сложную разметку (особенно некоторые из старых двоичных форматов, вы должны с радостью включить это в свое резюме. Эти звери становятся довольно сложными.)
Мэтью Уитед

HTML - это язык программирования - как бы он ни был прост, он все еще входит в общий термин язык программирования. Как я уже говорил, очень часто в Word вы вручную настраиваете, что такое абзац или заголовок и т. Д. В HTML вы «автоматизируете» процесс, сообщая / инструктируя браузер сделать что-то заголовком или абзацем (вместе со всеми остальными инструкциями, которые доступный). Программирование может быть очень простым или действительно сложным. Не существует заданного параметра для того, насколько сложным должно быть что-то, чтобы это было «программированием». Это просто должно быть что-то, что заставляет что-то делать что-то ...
Cheesus Toast

10

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

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


9

В классе продвинутых языков программирования, который я взял в колледже, у нас было, как мне кажется, довольно хорошее определение «языка программирования»: язык программирования - это любой (формальный) язык, способный выражать все вычислимые функции, что подразумевает тезис Черча-Тьюринга это набор всех вычислимых по Тьюрингу функций.

По этому определению, нет, HTML не является языком программирования, даже декларативным. Как объяснили другие, это язык разметки.

Но люди, рассматривающие ваше резюме, вполне могут не заботиться о таком формальном различии. Я бы следовал советам других людей и перечислял их в разделе «Технологии».


Не очень хорошее определение, потому что C не является полным по Тьюрингу, в то время как HTML5 + CSS3 таковы, так что я бы просто сказал, что HTML не является «общим» языком программирования, просто узкоспециализированным.
Серж

3
@Serge В каком значимом смысле C не является тьюрингово-полным, а HTML5 + CSS3?
Майкл Экстранд

доступный баран C ограничен 2 ** num_bits (size_t) в зависимости от стандарта и реализации, это может варьироваться, возможно, существуют некоторые лазейки, но допустим, что полнота по Тьюрингу для 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 »в конце раздела четко разделены.

На французском у меня есть раздел «Langages» (программирование и разметка) и еще один «Langues» (французский / английский). В англоязычной версии я назвал оба на «Языки», что теперь неуклюже, когда я об этом думаю, хотя контекст проясняет это. Я должен найти лучшую формулировку.


4

HTML никоим образом не является языком программирования.

Языки программирования имеют дело с «функциями обработки» и т. Д. HTML имеет дело только с визуальным интерфейсом веб-страницы, где фактическое программирование обрабатывает обработку. PHP например.

Если кто-то действительно знает программирование, я действительно не понимаю, как люди могут принять HTML за настоящий язык программирования.


6
Это просто неправда. Язык программирования просто предоставляет инструкции для компьютера, чтобы что-то делать. HTML - это предметно-ориентированный язык, который инструктирует компьютер о базовом макете гипертекстового документа.
Мэтью Уайтед

3
Затем текстовый файл инструктирует компьютер, какой текст выводить на экран
whackamadoodle3000

... Если, конечно, вы не образованы и не понимаете английский язык и информатику ... в этом случае HTML, очевидно, является языком программирования. Мне нравится, когда люди используют такие слова, как «фактический» или «настоящий», потому что они обычно сидят рядом с «ошибкой истинного шотландца». Вы когда-нибудь использовали словарь? В следующий раз, когда вы это сделаете, как вы внимательно изучите определение «программирование» и определите, где оно имеет ЗАВИСИМОСТЬ от слова «обработка». Почему я знаю, что HTML - это язык программирования? У меня есть диплом с отличием в области компьютерных наук, и я понимаю английский.
Тост Cheesus

3

С точки зрения найма, будучи с обеих сторон, определенно поместите HTML в «языки программирования» или, возможно, более безопасно в «технологии».

Да, мы все знаем, что это язык разметки, а не язык программирования. но а) кадровые агентства не знают и не заботятся, и б) работодатели не знают и не заботятся. В самом деле.

И указание на их невежество только послужит вам плохо. И технари, которые в конечном итоге увидят ваше резюме, будут благодарны кандидату, который слышал о HTML, и не будут беспокоиться о таксономии.

Честно говоря, это не проблема.


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

7
Если вы планируете работать на кого-то еще после получения диплома, Мизери, не забывайте практиковаться в сокрытии презрения, чтобы не проваливать каждое собеседование из-за того, что «заявитель ведет себя как придурок» :)
Peter Recore

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

0

Перечислите это под технологиями или чем-то. Я бы просто оставил это на вашем месте, так как вполне ожидаемо, что вы знаете HTML и XML на данном этапе.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.