Re: С дотнетом и шарпом что-то не так
От: Артём Австралия жж
Дата: 15.03.25 02:01
Оценка:
Здравствуйте, rudzuk, Вы писали:

R>Вы же в курсе, что Хейлсбрег переписал компилятор TypeScript (с TypeScript) на GO? Вот. Вопрос: почему не на C#?


Почему вообще переписал на внешний язык? node работает не так уж плохо. Игры с компиляцией C++ и Go в WASM и потом замеры попугаев в сравнении с тупо жаваскриптом приводят к удивительным результатам, типа было быстрее, потом в хроме что-то подшаманили- и стало небыстрее.

Скорей всего, какая-то политика и никакого отношения к рациональности не имеет.
Re[2]: С дотнетом и шарпом что-то не так
От: SkyDance Земля  
Дата: 15.03.25 03:24
Оценка:
Pzz>У меня сейчас возникла потребность вставить в программу на Go некий встроенный скриптинг. По всему получается, что в качестве скриптового языка придется выбрать Питон. А я его терпеть не могу...

Lua же.
Re[7]: С дотнетом и шарпом что-то не так
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 15.03.25 03:45
Оценка:
Здравствуйте, rudzuk, Вы писали:

M>> Можно же было переосмыслить Дельфю, сделать её в 100 раз круче. Или Дельфя сразу была совершенством?


R>Чего ее переосмысливать, она уже была крутой Никто им за нее исками не угрожал.


Ну, она и щас мега крута, только лишь кхимики пишут на ней
Маньяк Робокряк колесит по городу
Re[5]: С дотнетом и шарпом что-то не так
От: wl. Россия  
Дата: 15.03.25 05:17
Оценка:
Здравствуйте, Marty, Вы писали:

M>В squirrel вроде с нуля индексы; с одной стороны он сильно похож на lua, но есть классы


А в lua разве нет классов? ну либо что-то очень похожего:

local addonName, addon = ...
_G[addonName] = addon

addon.Version = "v11.1.001"
addon.VersionNum = 1101001

LibStub("LibMVC-1.0"):Embed(addon)

local L = AddonFactory:GetLocale(addonName)
local LibSerialize = LibStub:GetLibrary("LibSerialize")
local commPrefix = addonName

AddonFactory:AddKeyBinding("ALTOHOLIC", addonName, "Altoholic - Toggle UI")

function addon:Print(text)    
    DEFAULT_CHAT_FRAME:AddMessage(format("|cff33ff99%s|r: %s", addonName, text))
end
Отредактировано 15.03.2025 5:23 wl. . Предыдущая версия .
Re[8]: С дотнетом и шарпом что-то не так
От: rudzuk  
Дата: 15.03.25 06:55
Оценка:
Здравствуйте, Marty, Вы писали:

M> R>Чего ее переосмысливать, она уже была крутой Никто им за нее исками не угрожал.


M> Ну, она и щас мега крута


Она и правда крута, и ее опенсорсный аналог мега-крут. Ни одна среда разработки даже близко не приблизилась к удобству, простоте и скорости разработки.

M> только лишь кхимики пишут на ней


Вот видишь, даже на политологическом сайте нашелся дельфист
avalon/3.0.2
Re[5]: С дотнетом и шарпом что-то не так
От: Pzz Россия https://github.com/alexpevzner
Дата: 15.03.25 07:03
Оценка:
Здравствуйте, Marty, Вы писали:

Pzz>>Я надеюсь, что срипты буду не только я писать. А lua в среднем малоизвестен.


M>Да уж поизвестнее, чем Go


Я б поспорил.

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

Pzz>>И потом, у него индексы массивов начинаются с 1, буэ...


M>Хм, не помню такого. Но, может, ошибаюсь.


У него можно задать параметром. По умолчанию (в стандартной конфигурации) — 1. А если сделаешь 0, получишь такой диалект lua, с 0-based массивами.

M>В squirrel вроде с нуля индексы; с одной стороны он сильно похож на lua, но есть классы, можно перегружать арифметические операторы и вроде индексирование, поприятнее луы


Выглядит, как недо-JS...
Re[8]: С дотнетом и шарпом что-то не так
От: Pzz Россия https://github.com/alexpevzner
Дата: 15.03.25 07:06
Оценка:
Здравствуйте, netch80, Вы писали:

Pzz>>Ну т.е., утиная типизация?


N>Ну да.

N>Я не нашёл разницы между этими двумя названиями (может, есть какие-то специфические контексты, но поймать не получилось).

Я просто название "структурная типизация" раньше не слышал. Полез в интернет, а там пишут, что это когда структуры с одинаковым набором и совместимым типом полей между собой совместимы (что может и верно для JS, у него структура — это unordered map, насколько я помню, но неверно для Go, у него струкытура, как в Си).

Вот и хотел уточнить.
Re[2]: С дотнетом и шарпом что-то не так
От: rudzuk  
Дата: 15.03.25 07:08
Оценка: 1 (1) +1
Здравствуйте, Артём, Вы писали:

А> Скорей всего, какая-то политика и никакого отношения к рациональности не имеет.


Причины выглядят вполне рационально:

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

По оценке разработчиков TypeScript, новый инструментарий позволит добиться сокращения времени сборки на порядок. В текущем виде новый вариант компилятора tsc обрабатывает кодовую базу проекта VS Code за 7.5 секунд, в то время как старому компилятору для этой операции требовалось 77.8 секунд. В случае с кодовой базой Playwright загрузка сократилась с 11.1 до 1.1 сек., TypeORM — с 17.5 до 1.3 сек., date-fns с 6.5 до 0.7 сек., tRPC с 5.5 до 0.6 сек., а rxjs c 1.1 до 0.1 сек.

avalon/3.0.2
Re[8]: С дотнетом и шарпом что-то не так
От: amironov79  
Дата: 15.03.25 08:32
Оценка:
Здравствуйте, netch80, Вы писали:

N>Ну да.

N>Я не нашёл разницы между этими двумя названиями (может, есть какие-то специфические контексты, но поймать не получилось).

Так и не должно быть: утиная это жаргонное название структурной.
Re[3]: С дотнетом и шарпом что-то не так
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 15.03.25 09:34
Оценка:
Здравствуйте, rudzuk, Вы писали:

R>Здравствуйте, gandjustas, Вы писали:


g>> Второй аргумент, который упомянул Андрес в своем 15-минутном анонсе — go имеет возможность управлять memory layout, делать низкоуровневые манипуляции с памятью и делать асинхроноость\параллельность. C# как бы тоже умеет, но что то одно — или асинхронность\параллельность, или низкоуровневые манипуляции. Так как ref структуры нельзя передавать через асинхронные вызовы. Так как C# имеет большую безопасность (safety) по сравнению с go это неизбежно несет ограничения и\или расходы на низкоуровневые операции.


R>Это здорово, а TypeScript такое умеет?

Нет, если бы умел, то какой смысл был бы переписывать на go&

R>Если нет, то почему это должно быть плюсом при портировании?

Потому что это дополнительная возможность оптимизации

g>> R>Ответ немного очевиден: с шарпом и дотнетом что-то не так, раз их папа предпочел изделие конкурента, а не догфудинг.

g>> А сами то можете сформулировать что?
R>Я же не Хейлсберг и внутреннюю кухню не вижу. Как сторонний наблюдатель я уже неоднократно говорил, что шарп превратился из простого языка в помойку, куда тащат все, чтобы показать движуху.
А как это связано с TypeScript и go?

g>> Давай посмотрим по-другому.

g>> А почему не Rust, например? Его активно внутри MS продвигают, я думаю они могли бы больше программистов на расте найти внутри MS. И rust даже быстрее go.
R>Все растманы в МС уже заняты переписыванием офисного бэка с шарпа
Что такое офисный бек на шарпе? И зачем его переписывать на rust?

g>> Несмотря на то, что я недолюбливаю Go я могу согласиться, что для портирования (не переписывания) tsc в нативный код go — идеально подходящий существующий мейнстримный язык.

R>В действительности, наличие структурной типизации единственный разумный аргумент в пользу GO
Ну и возможность сделать код менее требовательным к памяти и за счет этого более быстрым из-за общей низкоуровневости go.
Re[4]: С дотнетом и шарпом что-то не так
От: rudzuk  
Дата: 15.03.25 10:14
Оценка:
Здравствуйте, gandjustas, Вы писали:

g> g>> R>Ответ немного очевиден: с шарпом и дотнетом что-то не так, раз их папа предпочел изделие конкурента, а не догфудинг.


g> g>> А сами то можете сформулировать что?


g> R>Я же не Хейлсберг и внутреннюю кухню не вижу. Как сторонний наблюдатель я уже неоднократно говорил, что шарп превратился из простого языка в помойку, куда тащат все, чтобы показать движуху.


g> А как это связано с TypeScript и go?


Скажем так, выбор языка стал немного неожиданным, учитывая персоналии и постоянные рапорты о быстрее-выше-сильнее Такая связь.

g> R>Все растманы в МС уже заняты переписыванием офисного бэка с шарпа


g> Что такое офисный бек на шарпе? И зачем его переписывать на rust?


Зачем-то переписывают.
avalon/3.0.2
Re[5]: С дотнетом и шарпом что-то не так
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.03.25 12:58
Оценка:
Здравствуйте, gandjustas, Вы писали:

FR>>Там же упор на то что и в TypeScript и в Go типизация структурная, переписать с нее на обычную номинативную может быть очень трудоемко.

FR>>Тут и выбора кроме Go и нет среди хотя бы относительно популярных языков, еще и OCaml бы подошел и практически нет больше кандидатов.

G>Я уж думал что не найду адекватное мнение в этом треде, но оказывается еще есть думающие люди.


G>Хейлсберг даже в 15 минутном анонсе раза три упомянул, что это не переписывание компилятора на другой язык, а портирование, буквально построчный перевод на другой язык, а это возможно только если фичи языка +\- совпадают. То есть целевой язык для переписывания ts должен иметь структурную типизацию интерфейсов и сборщик мусора.


Портирование, прежде всего, дает быстрый результат при годном качестве. Т.е. подозреваю, они именно искали такой вариант. Пилить годы новую версию с нуля это не у всех запала хватит.
Re[3]: С дотнетом и шарпом что-то не так
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.03.25 13:03
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Сегодня на созвоне обсуждали эту новость. Я упомянул, что причиной стала медленная сборка старым компилятором толстых проектов. Попросил опытных компиляторщиков на С++ угадать, сколько времени собиралось 1.5М строк VS Code. Должно ж быть очень долго, аж пичот, чтобы парни взялись за неблагодарный труд по портированию компилятора.

S>Ближайшая оценка была "1 час"

Портирование это очень быстро, относительно других подходов, и позволяет сохранить при этом все вырожденные кейсы коих гугол или близко к этому.
Re[9]: С дотнетом и шарпом что-то не так
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.03.25 13:10
Оценка: 2 (1)
Здравствуйте, Pzz, Вы писали:
Pzz>Я просто название "структурная типизация" раньше не слышал.
Очень странно, термину сто лет в обед. Но — бывает, чо уж.

Pzz>Полез в интернет, а там пишут, что это когда структуры с одинаковым набором и совместимым типом полей между собой совместимы (что может и верно для JS, у него структура — это unordered map, насколько я помню, но неверно для Go, у него структура, как в Си).

См. https://go.dev/doc/faq#implements_interface:

A Go type implements an interface by implementing the methods of that interface, nothing more. This property allows interfaces to be defined and used without needing to modify existing code. It enables a kind of structural typing that promotes separation of concerns and improves code re-use, and makes it easier to build on patterns that emerge as the code develops. The semantics of interfaces is one of the main reasons for Go’s nimble, lightweight feel.

Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: С дотнетом и шарпом что-то не так
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 15.03.25 13:24
Оценка:
Здравствуйте, wl., Вы писали:

M>>В squirrel вроде с нуля индексы; с одной стороны он сильно похож на lua, но есть классы


wl.>А в lua разве нет классов? ну либо что-то очень похожего:


wl.>
wl.>


Это эмуляция через таблицы. В squirrel под капотом в принципе то же самое, но там есть синтаксис классов в языке, и это удобнее.
Маньяк Робокряк колесит по городу
Re[9]: С дотнетом и шарпом что-то не так
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 15.03.25 13:25
Оценка:
Здравствуйте, rudzuk, Вы писали:


M>> только лишь кхимики пишут на ней


R>Вот видишь, даже на политологическом сайте нашелся дельфист


Я про то, что на ней сейчас пишут только фрики и умственные инвалиды
Маньяк Робокряк колесит по городу
Re[6]: С дотнетом и шарпом что-то не так
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 15.03.25 13:27
Оценка:
Здравствуйте, Pzz, Вы писали:


Pzz>Он старше, это да. Говорят, его игровики очень любят, в качестве скриптового языка. Но за пределами этой ниши он не слишком известен.


А за пределами этой ниши он и не нужен. Тем не менее, тебе он нужен тоже именно в таком же качестве — как встройка в свой софт


M>>В squirrel вроде с нуля индексы; с одной стороны он сильно похож на lua, но есть классы, можно перегружать арифметические операторы и вроде индексирование, поприятнее луы


Pzz>Выглядит, как недо-JS...


Возможно. Только он весьма просто интегрируется в плюсовый или сишный проект, не уверен, что это легко можно сделать с JS
Маньяк Робокряк колесит по городу
Re[3]: С дотнетом и шарпом что-то не так
От: bnk СССР http://unmanagedvisio.com/
Дата: 15.03.25 13:33
Оценка:
Здравствуйте, SkyDance, Вы писали:

BE>>Да вот тоже это удивило. Почему не шарп от МС, а го от гугла? Действительно странно.


SD>Да может челу просто захотелось новый инструмент изучить.

SD>Мне вот тоже интересно что-нибудь на Расте написать. Не потому, что язык крутой, а просто любопытно.

Нифига, вот здесь он говорит что выбор вполне осознанный, было много вариантов
https://www.youtube.com/watch?v=pNlq-EVld70
Re[10]: С дотнетом и шарпом что-то не так
От: rudzuk  
Дата: 15.03.25 14:24
Оценка: +1
Здравствуйте, Marty, Вы писали:

M> M>> только лишь кхимики пишут на ней


M> R>Вот видишь, даже на политологическом сайте нашелся дельфист


M> Я про то, что на ней сейчас пишут только фрики и умственные инвалиды


Марти, ты снова все напутал. Ты пишешь на сисиплюсе, не забывай!
avalon/3.0.2
Re[11]: С дотнетом и шарпом что-то не так
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 15.03.25 14:52
Оценка:
Здравствуйте, rudzuk, Вы писали:

M>> Я про то, что на ней сейчас пишут только фрики и умственные инвалиды


R>Марти, ты снова все напутал. Ты пишешь на сисиплюсе, не забывай!


Я всё верно сказал. Я пишу на плюсах, а тупые фрики — на дельфях
Маньяк Робокряк колесит по городу
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.