С Lua и встраиваемым Python, там место для Основного?

Для максимальной производительности можно создать индексированное представление, чтобы агрегирование было материализовано:

CREATE VIEW vw_Address_ZipCode
WITH SCHEMABINDING
AS
SELECT ZipCode, COUNT_BIG(*) AS ZipCodeCount
FROM dbo.Address
GROUP BY ZipCode;
GO
CREATE UNIQUE CLUSTERED INDEX cdx ON dbo.vw_Address_ZipCode(ZipCode);
GO

Если вы используете Enterprise Edition, оптимизатор может рассмотреть индексированное представление, не ссылаясь на представление напрямую: [ 116]

SELECT DISTINCT ZipCode FROM Address;

В меньших выпусках вам нужно запросить представление и добавить подсказку NOEXPAND, чтобы индекс рассматривался для оптимизации:

SELECT DISTINCT ZipCode FROM dbo.vw_Address_ZipCode WITH(NOEXPAND);

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

6
задан Peter Mortensen 21 April 2010 в 19:36
поделиться

9 ответов

Как архитектура, основное требование известности ОСНОВНЫХ состоит в том, что Вы могли сделать ОСНОВНЫЕ интерпретаторы очень маленькими - только некоторые КБ. В эпоху Новинки DG это было победой, поскольку Вы могли использовать системы как Бизнес, ОСНОВНОЙ для создавания многопользовательского приложения на машине с 64K RAM (или еще меньше).

