LINUX.ORG.RU

Ответ на: комментарий от anonymous

Анон, я не против JS, я против того чтобы инструменты использовались не по назначению.

Почему так часто стали забивать гвозди микроскопом? Человечество настолько деградировало за последние пятнадцать лет?

mord0d ★★★★ ()
Ответ на: комментарий от crutch_master

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

Ceiling_QB ★★★★ ()
Ответ на: комментарий от Ceiling_QB

ТБХ увидел гораздо больше хейтеров уровня тебя с аргументацией вида «фу, индексы с единицы» и «хочу мильён библиотек и супер-производительность

У фанбоев луа аргументация лучше.

LUA лучше JS потому что LUA - не JS.
Хотя по факту это совершенно однородная скриптуха. Просто в одной больше сахара, а в другой костылей вокруг си.

crutch_master ★★★★★ ()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от Ceiling_QB

но зато есть желание наехать и устроить срач.

Я не хотел устраивать срач. Два раза спрашивал чем так крут этот ваш луа - все молчат и срутся о массивах с единицы. Что мне оставалось делать?

Иди в баню с такой манерой общения.

Ну, не ты, так кто-нибудь другой.

crutch_master ★★★★★ ()
Ответ на: комментарий от mord0d

Но у всего есть своя область применения.

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

anonymous ()
Ответ на: комментарий от anonymous

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

anonymous ()
Ответ на: комментарий от mord0d

Не думал задаться вопросом, что твоя картина мира ошибочна. Если все вокруг видят цвет красным, а ты зеленым, то может дальтоник это все таки ты?

Порефлексируй уже на тему того, как что-либо вообще появлялось в истории человечества. Может быть поймешь, что все развитие построено на применение чего-либо не «по назначению».

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

anonymous ()
Ответ на: комментарий от crutch_master

Чтобы выяснить в какой жопе оно сломалось? Ну, если никто глубже двух функций не пишет, то ок, конечно.

Ещё раз повторяю: Lua — встраиваемый язык. За мелкими воркерами на Lua должен следить код на C (или куда он там встроен).

Если программист этого реализовать не смог, то пусть переквалифицируется в дворники: не можешь работать головой — работай руками!

благодаря чему это делать можно

Можно — не значит нужно. Если есть более подходящий для решения задачи инструмент, не надо пытаться надевать штаны через голову.

mord0d ★★★★ ()
Ответ на: комментарий от mord0d

Вот в том моем сообщении миллион опечаток, например. А все потому, что я пишу с телефона, которым пользуюсь раз в сутки и то в основном, чтобы читать. Я не использую скользящий наьор, потому что не привык к нему, как и автозамену и интелессенсе. Значит ли это, что смартфон не предназначен для активной переписки? Не подходящий инструмент? Несколько миллиардов людей на планете так не считают, у них это основной девайс. Да и сам я каких-то лет десять назад активно чатился именно с наладонника, а то и вовсе с телефона, где клавиатура была еще мельче. Это все к тому, что дело на самом деле все не в инструменте, а в навыке использования. Собственно странно говорить о назначении вещей и правильности их использования, и в то же время выдумывать такую категорию людей, как ВИРТУОЗЫ.

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

Люди делятся на две категории - те, кто ищут оправдания и во всем винят все вокруг, и те, кто умеют подстраивать мир под себя и создают его.

Если в твоем мире что-то не так, то это не мир плохой, а ты. Мир самый обычный, а ты в нем самый виновный. Он такой, каким ты его себе делаешь.

Если я глаза закрою, вы все тут без света останетесь.

anonymous ()
Ответ на: комментарий от qulinxao3

Если дале воспринять это за солипсизм, чтотна самом деле не рак, то можно внезапно понять, что у него две стороны медали - ты можешь солипсировать в эгоцентризм и думать, что мир крутиться вокруг тебя, а модешь внезапно прозрев познать дзен, что миру от тебя не жарко не холодно, от твоих переживаний, твоих нервов, твоих ему сопротивлений. И вместо того, чтобы напрасно тратить себя на это самое сопротивление, стоило бы начать тратить себя на извлечение пользы или ее производство. Для себя или для каких-либо еще, важных ДЛЯ ТЕБЯ целей. Пока ты переживаешь о том, как все вокруг неправильно по-твоему живут - они живут, а ты - переживаешь.

anonymous ()
Ответ на: комментарий от anonymous

Несколько миллиардов людей на планете так не считают

Миллионы мух не могут ошибаться!

кто умеют подстраивать мир под себя и создают его

