Редактор для LUA

Страницы: 1
RSS
Редактор для LUA
 

Здравствуйте!

Посоветуйте, пожалуйста, мощный редактор для LUA. Есть что-то типа PhpStorm, чтобы можно было работать  с проектом из нескольких файлов, с навигацией внутри проекта (например, переход к процедуре при нажатии на ее имя с Ctrl), с закладками и подсветкой кода? Идеально, если бы еще ошибки LUA подсвечивались.

Сейчас использую Notepad++ с плагином, но в нем нет никакой навигации.

 
visual stidio code + plugins:
https://marketplace.visualstudio.com/items?itemName=keyring.Lua
https://marketplace.visualstudio.com/items?itemName=sumneko.lua
https://marketplace.visualstudio.com/items?itemName=actboy168.lua-debug
ну и для git  https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens

Или IntelliJ IDEA + EmmyLua

Дело вкуса. Но idea тормоз, особенно при глобальном поиске.
 
Цитата
Nikolay написал:
visual stidio code + plugins:
Огромное спасибо! То что нужно!
 
А как сделать, чтобы в visual stidio code кириллица нормально отображалась? А то у меня ромбики вместо букв.
 
Цитата
Вася написал:
А как сделать, чтобы в visual stidio code кириллица нормально отображалась? А то у меня ромбики вместо букв.
Лучше используй Notepad
                       
 
Цитата
Вася написал:
А как сделать, чтобы в visual stidio code кириллица нормально отображалась? А то у меня ромбики вместо букв.
Установить в настройках кодировку по умолчанию win1251.
Можно только для рабочей зоны, можно доля всех файлов lua. По желанию.

Для примера:
Код
    "[lua]": {
        "files.encoding": "windows1251"
    },
    "[plaintext]": {
        "files.encoding": "windows1251"
    },
    "[log]": {
        "files.encoding": "windows1251"
    }
 
Цитата
Лучше используй Notepad
Очень спорное утверждение. Почему не Vim или Emacs?
Notepad++?, если речь про него, хорош если быстренько открыть водном файле, посмотреть, закрыть.
 
А ZeroBrane как? Норм редактор?
 
Цитата
Вася написал:
А ZeroBrane как? Норм редактор?
Он не поддерживает кодировку Win1251. Квик же в 2022 только ее понимает...
Правда для ZeroBrane можно скрипт на том же lua для перекодировки при открытия файла настроить. Но это не лучший вариант. Часто файлы потом не открываются вообще.
 
Цитата
Nikolay написал:
Цитата
Лучше используй Notepad
Очень спорное утверждение. Почему не Vim или Emacs?
Notepad++?, если речь про него, хорош если быстренько открыть водном файле, посмотреть, закрыть.
Это проверенная временем программа, полностью устраивает, есть дополнительные функции, просто удобно. Многие смотрел, для Lua самое то
                       
 
Автоподстановка для QLua
 
Я установил visual stidio code + plugins:

https://marketplace.visualstudio.com/items?itemName=keyring.Lua
https://marketplace.visualstudio.com/items?itemName=sumneko.lua
https://marketplace.visualstudio.com/items?itemName=actboy168.lua-debug
как советовал Nikolay выше.

Написал простой код, нажимаю F5 и вылезает ошибка: The 'cwd' can not be resolved in a multi folder workspace. Solution: "cwd": "${workspaceFolder:name}"

Подскажите, плиз, как это исправить.
 
Здесь уже советовали пользоваться блокнотом - его ещё не успели основательно изуродовать, хотя и он всё чаще норовит писать в юникоде. Лично я много лет пользуюсь встроенным редактором Far Manager и примерно столько же лет ничего лучшего просто не ищу. Он даже подсвечивает переменные, открывающие и закрывающие скобки (в т.ч. операторные), если файл имеет расширение .lua, но это мелочь. А вот то, что там макросы есть...
 
SciTe - написан на луа, есть встроенный  компилятор и отладчик
 
Цитата
nikolz написал:
SciTe - написан на луа, есть встроенный  компилятор и отладчик
От SciTe у меня лично глаза болят. Слишком контрастные цвета (я темную тему поставил). А в настройках я так и не смог найти как изменить цветовое оформление.
 
