Зачем ещё один язык программирования?


Это не совсем язык программирования, вернее — это язык совсем не программирования. SALI — язык написания приложений. Программа, в простейшем случае — последовательность команд, которые ЭВМ выполняет последовательно. SALI — язык, в котором не существует функций, методов, циклов да и вообще исполняемого кода, поэтому он не позволяет писать программы, а вот приложения…

К чёрту интриги, велком под CUT.

Введение


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

Кстати, шутка про Бога выше — не совсем шутка. В конце 2-й статьи цикла я объясню почему. А пока что…

Немного воды в Кате кате


Я уже был студентом, писал «лабы» и «курсачи» сокурсникам и чувствовал растущий потенциал TRUE-программера в глубине себя, где-то очень глубоко. Так продолжалось до тех пор, пока один преподаватель, читающий лекцию по теории автоматов, не сформулировал тезис, вызвавший во мне когнитивный диссонанс и, собственно, положивший начало формирования новой идеологии написания приложений. Тезисом этим было что-то вроде
Вот Вы пишете код, думаете, что создаёте программу, но на самом деле в результате получается конечный автомат.
«На тебе синюю изоленту!» — подумал я, но позже задумался, почему люди проектируют конечные автоматы при помощи промежуточного звена — программирования? Ведь любой посредник в системе снижает результирующий КПД. Во всяком случае с превращением энергий это работает…

Эврика!


Шли годы, я работал программистом, изучал новые технологии и техники, алгоритмы и способы решения прикладных задач и постепенно, проецируя это на идеологию будущего SALI, вырисовывалось нечто довольно привлекательное, во всяком случае на первый взгляд. Всё было продумано до мелочей, но не хватало одной единственной идеи, чтобы это всё «поехало».
Сравнительно недавно я вник в Bootstrap2 и именно там крылась моя эврика. Позже оказалось, что аналогичная эврика мнооого лет витает в недрах Excel — перерасчёт значения ячейки по формуле, при изменении значения другой ячейки, участвующей в формуле. Всё гениальное — просто, но я ни с Excel ни с Bootstrap до этого не работал достаточно глубоко, поэтому я оценил эту ЭВРИКУ, за что огромное спасибо людям, выдумавшим данную веШЧь.

Суть


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

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

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