Только фактически эти люди сами подстраиваются под мир. ☺

Если я глаза закрою, вы все тут без света останетесь.

Нет, я! (%

mord0d ★★★★ ()
Ответ на: комментарий от mord0d

Миллионы мух не могут ошибаться!

Ты на полном серьезе считаешь, что мухи ошибаются в процессах своей жизнедеятельности? Или к чему ты оперируешь это бессмысленной фразой? Тебя смущает, что мухи используют фекалии как срелу для рпзмнодения и доьычи питательных веществ? Так ты и ты их используешь для этого. Про удобрения слышал? А то, что ты падальщик и питаешься трупами теья например не смущает?

anonymous ()
Ответ на: комментарий от mord0d

Ещё раз повторяю: Lua — встраиваемый язык. За мелкими воркерами на Lua должен следить код на C (или куда он там встроен).

Да понятно, понятно. Луа не считают полноценным языком даже те, кто его использует. Так, встройка, костыль для си без амбиций.

crutch_master ★★★★★ ()
Ответ на: комментарий от crutch_master

Луа не считают полноценным языком даже те, кто его использует.

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

Если есть более подходящий для решения задачи инструмент

Какой?

Зависит от конкретной задачи.

mord0d ★★★★ ()
Ответ на: комментарий от mord0d

бля, какие вы скучные все стали. «зависит от конкретной задачи, каждый, бля, инструмент заточен под свое дело, да у всего своя ниша, а вот тут неизвестно что будет, а вот это вот не ясно». нет бы сказать «КТО? ЛУА? ДЛЯ ВСЕГО НАХ ПОДХОДИТ». и начать тут же сраться, вы но лоре, бля, или где, бля?

anonymous ()
Ответ на: комментарий от Toxo2

Даже откопал кусочек старого кода на показать )

local base = CroApp.GetBank():GetVocabulary():GetBase("XX")
if base then
  local rst = base.RecordSet
  if rst then
    local v = 0;
    rst:Sort( 
                {field=5, descent=true, case=false},
                {field=7, descent=false, case=false},
                {field=10, descent=false, case=false}
              )
    for rec in rst.Records do
      v = v + 1
      arrSimpleConv[v] = {
                           Type = rec:GetValue(5),
                           LegName = rec:GetValue(10),
                           PickName = rec:GetValue(11),
                           Rules = {},
                           FlagHierarch = tonumber(rec:GetValue(30)),
                           HyTable = nil
                         }
      arrStrRules = rec:GetValue(20, 0)
      for i,p in ipairs(arrStrRules) do
        arrSimpleConv[v].Rules[i] = table.unserialize(p)
      end
    end			
  end
end
rec:GetValue(20, 0) - это, если память не изменяет, и есть многозначное поле записи, которое чудесно забирается в таблицу lua. Красота )

anonymous ()
Ответ на: комментарий от crutch_master

Ты же вроде не домохозяйка? Луа крут встраиваемостью и с 5.2 идиальной изоляцией. Что позволяет давать пользователям возможность запиливать свои расширения для чего либо не боясь того что они уронят хост программу. Вот и всё что от него нужно, вот и всё для чего он создан. В этом ему равных нет. Если же нужна расширяемость + скорость и возможность на пользовательском уровне жонглировать so либами то есть luajit. Ах да через тот же luajit ffi черезвычайно удобно проводить тестирование библиотек. Более того можно скомпилировать elf приложение в котором будет сохранены символы и можно к простому исполняему файлу писать lua расширения которые будет дёргать внутренний api программы. Да много всего можно, но сводится всё к встраиванию и оно черезвычайно тупо удобное. Так как большинство задач расширения сводятся к наложению дополнительной логики, а не вычислениям то тут lua просто вписывается идеально. Хотя и для просто приложений вполне годно, где хост на сях и тяжёлое на сях, а остальное на lua например редактор lite https://github.com/rxi/lite . Ты требуешь какой то абстрактной крутости, у языка есть чёткая сфера применения в ней он хорош и крут. Для иного есть иное.

anonymous ()
Ответ на: комментарий от anonymous

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

anonymous ()
Ответ на: комментарий от Ceiling_QB

PL/I — более богатый по сравнению с JS язык

Большая запутанная спецификация != богатый язык. PL/I — это типичный такой язык эффективных менеджеров, которые расписали ключевые слова под каждый чих, то есть, формально получили «много фич». Фактически же язык был уровня паскаля, позволял строить абстракции уровня паскаля, но при этом требовал изучать намного больше конструкций языка. То есть, PL/I представлял собой сплошные свистелки и перделки, которые радуют детишек, но ничего не дают серьезным дядям.

