Pull to refresh

Comments 68

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

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

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

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

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

Вряд ли фетиш — просто реакция на посты, в которых нет ничего полезного для читателей.
Видимо всё-таки excel а не exel. Кроме того вроде первые таблицы с формулами в ячейках -lotus 123 или visucalc не помню точно
Верно, спасибо, исправил.
Действительно. За последнюю неделю, если не ошибаюсь, это уже третий новый язык программирования.

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

С Lispom так же имеется схожесть, как и с С-подобными языками. Вообще говоря, я попытался в одном языке собрать всё лучшее из мне известного. Но Вы не увидите «очередного» языка программирования. SALI использует математико-логический аппарат, но при этом не имеет оператора присваивания. Из этого вытекает нечто вроде ООП, но вместо объектов — субъекты, которые глобальны на чтение(за исключением особых сущностей, типа поля пароля) и приватны на запись…
  1. Есть ли у вас возможность общения "субъектов"? Как это происходит?
  2. Есть ли late binding?
  3. Есть ли что-то типа main-рутины?
1. Единственная возможность общения субъектов — задание в формуле зависимости одного от другого. При изменении значения субъекта зависимости, по формуле пересчитывается субъект зависимый(но не всегда...)
2. Late binding -а нативно нет, но определённый механизм опционально присутствует.
3. Если правильно понимаю, и дело в параллелизме, то да. Всё приложение сводится к однотипным, взаимонезависимым команам, поэтому распараллелить его можно естественным образом.
Автор не сказал почти ни слова по теме. А из того, что сказал, возникает четкая мысль — переизобрёл Prolog!
Я настроен более пессимистично. Пролог то мне нравится, а сабж «и Мир станет светлее» уже нет, извиняюсь :(. Но если пафос немного снизить, то все имеют право на эксперименты
Пролог — не единственный язык, который имеет схожесть, в данном случае, с математическим аппаратом и декларативной парадигмой. В любом случае, код пролога не выглядит, как инициализация иерархии вложенных друг в друга массивов да и фундаментальные принципы отличаются в корне. Дождитесь 2 статью, думаю завтра вечером, и тогда будете сравнивать. Сегодня я попытался уверить, что задавать конечный автомат с помощью программирования — не лучшая идея.
А что вы скажете про QML?
Спасибо, не слышал. Действительно идея очень похожа.

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

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

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

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

Что-то такое вы сейчас ответили.
представьте, что значение по ключу описывается математической формулой, аргументами >которой могут быть другие элементы массива
Тоже первая мысль про ФЯП
ФЯП + декларативный подход +… + ООП = SALI
Ни о чем не говорит. Практически в любом актуальном ООП языке есть возможность использовать функциональную парадигму или ее элементы и декларативный стиль.

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

Спецификация языка 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 поддерживает ограниченный набор операций

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Зря вы так. Мне вот интересно было что вы изобрели.
Хоть бы ссылку на гитхаб кинули.

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

Sign up to leave a comment.

Articles