nikolz,
Цитата
SciTe - написан на луа, есть встроенный  компилятор и отладчик
Убийственная характеристика редактору! Лучше помню только фразу Кернигана из статьи "Почему Паскаль не является моим любимым языком программирования": "Три из четырёх известных мне компиляторов с Паскаля написаны на Си". :smile:
 
Цитата
Владимир написал:
nikolz,
Цитата
SciTe - написан на луа, есть встроенный  компилятор и отладчик
Убийственная характеристика редактору! Лучше помню только фразу Кернигана из статьи "Почему Паскаль не является моим любимым языком программирования":  "Три из четырёх известных мне компиляторов с Паскаля написаны на Си". ::  
Видно, что Вы не в теме.
У Вас получается типа - "кина не видел, но считаю , что говно"
---------------------------  
На луа написан не только редактор но и многие  игры а также системы управления нефтяным оборудованием и приборами (Собственно для этого его и создавали изначально).
-----------------
Так как SciTe написан на луа, то пользователь может легко добавить свои плюшки и быть до .... счастливым и радостным.
 
Цитата
Владимир написал:
nikolz,
Цитата
SciTe - написан на луа, есть встроенный  компилятор и отладчик
Убийственная характеристика редактору! Лучше помню только фразу Кернигана из статьи "Почему Паскаль не является моим любимым языком программирования":  "Три из четырёх известных мне компиляторов с Паскаля написаны на Си". ::  
специально для Вас из Вики:
--------------------------------
По идеологии и реализации язык Lua ближе всего к JavaScript, в частности, он также реализует прототипную модель ООП, но отличается паскалеподобным синтаксисом и более мощными и гибкими конструкциями. Характерной особенностью Lua является реализация большого числа программных сущностей минимумом синтаксических средств. Так, все составные пользовательские типы данных (массивы, структуры, множества, очереди, списки) реализуются через механизм таблиц, а механизмы объектно-ориентированного программирования, включая множественное наследование — с использованием метатаблиц, которые также отвечают за перегрузку операций и ряд других возможностей.
Lua предназначен для пользователей, не являющихся профессиональными программистами, вследствие чего большое внимание уделено простоте дизайна и лёгкости обучения. Язык широко используется для создания тиражируемого программного обеспечения (например, на нём написан графический интерфейс пакета Adobe Lightroom). Также получил известность как язык программирования уровней и расширений во многих играх (в том числе Garry's Mod)[10].
 
nikolz, Да на кой мне Вики, если я сам на нём больше года программирую? И я уже несколько раз говорил, что я чуть ли не единственный на этом форуме, кто программирует на чистом Lua, так что это ВЫ "не в теме", это У ВАС получается типа - "кина не видел, но считаю, что конфетка". Мне плевать, что там "на луа написано" и для чего его и "создавали изначально", язык - ГОВНО! Редкостное говно! Динамическая типизация, убийство типа integer, кастрированный goto... ЧАВО?! Она по сравнению с JS "отличается более мощными и гибкими конструкциями"?! Это какими ж такими? Огласите весь список, пжалста! :smile:

Не "реализация большого числа программных сущностей минимумом синтаксических средств", а эмуляция этих сущностей через жо... через механизм key-value, который с какого-то бодуна регулярно обзывают "таблицами". Вот что "Lua предназначен для пользователей, не являющихся профессиональными программистами" - верю безоговорочно: ни один программист ТАКОГО говна написать не в состоянии! Ах, да - я ведь чуть ли не сразу после появления на этом форуме писал:

29.09.2020 10:31:16
Убрать тип integer из языка, на мой взгляд, есть самая большая дурость. Ладно, бог с ним, с никому не нужным boolean - пусть будет, если нравится, но с целочисленными переменными я за долгие годы программирования (а я уже пенсионер!) работал раз в 10 чаще, чем с вещественными! Если не во все сто.

Ну вот, по Вашей ссылке, первым же предложением: "Tables in Lua are not a data structure; they are the data structure. All structures that other languages offer---arrays, records, lists, queues, sets---are represented with tables in Lua". Иными словами, никаких структур данных просто НЕТ! Печально... А уж "обоснование" и вообще курам на смех: "Хотя мы МОЖЕМ (!) реализовать массивы и списки, таблицы мощнее. Многие алгоритмы упрощаются до тривиальности с использованием таблиц". И дальше вообще издевательство: "Например, вы редко пишете поиск в Lua, потому что таблицы предлагают прямой (!!!) доступ к любому типу". Ребятки, доступ по ключу - это не прямой, а как раз КРИВОЙ доступ к данным! Даже если обозвать ключи "индексами". Уши бы надрать этому "Роберто Иерусалимскому!

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

Или, скажем, 25.03.2021 12:28:31
Какие "индексируемые таблицы" - побойтесь Бога! Мне чуть ли не с первого дня стало очевидно, что тут постоянно путают индексы и имена, что является источником многочисленных глюков - в том числе, и в основном ПО Квика (таблица заявок, я об этом не раз писал). Язык отвратителен, и только за убийство типа integer и замену его на вонючий "тип number" создателей нельзя подпускать к компу ближе, чем на километр - об этом и о многом другом я тоже писал. Как и о том, что синтаксис, про который Вы здесь соловьём заливаетесь, вообще не имеет значения - профессионалу всё равно, на каком языке писать, была бы обеспечена требуемая функциональность.

Для справки: все эти "далеко ушедшие вперёд" неучи, которыми написана заметка в Вики, на которую здесь давалась ссылка, всё-таки в курсе, что элементы строки не обязательно байты, но, судя по всему, ВААПЩЕ без понятия, что строки могут быть НЕ ТОЛЬКО текстом, что это именно АЛГОРИТМИЧЕСКОЕ понятие (и пофиг какая у них конкретная реализация): строки событий или, скажем, мультиязычные строки для них тайна за семью печатями. Или что тривиальная буферизация файловых операций даже при работе с текстовыми файлами читает и пишет, с точки зрения прикладника, именно строками, а обмен с диском при этом происходит массивами (секторами или там кластерами).

Строки НЕЛЬЗЯ "индексировать как таблицы", какие бы не делать "финты ушами": индекс - это НЕ имя, и об этом я тоже писал буквально в первых же своих постах (а Ваш убогий "финт ушами" эмулирует обращение по индексу как массива, а не "как таблицы", и абсолютно бесполезен - разве что для пущего оверхеда).
 
Цитата
Евгений написал:
Цитата
Вася написал:
А как сделать, чтобы в visual stidio code кириллица нормально отображалась? А то у меня ромбики вместо букв.
Лучше используй Notepad
это тот самый Notepad который каждый раз перед его использованием просит его снова переустановить ?     Ну тогда лучше остатья пользователем старенького и известного всем блокгнота - нервы целее будут чем при использовании вашего Notepad
 
Цитата
Владимир написал:
И я уже несколько раз говорил, что я чуть ли не единственный на этом форуме, кто программирует на чистом Lua,


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

29.09.2020 10:31:16
Убрать тип integer из языка, на мой взгляд, есть самая большая дурость. Ладно, бог с ним, с никому не нужным boolean - пусть будет, если нравится, но с целочисленными переменными я за долгие годы программирования (а я уже пенсионер!) работал раз в 10 чаще, чем с вещественными! Если не во все сто.

Ребятки, доступ по ключу - это не прямой, а как раз КРИВОЙ доступ к данным! Даже если обозвать ключи "индексами". Уши бы надрать этому "Роберто Иерусалимскому!

Какие "индексируемые таблицы" - побойтесь Бога! Мне чуть ли не с первого дня стало очевидно, что тут постоянно путают индексы и имена, что является источником многочисленных глюков - в том числе, и в основном ПО Квика (таблица заявок, я об этом не раз писал). Язык отвратителен, и только за убийство типа integer и замену его на вонючий "тип number" создателей нельзя подпускать к компу ближе, чем на километр - об этом и о многом другом я тоже писал. Как и о том, что синтаксис, про который Вы здесь соловьём заливаетесь, вообще не имеет значения - профессионалу всё равно, на каком языке писать, была бы обеспечена требуемая функциональность.

Строки НЕЛЬЗЯ "индексировать как таблицы", какие бы не делать "финты ушами": индекс - это НЕ имя, и об этом я тоже писал буквально в первых же своих постах (а Ваш убогий "финт ушами" эмулирует обращение по индексу как массива, а не "как таблицы", и абсолютно бесполезен - разве что для пущего оверхеда).
Попробую объяснить Ваши заблуждения, но скорее не для Вас, а для начинающих.
-----------------------------
1) Луа - это скриптовый язык и он имеет вполне определенною область применения.
Подобно микроскопу, который можно применять и в качестве молотка для забивания гвоздей, но не так эффективно.
---------------------------
Назначение чистого луа  - это быстрое  и простое тестирование идей и алгоритмов, создание диалоговых интерфейсов для устройств и программ.
Т е чистый луа -это инструмент для быстрой разработки программ взаимодействия компьютера и человека.
-----------------------------
Все функции в библиотеках Луа написаны на чистом СИ, поэтому они работаю быстро.
-------------------------------
Для реализации более сложных и быстродействующих задач предназначен язык СИ и API C for Lua.
===================  
Создание торговых роботов в КВИК - это задача создания систем реального времени.
В реализации этой системы условно можно выделить три задачи.
----------------------
1 задача, это интерфейс с человеком.  И эту задачу легко и эффективно решать на чистом Луа.
-----------------------
2 задача, это задача взаимодействие робота с биржей , сервером брокера и терминалом QUIK.  
Эту задачу разработчики реализовали на СИ в виде библиотеки QLUA.  т е программ на чистом СИ взаимодействующие с VM Lua через API C for Lua.
-----------------------
3 задача, это разработка и реализация алгоритма работы робота.
Не сложно понять, что наиболее эффективно этот алгоритм можно реализовать лишь на СИ, т е как задачу 2.
Но дело в том, что пользователи Луа не есть профессиональные программисты.
Но Луа позволяет им тоже заняться творчеством и написать собственные, пусть и не оптимально реализованные алгоритмы.
--------------------  
Поэтому ранее я Вам пытался объяснить, что на чистом луа  сложные алгоритмы  пишут,  либо профи для быстрой реализации идеи, чтобы ее протестить,
либо чайники  , которые горды собственным невежеством и не сомневаются в собственной гениальности.  
================  

Теперь объясню немного Ваши заблуждения относительно реализации Луа внутри.
Судя по Вашим гневным рассуждениям, Вы не разбирались в исходниках VM Lua.
-----------------------------
Все переменные (кроме данных в таблицах)  имеют именно прямой доступ. Они представляют собой структуры
В этой структуре есть 32 бит (или 64 бит) слово, которое содержит целую, вещественную, булев. переменные. а также указатель на таблицу или функцию.
Если Вы используете API C for Lua, то Вы получаете прямой доступ к ним.    
Замечу, что указатель - это и есть любимое Вами целое.
---------------  
Но для чайников эти возможности, по вполне понятным причинам, недоступны на чистом Луа.  Доступ чайникам к целому типу в версиях 5.3 создало  кучу  вопросов на этом форуме.
Так как чайник не читает документации - потому что он чайник .
----------------------
Теперь про Выши гневные опусы о строках текста.
В луа строки текста заменяются изначально на их хеш - 32(64) любимое Вами целое число .
А далее, во всей вашей программе , где вам надо сравнивать сортировать строки, участвуют не строки, а эти числа. Т е обработка строк происходит также быстро как обработка целых чисел.
Ну и где Вы видели более компактное и эффективное решение?
-----------------------
В итоге, если вы присвоите элементу таблицы имя , то луа сделает для него целое число- хэш и далее для извлечения этого элемента будет использовать это целое как индекс в массиве.
====================  
Не буду более рассказывать об интересных и эффективных решениях в VM Lua. Кому интересно, читайте исходники.
==========================  
В результате - Луа самый компактный и быстрый из скриптовых языков. Его  легко встраивать в любые системы, в том числе и на одном чипе.
Конечно, есть множество языков программирования и каждый из них создавался для определенных задач и имеет определенную область эффективного применения.
=========================
И в завершение моего ликбеза, замечу, что в КВИК встроили луа именно для расширения интерфейса для пользователя, а не для создания торговых роботов.
------------------------
Поэтому не стоит на зеркало пенять...
 
