Сценарии и программирование [дубликата]

С условной агрегацией после самостоятельного присоединения к таблице:

select 
  2018 fiscal, 
  sum(case when m.member_type_cd > t.member_type_cd then 1 else 0 end) upgrades, 
  sum(case when m.member_type_cd < t.member_type_cd then 1 else 0 end) downgrades 
from member_detail_daily_changes_new m inner join member_detail_daily_changes_new t
on 
  t.customer = m.customer 
  and 
  t.changedate = (
    select max(changedate) from member_detail_daily_changes_new
    where customer = m.customer and changedate < m.changedate
  )
where year(m.changedate) = 2018 

Это будет работать, даже если существует более 2 типов уровня членства.

5
задан Cheery 1 March 2009 в 09:17
поделиться

11 ответов

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

  • исторически, языки сценариев интерпретируются, программирование langauages компилируется. Но с появлением VM's и JIT, все больше стирается грань.

  • сценарии состоят в том, когда существующим приложением или инструментом управляют программно (например, офисные макросы), вместо того, чтобы создать приложение с нуля. Снова строка становится размытой, потому что библиотеки и платформы подразумевают, что все основываются на существующих инструментах. Кроме того, API позволяют Вам использовать традиционные скомпилированные языки для управления приложениями, например, в Office можно теперь автоматизировать использование .NET, который я предполагаю средства, которые можно записать макросам Excel в управляемом С++.

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

  • языки сценариев традиционно были высокоуровневыми с функциями как сборка "мусора" и неявная типизация, которая позволила разработчику фокусироваться на задаче, а не металле. Реальные языки программирования как C вынудили Вас быть более обеспокоенными архитектурой машины и управлением памятью. Снова, грань стирается более новыми языками. Например, C# имеет высокоуровневые функции как сборка "мусора" и динамические типы, и функции низкого уровня как указатели.

По этим причинам, пишущим сценарий, рассматривался как более доступный, где программирование рассматривалось как более требовательное и жесткое. Поэтому термин сценарии может быть использован пренебрежительно, как в "JavaScript просто сценарии languague, не реальный язык программирования" или "он - просто сценарист, не настоящий программист".

20
ответ дан 18 December 2019 в 05:15
поделиться

Существует ли различие? Вы просто пишете программное обеспечение на различных языках для различных сред выполнения.

7
ответ дан 18 December 2019 в 05:15
поделиться

Немецкая Википедия говорит:

Aus architektonischer Sicht werden Skriptsprachen verwendet, гм aus bestehenden Komponenten ein Anwendungsprogramm zu bauen. Умрите Komponenten selbst werden в einer Programmiersprache entwickelt.

Перевод:

С архитектурной точки зрения языки сценария используются для создания прикладной программы из существующих компонентов. Сами компоненты разрабатываются с помощью языков программирования.

Языки сценария используют компоненты, которые должны уже там сделать программы. Эти компоненты записаны на языках программирования.:)

Думайте о сценариях оболочки... Там Вы используете небольшие программы, "главным образом" записанные в C.

5
ответ дан 18 December 2019 в 05:15
поделиться

Это напоминает мне о старом определении различия между прозой и поэзией, которая пошла что-то как:

От Стекла однажды была леди
Кто вошел в воду до ее коленей.

Это - проза. Если бы она пошла глубже, то это была бы поэзия.

Это ударяет меня, что различием между сценариями и программированием является вопрос градуса, не, какой язык Вы используете. Я видел, что люди пишут некоторые довольно сложные программы с помощью оболочки удара, и другие пишут тривиальные вещи с помощью C. Который является программистом и который является сценаристом?

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

5
ответ дан 18 December 2019 в 05:15
поделиться

Значение должно действительно иметься между (интерпретируемым) и скомпилированным кодом в виде сценария. Программирование, я думаю, является просто общим термином предоставления инструкций к компьютеру или машине.

1
ответ дан 18 December 2019 в 05:15
поделиться

Программирование программирует.

Люди часто дифференцируются между языками сценариев и скомпилированными языками, но различие не то, что полезный IMO.

Т.е. может скомпилировать много языков сценариев и интерпретировать много скомпилированных языков.

3
ответ дан 18 December 2019 в 05:15
поделиться

Сценарий, в общем использовании, является последовательностью действий ("вводят этап, оставленный"), как рецепт.

Например, сценарий тестирования является простой последовательностью действий для выполнения. Это имеет нуль cyclometric сложность.

Программы являются более общими, и могут сделать что-либо. Они должны быть модульными и разработаны для повторного использования.

Когда программное обеспечение расширяется, сценарии становятся более сложными, но в глубине души они - обязательные рецепты, разработанные для единственной цели.

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

Интерпретируется ли время выполнения, скомпилированное, jited или независимо от того, что не имеет значения. Сценарии Awk были скомпилированы. Программы Lisp часто интерпретировались. Часто сценарии модульного теста для программы записаны на том же языке как программа.

Если бы я должен был указать на языковое различие, то это было бы присутствие системы модуля. Кроме C, все 'надлежащие' языки программирования имеют систему модуля. JavaScript получает систему модуля как часть рабочей группы ServerJS и является, очевидно, достаточно сформировавшимся для программирования приложений, так теперь ни ничто, чтобы сделать с Java, ни исключительно языком сценариев.

3
ответ дан 18 December 2019 в 05:15
поделиться

Два определения, которые я нахожу особенно бесполезными:

  • Программирование зависит от того, что код был скомпилированным перед развертыванием
  • Сценарии средств, что код "только" используется для соединения компонентов

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

Мое текущее рабочее определение - это: код В виде сценария имеет тенденцию быть ограниченным в объеме, небольшом, и (надо надеяться) простом понять и заменить. Все остальное программируется.:-)

0
ответ дан 18 December 2019 в 05:15
поделиться

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

Языки сценариев: Языки, которые являются кодом, когда они развертываются и интерпретируются на лету, когда их требуют.

В конце это все одинаково sh*t, они - все языки программирования

1
ответ дан 18 December 2019 в 05:15
поделиться

Помните, что самые современные языки сценариев имеют платформы или бэкенды с некоторой встроенной компиляцией, чтобы предварительно создать и кэшировать сценарии. (см. PHP с некоторыми оптимизаторами как Пехлеви или eAccelerator, движки шаблонов...),

Современные языки сценариев как Actionscript3, PHP, JavaScript, позволяющий большую часть шаблона современного дизайна (как MVC) и некоторые парадигмы ООП - и некоторые усовершенствованные проекты как "закрытия". Таким образом, у Вас есть все для "программирования". Для Богатых интернет-приложений (RIA) нужно большое программирование навыков, того же с RIA, работающей как настольное приложение (Flash/Flex с Adobe Air). Это ничего не имеет todo больше с некоторыми легкими сценариями, встроенными в веб-сайт. Это - сложные приложения, бывшие нужные в большом количестве навыков программирования.

Поскольку большинство языков сценариев использует некоторый "бэкенд" для получения/получения данных из баз данных, это, приложения часто не легко разработать из-за очень побочных эффектов. У людей должно быть знание с материалом сервера для установки их среды разработки, других языков сценариев как PHP для бэкендов и так себе на. Реализуйте некоторое то же самое с C++ и хорошей платформой как QT, wxWidgets иногда легче, и нуждается не в намного большем количестве навыков программирования.

Сценарии и программирование являются для меня тем же. Да, Вы могли сказать "запись, что onclick обработчик для кнопки на веб-сайте пишет сценарий... записи videoplayer или игры с Flex/Flash, и Actionscript3 программирует"?

Там различия между языком сценариев и скомпилированным языком (размещают доступ, песочницу, производительность...). Но его все программирование.

0
ответ дан 18 December 2019 в 05:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: