Сохранен 96
https://2ch.hk/pr/res/1578525.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Пишем лучший язык всем двачем

 Аноним 20/01/20 Пнд 12:55:48 #1 №1578525 
image.png
image.png
image.png
Так как мозгов у меня не хватит даже чтобы написать транслятор в го, я просто поделюсь с вами идеального синтаксиса. Можете пиздить вдохновляться идеями, я не против.

1) Синтаксис лямбд как отдельный аргумент.
Лямбды пишутся через { ... }
Функции декларируются через "fun" как в котлине, чтобы выровнять на 3 буквы (можно заменить на def если нравится или xyz)

2) Декларация переменных.
let - иммутабельные
mut - мутабельные

3) Структура.
Основная идея что нет никаких свойств, все поля раскрываются в одноименные функции и можно только переписать как тебе нужно геттер или сеттер.

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

Наследования нет, только агрегация структур.
Экстеншен функции имеют доступ только к публичным полям
sageАноним 20/01/20 Пнд 12:59:37 #2 №1578526 
Лучший язык уже написан и это Ruby. Сажи ебанутым.
Аноним 20/01/20 Пнд 13:01:53 #3 №1578529 
>>1578525 (OP)
Ты только что свифт
Аноним 20/01/20 Пнд 13:02:33 #4 №1578532 
>>1578526
Руби сдох
Аноним 20/01/20 Пнд 13:16:41 #5 №1578552 
Вброшу RPLY, генератор парсеров для питона. Для тех, кому лень писать рекурсивный спуск вручную на сишке.
https://rply.readthedocs.io/en/latest/
Аноним 20/01/20 Пнд 13:19:51 #6 №1578556 
>>1578529
Ты там let узнал?))
sageАноним 20/01/20 Пнд 13:21:21 #7 №1578559 
Хороши язык должен быть C-подобным
Аноним 20/01/20 Пнд 13:24:31 #8 №1578562 
>>1578525 (OP)
Куча ошибок в комментах - тупо копипастил (потому что раскраски нет по синтаксису).
Но я думаю башкавитые все равно мысль уловят.
Аноним 20/01/20 Пнд 13:26:10 #9 №1578564 
>>1578559
Да скажи что понравился
Аноним 20/01/20 Пнд 13:32:06 #10 №1578571 
>>1578556
Я там все узнал. На нем можно писать вот как ты хочешь, а можно по-нормальному
Аноним 20/01/20 Пнд 13:56:37 #11 №1578580 
>>1578571
Возможно, свифт не щупал. Но разве там есть вызов метода без скобок "()" или отдельная декларация для лямбда-функции?
Аноним 20/01/20 Пнд 14:57:32 #12 №1578632 
.png
>>1578580
Нет, без скобок - это будет ссылкой на функцию, а не вызов. И соответственно передается все в параметрах, последний из которых можно раскрыть как на твоем пике.
Аноним 20/01/20 Пнд 16:42:11 #13 №1578727 
>>1578632
Тут идея что
'str'.size()
и
'str'.size

равносильно, не имеет значение что это, свойство или метод (это всегда метод, полей публичных нет)
Аноним 21/01/20 Втр 03:11:07 #14 №1579179 
>>1578525 (OP)
1. Фигурные скобки — ненужная соль. При чтении мы ориентируемся по отступам, а не ищем маркеры начала/конца блока.

2. Изменение/неизменность данных — свойство функции, оперирующей над ними, а не самой структуры данных.

3. Юникод уже давно везде есть, вместо "МинусБольше" давно пора использовать стрелки.
Аноним 21/01/20 Втр 04:34:05 #15 №1579184 
image.png
>>1579179
Для лямбд вообще хотел только символ равно (писать быстро лямбды важно, ибо бесить начинают классические конструкции).

Но боюсь что парсер не сможет в одно равно (непонятно это выражение лямбды или там уже присвоение где-то пошло)
Аноним 21/01/20 Втр 04:35:34 #16 №1579185 
>>1579179
>1. Фигурные скобки — ненужная соль. При чтении мы ориентируемся по отступам, а не ищем маркеры начала/конца блока.
Питонячий стайл прикольный, если редактор с линкиром есть, иначе превращается в боль.
Ну и си-стайл людям ближе (хотя за много лет я тоже к питонячим отступам пригрелся)

Аноним 21/01/20 Втр 04:36:26 #17 №1579186 
>>1579179
>2. Изменение/неизменность данных — свойство функции, оперирующей над ними, а не самой структуры данных.

Мне понял к чему, весь поинт - убрать понятия "свойства" класса/структуры
Аноним 21/01/20 Втр 04:42:59 #18 №1579189 
image.png
Последовательности
Аноним 21/01/20 Втр 04:44:45 #19 №1579190 
image.png
>>1579189
Кортежи туда же (кто их любит)
Аноним 21/01/20 Втр 04:59:49 #20 №1579192 
image.png
>>1578525 (OP)
Создание своей последовательности
Аноним 21/01/20 Втр 05:13:23 #21 №1579193 
image.png
Интерфейсы и утиная типизация
Аноним 21/01/20 Втр 05:30:51 #22 №1579196 
image.png
Не явная работа с геттером и сеттером
Аноним 21/01/20 Втр 06:42:42 #23 №1579205 
image.png
>>1578525 (OP)
Агрегация (не наследование) и подход трейтов
Аноним 21/01/20 Втр 06:44:33 #24 №1579206 
image.png
>>1579205
Была ошибочная картинка, фикс
Аноним 21/01/20 Втр 08:00:07 #25 №1579217 
>>1578525 (OP)

Что бы посрамить всех байтоёбов с их низкоуровневыми оптимизациями в 90% critical path проблем достаточно...

https://github.com/BSVino/JaiPrimer/blob/master/JaiPrimer.md#data-oriented-structures

Аноним 21/01/20 Втр 08:42:25 #26 №1579228 
Зачем писать новый язык, если есть няшный Haskell
Аноним OP 21/01/20 Втр 09:14:27 #27 №1579233 
>>1579228
>Зачем писать новый язык
Каждый программист должен написать новый язык, а если не может, то хотя бы высрать синтаксис на двачах.

мимо ОП
Аноним 21/01/20 Втр 09:17:02 #28 №1579234 
В общем, хочется написать что-то типа croovy/kotlin/swift/go/python
Но нормально, без VM и производительно.
Аноним 21/01/20 Втр 09:26:39 #29 №1579239 
>>1579233
Свой язык, своя ОС, свой браузер, своя игра на голом OpenGL который якобы мёртв.
sageАноним 21/01/20 Втр 09:37:29 #30 №1579246 
>>1578525 (OP)
Всрато.
Аноним 21/01/20 Втр 09:41:03 #31 №1579248 
>>1579246
Давай лучше
sageАноним 21/01/20 Втр 10:09:26 #32 №1579264 
>>1578525 (OP)
>идеального синтаксиса
Идеальный синтаксис - это Естественный язык. Все остальное хуйня программистская.

Хуею с людей, которые хотят идеального синтаксиса, но не хотят идеальной семантики.
Аноним 21/01/20 Втр 10:47:18 #33 №1579292 
>>1579264
>пук
sageАноним 21/01/20 Втр 14:38:49 #34 №1579446 
>>1579248
Ruby.
Аноним 21/01/20 Втр 14:54:40 #35 №1579467 
ruby.jpg
>>1579446
Не кроссплатформенная засахаренная магия.
........end
....end
end

Собственно что ожидать от барана с сажей
Аноним 21/01/20 Втр 14:56:53 #36 №1579471 
>>1579234
>нормально, без VM и производительно.

Выбери одно
Аноним 21/01/20 Втр 14:58:34 #37 №1579475 
>>1579471
Выбери два, ты хотел сказать?
Аноним 21/01/20 Втр 16:31:04 #38 №1579564 
>>1579475

Нет.

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

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



Аноним 21/01/20 Втр 17:18:06 #39 №1579597 
>>1579467
>Не кроссплатформенная
Android не поддерживается?
>засахаренная
Тебе удовольствие или заебаться?
>магия
Сорцы открыты, читай.
>end
Пиши }, если нравится, в чём проблема?
Аноним 21/01/20 Втр 17:29:44 #40 №1579602 
>>1579597
>Пиши }, если нравится, в чём проблема?
Пацаны не поймут. еще бы табы в питоне посоветовал
> Сорцы открыты, читай.
Я вот понимаю почему в js такой говнокаст и почему работает это именно так, но мне от этого не легче.
>Тебе удовольствие или заебаться?
Когда сахар становится магией, это уже диагноз.
>Android не поддерживается?
Понятно.
Вы бы хоть для начала на венде без костылей работать стали, а уже потом в ведро лезете.

Мне там год назад обещали JIT, завезли уже?
Аноним 21/01/20 Втр 17:45:45 #41 №1579606 
>>1579602
>еще бы табы в питоне посоветовал
Питон в принципе не советую, только конченые долбоебы могли сделать отступы частью синтаксиса.
>сахар становится магией
Нет никакой магии, всё just works, в одну строчку из пяти слов пишется такоэ, на что в других скриптопарашах подключают зависимость.
>венде
Депрекейтед системы нинужны.
Аноним 21/01/20 Втр 18:02:34 #42 №1579616 
image.png
>>1579606
>Депрекейтед системы нинужны.
НИНУЖНО работает и в обратную сторону
Аноним 21/01/20 Втр 18:15:03 #43 №1579624 
>>1579616
О чём задавать questions, если язык настолько хорош, что в нём уже всё понятно, а что было непонятно — уже разжёвано.
Аноним 21/01/20 Втр 18:19:58 #44 №1579627 
>>1579616
Я еще вчера в другом треде сдержался, чтобы не спросить тебя. Ты совсем дебил? Как можно судить о популярности чего-либо по количеству вопросов. Они же блять не бесконечные, отвеченный сегодня вопрос - это незаданный завтра.
Аноним 21/01/20 Втр 18:59:46 #45 №1579660 
>>1579627
Вайтишники не умеют гуглить и задают вопросы заново. Соответственно, чем более популярна какая-то технология у вайтишников, тем более растущим будет такой график. Что не мешает компаниям типа Гитхаба и Гитлаба продолжать пилить свой основной дичайше популярный продукт на Ruby.
Аноним 22/01/20 Срд 00:00:37 #46 №1580184 
>>1578525 (OP)
Мне очень нравится принцип composition over inheritance, но когда тебе по сути нужно сделать полезную работу в одной функции, а в остальных 10 просто передать параметры композируемому объекту, как-то рука сама тянется пронаследоваться. В этом языке, раз тут везде композиция, нужно чтобы такое делалось просто, без лишних keystrokes, как говорится.
Аноним 22/01/20 Срд 03:35:15 #47 №1580293 
>>1579624
Ты же программист ты же должен понимать. Чем больше новых людей интересуются тем больше вопросов создается. Не интересуется новых людей, язык уходи в забвение (дрочат его только динозавры на легаси)
Аноним 22/01/20 Срд 03:36:57 #48 №1580294 
image.png
>>1579627
А ты подумай что твоя маня теория не работает
Аноним 22/01/20 Срд 04:13:36 #49 №1580296 
image.png
>>1580184
Мне нравится идея mixin, когда ты в один класс можешь добавлять различные поведения.
Например у тебя есть класс Орг и к нему можешь добавить (примешивать) подклассы "ходить" (со своими методами и полями), атаковать (тоже со своими методами и полями, скажем, урон).

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

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

Понятно что данные миксин нужно прятать как-то от дочерних классов, но при этом дочерние классы должны как-то иметь доступ к родительским данным (в итоге начинаешь придумывать снова ООП и потом снова получаешь недостатки ООП).

Питон очень гибок, дает поиграться с разными подходами, вот сейчас играюсь и тупо смотрю как лучше.
Аноним 22/01/20 Срд 04:28:36 #50 №1580297 
image.png
В общем, ООП модель ложится нормально, когда у тебя есть конечный объект типа точка, или строка, то есть реальный тип. Но только доходит к тому чтобы добавить еще поведения, даже через наследование начинается жопа (а агрегация смотрится ужасно. Делегирование очень затратна, даже если брать какой-то котлин, там либо можно все делегировать либо если частично то только ручками)
Аноним 22/01/20 Срд 07:13:47 #51 №1580320 
>>1579446
>>1579660
>>1579446
Зачем тебе сруби, когда есть груви??
Аноним OP 22/01/20 Срд 12:24:36 #52 №1580544 
Чет надоело мне синтаксис придумывать.
Аноним 22/01/20 Срд 12:30:03 #53 №1580550 
>ООП
Все плюсы сразу перечеркнул.
Аноним 22/01/20 Срд 12:54:22 #54 №1580573 
>>1580550
там как раз нет ООП
sageАноним 22/01/20 Срд 19:32:18 #55 №1580929 
> Пишем лучший язык всем двачем
Ассемблер уже написан.
Аноним 22/01/20 Срд 23:25:49 #56 №1581136 
>>1580929
Давай архитектуросрач
Motorolla 68k > ARM > x86
Аноним 24/01/20 Птн 04:00:53 #57 №1582004 
>>1581136
Шесть пять ноль два.
Аноним 24/01/20 Птн 09:50:15 #58 №1582087 
>>1580929
Ты хотел сказать лисп?
Аноним 24/01/20 Птн 09:57:41 #59 №1582093 
>>1582087

Так и не смог в производительность. Даже жирножаба смогла с её то JIT, а SBCL по прежнему даже в SSE1 из Pentium 3 1999 года не может.

Аноним 24/01/20 Птн 10:52:56 #60 №1582119 
15791488742290.png
>>1578525 (OP)
Мутабельные-хуйтабельные, какой же ты тупорылый долбоеб, блять. Вместо того, чтобы придумать годных фич, они опять месят говно в ступе, меняя function на fun и велосипедя синтаксис еще шизанутее, чем в существующих говноязычках.

Пример нужной, полезной и существенной фичи - возможность задавать для классов кастомные лэйауты в памяти. Ну т.е. группировать одноименные поля разных объектов этого класса по массивам, например, для оптимизации времени работы некоторых часто выполняемых над этими данными алгоритмов, которые не затрагивают остальные поля.
Аноним 24/01/20 Птн 21:28:27 #61 №1582497 
>>1582119
Иммутабельность дает некоторые плюшки компилятору для оптимизации.
Структуры по-умолчанию предполагают упорядоченность в памяти. Отсутствие наследование и прочей виртуальной и мета херни - тоже способствуют экономию ресурсов (агрегация делается компиляцией, в том числе и утиная типизация).

Новые фичи? Отсутствие возможности публичных полей и генерация все в методы (в том числе и для lvalue выражений).

Можно сделать лямбды инлайн-функциями.

>Вместо того, чтобы придумать годных фич
Твоя очередь, раунд.
Аноним 24/01/20 Птн 22:38:36 #62 №1582545 
>>1582497
>Твоя очередь, раунд.
Заменить fun на fu.
Аноним 24/01/20 Птн 23:16:31 #63 №1582577 
>>1582545
Когда-нибудь они изобретут хаскелль, где вместо подобных кейвордов спецсимволы:
f :: Type1 -> Type2
Но и хаскелль не пионер в этом
Аноним 24/01/20 Птн 23:31:02 #64 №1582587 
>>1582577
Хотя, какой хаскелль, даже в банальной сишке этой хуйни нет.
Аноним 25/01/20 Суб 00:09:04 #65 №1582608 
>>1582497
>Структуры по-умолчанию предполагают упорядоченность в памяти.
Упорядоченность - понятие растяжимое.

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

>Отсутствие возможности публичных полей и генерация все в методы (в том числе и для lvalue выражений)
Это поставит крест на оптимальности, лол. Или на ООП в условиях борьбы за производительность.

>Можно сделать лямбды инлайн-функциями.
Они уже inline в крестах, вообще-то. Тащи уж тогда локальные классы, как в Java и JS.
Аноним 25/01/20 Суб 00:10:16 #66 №1582609 
>>1582577
Хуяскель, блять. Профит-то от этой хуйни в чем?
Аноним 25/01/20 Суб 00:12:12 #67 №1582610 
>>1582609
Я чё ебу? Спроси у борщехлёбов, это они тащатся от такого.
Аноним 25/01/20 Суб 03:02:52 #68 №1582640 
>>1582609
В том, что функции и процедуры -- это не какие-то волшебные объекты, которые имеют особый статус по сравнению с "обычными" типами данных, а точно такой же тип, как и какие-нибудь инты с даблами. Мы из коробки получаем функции высшего порядка и частичное применение функций как минимум.
Аноним 26/01/20 Вск 16:44:08 #69 №1583359 
>>1578525 (OP)
Чем он лучший? Почему вывод типов не полноценный? Зачем смешивать данные и методы?
Аноним 26/01/20 Вск 18:08:21 #70 №1583418 
>>1579246
Аноним 26/01/20 Вск 19:14:44 #71 №1583472 
>>1579248
SML/Ocaml
Аноним 26/01/20 Вск 19:34:26 #72 №1583484 
Screenshot 2020-01-26 at 20.31.34.png
>>1578580
Без скобок это либо обсервер переменная либо кложуре (частично)

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

Остальные языки очень вялые и старые. Да и ты дерьмом занимаешься если честно.
Аноним 26/01/20 Вск 22:42:16 #73 №1583617 
>>1582608
>>Структуры по-умолчанию предполагают упорядоченность в памяти.
>Упорядоченность - понятие растяжимое.
Что ты сейчас высрал?
Сладость сахара - понятие растяжимое.
Аноним 26/01/20 Вск 22:44:53 #74 №1583621 
>>1582608
>Это поставит крест на оптимальности, лол. Или на ООП в условиях борьбы за производительность.
Компилятор пустые геттеры и сеттеры обрежет.

>Они уже inline в крестах, вообще-то.
Ой ну раз в крестах лямбды инлайн, тогда все, прекращаем разработку, такое уже есть в крестах.
Тебя не смутило что и структуры есть в крестах, а еще функции есть в крестах. И!!! ДАЖЕ ПЕРЕМЕННЫЕ ТАМ ЕСТЬ!
Аноним 26/01/20 Вск 22:46:50 #75 №1583623 
>>1583484
>есть ли в котлине екстеншены
Котлин этим тоже спиздил вдохновился.
sageАноним 26/01/20 Вск 22:51:27 #76 №1583629 
>>1582119
>Пример нужной, полезной и существенной фичи - возможность задавать для классов кастомные лэйауты в памяти.
В будущей джаве уже есть.
Аноним 26/01/20 Вск 23:10:51 #77 №1583658 
15787513462490.png
>>1583629
Интересно, а можно ссылочку?