БорисД, Notepad - это и есть блокнот.  :smile: Но редактор Far в 100500 раз лучше - ты видел, что он способен вытворять с объёмными логами, пока мы с тобой курили на балконе.
 
nikolz, Ну, конечно, конечно - скрипт работает у меня, дерёт, как котов всех местных умников и по памяти, и по производительности, и по прибыли, и по количеству тикеров и таймфреймов, а заблуждения - у меня! :smile:  Естественно, Ваши "объяснения скорее не для меня, а для начинающих" - я же их просто размажу по стенке - даже не читая! Но ведь я сейчас Ваш опус и читать буду!..

1) Да неужели?! Во-первых, а что такое "скриптовый язык"? Тыкаем в первую попавшуюся ссылку в Гугле - там аж "Обзор скриптовых языков программирования", и первый же раздел называется "Понятие о скриптовых языках", и первая же фраза в нём гласит:
Что такое "скриптовый язык"? Это туманный вопрос, в котором содержатся два термина - "скриптовый" (scripting) и "язык" (language), произошедшие из областей, не имеющих отношения к компьютерам. Смысл, в котором эти термины используют многие люди, расплывчат. Даже такое простое слово, как "язык", легко можно использовать неверно.
То есть, как я и предполагал, никто из вас, умники хреновы, вообще не знает, что это такое.

