Комментарии 68
Ваши первая (вполне осмысленная) и вторая (вот эта) публикации — как небо и земля. Ну ведь ноль же информации во второй, зачем было тратить попусту время читавших?
«Не бережёте вы себя...»
Я здесь с конкретной целью — найти помощь, а не поощрение.
Так в чём именно-то помощь вам нужна? Рассказали бы, что именно вы пилите, как вы это видите, что сделали и что осталось сделать — может, помощники и нашлись бы.
А так, написали что-то в стиле «у меня есть крутая идея, но я вам её не расскажу, потому что
Вряд ли фетиш — просто реакция на посты, в которых нет ничего полезного для читателей.
FRP, математическая функция, немного синтаксиса… чую очередной Lisp.
- Есть ли у вас возможность общения "субъектов"? Как это происходит?
- Есть ли late binding?
- Есть ли что-то типа main-рутины?
2. Late binding -а нативно нет, но определённый механизм опционально присутствует.
3. Если правильно понимаю, и дело в параллелизме, то да. Всё приложение сводится к однотипным, взаимонезависимым команам, поэтому распараллелить его можно естественным образом.
представьте, что значение по ключу описывается математической формулой, аргументами которой могут быть другие элементы массива
Представил. К такому виду можно свести любую программу на PHP, JavaScript, да и в общем-то везде где есть map. И все-таки непонятно, чем это отличается от Excel.
Excel работает с плоскими таблицами, SALI с субъектами. Субъекты образуют иерархию произвольной глубины(excel такое может?). Каждый субъект одновременно является контейнером дочерних субъектов и переменной/массивом переменных при различном контексте использования. Каждый субъект в идеальном случае представляет аналогию реальной составной прикладной задачи — напоминает ООП-объекты, но не имеет методов, не доступен на запись никакому другому субъекту, доступен на чтение всем субъектам(с исключительными ситуациями).
представьте, что значение по ключу описывается математической формулой, аргументами >которой могут быть другие элементы массива
Тоже первая мысль про ФЯП
Продолжу игру в угадайку, пока не вышла вторая статья. Значит так… Декларативность, функциональность и чистота, произвольная вложенность объектов и явные зависимости между ними, предельно простой синтаксис, нацеленность на конфигурирование систем, неполнота по Тьюрингу (судя по утверждению о конечных автоматах)… Это Nix! А если гарантируется тотальность, то Dhal. Правда, они статически типизированные.
А если серьёзно, то желаю вам удачи и не сильно обидеться на нас "академиков". Это непросто изобрести что-то новое, но я убеждён, что нужно пытаться и стараться изобретать. Одно непременное условие: не переставать учиться, сочтя, что весь мир остался далеко позади.
Раз за 28 лет не «зазвездился» — значит и о будущем нет причин переживать)
Думаю, дело в упомянутой выше "маркетинговом" посыле вашей статьи. Когда речь идёт о новом инструменте важно не то, что он хороший и "более лучший", и не то, как он устроен, а то какие конкретно задачи он решает, где его место на полке мастера. Во вводной статье хочется видеть именно это. Или, если речь идёт о концепции, хочется увидеть её красоту в виде законченного образа, а не в форме многобещающих намёков.
По поводу конкретных комментариев и реакции на них, не скажу, но, полагаю, это отражение реакции на статью и её общий полемичный тон. Причём же тут осень, честно, не представляю.
Вы бы потерпели поделиться своими наработками до момента когда будет что-то показать. А пока это просто пустые слова.
Скажем меня смущают "изобретения" без какого-либо анализа аналогов. "Аналогов не существует" — весьма сомнительное утверждение. И уж тем более "вступление" в котором ничего не понятно, и при этом нет ни намека на ETA продолжения.
Однако, чтобы идея была ценной, в ней должно быть что-то ещё кроме оппозиции мэйнстримовым идеям.
Тем более, что зачастую эти «оригинальные» идеи при своей несхожести с продуктивными мэйнстримовскими концепциями обладают поразительной схожестью с обширными пластами маргинальных мертворождённых высеров, которые совершенно так же начинались и ни разу не развились ни во что годное.
Каждый может быть сколько угодно не согласным с мнением других, но уничтожение инакомыслящих — это не может быть одобрено никем и никогда.
На хабре и гиктаймсе сохранить карму можно только соглашаясь с мнением большинства. Даже тень мысли о том, что большинство может ошибаться, гарантирует минус в карму. Это закон хабра.
Если кто-то ставит минусы только за то, что высказанная идея отличается от его собственной — то да, это нехорошо. Но вот я сомневаюсь, что среди минусящих таких значительное количество.
Обычно человек получает минусы за неадекватный стиль общение, за то, что пихает совершенно не к месту свои идеи, не имеющие отношение к контексту беседы, за то, что слишком уж явно демонстрирует правоту Даннинга и Крюгера, за то, что демонстрирует явное неуважение к окружающим, за то, что выдаёт откровенный булшит за аргументы.
Но обычно такие люди не любят признаваться себе, что дело в них, вот и придумали себе, что они — непонятые гении, а окружающие просто слишком ограничены.
Если ваши ответы получают минусы, значит люди считают, что это плохие ответы. Причины могут быть разные — недостаточно понятный ответ, слабая аргументация или ее отсутствие, необоснованный переход на личности, свою или собеседника, вы не правильно поняли вопрос, минусующий неправильно понял ответ, ответ напомнил ему личный негативный опыт, не понравилась орфография, поставил за компанию. Но точно не «здесь так заведено».
Автор своей статьёй продемонстрировал несколько попаданий в подобный типаж по сути, а в комментариях подкрепляет это впечатление стилем общения. За что и получает минуса, так как у людей думающих подобные персонажи обычно вызывают спектр эмоций от раздражения до брезгливости.
Давайте откровенно, даже моя благодарность за указание на ошибку (и в результате — исправление) получила минусы. Мы всё ещё считаем меня высокомерным или саму площадку со странным взглядом на оценивание?) Этот комментарий должен набрать ещё больше больше минусов, я надеюсь — это будет означать, что мои выводы верны. Тем не менее, задача найти соискателей никуда не пропала, поэтому 2 статья будет.
Я такой практики не одобряю, это действительно дискредитирует идею адекватной обратной связи.
Но, во-первых, это всё-таки не из-за оригинальности ваших идей, а из-за того, что вы с самого начала умудрились настроить людей против себя. Собственно, никаких оригинальных идей мы пока ещё не видели, поэтому очевидно, что минусят вас не за них.
Во-вторых, из всех, кто прочитал вашу статью, так поступают считанные единицы. На данные момент упомянутые вами комментарии имеют по два минуса каждый. Эти два человека явно были не правы, но, учитывая, общий размер аудитории сайта и то, как вы изначально настроили людей против себя — два минуса это ещё вполне по-божески. На самом деле, это скорее опровергает идею об общей неофобии данного ресурса, а не подтверждает.
Так что с вами здесь ещё вполне толерантно общаются.
На том же пикабу вам бы уже десять раз пообещали бы обоссать лицо (это, кстати, реальная история, мне там реально такое написали, когда я осмелился в комментах упомянуть о том, что байесианский подход к вероятности превосходит подход частотников).
Любая информация может быть представлена последовательностью символов, но не каждая последовательность символов информативна
Спецификация языка 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, то она обязана возвратить значение.
и тут вряд ли.
auto и return, да, наверное, не работают ))
Огромное спасибо, что потестировали!
Сейчас весь в процессе разработки Cj. В следующем месяце представлю новую версию (надеюсь в начале, а не в конце). Всё тщательно оттестирую, отлажу и только тогда вылезу на суд общественности.
… а можно сказать и по-другому
Вся железка это почти конечный автомат, на который повешена ОСь.
написание прикладной программы это по сути программирование ОСи и того конечного автомата.
Наверно не надо было хвалить ещё не реализованный ( или не описанный) проект в стиле «я гений, прочь сомненья, даёшь восторги лавры и цветы» — это раздражает. Отсюда и негативная реакция. Не обижайтесь и удачи Вам
Для решения каких задач задуман этот язык? В каких областях?
Дорогие антилайкари, Вы просили лаконичного описания синтаксиса и идеи без воды, которые я обещал во второй статье — её сегодня не будет.
Из-за отрицательной кармы вы можете размещать публикации только в «Recovery mode» — не чаще раза в неделю и только в профильные хабы. С момента последней попытки неделя ещё не прошла — попробуйте 25.10.2017.
Данный комментарий я отправлял час, поэтому второй статьи на хабре не будет никогда. Продолжайте, Вы всё делаете правильно)
PS: Прошу прощения у тех, кто действительно ждал, я сам пол дня убил на подготовку, стараясь учесть все претензий и пожелания, но второго шанса мне не дали.
В любом случае, спасибо за ценный опыт, удачи Вам)
PPS: Уважаемые хейтэры, не забудьте отдизлайкать этот комментарий, мне всё равно карма больше не понадобится)
- мы не ждали "статьи на хабре", хабр так себе место что бы что-то реально стоящее представлять публике.
- гитхаб (или гист) большинству бы хватило
- Слишком много пафоса и обиды. Не похоже на что-то серьезное увы.
Ну, как говорится, Вы сделали всё, чтобы хабровчане не ждали от Вас ничего интересного.
но второго шанса мне не дали
Вы могли в этом комментарии написать немного технических подробностей и пару примеров под спойлером, могли дать ссылку на описание на другом ресурсе, могли оставить статью в черновиках на неделю, она электричества не требует. Вместо этого вы решили найти причину обидеться.
Зря вы так. Мне вот интересно было что вы изобрели.
Хоть бы ссылку на гитхаб кинули.
SALI — это Вам ~ язык программирования