Комментарии (65)


  1. Zenitchik
    18.10.2017 23:22
    +1

    retYrn0, Вы точно программист, а не маркетолог?
    Написать статью под 7 килобайт и не сказать в ней ни слова о сабже — это талант надо иметь.


    1. retYrn0 Автор
      18.10.2017 23:27

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


      1. michael_vostrikov
        19.10.2017 00:47

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


        1. retYrn0 Автор
          19.10.2017 01:00
          -2

          Почему многие читающие уверены, что авторы, на секунду предположим, оригинальной идеи ждут поощрения и проверки орфографии с умением написания статей? Я здесь гость не частый и кто знает, может это одна из моих последних статей. Сейчас я в поисках помощи в реализации идеи, а не чтобы премию за лучшую статью получить. Поэтому можете минусовать смело, меня это не гложет) На счёт вводной статьи, возможно Вы правы, но что сделано — то сделано. Могу удалить, если это так раздражает.


          1. michael_vostrikov
            19.10.2017 02:23
            +1

            А причем здесь лучшая статья и орфография? Вам говорят именно о вашей цели. Хотите чтобы помогли с языком — рассказывайте о языке. Сложно получить помощь в деле, не рассказав, что именно вы делаете. Вы оправдываете отсутствие информации тем, что это вводная статья, только непонятно кому она вообще была нужна.


      1. Temmokan
        19.10.2017 06:18
        +3

        Не боитесь, чисто теоретически, растранжирить и так уже нулевую карму таким образом?

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

        «Не бережёте вы себя...»


        1. retYrn0 Автор
          19.10.2017 09:44
          -3

          Всё дело в мотивации. Я здесь с конкретной целью — найти помощь, а не поощрение. На карму мне плевать, она же от меня денег не требует?) Но то, что даже прямые ответы на прямые вопросы получают минус — это довольно показательно. Согласен, что перестарался с «творчеством и водой» в первой статье, прошу прощения. В то же время хохочу от минусования ответов на вопросы — это здесь фетиш такой — загнобить автора?)


          1. fireSparrow
            19.10.2017 10:59
            +2

            Я здесь с конкретной целью — найти помощь, а не поощрение.

            Так в чём именно-то помощь вам нужна? Рассказали бы, что именно вы пилите, как вы это видите, что сделали и что осталось сделать — может, помощники и нашлись бы.
            А так, написали что-то в стиле «у меня есть крутая идея, но я вам её не расскажу, потому что у вас документов нет статья вводная». Ну и какой смысл был писать ЭТО? Естественно, вас заминусовали.


          1. Temmokan
            19.10.2017 11:35
            +2

            Карма — это не только красивый зелёный или страшный красный рейтинг. Это ещё и возможность свести свои возможности на сайте к минимуму.

            Вряд ли фетиш — просто реакция на посты, в которых нет ничего полезного для читателей.


  1. Sdima1357
    18.10.2017 23:35

    Видимо всё-таки excel а не exel. Кроме того вроде первые таблицы с формулами в ячейках -lotus 123 или visucalc не помню точно


    1. retYrn0 Автор
      18.10.2017 23:39

      Верно, спасибо, исправил.


  1. token
    18.10.2017 23:44

    Осень пришла…


    1. genew
      19.10.2017 11:17
      +1

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


  1. Fesor
    18.10.2017 23:57

    FRP, математическая функция, немного синтаксиса… чую очередной Lisp.


    1. retYrn0 Автор
      19.10.2017 00:21

      С Lispom так же имеется схожесть, как и с С-подобными языками. Вообще говоря, я попытался в одном языке собрать всё лучшее из мне известного. Но Вы не увидите «очередного» языка программирования. SALI использует математико-логический аппарат, но при этом не имеет оператора присваивания. Из этого вытекает нечто вроде ООП, но вместо объектов — субъекты, которые глобальны на чтение(за исключением особых сущностей, типа поля пароля) и приватны на запись…


      1. Fesor
        19.10.2017 00:37

        1. Есть ли у вас возможность общения "субъектов"? Как это происходит?
        2. Есть ли late binding?
        3. Есть ли что-то типа main-рутины?


        1. retYrn0 Автор
          19.10.2017 00:49

          1. Единственная возможность общения субъектов — задание в формуле зависимости одного от другого. При изменении значения субъекта зависимости, по формуле пересчитывается субъект зависимый(но не всегда...)
          2. Late binding -а нативно нет, но определённый механизм опционально присутствует.
          3. Если правильно понимаю, и дело в параллелизме, то да. Всё приложение сводится к однотипным, взаимонезависимым команам, поэтому распараллелить его можно естественным образом.


  1. nuclight
    18.10.2017 23:58

    Автор не сказал почти ни слова по теме. А из того, что сказал, возникает четкая мысль — переизобрёл Prolog!


    1. Sdima1357
      19.10.2017 00:06

      Я настроен более пессимистично. Пролог то мне нравится, а сабж «и Мир станет светлее» уже нет, извиняюсь :(. Но если пафос немного снизить, то все имеют право на эксперименты


    1. retYrn0 Автор
      19.10.2017 00:12

      Пролог — не единственный язык, который имеет схожесть, в данном случае, с математическим аппаратом и декларативной парадигмой. В любом случае, код пролога не выглядит, как инициализация иерархии вложенных друг в друга массивов да и фундаментальные принципы отличаются в корне. Дождитесь 2 статью, думаю завтра вечером, и тогда будете сравнивать. Сегодня я попытался уверить, что задавать конечный автомат с помощью программирования — не лучшая идея.


      1. Fesor
        19.10.2017 00:45

        Оставлю тут ссылочку, вдруг не видели.


        STEPS Toward The Reinvention of Programming.


      1. kdsx
        19.10.2017 21:39

        А что вы скажете про QML?


        1. retYrn0 Автор
          19.10.2017 21:40

          Спасибо, не слышал. Действительно идея очень похожа.


  1. YChebotaev
    19.10.2017 00:41

    Судя по описанию, вы изобрели Haskell.


    1. samsergey
      19.10.2017 02:56

      Судя по описанию, нет. Haskell — это, прежде всего, система типов, затем ленивость и, наконец, лямбда-исчисление, которое в том или ином виде присутствует во всех ФЯП.


  1. michael_vostrikov
    19.10.2017 00:56

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

    Представил. К такому виду можно свести любую программу на PHP, JavaScript, да и в общем-то везде где есть map. И все-таки непонятно, чем это отличается от Excel.


    1. retYrn0 Автор
      19.10.2017 01:22

      SALI задумывался кросплатформенным, в т.ч. с реализацией браузерным js. Только 1 — map в данном случае не особо уместен, 2 — любой код любого языка программирования можно свести к ассемблеру.
      Excel работает с плоскими таблицами, SALI с субъектами. Субъекты образуют иерархию произвольной глубины(excel такое может?). Каждый субъект одновременно является контейнером дочерних субъектов и переменной/массивом переменных при различном контексте использования. Каждый субъект в идеальном случае представляет аналогию реальной составной прикладной задачи — напоминает ООП-объекты, но не имеет методов, не доступен на запись никакому другому субъекту, доступен на чтение всем субъектам(с исключительными ситуациями).


      1. michael_vostrikov
        19.10.2017 02:11

        У языков программирования перед ассемблером есть преимущество — уровень абстракции, соответствующий восприятию человека. Любая программа представляет аналогию реальной задачи. В чем преимущество вашей иерархии?


        1. retYrn0 Автор
          19.10.2017 02:46

          В уровне абстракции.


  1. Samouvazhektra
    19.10.2017 01:38

    представьте, что значение по ключу описывается математической формулой, аргументами >которой могут быть другие элементы массива
    Тоже первая мысль про ФЯП


    1. retYrn0 Автор
      19.10.2017 02:12

      ФЯП + декларативный подход +… + ООП = SALI


  1. samsergey
    19.10.2017 02:36

    Продолжу игру в угадайку, пока не вышла вторая статья. Значит так… Декларативность, функциональность и чистота, произвольная вложенность объектов и явные зависимости между ними, предельно простой синтаксис, нацеленность на конфигурирование систем, неполнота по Тьюрингу (судя по утверждению о конечных автоматах)… Это Nix! А если гарантируется тотальность, то Dhal. Правда, они статически типизированные.


  1. samsergey
    19.10.2017 02:51

    А если серьёзно, то желаю вам удачи и не сильно обидеться на нас "академиков". Это непросто изобрести что-то новое, но я убеждён, что нужно пытаться и стараться изобретать. Одно непременное условие: не переставать учиться, сочтя, что весь мир остался далеко позади.


    1. retYrn0 Автор
      19.10.2017 03:06

      Спасибо. У меня атрафировано чувство обиды)
      Раз за 28 лет не «зазвездился» — значит и о будущем нет причин переживать)


    1. retYrn0 Автор
      19.10.2017 03:09

      Можете мне поведать причины по которым сообщение «Осень наступила» собрало лайки, а мои попытки ответить на вопросы — дизлайки? Мне исключительно для научных выводов психологических, сам факт не интересует, только причины — здесь так заведено?)


      1. samsergey
        19.10.2017 04:00

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


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


      1. Fesor
        19.10.2017 04:17
        +3

        Вы бы потерпели поделиться своими наработками до момента когда будет что-то показать. А пока это просто пустые слова.


        Скажем меня смущают "изобретения" без какого-либо анализа аналогов. "Аналогов не существует" — весьма сомнительное утверждение. И уж тем более "вступление" в котором ничего не понятно, и при этом нет ни намека на ETA продолжения.


      1. MamontsevDS
        19.10.2017 07:33
        +1

        Наверное, из-за недавней статьи: habrahabr.ru/post/340204


      1. sim-dev
        19.10.2017 07:56
        -3

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


        1. fireSparrow
          19.10.2017 11:10
          +1

          Почему то некоторые думают, что инакомыслие само по себе является ценностью.
          Однако, чтобы идея была ценной, в ней должно быть что-то ещё кроме оппозиции мэйнстримовым идеям.
          Тем более, что зачастую эти «оригинальные» идеи при своей несхожести с продуктивными мэйнстримовскими концепциями обладают поразительной схожестью с обширными пластами маргинальных мертворождённых высеров, которые совершенно так же начинались и ни разу не развились ни во что годное.


          1. sim-dev
            19.10.2017 11:22
            -2

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

            Каждый может быть сколько угодно не согласным с мнением других, но уничтожение инакомыслящих — это не может быть одобрено никем и никогда.

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


            1. fireSparrow
              19.10.2017 11:35
              +4

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

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

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


      1. michael_vostrikov
        19.10.2017 10:22
        +5

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

        Если ваши ответы получают минусы, значит люди считают, что это плохие ответы. Причины могут быть разные — недостаточно понятный ответ, слабая аргументация или ее отсутствие, необоснованный переход на личности, свою или собеседника, вы не правильно поняли вопрос, минусующий неправильно понял ответ, ответ напомнил ему личный негативный опыт, не понравилась орфография, поставил за компанию. Но точно не «здесь так заведено».


        1. fireSparrow
          19.10.2017 11:17
          +3

          Я бы в данном случае обозначил основную причину минусов, как «общую фриковатость» того, что говорит автор. Это ни что-то конкретное, скорее общее ощущение схожести со множеством подобных персонажей с «гениальными» идеями, которые не умеют адекватно общаться, обладают завышенным ЧСВ, ничего из себя не представляют, но требуют к себе особого отношения.

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


          1. retYrn0 Автор
            19.10.2017 13:51
            -2

            Предположим, что мне плевать на лавры поощрения, но не из-за завышенного ЧСВ, а из-за того, что я не вижу в поощрении никакой полезности. Я ведь согласился и извинился (хотя и в этом нет никакой полезности) за «многоводы», но не потому что всё ещё жду поощрения, а из-за того, что действительно согласен с претензией. Коммент выше с 3 вопросами получил ответ с тремя пунктами ответов, но всё равно с минусом. Я ни разу не перешёл на личности, попросил адекватно подождать вторую статью.
            Давайте откровенно, даже моя благодарность за указание на ошибку (и в результате — исправление) получила минусы. Мы всё ещё считаем меня высокомерным или саму площадку со странным взглядом на оценивание?) Этот комментарий должен набрать ещё больше больше минусов, я надеюсь — это будет означать, что мои выводы верны. Тем не менее, задача найти соискателей никуда не пропала, поэтому 2 статья будет.


            1. fireSparrow
              19.10.2017 14:27
              +2

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

              Я такой практики не одобряю, это действительно дискредитирует идею адекватной обратной связи.

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

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


  1. sbnur
    19.10.2017 05:21
    +2

    Любая информация может быть представлена последовательностью символов, но не каждая последовательность символов информативна


  1. sitev_ru
    19.10.2017 07:54
    -6

    Основываясь на своём опыте опубликования статей на здесь на Хабре habrahabr.ru/post/340204 желаю автору статьи терпения и мужества! Вы выложили статью поздно вечером. Сейчас накинутся коршуны, точнее, их основные силы, и Вам не поздоровиться. У моей статьи рейтинг на данный момент -46, а мои карма -14 и рейтинг -28. Все мои комменты имеют отрицательный рейтинг. Хотя у меня уже выложены наработки на ГитХабе и реально работает трансляция лексер, парсер, генератор… Ну ка быстро минусовать этот коммент! )))


    1. MamontsevDS
      19.10.2017 08:03
      +4

      Ну уж нет, у вас еще ничего не работает. То что вы приводили в пример — это просто утилиты, которые могут работать только с определенным и очень ограниченным набором данных.


      1. sitev_ru
        19.10.2017 09:12
        -1

        Ничего не работает, только вот эта спецификация, хотя, возможно, с ошибками и недочётами, тут я не спорю:

        Спецификация языка Cj (версия 0.1)

        1. Идентификаторы
        Идентификатор — это имя, задаёмое в программе на языке Cj для переменных, функций, типов данных или классов.

        Идентификатор может состоять из следующих символов:

        _ a b c d e f g h i j k l m n o p q r s t u v w x y z
        A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
        0 1 2 3 4 5 6 7 8 9
        но не может начинаться с цифры.

        2. Типы данных
        2.1. Автоматический тип данных
        Язык Cj в отношении к переменным/функциям ближе к языку Javascript. Специально объявлять переменные или тип возвращаемый фукнцией не обязательно. Тип определяется автоматически, при присвоении значения — для переменных или при возвращении значения — для функций. Если тип определился, поменять тип переменной нельзя.

        Для описания автоматической переменной или функции либо используем ключевое слово auto (как в С++), либо не указываем тип данных совсем.

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

        void — специальный тип для пустых значений
        bool — булевый (логический) тип данных
        целочисленные типы: знаковые byte (1 байт), short (2 байт), int (4 байт), long (8 байт) и соответствующие им беззнаковые ubyte, ushort, uint, ulong
        числа с плавающей точкой: float, double, real
        char — символьный (знаковый) тип данных.
        3. Переменная
        3.1. Описание переменной
        тип имя;
        3.2. Использование переменной
        Для использование переменной в программе нужно просто указать её имя.

        4. Функция
        4.1. Общее описание функции
        тип имя ( параметры ) {
        тело функции
        }
        4.2. Описание параметров функции
        тип имя, тип имя, тип имя…
        4.3. Описание тела функции
        Тело функции — это набор операторов.

        4.4. Оператор return
        Возврат из функции можно осуществить с помощью оператора return. Чтобы функция вернула значение, его нужно указать в операторе return. Функция типа void не может возвращать значение. Если функция не void, то она обязана возвратить значение.

        4.5. Вызов функции
        Для вызова в программе функции нужно указать её имя и круглые скобочки () и параметры, если они есть.

        имя ( параметры );
        5. Операции
        Данная версия Cj поддерживает ограниченный набор операций

        = присвоение
        + сложение
        — вычитание
        * умножение
        / деление
        % остаток от деления


        Я опубликовал статью, её покритиковали, указали будущие недочёты, которые возникнут в будущем. Я нашёл единомышленников, которые тоже делают компиляторы и т.д… Всё отлично, я доволен. Рейтинг на Хабре дело наживное, да у меня есть и свой блог, где я могу выкладывать свои мысли. Всё отлично! =)


        1. MamontsevDS
          19.10.2017 12:08
          +1

          2. Типы данных
          2.1. Автоматический тип данных
          Язык Cj в отношении к переменным/функциям ближе к языку Javascript. Специально объявлять переменные или тип возвращаемый фукнцией не обязательно. Тип определяется автоматически, при присвоении значения — для переменных или при возвращении значения — для функций. Если тип определился, поменять тип переменной нельзя.

          Для описания автоматической переменной или функции либо используем ключевое слово auto (как в С++), либо не указываем тип данных совсем.

          Не работает
          4. Функция
          4.1. Общее описание функции
          тип имя ( параметры ) {
          тело функции
          }
          4.2. Описание параметров функции
          тип имя, тип имя, тип имя…
          4.3. Описание тела функции
          Тело функции — это набор операторов.

          Тоже сомневаюсь в работоспособности
          4.4. Оператор return
          Возврат из функции можно осуществить с помощью оператора return. Чтобы функция вернула значение, его нужно указать в операторе return. Функция типа void не может возвращать значение. Если функция не void, то она обязана возвратить значение.

          и тут вряд ли.


          1. sitev_ru
            19.10.2017 17:39
            -1

            Что-то же работает. Вот видео даже делал, простенький примерчик… www.youtube.com/watch?v=zwUhDOVifdw
            auto и return, да, наверное, не работают ))

            Огромное спасибо, что потестировали!

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


    1. alexyr
      19.10.2017 08:05
      +2

      Сначала подумал это того же автора статья…


  1. dreka5
    19.10.2017 09:51
    +1

    >>Вот Вы пишете код, думаете, что создаёте программу, но на самом деле в результате получается конечный автомат.
    … а можно сказать и по-другому
    Вся железка это почти конечный автомат, на который повешена ОСь.
    написание прикладной программы это по сути программирование ОСи и того конечного автомата.


  1. retran
    19.10.2017 10:07
    +3

    Неделя непризнанных гениев на хабре!


  1. mayorovp
    19.10.2017 10:11
    +4

    А нужен ли новый язык там, где достаточно библиотеки для любого из существующих?


  1. Sdima1357
    19.10.2017 10:27
    +3

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


    1. j_wayne
      20.10.2017 14:12
      +2

      Talk is cheap, show us the code! ©


  1. lair
    19.10.2017 12:15
    +1

    Для решения каких задач задуман этот язык? В каких областях?


  1. retYrn0 Автор
    19.10.2017 22:41
    -4

    Да здравствует логика!
    Дорогие антилайкари, Вы просили лаконичного описания синтаксиса и идеи без воды, которые я обещал во второй статье — её сегодня не будет.

    Из-за отрицательной кармы вы можете размещать публикации только в «Recovery mode» — не чаще раза в неделю и только в профильные хабы. С момента последней попытки неделя ещё не прошла — попробуйте 25.10.2017.

    Данный комментарий я отправлял час, поэтому второй статьи на хабре не будет никогда. Продолжайте, Вы всё делаете правильно)

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

    PPS: Уважаемые хейтэры, не забудьте отдизлайкать этот комментарий, мне всё равно карма больше не понадобится)


    1. Fesor
      19.10.2017 22:44
      +1

      1. мы не ждали "статьи на хабре", хабр так себе место что бы что-то реально стоящее представлять публике.
      2. гитхаб (или гист) большинству бы хватило
      3. Слишком много пафоса и обиды. Не похоже на что-то серьезное увы.


    1. Zenitchik
      20.10.2017 00:03

      Ну, как говорится, Вы сделали всё, чтобы хабровчане не ждали от Вас ничего интересного.


    1. michael_vostrikov
      20.10.2017 15:06
      +4

      но второго шанса мне не дали

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


  1. j_wayne
    20.10.2017 14:08
    +1

    Мне кажется, или автор только что изобрел Реактивное программирование?


    1. Zenitchik
      20.10.2017 14:29
      +2

      Мы об этом уже не узнаем. Он же не пожелал сказать в первой статье. А во вторую уже никто не верит.