Второй вопрос: а Луа-то с какого бодуна нарисовался? Неужто вашему стаду мало всего предыдущего зоопарка "скриптовых языков"? И что за такую "вполне определенною область применения" он окучивает? Почему ИМЕННО ЭТО говно вдруг понадобилось для этой "области"? Для меня ответ очевиден: а) полноценная биржевая торговля возможна только при помощи роботов б) самая популярная софтина для неё - это Квик и в) фактически единственный язык для написания скриптов и есть Луа. Так ведь я на нём и пишу! Ругаюсь, плююсь, но пишу, ибо больше тупо не на чем! А вы-то, распевающие тут хвалебные оды этому говну, какого хрена САМИ на нём не пишете? На кой ВАМ все эти бесконечные сборки, "тысячи строк кода и десятки библиотек"? Хвалите это убожество? ТАК ПОЛЬЗУЙТЕСЬ! Ещё раз все тот же вопрос: кто, кроме меня, пишет скрипты на чистом Луа - поднимите руки! Что же ни одной-то не видать, включая Вашу, "учитель" хренов?

Ха-ха-ха! А кто тут "быстро  и просто тестировал идеи и алгоритмы" - поднимите руки! Что, тоже ни одной? Правильно, я ведь тут же спрошу, что за идеи, что за алгоритмы, и почему их непременно на этом говне нужно тестировать. А уж про "создание диалоговых интерфейсов" лучше бы и не заикались: у меня за плечами ДЕСЯТКИ диалоговых программ, и это говнище В ПРИНЦИПЕ непригодно для написания диалога - всё, что можно выжать из диалоговых возможностей Луа, я выжал, выкрутил досуха, дважды пытался здесь рассказать, вплоть до кода, но оба раза нарывался на визги разных умников с гнутыми пальцами, которые, как теперь выясняется, даже со сраным курсором справиться не способны! А Вы, лично Вы ХОТЬ ЧТО-НИБУДЬ о диалоге знаете? Вот фрагмент из моей книги, из раздела, который так и называется: "Диалог":