А зачем выполнять арифметические операции над строками и делать прочую гадость?

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

byko3y ★★ ()
Ответ на: комментарий от crutch_master

Луа не может быть невстроенной. Когда ты в терминале запускаешь интерпретатор lua. Ты не запускаешь какой то там оффициальный интерпретатор. Ты просто запускаешь программу хост в которую встроена lua машина и всё. Он встраиваемый как там модно говорить by design. А так это полноценный язык, маленький понятное дело. Для встройки монстры были, но все благополучно сдохли. Ты просто предвзято придираешься. Язык как язык, есть куча вариантов использования. Или у тебя это как его я тред не читал но наверняка тут были фанбои луа и ты чисто по принципу теперь имеешь цель пообсирать язык называя его неполноценным что бы у них пукан горел? ))) Только вот такие заявления … ты бы потоньше тролил чтоль. У фанбоя да гореть будет инфа сотка, а я вот начинаю смотреть на тебя после таких слов как на дурачка троля. Потоньне надо сир да похитрее! Иначе уныло ))

anonymous ()
Ответ на: комментарий от Ceiling_QB

Я вообще не понял вашей ветки обсуждения: вроде как ответ был про PL/I против JS, потом внезапно обсуждение снова возвращается к Lua. Естественно, Lua и JS — это два весьма близких языка.

byko3y ★★ ()
Ответ на: комментарий от crutch_master

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

anonymous ()
Ответ на: комментарий от anonymous

Это вы 1С, наверное, не отлаживали. ) Чуть с ума не сошел в его отладчике позавчера ) Или таки сошел...
ЕстьЗадержкаВыполненияЗаданияПолученияИОтправкиПисем() - глобальная функция такая.

anonymous ()
Ответ на: комментарий от anonymous

Так 1С - это не про программирование совсем. А то эдак докатимся до либреофисовских функций в «кальке» :)

Но да, использовать кириллицу для имен функций и переменных - тот еще маразм…

anonymous ()
Ответ на: комментарий от anonymous

Да шут бы с ней, с кириллицей.

Пусть бы было какое-нибудь ООПэшное типа Задания.Почта.Ошибка, чтоб глаза не ломать об одно слово длиннее экрана.

anonymous ()
Ответ на: комментарий от Ceiling_QB

не язык, а метаязык

PL/I — более богатый по сравнению с JS язык

ну это смотря в чём, и смотря что понимать под языком (и метаязыком).

если про PL/I, есть пара стандартов: полноценный IBM-овский и более новый subset G но про подмножество языка (откуда взялось ).

к вопросу о совершенствовании языка в защиту PL/1 про исторический контекст (все статьи отсюда , также этот автор пишет на хабре и в RSDN

ещё про реализацию транслятора была статья с умопотрясающе уместным эпиграфом из ПНС про диван-транслятор ручной работы Бен Бецацеля, мол, старик, а всё сам, всё сам но что-то её сходу не найду

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

от фортрана взяли формульный калькулятор, от кобола – BCD арифметику про денежные типывроде бы и решено давным-давно однако вот в том же C# в типе Decimal всё ещё умудряются делать неправильно, от алгола – блочную структуру и некоторые неочевидные языкововые моменты:

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

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

сюминут кажется что фича сия не нужна и токмо усложняет транслятор. на самом же деле (как пишет в статьях «сколько должно быть проходов у транслятора» про мультипроходовый транслятор и далее про мультипроходовый ассемблер) – вовсе не усложняет.

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

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

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

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

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

сиречь, %REPLACE. однако (право же, в компиляторе PL/1-KT это не вполне заметно как и в оригинальном его прародителе Digital Research PL/1-86 – но вполне себе заметно в IBM-овском) – гораздо более мощные языковые средства существуют в сиём препроцессоре.

anonymous ()
Ответ на: не язык, а метаязык от anonymous

Re: не язык, а метаязык

препроцессор PL/I в отличие от Сишнаго, умеет сформировать строку любым доступным ему способом – и её подать к конпеляции.

наприклад отседова сей кусок кода с неблагозвучным названием парсе.сру реализует диалект PARSE из скриптоязыка REXX средствами исключительно препроцессора PL/I.

как видно, здесь %declare Parse entry определяет функцию времени конпеляции, вызываемую PL/I препроцессором: %Parse: /************************************ REXX-statement in PL/I */ procedure (Upper, Value, With) statement returns (char); будучи объявленной statement она вызывается препроцессором

подробный же разбор синтаксису происходит далее в %Find_stmts и %Assign_stmts через Line(..), вызываемых из оной.

вестимо, упрощается и сочетаемость таких вот диалектов.

суть такова: ежели C препроцессор умеет токмо %INCLUDE и %REPLACE, заменяющий слова (из-за свободной структуры синтаксиса этот %REPLACE позволяет выразить бОльшее). но не позволяет почти сконструировать строку произвольным образом (в циклах, сравнениях, сопоставлении съ образцомъ – как и устроен почти любой парсер).

то препроцессор PL/I невозбранно сиё решительно позволяет.

к сожалению превеликому, полноценно такие вот конструкции покамест поддерживаются токмо в IBM-овских VisualAge конпеляторах.

следует, очевидно добавить подобное и в PL/I-КТ вдругорядь.

ибо тулчейн сей судя по статьям и так уже написан изпользуя возможности языкового разширения, изначально архитектурно добавленные туда Гари Килдаллом: начиная с ассемблера RASM, невозбранно попоспешествующего добавлению новых опккодов, ISA и архитектур процессоров – стандартными его макросредствами, способных невозбранно добавлять оные микрокоды, экстракоды) в кодогенераторе, так и реализовать некоторые механизмы удобного языкового разширения как и малых говоров и диалектов (простых навроде put data отсюдова ) так и более серьёзно устроенных – через DSL-и навроде REXX из ссылки парсе.сру выше – приводя в итоге к совершенствованию самого языка, невозбранно достигнув желаемого – Столпа Величия Духа некоторого мета языкового совершенства.