ОСНОВНОЙ (VB в особенности) унаследованная система и имеет большую существующую кодовую базу. Возможно VB является действительно языком (некоторые сказали бы, что тонкая обертка по COM), который имеет подобный ОСНОВНОМУ синтаксис. В эти дни я вижу мало оснований, чтобы иметь в наличии язык кроме знакомства людей с ним и поддержать существующую кодовую базу. Я, конечно, не защитил бы новую разработку в нем (обратите внимание, что VB.Net не является ДЕЙСТВИТЕЛЬНО ОСНОВНЫМ, но просто имеет подобный VB синтаксис. Система типов не повреждается в способе, которым был VB's.)

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

Современная архитектура намного более сложна и имеет больший горб для изучения. Вы видите, что люди разглагольствуют о том, как дети не могут учиться программировать так легко, как они могли отступить в эпоху ОСНОВНЫХ и 8-разрядных компьютеров, и я думаю, что аргумент имеет некоторую заслугу. Существует что-то вроде дыры, покинутой, который делает программирование просто, которое укусило тяжелее для вхождения. Игрушечные языки не полезны здесь - для программирования, чтобы быть привлекательным должно быть возможно стремиться создавать что-то соответствующее с языком, который Вы учите.

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

Самой близкой вещью, о которой я могу думать к этому, является Python. Это не единственный пример языка того типа, но это - то с большей частью доли завоеванного внимания - и (IMO), восприятие уместности необходимо играть в этой нише. Это - также один из самых легких языков, чтобы узнать, что я испытал (30 или так, чтобы я использовал за эти годы).

6
ответ дан 8 December 2019 в 04:56
поделиться

[Это может оторваться, звуча более отрицательным, чем это действительно. Я не говорю Основной, корень всего зла, другие сказали это. Я говорю, что это - наследие, которое мы можем позволить себе оставить позади.]

"потому что было настолько легко понять и настолько трудно сделать ошибку", Это, конечно, спорно. У меня были некоторые неудачные опыты с основным совершенно непрозрачным. Профессиональный материал - коммерческие продукты - совершенно ужасный код. Должен был сдаться и уменьшить работу.

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

"Почему это все еще вокруг?" Две причины: (1) Microsoft, (2) все отделы ИТ, которые начали делать VB и теперь имеют миллионы строк унаследованного кода VB.

"Много других языков считают мертвым..." Да. Основной там приезжает КОБОЛ стороны, PL/I и RPG как наследие, которое иногда больше стоило, чем значение. Но из-за, "если это не, повредился, не фиксируют его" политика большого IT, там они находятся, сосущий ресурсы, кто мог легко заменить его чем-то меньшим, более простым и более дешевым для поддержания. Кроме него не "перестал работать" - это просто непропорционально дорого.

30-летний КОБОЛ является ужасной ситуацией для переделки. При запуске в 2016 мы будем смотреть на 30-летний MS, Основной, который мы просто не можем выяснить, не хотите жить без, и не может решить, как заменить.

"но основной просто продолжает зависать на" кажется, что некоторые люди любят Основной. Другие видят его пока еще другой плохо разработанный язык; это - преимущества, являются ранними на рынок и поддерживаются огромными поставщиками (IBM, первоначально). Плохо-дизайн, рано на рынок только оставляет нас с наследием, с которым мы будем страдать в течение многих десятилетий.

У меня все еще есть свой Дартмут с 1965 выпусками Основное руководство. Я не делаю долго в течение добрых старых времен.

10
ответ дан 8 December 2019 в 04:56
поделиться

ОСНОВНОЙ сохраняется, особенно в реализации ШТАМПА, потому что она ниже находится на одном уровне, чем большинство других very-easy-to-learn языков программирования. Для самых встроенных Базовых внедрений Исходные команды отображаются непосредственно на единственный или группы машинных команд с очень мало служебным. Те же программы, записанные на "высокоуровневых" языках как Lua или Python, работали бы намного медленнее на тех тех же микроконтроллерах.

PS: ОСНОВНЫЕ варианты как PBASIC имеют очень мало вместе с, скажем, Visual Basic, несмотря на подобие именования. Они отличались совсем другими способами.

2
ответ дан 8 December 2019 в 04:56
поделиться

Почему бы не дать Jumentum попытку и видеть как, это работает на Вас?

http://jumentum.sourceforge.net/

это - открытый исходный код, ОСНОВНОЙ для micrcontrollers

elua проект также lua для микроконтроллеров

http://elua.berlios.de/

2
ответ дан 8 December 2019 в 04:56
поделиться

Хороший вопрос...

В основном (так!), у меня нет ответа. Я сказал бы просто, что Lua очень легко изучить, вероятно, столь же легкий как Основной (который был одним из моих первых языков также, я использовал диалекты на партии 8-разрядных компьютеров...), но более мощно (разрешение OO или функциональных стилей и даже смешивания их) и так или иначе более строг (никакой goto...).

Я не знаю хорошо Python, но от того, что я считал, это так же легко, мощно и строго, чем Lua.

Около, оба "стандартизированы" де-факто, т.е. нет никаких диалектов (около различных версий), в отличие от Основного, который имеет много вариантов.

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

Так, я просто позволил бы Основной, имеют хорошую пенсию... :-P

PS.: Почему это держится? Возможно, Microsoft не является внешней к этому... (VB, VBA, VBScript...)
Существует также партия диалектов вокруг (RealBasic, DarkBasic, и т.д.), с некоторой аудиторией.

1
ответ дан 8 December 2019 в 04:56
поделиться

Рискуя тем, чтобы походить на двух стариков на креслах-качалках, позвольте мне сварливо сказать, что "Дети сегодня не ценят ОСНОВНОЙ" и затем как это ни парадоксально говорят, что "Не знают, как хороший у них есть он".

ОСНОВЫ самая большая сила всегда были ее понятностью. Это было что-то, что могли получить люди. Это долго игнорировалось разработчиками языка и академиками.

Когда Вы говорите о желании реализовать ОСНОВНОЙ, я предполагаю, что Вы не говорите об ОСНОВНОМ с номером строки, но структурированная форма. Проблема с этим состоит в том что, как только Вы начинаете перемещаться в структурное программирование - функции, 'почему не может я просто GOTO то пятно?', и т.д. - действительно становится неясно, что преимущества, если таковые имеются, ОСНОВНОЙ имели бы, скажем, Python.

Кроме того, в одной ОСНОВНОЙ причине было "столь легко разобраться", был то, что в те дни библиотеки не были почти так же важны, как они сегодня. Библиотеки подразумевают структурированный, если не объектно-ориентированное программирование, поэтому снова Вы находитесь в ситуации, где более современный динамический язык сценариев "соответствует" действительности того, что люди делают сегодня лучше.

Если реальный вопрос "хорошо, я хочу реализовать интерпретатор и таким образом, он сводится к доходу от инвестиций", затем это становится проблемой грамматики, которую это на самом деле легко реализовать. Я предположил бы, что ОСНОВНОЙ действительно не имеет этого многими преимуществами в том отношении ни один (если Вы действительно не возвращаетесь к номерам строки и очень ограниченной грамматике).

Короче говоря, я не думаю, что необходимо инвестировать усилие в ОСНОВНОЙ интерпретатор.

1
ответ дан 8 December 2019 в 04:56
поделиться

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

http://www.nsbasic.com/symbian/

1
ответ дан 8 December 2019 в 04:56
поделиться

Я начал на ZX81 также. Но поскольку Tony Hoare сказал, программирование в ОСНОВНОМ похоже на попытку сделать деление в столбик с помощью римских цифр.

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

Печально да. Я обвиняю Bill Gates в этом... ОСНОВНОЙ был на удлинителе со священником, говорящим последние обряды для него, и затем MS возвратил его как Оспа.

1
ответ дан 8 December 2019 в 04:56
поделиться

Я раньше программировал в ОСНОВНОМ в дни QBasic. QBASIC имел подпрограммы, функции, структуры (они раньше назывались типами), и я предполагаю вот именно. Теперь, это кажется ограниченным по сравнению со всеми функциями, которые Python имеет - OO, лямбды, метаклассы, генераторы, понимания списка, только для именования некоторых первое, что пришло на ум. Но та простота, я думаю, является силой ОСНОВНЫХ. Если Вы смотрите на простой встраиваемый язык, я держал пари, что QBasic будет быстрее и легче понять. И процедурный язык, вероятно, более, чем достаточен для большей части типа встраивания/сценариев приложений.

Я сказал бы, что самая важная ОСНОВНАЯ причина все еще вокруг, Visual Basic. В течение долгого времени в 90-х, VB был единственным способом записать графический интерфейсы пользователя, COM и код DB для Windows, не попадая в один из C++ Turing tarpits. [Возможно, Delphi был хорошим вариантом также, но к сожалению это никогда не становилось столь же популярным как VB]. Я действительно думаю, что это из-за всего этого VB и кода VBA, который все еще используется и поддержал, что ОСНОВНОЙ все еще не мертво.

Тем не менее я сказал бы, что там симпатично хорошее объяснение для записи ОСНОВНОГО интерпретатора (возможно, даже компилятор с помощью LLVM или чего-то подобного) для ОСНОВНОГО сегодня. Вы получите чистый, простой простой в использовании и быстрый язык при реализации чего-то, что напоминает QBasic. Вы не должны будете решать вопросы проектирования языка, и большая часть является людьми, будет уже знать Ваш язык.

0
ответ дан 8 December 2019 в 04:56
поделиться
Другие вопросы по тегам:

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