Честно говоря, мне жаль выбрасывать средства организации диалога в SINT – за долгие годы там накопилось немало интересных решений: горизонтальные, вертикальные, двумерные, трёхмерные, виртуальные (невидимые), неоднородные, редактируемые меню, управление курсором, горячие клавиши, виртуальные клавиши, клавиши «внутрь» и «наружу» для каскадных (Z-меню), трёхмерных или двумерных меню специального вида (XZ или YZ), организация контекстной помощи и диагностики на ошибки, автоопределение координат или палитры, работа мыши в активных и неактивных координатах меню, локальные меню блоков, синхронизация изменения данных в параллельных окнах, плавающий размер паспорта меню, возможность задания собственного «бланка» меню с указанием на нём координат элементов, переопределение объектов до прорисовки меню, до цикла ожидания события, во время ожидания, после обработки события, перед выходом из меню (одно это расширяет возможности программиста со страшной силой – можно, например, организовать меню из элементов базы данных с их подкачкой и редактированием), разгон при листании некоторых видов меню… да разве всё перечислишь!

Ладно, отсмеялся, отписался - пока есть другие дела, а у Вас там много чего ещё понаписано, и его чтение наверняка ещё доставит мне немало весёлых минут. Спасибо за пост! Продолжение следует...
 
nikolz, Нет, дочитаю уж пост до конца... ну, про диалог я в прошлом сообщении всё сказал, а "задача взаимодействия робота с биржей, сервером брокера и терминалом QUIK" тоже реализована безобразно, начиная с позорнейшего факта прихода нескольких прерываний на одно событие (про свечи я просто молчу - это уже экспонат для Кунсткамеры). Буквально вчера закончил (надеюсь) отладку OnTrade в связи с изменившейся технологией торговли в новой версии скрипта, причём о таких ошибках наверняка даже не подозревает подавляющее большинство участников форума - думаю, включая лично Вас. Рассказываю:
а) Каждый таймфрейм может в любое время подать заявку на покупку или продажу.
б) Эти заявки могут быть отвергнуты скриптом (по разным причинам), исполнены путём переноса взяток между таймфреймами (если они сумеют договориться) либо попасть в стек заявок для реального исполнения. Стек организован потому, что тикеров под контролем много, таймфреймов ещё больше, почти все они почти всегда хотят поторговать (в ту или иную сторону) и при одновременной подаче нескольких заявок Квик просто захлебнётся.
в) В полусекундном обработчике одна из заявок изымается из стека и либо отвергается, либо отправляется в Квик.
г) При приходе первой сделки по этой заявке (ID заявки нам ещё не известен, контролируем по ID транзакции) мы её обрабатываем. Если заявка исполнена полностью, ставим счётчик на 15 секунд (чтобы гарантированно пришли все дубли прерывания), после чего свечной обработчик удалит паспорт заявки из стека. В противном случае продлеваем счётчик ещё на 3 минуты для последующих сделок по этой заявке.
д) При приходе прерывания с тем же ID заявки и ID сделки это дубль уже обработанного - игнорируем.
е)  При приходе прерывания с тем же ID заявки, но с другим ID сделки это новая сделка по той же заявке, заменяем ID сделки на новый и обрабатываем заявку по тому же алгоритму.
Уже само описание этой технологии говорит о том, что существующий программный интерфейс Квика сделан, мягко говоря, неудачно, но неприятности на этом только начинаются, ибо прерывания могут приходить вразнобой, хотя и очень редко, и только для тех заявок, которые реализуются в несколько сделок. Тогда, если уже после замены старого ID сделки на новый снова придёт прерывание со старым ID (одного из уже обработанных), скрипт уже не поймёт, что это именно дубль и учтёт это прерывание как новую сделку, что недопустимо. А потому приходится делать множественное поле для ID сделки, а контроль дублей производить по всем этим ID. Вчера же одна из моих заявок в 4 лота растянулась на все 4 сделки, и  прерывания по ним в количестве 12 штук пришли именно "крест-накрест собачьим шагом". Последняя версия OnTrade прекрасно расправилась с ними со всеми, и теперь я считаю эту процедуру отлаженной. А со всеми этими "программами на чистом СИ взаимодействующими с VM Lua через API C for Lua" что прикажете делать? Они же тоже практически НИЧЕГО не умеют!

КОМУ, простите, "не сложно понять, что наиболее эффективно этот алгоритм можно реализовать лишь на СИ"? Криворуким бездарям, вечно скулящим здесь про загрузку CPU? Задача организации торговли - это ПРОСТАЯ задача (за исключением алгоритмов принятия решений, которые здесь никогда не обсуждались), и она ПРЕКРАСНО может быть реализована даже на таком убожестве, как Луа. Просто программировать надо уметь. И что вообще может быть "сложного" в алгоритмах торговли? И насчёт "профи": Вы будете смеяться, но я вначале поступал с точностью до наоборот: "для быстрой реализации идеи, чтобы ее протестить" писал именно на С, а потом уже переносил код на Луа! Повторяю: профессионалу ВСЁ РАВНО на чём писать!

Ладно, хватит для второй порции.
 
nikolz, Продолжим...

Ха-ха-ха! А на кой мне "разбираться в исходниках (!!!) VM Lua"? Я же ПОЛЬЗОВАТЕЛЬ языка, а не РАЗРАБОТЧИК! Заняться больше нечем? К тому же, я прекрасно знаю, что при ЛЮБОЙ реализации доступ по ключу В ПРИНЦИПЕ не может быть прямым! Ибо прямой доступ есть доступ ПО УКАЗАТЕЛЮ (хотя даже такой способ адресации называется "косвенная"). Замечу, что любому дебилу понятно, что "указатель - это и есть любимое мною целое", как и то, что никаких целых в языке НЕТ. За что следует яйца пообрывать его создателям.

О, Господи! Если создатели И В САМОМ ДЕЛЕ "сортируют не строки, а их хеш", то они в очередной раз ДЕБИЛЫ! Это мой "сортир" сортирует массивы в миллионы, а иногда даже в миллиарды элементов, а здесь ЧТО Вы вообще собрались сортировать? Десяток-другой элементов пару раз в день? Да простой "пузырёк", который пишется в 5 секунд, справится с этой задачей, причём БЫСТРЕЕ, чем этот идиотизм, поскольку не требует накладных расходов. Именно им я сортирую взятки, и только после совершённых сделок по тикеру либо после переноса взяток между таймфреймами, и даже не ради самой сортировки (в 99 случаях из 100 массивы эти и так изначально отсортированы), а для объединения сделок с одинаковой ценой в одну. Кстати, вопрос: ЕСЛИ "луа сделает из имени целое число- хэш и далее для извлечения этого элемента будет использовать это целое как индекс", то КТО будет поддерживать эти индексы в актуальном состоянии? Пушкин? Так что действительно "не стоит на зеркало пенять". :wink:  
 
Цитата
Владимир написал:
nikolz, Ну, конечно, конечно - скрипт работает у меня, дерёт, как котов всех местных умников и по памяти, и по производительности, и по прибыли, и по количеству тикеров и таймфреймов, а заблуждения - у меня! ::  Естественно, Ваши "объяснения скорее не для меня, а для начинающих" - я же их просто размажу по стенке - даже не читая! Но ведь я сейчас Ваш опус и читать буду!..