>>1583621
>все, прекращаем разработку
Ну прекращай, хули. А ты ее начинал, кстати, зумерок?
Создал чат в телеге, канал на ютубе и этот тред, лол?
>сеттеры обрежет
А линковать ты как собрался, иксперд малолетний?
Аноним 27/01/20 Пнд 12:27:07 #78 №1583904 
>>1583658
>А линковать ты как собрался
Твоим ртом.
Аноним 27/01/20 Пнд 19:45:38 #79 №1584213 
добавь багов. Что бы система если что могла бы быстро удалиться.
Аноним 29/01/20 Срд 20:02:07 #80 №1585748 
Так, я не понял, ОП треда всё, сдриснул? Не видать нам теперь нового русского языка программирования? Его хватило ровно на неделю?
Аноним 29/01/20 Срд 20:04:36 #81 №1585750 
>>1585748
> Не видать нам теперь нового русского языка программирования
Полно, но взлетевших нет.
Аноним 29/01/20 Срд 20:17:06 #82 №1585759 
>>1585750
Полно говоришь? Посоветуй тройку лучших на твой взгляд.
Аноним 29/01/20 Срд 21:27:07 #83 №1585788 
>>1585759
1С. И какая-нибудь совковая паскалеподобная хуйня (раз даже паскаль сдох, что уж говорить про его клоны).
Аноним 29/01/20 Срд 21:37:47 #84 №1585792 
>>1585748
>Так как мозгов у меня не хватит даже чтобы написать транслятор в го, я просто поделюсь с вами идеального синтаксиса. Можете пиздить вдохновляться идеями, я не против.
Жопой читаешь?
sageАноним 29/01/20 Срд 21:40:32 #85 №1585795 
>>1585792
Получается что так.
Аноним 30/01/20 Чтв 01:17:49 #86 №1585904 
>>1585748
Он пока занят, мы линкуем gcc его раздолбанным гноящимся очком.
Аноним 30/01/20 Чтв 11:15:33 #87 №1586026 
>>1578525 (OP)
>Пишем лучший язык всем двачем
Но Symta уже написана десять лет назад...
Аноним 30/01/20 Чтв 13:06:12 #88 №1586073 
>>1585795
Пук среньк, сделайте кто-нибудь уже мне нормальную гошечку за меня, я подожду
Аноним 30/01/20 Чтв 13:06:55 #89 №1586074 
>>1585904
>gcc
Фу, зачем ты это говно мамонта принес.
Аноним 30/01/20 Чтв 13:16:01 #90 №1586078 
>>1578525 (OP)
Пишем всем двачем
@
Пишет только ОП
@
Кококо, все говно, оп хуй!
@
Кококо, я увидел let, значит язык похож на свифт!
@
Кококо, как ты в своем языке будешь линковать методы, ведь другие линкуют и ты линкуй, часики то тикают.
@
Кококо, ты что не написал мне еще язык, слился?
@
ээээ, я руби обмудок, путаю лямбды с блоками
@
Я поел борща, на те вам хаскель, а то все уже забыли про хаскель.
Аноним 30/01/20 Чтв 13:39:36 #91 №1586098 
>>1586073
V?
Аноним 30/01/20 Чтв 18:11:47 #92 №1586346 
>>1586098
Тот язык, у которого сборка мусора собирает только донаты?
Аноним 30/01/20 Чтв 21:33:53 #93 №1586542 
>>1586074
Соси, не отвлекайся. А то второе яйцо отрежем.
Аноним 31/01/20 Птн 01:57:24 #94 №1586696 
>>1586542
школоло детектед
Аноним 01/02/20 Суб 15:17:33 #95 №1588105 
>>1585788
>1С
Ограниченное говно. Я даже как-то хотел (и хочу, т.к. пишу на этом говне по работе) транслятор сделать из языка похожего на схему (схема потому что парсить легко) в котором был бы вывод типов. Была бы безопасная хуйня со скобочками, паттерн матчингом и лямбдами.
Аноним 01/02/20 Суб 15:32:14 #96 №1588115 
>>1588105
Говно, кто спорит. Но ничего лучше среди "русских языков программирования" нет котлин.
comments powered by Disqus