21

Re: Сьогодні я дізнався

ExPy написав:

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

Jakctco ne pomyljaju sja, zazminnyty mogna v KSS jakosj.

22

Re: Сьогодні я дізнався

ExPy написав:

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

Тег script, і робите все у ньому. Ну або всілякі атрибути на on (напр., onclick). «Мова розмітки» — це те, чим був ранній html до інвазії в нього сторонніх елементів. Markdown, вікі-розмітка, BBCode — мови розмітки. TeX — мова розмітки. Якщо ж це html-файл, у якому є лише виклик скрипта для підвантаження JSON-контейнерів з контентом, відображуваним через звернення до API браузера, то тикніть мені пальцем, в якому місці це розмічений текст? Правильніше говорити про сучасний html як формат-контейнер, що може містити розмічений текст, скрипти, таблиці стилів тощо.

23 Востаннє редагувалося koala (26.02.2020 13:08:40)

Re: Сьогодні я дізнався

P.Y. написав:

Тег script, і робите все у ньому.

Так це вже не HTML буде. HTML не передбачає виконання скриптів, він їх віддає браузеру, а там хай браузер розбирається. З таким самим успіхом ми можемо заявити, що .txt-файли - файли програм, адже в них можна зберігати код на C++.
Загалом питання про HTML залежить від визначення, що таке мова програмування. HTML точно не є повною за Тюрингом мовою програмування, але точно є мовою для машинної обробки; далі потрібні уточнення. Спеціалізовані мови програмування, загалом, не обов'язково мають бути повними за Тюрингом, але зазвичай є.

Подякували: Q-bart, ostap34PHP, FakiNyan, leofun01, ping, Chemist-i6

24 Востаннє редагувалося ExPy (29.07.2020 23:32:30)

Re: Сьогодні я дізнався

UR_NAZ цар i бог цього форуму.
Порошенко найкращий президент.
Вибачте мене люди.

25 Востаннє редагувалося koala (26.02.2020 15:24:06)

Re: Сьогодні я дізнався

Інтерпретатор cmd (мова batch) повний за Тюрингом (сьогодні ви це дізналися).

Подякували: leofun01, ExPy2

26

Re: Сьогодні я дізнався

koala написав:

Інтерпретатор cmd (мова batch) повний за Тюрингом (сьогодні ви це дізналися).

ще б дізнатись, що то все означає

27

Re: Сьогодні я дізнався

https://uk.wikipedia.org/wiki/Повнота_за_Тюрингом

28

Re: Сьогодні я дізнався

Сьогодні я дізнався про Езотеричні мови програмування

Подякували: leofun011

29

Re: Сьогодні я дізнався

Так це вже не HTML буде. HTML не передбачає виконання скриптів, він їх віддає браузеру, а там хай браузер розбирається.

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

З таким самим успіхом ми можемо заявити, що .txt-файли - файли програм, адже в них можна зберігати код на C++.

Стандартна поведінка програм для перегляду .txt-файлів не передбачає, як правило, виконання розміщеного в них коду. Стандартна поведінка html-браузера передбачає ряд додаткових дій, у т. ч., не лише форматування тексту, а й виконання скриптів.

HTML точно не є повною за Тюрингом мовою програмування, але точно є мовою для машинної обробки;

Це якщо обмежуватись чистим html. Проте, в наш час це формат-контейнер, що може містити, у т.ч., блоки програмного коду на JS, призначені для виконання. JS-код, розміщений у файлі .js, від JS-коду у файлі .html може відрізнятися лише відсутністю обрамлення тегом script та способом виклику. Якщо JS є повною за Тюрингом мовою, то й мова-контейнер, що містить JS, призначений для виконання — очевидно, теж.

Ще приклад: php в найпростішому випадку не вимагає наявності алгоритмічної частини взагалі — це може бути й чистий html, що передається клієнту без змін. Чи означає це, що php — не мова програмування, а мова розмітки?

Це мова розмiтки, не бiльше. По такiй логiцi i форумнi бб-коди можна вiднести до "мови", вони ж також з просто тексту дають HTML розмiтку, а HTML розмiтка вже в бравзерi перетворюеться в системнi шрифти i т.д...

ББ-коди якраз і є мовою розмітки в чистому вигляді. Те, як саме вони обробляються, щоб бути відображеними — вже деталі реалізації (зрештою, ніщо не заважає зробити конвертер з BBCode в ТеХ і далі в pdf, наприклад), але важливо інше: там не передбачено блоків алгоритмічного коду, призначених для виконання в процесі відображення розміченого тексту.

30 Востаннє редагувалося koala (27.02.2020 14:06:40)

Re: Сьогодні я дізнався

P.Y. написав:

У наш час невиконуваність скриптів у html є скоріш відхиленням від стандарту

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

Подякували: leofun011

31

Re: Сьогодні я дізнався

koala написав:
P.Y. написав:

У наш час невиконуваність скриптів у html є скоріш відхиленням від стандарту

Якого саме стандарту? HTML і JavaScript - це різні стандарти..

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

32

Re: Сьогодні я дізнався

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

Подякували: leofun011

33

Re: Сьогодні я дізнався

Якщо ж це html-файл, у якому є лише виклик скрипта для підвантаження JSON-контейнерів з контентом, відображуваним через звернення до API браузера, то тикніть мені пальцем, в якому місці це розмічений текст? Правильніше говорити про сучасний html як формат-контейнер, що може містити розмічений текст, скрипти, таблиці стилів тощо.

Визначення що означає формат-контейнером в студію. HTML звісно ж не є форматом-контейнером. Цей ваш скрипт буде щось показувати за допомогою тегів HTML. HTML описує якісь сутності як-то DIV, P, A, SCRIPT, BUTTON і т.д., а програмам надається можливість цими елементами маніпулювати що вони й роблять. Вони працюють в купі. Все. З таким сами успіхом можна говорити про те що файлики формату doc чи pdf є якимсь там форматом-контейнером бо в них можна вбудовувати програмки.

Це якщо обмежуватись чистим html. Проте, в наш час це формат-контейнер, що може містити, у т.ч., блоки програмного коду на JS, призначені для виконання. JS-код, розміщений у файлі .js, від JS-коду у файлі .html може відрізнятися лише відсутністю обрамлення тегом script та способом виклику. Якщо JS є повною за Тюрингом мовою, то й мова-контейнер, що містить JS, призначений для виконання — очевидно, теж.

Очевидно що ні. В наш час це з 90-х? HTML це одне а JavaScript це інше. Автори web-переглядачів надають можливість маніпулювати частинами HTML документу через певний механізм за домогою програм написаних на якій-небудь мові програмування. Як все це в вашому мозку зливаються в щось одне я не розумію.

Ще приклад: php в найпростішому випадку не вимагає наявності алгоритмічної частини взагалі — це може бути й чистий html, що передається клієнту без змін. Чи означає це, що php — не мова програмування, а мова розмітки?

Знущаєтеся?

34

Re: Сьогодні я дізнався

HTML звісно ж не є форматом-контейнером.

В такому разі, тег script (з кодом у тілі тега) не може використовуватись у html-файлах, або ж його вміст має відображатись як (розмічений) текст. Що було справедливо для раннього html, але не відповідає сучасним стандартам.

Цей ваш скрипт буде щось показувати за допомогою тегів HTML.

Необов'язково. Він може вивести alert (що засобами чистого html зробити неможливо), або ж він може оперувати безпосередньо DOM-деревом і вносити зміни в нього, минаючи html-парсинг відображуваного тексту.

35

Re: Сьогодні я дізнався

В такому разі, тег script (з кодом у тілі тега) не може використовуватись у html-файлах, або ж його вміст має відображатись як (розмічений) текст. Що було справедливо для раннього html, але не відповідає сучасним стандартам.

Не було з того часу, як з'явився тег script. Текст, якщо скрипт не працює, показується в <noscript>; якщо оглядач не підтримує мову, то текст скрипта просто ігнорується. Можете самі спробувати набрати <script type="application/python"> і подивитися - вебоглядач не може виконати скрипт і ігнорує його. До речі, саме існування тега <noscript> каже про те, що ви дурню пишете. Можете дописати сюди, що ви сьогодні про нього дізналися :)

Подякували: leofun011

36

Re: Сьогодні я дізнався

До речі, саме існування тега <noscript> каже про те, що ви дурню пишете. Можете дописати сюди, що ви сьогодні про нього дізналися :)

Я не дізнався нічого нового. Так, існує тег noscript, але єдина його функція — збереження часткової сумісності з браузерами, що не підтримують JS. З цієї ж причини було заведено код усередині тега script обгортати в html-коментар (інакше б цей код у доджаваскриптному браузері відобразився як текст). Тоді як сучасні браузери мають вміст тега script або виконати, або (якщо вказана мова не підтримується браузером) просто приховати.

37

Re: Сьогодні я дізнався

P.Y. написав:

збереження часткової сумісності з браузерами, що не підтримують JS

Але ж ви стверджуєте, що такі браузери - не стандартні? Чому стандарт підтримує щось нестандартне?

38

Re: Сьогодні я дізнався

koala написав:
P.Y. написав:

збереження часткової сумісності з браузерами, що не підтримують JS

Але ж ви стверджуєте, що такі браузери - не стандартні? Чому стандарт підтримує щось нестандартне?

Йдеться про збереження часткової сумісності з застарілим стандартом.

Стандарт вимагає виводити вміст будь-якого незнайомого тега, ігноруючи сам тег. Ранні браузери не знали ні тега script, ні тега noscript — відповідно, їх вміст в обох випадках відображався як текст, а самі теги ігнорувались. Але оскільки вміст тега script правильно було б приховати, навіть якщо він не виконується, стандарт передбачає можливість оформлювати JS-код так:

<script><!--
    document.write('JavaScript here');
// --></script>

(зверніть увагу на <!-- та -->).

Ну і згаданий вище тег noscript, що ігнорується в доджаваскриптних браузерах (і його вміст виводиться як звичайний текст) і приховується в браузерах, що підтримують JS.

Якщо підсумувати, і noscript, i script з закоментованим кодом є засобами для написання поліглотного міждіалектного html-коду. Проте, ми бачимо, що вони навіть парсились у різних браузерах по-різному.

Також довгий час у принаймні частині популярних браузерів була можливість працювати з відключеним JS, а стандартною поведінкою пошукового робота було сканування текстового вмісту без виконання скриптів — там noscript теж міг використовуватись. Проте, в наш час єдина фактична функція noscript — сказати користувачеві «ваш викопний браузер несумісний з нашим сучасним сайтом. Ви можете завантажити [посилання на сайти з сучасними браузерами, для скачування яких, можливо, вже теж потрібен JS]». У решті випадків обробка html без обробки js вважається анахронізмом.

Подякували: 221VOLT, leofun012

39

Re: Сьогодні я дізнався

Оууу, панове, припеніть вже це.

40

Re: Сьогодні я дізнався

[Ну ок, це так співпало, та все ж...]
Сьогодні я дізнався, що температура в моїх дітей відрізняється на пів ґрадуса і зростає відповідно до віку:
- молодший 36,3
- середній 36,8
- старший 37,3