|
2.50, Аноним (-), 17:02, 20/08/2023 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Ещё одни буквы экономят.
А в результате...
1) На хрусте получилось компактнее.
2) На хрусте програмер и компилер к тому же еще и знает что это i32 -> i32 и могут применить оптимизации с учетом этого фактора. В сабже вместо этого абстрактный int и полный цикл жизни оного оттрекать для оптимизаций - ну такое себе.
3) Поэтому хруст еще и быстрее.
4) А в глобальные оптимизации нынче может что угодно благодаря технологиям типа LTO. Даже сишка. Поэтому чувак немного отстал с этим.
5) И кстати интересно что будет на большое проекте, если вон те предлагаемые трансформации проделать с проектиком покрупней? LTO например ресурсов жрет просто море если им попробовать что-то типа линукскернела окучать, аж энтерпрайзные билдфермы напрягаются :)
| |
|
|
4.166, Аноним (-), 22:36, 21/08/2023 [^] [^^] [^^^] [ответить] | +/– | Капитан, залогинтесь - вы это махровому сишнику рассказали И таки вот как раз я... большой текст свёрнут, показать | |
|
|
2.153, nc (ok), 13:16, 21/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
В Go код выглядит чище и лучше. Всякого мусора типа двоеточий после имен переменных и стрелочек в сигнатурах функций нет (с точки зрения синтаксиса, эти символы там не нужны, они просто декоративные).
Что касается "case", то я когда-то очень давно, когда после Паскаля стал изучать Си, тоже думал что они лишние. А теперь понимаю, насколько это красиво - когда каждый узел синтаксического дерева начинается с ключевого слова. Особенно красиво, когда кода внутри каждого case больше чем одна строчка.
| |
|
|
2.7, Alladin (?), 13:04, 20/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Чел хочет занять нишу, ведь wasm преспективен. А писать приложения на js для wasm нереально, а C++/Rust для него не скриптовые.
| |
|
3.30, Аноним (30), 14:50, 20/08/2023 [^] [^^] [^^^] [ответить]
| +6 +/– |
какую нишу? ты практически из всего можешь сделать webassembly
| |
|
2.11, Аноним (11), 13:25, 20/08/2023 [^] [^^] [^^^] [ответить]
| +7 +/– |
Очевидно из резюме автора, что он профессионально занимается разработкой языков программирования, возможно является профессором (и где-то преподаёт, как например Мартин Одерски) и никакой цели получить одобрения от икспертов с опеннета точно не преследует
| |
|
3.145, Neon (??), 08:56, 21/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> он профессионально занимается разработкой языков программирования
Т.е. автор языка просто кушать хочет. Вот и сочиняет всякую фигня.
| |
|
2.18, Аноним (18), 14:15, 20/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Да не зачем. Очередной X для Y. Стоящие идеи в ит кончились.
| |
|
3.24, Аноним (24), 14:34, 20/08/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
>Стоящие идеи в ит кончились
Это не так. Нет чистой реализации ООП в виде объектов передающих сообщения. Подержка сообщений на языковом уровне это будет прорыв покруче всего асихионного и функционального копошения.
| |
|
|
5.49, Аноним (24), 16:58, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Не знаю. Но если ракета еще не захавала мозги всему миру, как это в свое время сделали объекты, значит там чего-то не то.
| |
|
4.33, Аноним (33), 15:05, 20/08/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ты просто гений. Вызови метод другого класа с аргументом, вот тебе и сообщение.
| |
|
5.48, Аноним (24), 16:55, 20/08/2023 [^] [^^] [^^^] [ответить]
| –4 +/– |
Это не то. У тебя обработка сообщения привязана к конкретной инстанции объекта-обработчика. Ее откуда-то нужно получить и управлять временем жизни этой связи. Вокруг этого крутятся все ди-фреймворки, решая проблему которой при отправке сообщений не существует.
В тру ООП могло бы быть так: объект отправляет событие в шину, все кто может его получает и как-то обрабатывает. Явной связи в виде ссылок на объекты нет, есть только семантика высокоуровневых сообщений, они позволяют строить программу более чисто. Весь алгоритм программы строится не на состоянии, а на цепочке сообщей и множестве объектов их обрабатывающих.
Сейчас что-то подобное делается внешним кодом, а хотелось бы чтобы была поддержка прямо в языке.
| |
|
6.59, Аноним (33), 18:04, 20/08/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Парень, тебя к коду вообще подпускать нельзя. А то ты для передачи параметра в функцию создашь для этого контейнер в AWS или Azure.
| |
|
7.68, Аноньимъ (ok), 18:24, 20/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Парень, тебя к коду вообще подпускать нельзя. А то ты для передачи
> параметра в функцию создашь для этого контейнер в AWS или Azure.
Вы не шарите, теперь модно serverless приложения делать, всякие AWS Lambda, буквально функцию в контейнере запускать.
Иди и смотри!
| |
7.71, YetAnotherOnanym (ok), 18:26, 20/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну, кагбэ, к этому, вообще-то всё и идёт. Вызов функции как сервис. Сискол как сервис. Присвоение переменной как сервис. И так далее.
| |
|
6.66, Аноньимъ (ok), 18:22, 20/08/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
> объект отправляет событие в шину, все кто может его получает и как-то обрабатывает.
Это бесполезное немного безумное действие.
B каких-то оооочень редких случаях может быть нужно.
> Явной связи в виде ссылок на объекты нет
Ссылка на объект = индивидуальное имя
Как вы без имени собираетесь сообщение от объекта А отправить объекту Б?
Минимум у получателя должен быть какой-то адрес мать его.
> позволяют строить программу более чисто. Весь алгоритм программы строится не на
> состоянии, а на цепочке сообщей и множестве объектов их обрабатывающих.
Вы с функциональным программированием знакомы?
> Сейчас что-то подобное делается внешним кодом, а хотелось бы чтобы была поддержка
> прямо в языке.
Smalltalk имеет тру ооп на сообщениях. Самый оопнутый из всех ооп язык.
| |
6.79, Аноним (79), 19:08, 20/08/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
И зачем это между классами? Может тебе ещё балансировщик впиндюрить на уровне языка, чтобы твой хайлоад не пропал? Для всего этого бреда есть фреймворки под любой мало-мальски используемый язык. И этого достаточно.
| |
6.80, Аноним (79), 19:10, 20/08/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
А то хотят нажать одну кнопку чтобы у них всё работало, а потом удивляются почему их уволили и заменили ИИ.
| |
6.82, Аноним (82), 19:30, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Дружище, погугли алгебраические эффекты. Это оно, только лучше. А то что ты описал — это и есть ДИ, и тут от языковой/компиляторной поддержки выигрыша никакого не будет, потому никто и не делает, проще реализовать библиотеками, чем жёстко прибивать язык гвоздями к одной реализации.
| |
|
7.179, Аноним (179), 12:26, 27/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
> алгебраические эффекты. Это оно, только лучше.
> лучше
Не факт, что вообще хорошо. Goto с модной причёской
| |
|
|
|
4.51, Аноним (51), 17:07, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
>Подержка сообщений на языковом уровне это будет прорыв покруче всего асихионного и функционального копошения.
Objective-C
Qt сигналы/слоты
Не оно?
| |
|
|
2.45, Аноним (45), 16:29, 20/08/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
в качестве DRM. Вы зашиьётесь декомпилировать васм-низкоуровневую виртуальную машину с заинлайнеными в код методами типов, в отличие от типов JavaScript, которые реализованы внутри браузера, работают по спецификации и идут под своими именами. DENUVO для сайтов потребляет 10ьгигов оперативы? Твоя проблема, а хозяин сайта - барин, это не ты ему нужен в качестве посетителя, это его сайт тебе нужен, барин прикажет - и браузер с WebButtplug поставишь ради доступа к сайту. Ну или вылетишь с работы, а вместо тебя твой босс наймёт того, кто поставит и вставит, за это в том числе пролам и платят.
| |
|
1.3, Шарп (ok), 12:37, 20/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
>Проектом развивается полноценная платформа разработки, включающая компилятор, сборочный инструментарий, пакетный менеджер
>пакетный менеджер
И ты, Брут. Каждому языку по пакетному менеджеру.
| |
|
2.17, Аноним (17), 14:15, 20/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
сишка: стопицот пакетных менеджеров от стопицот дистров
опеннетчики: ОК
раст: один стандартный пакетный менеджер
опеннетчики: СЛИШКАМ МНОГА
| |
|
3.151, Серб (ok), 12:45, 21/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> сишка: стопицот пакетных менеджеров от стопицот дистров
>опеннетчики: ОК
И это правильно. Так и должно быть. Ибо надо привязывать не язык, а целевую платформу. Так как в одном проекте может быть множество языков. Если ты на это не рассчитываешь, то ограничиваешь развитие проекта.
>> раст: один стандартный пакетный менеджер
> опеннетчики: СЛИШКАМ МНОГА
Перевираешь. Жесткая привязка не к тому типу пакетных менеджеров. Это ошибка проектирования.
| |
|
4.173, Аноним (173), 10:20, 24/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Поставь через apt 2 версии пакета, давай.
(В Nix так можно, но тебе до него далеко)
| |
|
5.177, Серб (ok), 18:26, 24/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Поставь через apt 2 версии пакета, давай.
Зачем?
Если нужно тестировать сборку для разных систем, то есть конвееры непрерывной интеграции. Где не только библиотеки разные.
Если для разработки с новыми версиями, то для этого разработка ведется с вытащенными из репозитария.
Отсюда вопрос: Зачем?
| |
|
|
|
|
1.4, Аноним (4), 12:47, 20/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
Ещё один никому не нужный язык.
Впрочем, если впишутся китайцы с алибабами, тенсентами и хуавеями, то может и взлететь.
Но синтаксис и обязательный сборщик мусора...
| |
|
2.32, Витюшка (?), 14:54, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Huawei пилит свой новый язык программирования. Это строго типизированный язык (подмножество Typescript), которое будет компилироваться то ли нативный код, то ли исполняться оптимизирующей JIT виртуальной машиной.
При том они дизайн весь pipeline, без использования llvm.
Пилят в России ;)) 140 человек работает над проектом.
| |
|
3.39, Аноним (4), 15:20, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Это Ascend C, он давно уже вышел.
Беда в том, что там спецрешение по типу Erlang/OTP, только на базе C и он именно для той же ниши, что эрланг изначально, т.е. сети и телеком.
Может пытаться делать всякое прикладное, но пока особо смысла нет, у него банально другие цели.
| |
|
4.63, Витюшка (?), 18:16, 20/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ты вообще не читаешь перед тем как ответить? Какой С? Я говорю Typescript. Пилится для Harmony OS. Проект новьё, даже окончательной спецификации языка нет.
Никуда он ещё не вышел
| |
|
|
|
1.6, Kuromi (ok), 12:53, 20/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Который год разговоры про WebAssembly, вот даже языки начали новые писать, а применения сабжа что-то не видать.
С другйо стороны как подумаешь как тег video быстро выродился в видеорекламу...
| |
|
2.9, Аноним (9), 13:12, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
В Фигму зайди и посмотри. В голове держи простую мысль что без вебассембли такой функционал реализовать нельзя.
| |
|
3.10, Kuromi (ok), 13:13, 20/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> В Фигму зайди и посмотри. В голове держи простую мысль что без
> вебассембли такой функционал реализовать нельзя.
javascript.options.wasm=false и смотреть что сдохнет :)
| |
|
2.15, FF (?), 14:01, 20/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> применения сабжа что-то не видать.
потому что чтобы задействовать модуль WASM, надо испачкаться JS и только через это взаимодействовать с DOM.
| |
2.172, Аноним (172), 00:10, 24/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
В криптовалютках вон используется. Блокчейн Polkadot ( DOT ) вовсю на нем катается, 11-й по капитализации (5.5 млрд). Понятно, тебе наверняка это окажется не нужно ("пузырь","пирамида","МММ", "дармоеды", "спекулянты проклятые"...), но народу уже не первый год требуется.
Да и не только там. Но приведи тебе еще что-нибудь в качестве примера - эта штука с большой долей вероятности тут же окажется тебе ненужной. А там уже известно всё - раз не нужно тебе, значит не нужно никому (получается, кто-то пилит ненужное даже для себя? Извращенец). Расслабься. Тебе не нужно, значит нигде не используется, только пилится, ты прав.
| |
|
3.176, Kuromi (ok), 16:39, 24/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> В криптовалютках вон используется. Блокчейн Polkadot ( DOT ) вовсю на нем
> катается, 11-й по капитализации (5.5 млрд). Понятно, тебе наверняка это окажется
> не нужно ("пузырь","пирамида","МММ", "дармоеды", "спекулянты проклятые"...), но народу
> уже не первый год требуется.
> Да и не только там. Но приведи тебе еще что-нибудь в качестве
> примера - эта штука с большой долей вероятности тут же окажется
> тебе ненужной. А там уже известно всё - раз не нужно
> тебе, значит не нужно никому (получается, кто-то пилит ненужное даже для
> себя? Извращенец). Расслабься. Тебе не нужно, значит нигде не используется, только
> пилится, ты прав.
Pump it. Dump it.
| |
|
|
1.16, 12yoexpert (ok), 14:13, 20/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> на низкоуровневых языках, таких как C++ и Rust
дожили. напомним, что С - язык высокого уровня
| |
|
2.21, Аноним (17), 14:26, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
языки не делятся на "высоко-" и "низкоуровневые". Понимаешь ли, уровней много, их больше двух. Поэтому речь идет про "более высокоуровневые" или "более низкоуровневые" языки. Синтаксисы асма более высокоуровневые, чем херачить машинные коды в хекс-редакторе. Но: си менее низкоуровневый, чем допустим Vala.
| |
|
3.40, Аноним (40), 15:39, 20/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Но: си менее низкоуровневый, чем допустим Vala.
Сам запутался в своих абстракциях?
| |
|
4.42, Аноним (17), 15:57, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
все еще лучше, чем считать, что языки бывают ровно двух типов.
> Макс Корж — Запомни, есть два типа людей | |
|
|
|
|
2.26, Аноньимъ (ok), 14:44, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Кстати да, в этом языке лунатиков, инт какой вообще? Безразмерный, фиксированный, случайного размера(как в сишке и сипипишке)?
| |
|
|
4.44, Аноньимъ (ok), 16:22, 20/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
>int зависит от платформы
То есть Moonbit страдает нонбинарным гендерфлуидным интом, как и сишка?
>и вообще открой для себя stdint.h
Ненужно мне ваши .h файлы показывать, держите этот срам при себе.
| |
|
5.157, Пряник (?), 13:31, 21/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Не удержишь :)
В этом файле лежат макросы для определения фактического типа данных, скрывающегося, например, за словом uint8_t. Это нужно для компиляции одного и того же кода на разной архитектуре проца.
| |
|
4.57, _kp (ok), 17:48, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Int и иже с ними сейчас зависит не от платформы, а от параметров компилятора.
| |
|
|
6.141, _kp (ok), 02:48, 21/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Для gcc на x86 нужно передать компилятору дефайны.
Обычно применяю для единнообразной сборки.
А то на разных 32х битных платформах(микроконтроллры, linux, windows..) бардак с long.
Для некоторых архитектур у gcc есть и ключи управляющие размерностью типов.
| |
|
7.181, anonymous (??), 18:11, 27/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
вас пример привести попросили, а вы своё же сообщение другими словами написали
если вы про m32/m64, то это не то.
| |
|
|
|
|
|
|
1.28, Аноним (28), 14:46, 20/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
>Необходимость создания нового языка объясняется тем, что разработка приложений для WebAssembly на низкоуровневых языках, таких как C++ и Rust, сопряжена со сложностью изучения
Поэтому надо выучить целый новый язык в дополнение к уже выученным C++, Rust и JavaScript.
| |
|
2.158, Пряник (?), 13:35, 21/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Вот тоже реально бесит. Зачем с новым языком придумывать новый синтаксис? Хотя бы на 99% можно его не менять. Понятно, что функционал языков может отличаться.
| |
|
1.46, Аноним 100 (?), 16:48, 20/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Отлично, избавились от указателей и оператора return. Вот если бы ещё избавились бы от скобок, был бы вообще огонь.
| |
|
2.53, Аноним (51), 17:24, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
>Вот если бы ещё избавились бы от скобок
Python, Nim, Mojo for you
| |
|
3.61, Аноним (61), 18:10, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Python, Nim, Mojo for you
Только питон 2 позволял не использовать скобки. А весь прочий указанный хлам не имеет синтаксиса без скобок.
| |
|
|
5.138, Аноним (61), 00:39, 21/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Это у Ruby и блоки, и программирование возможно без скобок. А у питонячьего семейства без скобок - никак. Попробуйте в питоне функцию вызвать без скобок.
| |
|
6.139, Аноним (-), 01:21, 21/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Стоит добавить, что Ruby вообще позволяет не использовать скобки в программировании. Обойтись без простых, без фигурных, без квадратных.. Вообще без скобок, если надо. Это до сих пор его позволяет оценивать как уникальный язык для создания domain specific embedded languages. Жаль, что молодёжь сейчас неграмотная и таких особенностей языков программирования не знает.
| |
6.154, Аноним (152), 13:18, 21/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Нет уж, функции пусть лучше с круглыми скобочками останутся. А то, что во втором print без скобок был, так то был оператор, а не функция.
| |
|
7.162, Аноним (61), 15:57, 21/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Но только в этом фрагментике и простые, и квадратные скобки присутствуют. Да и вызов тут не функции, а лямбды. А разговор был об отсутствии скобок вообще.
| |
|
6.160, Пряник (?), 14:06, 21/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Попробуйте в питоне функцию вызвать без скобок.
class A:
def __add__(self, value):
return "Aaaaaaa!"
@property
def b(self):
return "zavarudo!"
a = A()
a + a
a.b
| |
|
7.161, Аноним (61), 15:55, 21/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
хотите сказать, что тут скобок нет? И даже в a.b можно аргументы передать?
| |
|
|
|
4.146, Neon (??), 08:59, 21/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
Зато вместо скобок приходится считать табы. Так себе решение.)))
| |
|
|
2.60, Аноним (61), 18:09, 20/08/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> избавились бы от скобок,
Ruby и Scala. Только семантика там разная. Если у Ruby отказ от скобок выглядит органично, то вариант Scala - не очевидно.
| |
2.142, _kp (ok), 02:55, 21/08/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>Вот если бы ещё избавились бы от скобок, был бы вообще огонь.
В принципе Си позволяет не использовать фигурные скобки, их можно заменить запятыми.
До кучи можно не использовать и операторы if и for. Да, читаемость будет чуть хуже, но если цель "упростить", то самое то. %)
| |
|
1.47, Имя (?), 16:54, 20/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Чего набросились? Может чуваку покайфу каждые несколько лет выкатывать по ненужному языку. Может продаст кому серию курсов или книг.
| |
1.85, Аноним (82), 19:38, 20/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> func
> fn
Определитесь там.
> .moon
MoonScript тем временем: ну да, ну да, пошёл я к чёрту.
| |
|
2.137, Аноним (137), 23:03, 20/08/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> func
>> fn
> Определитесь там.
Top-Level Functions
Functions can be defined as top-level or local. We can use the func keyword to define a top-level function that sums three integers and returns the result
Local Functions
Local functions are defined using the fn keyword. Local functions can be named or anonymous. Type annotations can be omitted for local function definitions: they can be automatically inferred in most cases.
| |
|
1.143, Аноним (143), 05:32, 21/08/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Какой-то Moonbit, вот WebAss ( сокращение от WebAssembly, а не то что вы подумали) все летел бы. Сразу видно для чего язык.
| |
|