31

LuckyStar,
Я хозяин своему слову, сам дал, сам обратно забрал

32

Из разряда про ЧСВ  :lol:

- А как тебя зовут?
- Называй меня хозяин, не ошибешься!

În jur e totul trecător. ©

33

LuckyStar,
Не, не так. Брежнев стал генсеком. Члены Политбюро задают ему вопрос, мол, как Вас теперь называть: "Товарищ Генеральный секретарь", "Товарищ Брежнев", "Леонид Ильич"? Брежнев подумал и сказал: "Зовите меня просто: Ильич"

34 (28.05.2010 08:49:06 отредактировано )

Поскольку я был одним из тех, кто указал недостойные абривеатуры в перечне поясню свое поведение.
1. PSQL - надеюсь вопросов не возникает?
2. HTML, CSS: во первых я оговорился "если причислять". Т.е. лично я считаю, что их можно только с "натяжкой" причислить к ЯП. Почему так. В принципе под программированием можно понимать, программирование.....  ab  описание точного поведения кого-либо чего-либо. Средство объяснения объекту - есть язык.  По сути html язык поясняющий (дающий четкие инструкции) браузеру как отображать информацию.
CSS примерно таже логика.

Ну а вообще, ИМХО: "язык программирования" - язык на котором описывается четкая последовательность действия для некоторого объект программирования.
Эта тема возникала на старом форуме. И так к единому и не пришли.

Приведенный устав. Не то: там нет описания алгоритма действий.

elve пишет:

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

Вы меня поняли. Именно для этого я и подписал, т.к. asm, pascal и с/с++ (приносящие, кстати, мне намного большую часть дохода) считаю слишком некрутыми языками. А html и css эта "ваще". Зная их я чувствую себя мега программером......

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

35 (28.05.2010 09:07:13 отредактировано elve)

voral пишет:

Вы меня поняли. Именно для этого я и подписал, т.к. asm, pascal и с/с++ (приносящие, кстати, мне намного большую часть дохода) считаю слишком некрутыми языками. А html и css эта "ваще". Зная их я чувствую себя мега программером......

Я вас понял =). Зачем же сразу ерничать? У меня своя точка зрения, у вас своя. То что вы ее грамотно проаргументировали показывает, что вы понимаете о чем вы говорите.

Собственно эту тему то я и затеял ради того, чтобы узнать почему же языки текстовой разметки, языки запросов и т.д. считают именно языками _программирования_ и уж никак не для того, чтобы кого-то обидеть.

36

elve пишет:

Я вас понял =). Зачем же сразу ерничать?

извините не сдержался. Зашел почистить - уже поздно.

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

37

voral пишет:

По сути html язык поясняющий (дающий четкие инструкции) браузеру как отображать информацию.
CSS примерно таже логика.

HTML - это язык разметки, а не программирования. Да и инструкции не такие уж четкие.

38

Hvzh пишет:

А что это, хрен что ли? Или  просто "язык разметки"?

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

39

AndronKoptev,
Ну да, понятно, так оно и есть...

40

voral пишет:

По сути html язык поясняющий (дающий четкие инструкции) браузеру как отображать информацию.
CSS примерно таже логика.

HTML ну никак нельзя причислить к ЯП - там нет действий (в широком смысле). Это простой текст, который невозможно выполнить, и там нет ни одной инструкции. вот JavaScript - безусловно ЯП, хоть он обычно внутри HTML странички.

voral пишет:

Ну а вообще, ИМХО: "язык программирования" - язык на котором описывается четкая последовательность действия для некоторого объект программирования.

в HTML только 2 "действия":
1) нарисовать страничку
2) выполнить скрипт

ЗЫЖ ладно, есть ещё перенаправление. это далает HTML "ЯП с одной командой" ab
(п1 и п2 ну никак на команду не тянут, тогда и простой текст - тоже ЯП, и вообще ВСЁ == ЯП. Кусок туалетной бумаги - тоже ЯП, ничем не хуже HTML)
bx

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

41 (28.09.2010 01:53:41 отредактировано voral)

Хоссспидяя.... Сколько горячих парней.... ab

Остыньте уже. Я лишь объяснил почему лично я написал эту абривиатуру. И если вы внимательно почитаете мои посты то я не говорил о том, что сказать "ХТМЛ -язык программирования"  это технически грамотно.