вестимо, грамотная архитектура тулчейна, спроектированного Гари Кидаллом – как и языковые особенности PL/I, PL/M, RASM этому непременно способствуют, облегчая сиё – в других языковых инструментах нередко труднодостижимое и сложно умопостижимое.

умопотрясающе!!!

anonymous ()
Ответ на: комментарий от byko3y

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

в этом языке меньше конструкций, а не больше – чем в каком-нибудь С++.

чтобы программировать например под WinAPI – и этих конструкций достаточно.

однако же, сложность состоит вовсе даже и не в этих базовых конструкциях – а исключительно в объёмности, необозримости, стозевности и лаяй-ности сего API.

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

далее языковой рантайм, напрямую поддерживающий

1)принты: как и get put окромя read write, форматы edit picture-типы (напрямую из фортрана или кобола)

2)исключения ON ERROR – возобновляемые, не отматывающие стек

3)отладчик, монитор

4)если компилятор позволяет, то и более полноценный препроцессор

  1. сопрограммы и задачи в некоторых диалектах

ну и что там из конструкций языка такое сложное? бОльшее количество встроенных функций?

эти вот действительно языковые фичи 1)..5) не такие уж сложные.

anonymous ()
Ответ на: комментарий от byko3y

системы на Cobol и MUMPS никто не переписывает, а так и продолжают поддерживать. Хотя однократное переписывание обойдется дешевле, чем поддержка старой системы в течении следующих 20 лет.

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

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

ну просто в жопе свербит, что ли? есть код, он работает, кушать не просит. есть определённые языки, системы и компиляторы с верной семантикой – в которых он и работает.

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

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

отлаживать и переписывать ещё раз, пока все эти твои глюки однократного лол переписывания полностью не вылезут.

отлаживать и переписывать их ещё раз, когда потребуется их изменять и интегрировать. каждый раз проходить этот геморой.

как-то не выходит однократно же? не так ли?

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

их бы хлебом не корми – а дай всё везде опять заново попереписывать: годами проверенные, отлаженные ынтерпрайз решения.

anonymous ()
Ответ на: комментарий от anonymous

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

отлаживать и переписывать ещё раз, пока все эти твои глюки однократного лол переписывания полностью не вылезут.

отлаживать и переписывать их ещё раз, когда потребуется их изменять и интегрировать. каждый раз проходить этот геморой.

как-то не выходит однократно же? не так ли?

Ога. Главное он не уточнил на что переписывать. А то перепишут на какой-нибудь раст или питон лол, хайп пройдет, раст закопают, какой-нибудь питон устареет при выходе 4-го новопитона, который уже не взлетит (и всех их вместе тоже дружно закопают), и все по-новой.

anonymous ()
Ответ на: не язык, а метаязык от anonymous

Спасибо за чтиво.

Как раз на днях читал How Javascript Works, где автор говорит про ожидаемый им «следующий язык», от которого он как раз хотел бы отсутствия ключевых слов, в числе прочего.

Ceiling_QB ★★★★ ()