1) Да неужели?! Во-первых, а что такое "скриптовый язык"? Тыкаем в первую попавшуюся ссылку в Гугле - там аж "Обзор скриптовых языков программирования", и первый же раздел называется "Понятие о скриптовых языках", и первая же фраза в нём гласит:
В любой дискуссии есть как минимум два способа высказать свое мнение.
В первом случае , высказывающий пытается унизить , обозвать и нахамить, полагая, что таким образом он доказывает свое превосходство.
Этот способ в человеке заложен природой на уровне подсознания.
Во втором способе, высказывающий пытается высказать свое понимание и свою логику по обсуждаемой , т е дать собеседнику новую информацию, не унижая его, а разъясняя ему.
-------------------------------
Сожалею, что Вы сторонник первого способа беседы.
=====================
Вы опять заблуждаетесь.
------------------
Что такое скриптовый язык.
В моем понимании скрипт - это  программа , которая исполняется на виртуальной машине в  псевдокоде.  Как правило такую программу не надо явно компилировать и линковать.
Достоинство таких языков в том, что виртуальная машина может быть установлена на любом железе и нет надобности под это железо переписывать пользовательские программ.
Классический пример - это  джава.
---------------------
Теперь про множество скриптовых языков
Проблема в быстродействии и объеме требуемой памяти для развертывания виртуальной машины.
До луа не было ничего подобного, что можно было бы развернуть на микроконтроллерах.
Потом появился микро питон.
--------------------------
Относительно ваших рассуждений относительно того что и как у вас делают между собой скрипты, то тут Вы тоже ошибаетесь.
-----------------------
Есть такая технология в разработке сложных систем, называемое - системным подходом.
Американцы использовали его в разработке программы космических полетов на Луну.
Его эффективно применять для создания любых систем и устройств.
------------------------
Если кратко , то основа его в том, что любую систему проектируют сверху вниз, а реализуют снизу вверх.
Применительно к  программированию - язык программирования не имеет никакого значения в начале создания системы.
Оптимальный язык выбирается на этапе реализации, а не на этапе проектирования.
----------------------  
Поэтому при разработке алгоритма нет никаких скриптов, так как скрипт - это лишь программа на псевдокоде.
 
 
nikolz,
Цитата
В первом случае , высказывающий пытается унизить , обозвать и нахамить, полагая, что таким образом он доказывает свое превосходство.
Чем Вы и занимались всё это время: "Вы не в теме, кина не видел, специально для Вас из Вики, попробую объяснить Ваши заблуждения, мой ликбеза", не говоря уже про огромное количество просто дурацких тезисов, преподносимых в качестве постулатов. И что Вы хотели? Вполне закономерно получили щелчок по носу.

Так это ИМЕННО Я "пытался высказать свое понимание и свою логику", т е дать собеседнику новую информацию, не унижая его, а разъясняя ему - ВСЕ мои тезисы я обосновываю, Вы же практически ни один: "не сложно понять" - прелесть какое обоснование! Кстати, унизить человек может только сам себя - со стороны это невозможно.

А что же Вы ТОЛЬКО СЕЙЧАС выдаёте "своё понимание"? Да и зачем мне Ваше понимание? Вы для меня совершенно не авторитет, и моё понимание совершенно другое: интерпретируемым языком был ещё самый первый Бейсик, когда никто и слыхом не слыхивал ни о каких виртуальных машинах и даже о  псевдокоде. Луа, к тому же, компилируется, т.е. переводится на ДРУГОЙ язык, который и исполняется, так что Луа есть просто кусок текста, и не более того - разве что инфа для компилятора.

Да не надо мне лапшу вешать про "достоинство таких языков" - я просил ответить, с какого бодуна ИМЕННО ЭТО говно вдруг оказалось востребованным! И цель ВМ вовсе не в том, что "виртуальная машина может быть установлена на любом железе и нет надобности под это железо переписывать пользовательские программ" - вряд ли существует в природе машина, для которой не было бы компилятора с С. Интерпретатор - это возможность программирования данными, всё остальное по сравнению с этим просто мелочь пузатая.

Опять тезисы дурацкие косяком... Моя первая персоналка имела 640К ОЗУ, 5М винт и 4.7МГц частоту. И не было НИ ЕДИНОГО случая, чтобы она не успевала отреагировать на нажатие клавиш или движение мышкой! У нынешнего же стада просто вечные "проблемы в быстродействии и объеме требуемой памяти"! Как вы умудряетесь их огребать - уму непостижимо! А уж "на микроконтроллерах" чего только ни "разворачивали" - в т.ч. при моём непосредственном участии.

Ха-ха-ха! Значит, "относительно того что и как у меня делают между собой скрипты, то тут я ТОЖЕ ошибаюсь"? А что, было что-то ещё? Я пока что вижу, что ошибаетесь только Вы, причём буквально в любом Вашем тезисе.

Господи, да уймитесь Вы про "технологии в разработке сложных систем"! Где Вы, а где сложные системы? Кому какое дело, что там "американцы использовали в разработке программы космических полетов на Луну"? Организация торговли - ПРОСТАЯ задача! ТРИВИАЛЬНАЯ! Которая может быть реализована даже на таком говне, как Луа! И если ДАЖЕ С НЕЙ не можете справиться, забудьте Вы про Луну! Не доросли Вы ещё до неё.
Страницы: 1
Читают тему
Наверх