UPD:

язык прямо таки чешется подлить масла в огонь..  ae
Надеюсь вы поняли, что я понимаю: строго говоря HTML не язык программирования. Но давайте "пофиософствуем".
Итак.
Предположим есть задача вывести некий текст на экран. Текст стоит из заголовка и одного абзаца. Итак пишем программу:
(языконезвисимый код ab )

 1. // Блок кода вывод заголовка 
 2. Некая_Операция_Предваряющая_Вывод_Заголовка
 3. Вывод_Заголовка
 4.  Некая_Операция_Завершающая_Вывод_Заголовка
 5. Некая_Операция_Предваряющая_Вывод_Параграфа
 6. Вывод_Параграфа
 7.  Некая_Операция_Завершающая_Вывод_Параграфа

По большому счету важны и обязательны для решения нашей задачи только строки 3 и 6.
Идем дальше. Согласитесь компьютеру на наш листинг глубоко фиолетово. На понятый компу язык перводит интерпретатор команд.
А мы в свою очередь должны написать наш листинг на понятном интерпретатору языке. Итак пишем. (Заголовок я решил выделить лишь переводом строки для легкости)

#!/bin/sh
echo Наш заголовок
echo А здесь идет безумно длинный текст абзаца. Содержащий множество букав.
<?php
print  "Наш заголовок\necho А здесь идет безумно длинный текст абзаца. Содержащий множество букав.";
?>
#include <iostream>
int main()
{
  cout << 'Наш заголовок\necho А здесь идет безумно длинный текст абзаца. Содержащий множество букав.';
  return 0;
}

Итак в результате мы имеем на экране выведенные строки. Для вывода первых двух нам нужен интерпретатор с именем нашего сырца в качестве параметра. (для первого это скрыто от глаз). Для третьего компилятор.
Ну, а теперь напишем

<h1>Наш заголовок</h1>
<p>echo А здесь идет безумно длинный текст абзаца. Содержащий множество букав.</p>

Как и в первых трех примерах мы сообщили о своем желании увидеть на экране заголовок и параграф. И как в первых трех случаях мы его увидим при помощи "интерпретатора" - браузера.

Так в чем же отличие, кроме простого определения?
Да в первых трех случаях интерпретаторы позволяют намного больше различных действий выполнять,  случае с ХТМЛ только вывод текста (ну или какой-то графической инфы) . Ну да. Совершенно верно. А разве у нас больше нет узконаправленных ЯП?
Нечеткие инструкции? А в каком они месте менее четкие чем в первых трех вариантах?
Текст в браузере может выглядеть совершенно по разному? Ну так давайте все же рассматривать умолчальные случаи. Ведь можно в консоли настроить хитрую раскраску, можно переопределить какието функции и т.п.

Пройдемся по вики:

Язы́к программи́рования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
Компью́терная програ́мма — последовательность инструкций, предназначенная для исполнения устройством управления вычислительной машины. 

Ну да вот h1 а вот p.....

Знаковая система — это система единообразно интерпретируемых и трактуемых сообщений/сигналов, которыми можно обмениваться в процессе общения. Иногда знаковые системы помогают структурировать процесс общения с целью придания ему некой адекватности в плане реакций его участников на те или иные «знаки».

Угу.

Идем дальше. Вроде нормальный ЯП позволяет получать и некий функционал. Да HTML этого мало но есть:

<input type="radio" name="test">
<input type="radio" name="test">

Щелкаем и при этом чеканут только один радиобокс. Да, вы скажите это уже браузерный код работает. (более того порой не то, что браузерный в элементах форм, а вообще системный)
Ну и что? А вот такая "прога":

#include <QtGui/QApplication>
#include <QCalendarWidget>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QCalendarWidget w;
    w.show();
    return a.exec();
}

А ведь многие объекты (касается всех ОС и многих ЯП) содержаться, скажем, в общих либах. Да и написаны могут быть третьем ЯП.

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

42

voral пишет:

Как и в первых трех примерах мы сообщили о своем желании увидеть на экране заголовок и параграф. И как в первых трех случаях мы его увидим при помощи "интерпретатора" - браузера.

Так в чем же отличие, кроме простого определения?

а где тег, что-бы вместо "17+13" вывел "тридцать"?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

43 (28.09.2010 09:59:15 отредактировано voral)

drBatty пишет:

а где тег, что-бы вместо "17+13" вывел "тридцать"?

А разве нет ЯП с узкоограниченной сферой применения?
Да и в определении ЯП нет пункта об обязательной возможности арифметических действий....

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

44

Вот например в 1С есть довольно-таки мощный встроенный язык. Чем не язык программирования?

Постигаю азы Linux

45

voral пишет:

А разве нет ЯП с узкоограниченной сферой применения?

есть. sed.

voral пишет:

Да и в определении ЯП нет пункта об обязательной возможности арифметических действий....

нет. вот в sed нету. и тем не менее, sed - это ЯП. примитивный, тупой, жутко тупой. Но - ЯП.
там нет действий, там даже нет чисел! но есть всё, для того, что-бы выполнить любую задачу. в т.ч. и сложение. Хотя делать сложение на sed, это... это нецензурно.

вот:

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

http://ru.wikipedia.org/wiki/Полнота_по_Тьюрингу
ИМХО ЯП - это язык для вычислителя полного по Тьюрингу.
Ну... неполные по Тьюрингу граматики тоже в некотором смысле ЯП, некоторые даже являются компилируемыми, например всем известные регулярные выражения (т.е. один раз скомпиллированное RE можно использовать многократно, например в той-же sed или используя glibc в программе на C). Вот только всё что угодно на RE не напишешь, есть очень много алгоритмов, которые не реализуются на RE принципиально.

Moohin пишет:

Вот например в 1С есть довольно-таки мощный встроенный язык. Чем не язык программирования?

это их бейсик по-русский? который "ИДИ НА!.. 10"
я всегда ржал над программами ab
и всё же... Это полноценный ЯП. Хотя и смешной )

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

46

voral пишет:

Идем дальше. Вроде нормальный ЯП позволяет получать и некий функционал. Да HTML этого мало но есть:

<input type="radio" name="test">
<input type="radio" name="test">

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

HTML тот-же текст, только там алфавит богаче, а ещё мы можем менять свойства каждого элемента. Тоже самое - Linux-терминал. Там кроме букв и цифр можно двигать курсор, менять цвет букв, очищать экран, и прочее. Но это-же не язык. Просто терминал, для вывода информации. Кружок там не нарисуешь, разве-что можно кружок нарисовать на ЯП, и вывести на терминал.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

47

drBatty пишет:

это не функционал реализованный HTML, это просто перечисление функций, которые обязаны быть реализованы в браузере.

Ну так я уже вспоминал, что и в ЯП часто вызываются объекты из сторонних либ. Которые, в свою очередь, могут быть написаны на любом другом ЯП.

drBatty пишет:

HTML тот-же текст, только там алфавит богаче,

Не согласен. <h1> - это не символ предназначенный для вывода. Это управляющая конструкция сообщающая браузеру: "Автор хочет вывести последующий текст в виде заголовка. Давайте загоним в либу функию (код ниже не относится к конкретному ЯП)

function header(stringtype str) {
print str;
}

Далее в нашем проекте пишем:

header("Hello. world!");

ну и чем это отличается
от

<h1>Hello, world!</h1>

Да ни чем. Лишь разные формы записи и разные интерпретаторы.
Подозреваю, что даже в сях при помощи инструкций компилятора можно замутить так, чтоб можно было писать в коде <h1>...</h1> ab

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

48

drBatty пишет:

это не функционал реализованный HTML, это просто перечисление функций,

Кстати, вспомнилось. Кажется в делфе смотрел, что то в исходниках стандартных классов. Видел, что кое что почти полностью реализовано не на Pascal, а на asm........

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

49

drBatty пишет:

ИМХО ЯП - это язык для вычислителя полного по Тьюрингу.

Хм. Но ни где не сказано, что ЯП должен быть тьюринг-полным.

Кроме того. Давайте несколько упростим виковское определение:
"тьюринг-полным языком называется язык, всем элементам которого можно поставить в соответствие алгоритмы для машины Тьюринга."

Ну и читаем если на входе <h1> переходим в сотстояние вывода зоголовка..... (Естественно это ну очень уж упрощено)

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian