LINUX.ORG.RU
решено ФорумTalks

Как грамотно и качественно создать свой ЯП?

 ,


2

2

Привет. У меня есть наброски своего языка программирования, теперь думаю как лучше его реализовать. Цель - создать быстрый и практичный язык для продакшена, чтобы писать на нём проги, а не просто сделать, поиграться и выбросить. И мой вопрос не в том как сделать язык вообще, а именно как сделать лучше.

Язык планируется общего назначения, высокоуровневый, с автоматическим управлением памятью, многопоточный, мультипарадигменный, js-подобный, скрипты будут во время выполнения компилироваться на лету в байт-код или в машинный код, который будет сохраняться на hdd и впоследствии будут загружаться именно он.

Хотелось бы выслушать мнение профессионалов, какие есть косяки в известных языках и компиляторах, чтобы не повторить их снова, какие есть тонкие моменты, которые стоит учесть.

По поводу самого языка:

1. Нужны ли классы? Мне нравится прототипное программирование и я не понимаю, зачем тогда нужно класс-ориентированное. Какие преимущества даёт класс по сравнению с прототипом?

2. Как лучше организовать области видимости? В разных языках это устроено по разному и трудно понять как именно лучше и удобнее в работе

3. Какие фичи лично вам бы хотелось видетьв новом ЯП?

По поводу реализации:

1. Байт-код или машинный код? И если первое, то регистровая машина или стековая?

2. Какие есть рекомендации по разработке сборщика мусора и оптимизатора?

3. Как лучше организовать возможность обращения к объектам программы извне? В частности, как хранить в скомпилированной программе метаданные (имена и типы переменных)?

4. Какие посоветуете готовые разработки, которые можно приспособить для своего языка? Компиляторы, виртуальные машины, генераторы парсеров, библиотеки, среды разработки?

5. Как вообще лучше реализовать jit-компилятор?

Перемещено tailgunner из development

Ответ на: комментарий от Virtuos86

Давай я пацану покажу, как надо множить пятизвёздочных на ноль. У пацанов проблема в том, что они видят суть, но они не могут её выделить и сформулировать, но я могу чётко и ясно дать критерии и объяснить, почему это важно.

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

Сколько у тебя проектов на C++? А на Rust? Чтобы не казалось, а имелось ясное сравнительное представление.

Я могу тебе объяснить логику почти каждой закорючки в си, да и в крестах, а вот ты ты обделаешься даже с синтаксисом паттерн-матчинга и 95% другого, как и многие адепты до тебя, которые пытались.

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

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

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

Чтобы не казалось, а имелось ясное сравнительное представление.

Это ничего не изменит. Если есть разница в пользу кого-то, либо ещё нет - ты можешь это объяснить, а остальные это могут опровергнуть. Если ты этого не можешь - ты ничего не знаешь и ничего не понимаешь, а всё остальное - абсолютно неважно.

Следствие опыта есть не только «как лучше», но и почему. А если «почему» у тебя нет, то и опыта то же.

vcerloman
()
Ответ на: комментарий от russian-turist-2019

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

vcerloman
()
Ответ на: комментарий от vcerloman

По поводу классов. Предлагаю такую задачу в качестве примера. Допустим, нам надо организовать базу данных пациентов, в которой будет храниться исчерпывающая информация об организме. Есть класс Человек. Он содержит поля, описывающие нормальное состояние организма, но есть мутанты, у которых может быть например шесть пальцев. Возможно огромное количество различных мутаций, и что мне для каждой мутации свой класс создавать? Будет гораздо удобнее, если я смогу просто взять и поменять параметры отдельного объекта, а потом если вдруг попадётся пациент с такими же мутациями, просто скопирую объект и немного подредактирую под его данные.

russian-turist-2019
() автор топика
Ответ на: комментарий от russian-turist-2019

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

russian-turist-2019
() автор топика
Ответ на: комментарий от russian-turist-2019

Есть класс Человек. Он содержит поля, описывающие нормальное состояние организма, но есть мутанты, у которых может быть например шесть пальцев.

Я считаю, что это порочная практика. Вот у меня есть человек, у него есть руки, есть удобный интерфейс, всё это статически валидируется. И что ты предлагаешь? Вместо левая/правая рука использовать список рук? Зачем? Это же идиотизм.

Возможно огромное количество различных мутаций, и что мне для каждой мутации свой класс создавать? Будет гораздо удобнее, если я смогу просто взять и поменять параметры отдельного объекта, а потом если вдруг попадётся пациент с такими же мутациями, просто скопирую объект и немного подредактирую под его данные.

Я ничего не понял - ты собрался менять структуру объекта? Это тогда не статический язык со всеми вытекающими.

Как ты отличишь человека от человека-мутанта? Будешь перебирать все поля? Как ты с ним будешь работать? Ты создашь себе столько неведомых проблем, а самое интересное - причём тут вообще классы/прототипы, ведь это никакого отношения к ним не имеет.

Оптимизируй интерфейс под 99.99% случаев, а для остальных - добавь мутации. Ведь в 99.99% случаев мутации - это не полноценные органы/конечности, а неведомая муть и куда ты её запишешь? В руки? Как ты отличишь руку от неведомй херни?

Решается это просто, у любого человека есть индивидуальные особенности и мутации - это они и есть, как и увечья и прочее. И для этого не надо создать «человек_мутант_с_тремя_ногами», и не надо всё портить.

Это просто некий список особенностей, который можно так же типизировать. Можно реализовать всё, что угодно.

Правило такое - не стоит страдать ради ненужного, а нужное в 1% случаев - это и есть ненужное. Не надо делать неудобным 99% случай ради 1% - лучше сделать этот 1% менее удобным, хотя он даже не будет менее удобным.

vcerloman
()
Ответ на: комментарий от vcerloman

Именно поэтому ты и подобные трепачи множатся мною на ноль без напряга? Ога, вот ведь. У нас есть я, который не может в рабу с информацией и есть те, кто может.

так помножь:) Что же медлишь?
Смысл в том что многочисленых js-фреймворков и даже того самого тайпскрипта в реальности не существуют. Они не определяют поведение вебки никак. Это лишь фигура мысли созданая что бы js-ники не сошли с ума досрочно. Ну или не сбежали из браузера:(
Если бы ты это понимал ты бы не плакался о том что сложно найти, понять какие-то протухшие мануалы. Тебя в легендарном процессе «интеграция с вебкой» это все просто не касалось бы, как ни парадоксально:( Ребенок ты наш великовозрастный В этом суть правильного мыслительного процесса. Взрослый человек зрит в корень минуя фрейворки. А ты вязнешь в протухших мануалах к несуществующим вещам и гордишся тем что не можешь запомнить гору ненужной фигни написаной для js-одаренных. Но ты ведь мнишь себя великим:(
Осознай все таки как на самом деле устроен веб. Может над тобой даже смеятся перестанут.

antares0 ★★★★
()
Последнее исправление: antares0 (всего исправлений: 1)
Ответ на: комментарий от russian-turist-2019

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

Ты просто не понимаешь, что такое объекты, что такое динамика и зачем тебе это вообще нужно.

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

Да и вообще, никаких объектов в ЖС нет, в жс нет ничего. Это не свобода - это ограничения. Единственное, чем жс и прочее отличается от статического языка - это синтаксический сахарок, а именно obj.name == obj[«name»], и добавь его в любой статический язык - ты даже не поймёшь, что он статический.

Это свойство мира - ограничения и унификация. Тебе нужен некий общий интерфейс для взаимодействия с некими индивидуальными сущностями - у тебя не может быть интерфейс одновременно для всех. Это и есть статика и весь мир статичен, только статичны не сами объекты, а именно их структура и некая общая модель.

И ты с чего-то решил, что статические объекты каким-то образом слабее - нет, они сильнее. И ту же самую статику ты обязан придумывать и для динамики, иначе ты не сможешь взаимодействовать с отдельными елементами. Всё просто.

vcerloman
()
Ответ на: комментарий от antares0

так помножь:) Что же медлишь?

Пожалуйста.

Смысл в том что многочисленых js-фреймворков и даже того самого тайпскрипта в реальности не существуют.

Ты перепутал реальности, а вернее свою шизофрению и реальность.

Они не определяют поведение вебки никак. Это лишь фигура мысли созданая что бы js-ники не сошли с ума досрочно. Ну или не сбежали из браузера:(

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

Если бы ты это понимал ты бы не плакался о том что сложно найти, понять какие-то протухшие мануалы.

Вот опять же, проблема всякого балабола в том, что он увидел какое-то ключевое слово и нашел по нему, в наборе знаком фраз/поверий, рандомную херню и начал её ретранслировать.

Что из неё следует, из чего она следует балабол никогда не напишет. Он никогда мне не покажет того, где я плакался. Он никогда мне не покажет то, что я плакался на «сложно».

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

И далее будет обыкновенная схема, балаболка сломается и будет повторять мне два слова «ты плакался», игнорируя всё.

Тебя в легендарном процессе «интеграция с вебкой» это все просто не касалось бы, как ни парадоксально:

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

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

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

Ребенок ты наш великовозрастный В этом суть правильного мыслительного процесса. Взрослый человек зрит в корень минуя фрейворки.

И тут наша балаболка спалилась, ведь я нигде не говорил ни о каких фреймворках, но самое интересно, что даже тут наш балабол обделался.

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

При этом, корнем так же является либа, либо жабаскрипта, броузер/апи - это такой же программный интерфейс, который так же не имеет описания в рамках языка. Никакой корень тут не поможет.

Хотя тут, скорее всего, мы имеем дело с балаболом, который спутал веб и лабу, которую он наваял на хтмл на какой-то сервер-сайд либе. Такой веб НИКОМУ не нужен, но балаболка почему считает, что его потуга чего-то стоит.

А ты вязнешь в протухших мануалах к несуществующим вещам и гордишся тем что не можешь запомнить гору ненужной фигни написаной для js-одаренных.

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

А во-вторых, у нас тут типичный набор подмен понятий. Начиная от того, с чего балаболка решила, что запоминание, либо его отсутвие ненужной фигни есть какой-то критерий за/против величия. Заканчивая тем, что балаболка опять врёт и я говорил о «лень», и о том, что нет смысла делать то, что не имеет смысла.

Осознай все таки как на самом деле устроен веб. Может над тобой даже смеятся перестанут.

И вот тут как всегда, трепло пытается кидаться общими фразами, делая вид, что я чего-то не понимают. И вы уже должны понимать - в чём тут проблема, а проблема в том, что подобная формулировка без единого примера - есть ничто иное, как расписка в своей несостоятельности.

Ведь балаболка никогда не скажет мне, что именно я не понимаю, что именно я не осознаю и как именно он устроен, а почему? Потому что это пустоголове трепло, и не более того. И оно чётко знает, что заикнись оно хоть о какой-то конкретики, то тут же будет помножена на ноль.

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

vcerloman
()
Ответ на: комментарий от EXL

Спасибо, хотя мне кажется, что всё же до лиспового репла ему 100500 лет на оленях :(

den73 ★★★★★
()
Ответ на: комментарий от vcerloman

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

Вас там уже много?:)
Тебе просто послают прочитать нормальную книжку по JS, да. Но именно ее и сначала. А не протухшие мануалы:)

При этом, корнем так же является либа, либо жабаскрипта, броузер/апи

Ты перечисляешь через запятую => не понимаешь кто и для чего их писал. Социальную составляющую. И неможешь прикинуть сравнительную инфомационную сложность. Про точно оценить уже даже и пытатся не стоит. > не существует без повадок js/веб-ваятелей. Повадки социальных груп и инженерная мат.часть - это разные вещи оно существует именно для того, чтобы ты не сошел с ума

оно существует именно для того, чтобы ты не сошел с ума

Я заметь говорил это о js-никах. почему ты это проецируешь на себя. Интересно, правда?

ведь я нигде не говорил ни о каких фреймворках

Ты уже не помнишь о чем говорил. или вы там друг с другом не общаетесь?

Он никогда мне не покажет того, где я плакался.
Он никогда мне не покажет то, что я плакался на «сложно».
..
И далее будет обыкновенная схема, балаболка сломается и будет повторять мне два слова «ты плакался»,

Извини что довел до слез. Я не знал что это для тебя так серьезно. Больше не буду, честно

antares0 ★★★★
()
Ответ на: комментарий от vcerloman

Ты как будто не на мое сообщение отвечаешь, а на «абстрактную методичку типичного адепта™» которую ты сам себе выдумал и успешно побеждаешь. Половина текста вообще не по теме, а про каких-то людей с хабра которых я даже не знаю. Почему я должен отвечать за то что тебе говорил кто-то другой?

Никто из мира ЖС в раст не пойдёт,
Никто из них и не побежит на раст.
Ну естественно, никто не пойдёт в раст.

Ну не пойдут так ну и ладно, чего ты так волнуешься. Пойдут значит на очередной тайпскрипт или в Go, что конечно хреново, но ничего не поделаешь. Можешь не беспокоится, в плюсы точно не пойдут. Даже если ты напишешь этот замечательный clang-tidy который сделает из плюсов раст, то все равно не пойдут, просто потому что это плюсы.

Неверно. Вот это меня всегда удивляло, это ещё одна причина - почему я не люблю расто-адептов. Они постоянно орут «у нас есть wasm» - нет,у тебя его нет. Он есть у ллвм.

А вот этот пассаж меня особенно умиляет. Логика просто железобетонная. Никого не интересует что там внутри, пользователь нажал кнопку скомпилировать и получил wasm бинарь на выходе, значит он есть. Можно даже контр пример привести, язык D и компилятор ldc. Тоже использует llvm, но васма нету. Следовательно само наличие llvm не является достаточным условием.

pftBest ★★★★
()
Ответ на: комментарий от antares0

Очередной тепло было помножено на ноль. А ведь так стучал был уверен в себе, либо просто трепался. И как всегда, я сказал, что помножу и помножил. Такие дела. Ну а теперь, добьём балаболку.

Мало того, что балаболка как-то сходу растеряла 90% своих тезисов, но это и не удивительно.

Тебе просто послают прочитать нормальную книжку по JS, да. Но именно ее и сначала. А не протухшие мануалы:)

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

И естественно, что никаких оснований того, что мне нужна какая-то книжка, никаких оснований того - к чему вообще написан этот бред. Из чего следует то, что мне нужна книжка? На все это - ответов нет, и никогда не будет.

Ты перечисляешь через запятую => не понимаешь кто и для чего их писал. Социальную составляющую. И неможешь прикинуть сравнительную инфомационную сложность. Про точно оценить уже даже и пытатся не стоит. > не существует без повадок js/веб-ваятелей. Повадки социальных груп и инженерная мат.часть - это разные вещи оно существует именно для того, чтобы ты не сошел с ума

Тут балабол уже растерял 100% своих тезисов. Меня абсолютно не волнует и не должны волновать никакие повадки никаких социальных групп. К чему балабол это написал и что из этого следует - он не расскажет, как это связано с той цитатой. что он спастил - так же.

Я заметь говорил это о js-никах. почему ты это проецируешь на себя. Интересно, правда?

Вот опять, балабол пытается поймать меня не понимая, что заранее обречён на провал. Он пытается ретранслировать знакомую ему фразу, в надежде на то, что мне её крыть нечем, но естественно, что крыть её нечем только ему, но не мне.

Во-первых, балабол никогда не расскажет где, как и что я проецировал на себя. Ведь я ничего не проецировал.

И что самое интересно - она даже не осилил выдернуть хоть чуть-чуть подходящую фразу, ведь её просто нет. В данном случае он спастил кусок фразы про себя, а выдал её про меня.

Я повторю контекст, для публики. Дело в том, что балаболка попыталась меня обвинить в том, что я запутался(о чём я не говорил) в каких-то фреймворках( о которых я не говорил), а на самом деле надо мочь без них. Тут непонятно на что он хотел сослаться, на то, что я не могу без фреймворков, либо я не осилил корень. И то и то ахинея, но всё же. Но с не осилил несостыковочка, ведь «взрослый человек через фреймворки», а значит он тут явно не имеет ввиду процесс обучения.

Именно поэтому, я ему объяснил и показал, что он такая же жертва «фреймворков» и никаким образом зреть через них он не может, т.к. без них он попросту несостоятелен.

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

Ты уже не помнишь о чем говорил. или вы там друг с другом не общаетесь?

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

Извини что довел до слез. Я не знал что это для тебя так серьезно. Больше не буду, честно

И вот опять, балабол был полностью помножен на ноль, он обделался окончательно и бесповоротно, но продолжает делать вид, что он чего-то смог.

Хотя а) это ни из чего не следует. б) он растерял все тезисы, а значит уже( по определению) обделался. в) он несёт несвязный бред, который точно так же ни из чего не следует, и из которого ничего не слеудет.

И это типичный тому пример. Ты довёл меня до слёз, хорошо - как ты это определил? Ты же это не просто так болтаешь? Или просто так?

И да, естественно, что ты больше не будешь. Я тебе заранее сказал, что будет с тобою если ты попробуешь со мною спорить. Ты немного перепутал и переоценил свои силы, но ничего - иди поиграйся, авось ты сможешь победить, либо сообщить о победе соседей/ям по парте.

vcerloman
()
Ответ на: комментарий от russian-turist-2019

Про разработку своего языка тебе уже 2 или 3 человека сказали. Самое сложное — не сделать язык. Самое сложное — убедить других, что он им нужен. И это самое «экспертное» мнение, которое ты можешь получить на ЛОРе. По более частным вопросам тебе только вкусовщину выскажут.

Поэтому надо чётко представить:

  • чего тебе не хватает в существующих языках;
  • какие киллер-фичи будут у твоего языка. И даже наличие оных не является гарантией успеха.

Вон, у PL/I концентрация киллер-фич была рекордной, но конкурентов он так и не подвинул. Некоторые идеи (вроде обработки исключений) из него потом разобрали другие языки.

Я вот считаю, что объектный Паскаль - замечательный ЯП для прикладных задач. Вопрос: почему я на нём не пишу хотя бы хобби-проекты? Да потому, что под программу на паскале куда сложнее найти мейнтейнера в репозиторий дебиана/федоры, чем под программу на крестах. То есть абсолютно нетехническое препятствие. Но именно такие препятствия и рушат хорошие проекты.

hobbit ★★★★★
()
Ответ на: комментарий от pftBest

Ты как будто не на мое сообщение отвечаешь, а на «абстрактную методичку типичного адепта™» которую ты сам себе выдумал и успешно побеждаешь. Половина текста вообще не по теме, а про каких-то людей с хабра которых я даже не знаю. Почему я должен отвечать за то что тебе говорил кто-то другой?

Именно на твоё. Я видел, как ты говорил то же самое, да и говоришь сейчас. Просто ты это проигнорировал, как и глупость с електроном.

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

Ты можешь прямо не говорить тех тезисов, что говорят другие, но это ничего меняет. Ты повторяешь тот же самый набор.

Ты повторял тезис про безопасность? Повторял. Это бред? Бред. Ты проигнорировал мои возражения и свидетельства за ненужность подобных идей? Да.

То же самое и с тем «он даёт unsafe», что, естественно, неверно. Да и не то, что неверно, а попросту бесполезно. Это unsafe есть везде, только почему-то это «везде» никому не нужно. И причины я обозначил, но ты всё это можешь оспорить.

Ну не пойдут так ну и ладно, чего ты так волнуешься. Пойдут значит на очередной тайпскрипт или в Go, что конечно хреново, но ничего не поделаешь.

Го ничем не отличается от раста, но при этом даёт безопасности больше.

Можешь не беспокоится, в плюсы точно не пойдут.

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

Да, люди не привыкли что-то проверять и сожрут любое дерьмо, но тебе самому не противно?

Даже если ты напишешь этот замечательный clang-tidy который сделает из плюсов раст, то все равно не пойдут, просто потому что это плюсы.

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

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

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

Раст существует не потому, а С++ не любят не потому. И ты это знаешь, как и любой способный мыслить человек.

А вот этот пассаж меня особенно умиляет. Логика просто железобетонная. Никого не интересует что там внутри, пользователь нажал кнопку скомпилировать и получил wasm бинарь на выходе, значит он есть.

Вот тут мы видим типичную подмену понятий, ведь я объяснил( и пример привёл) что именно я имею ввиду. И против чего я выступаю. Но человек специально врёт, перевирает мои слова - зачем?

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

И в этом смысл, всё это - манипуляции. И не важно, ведутся ли на них люди, либо нет. Это манипуляции и враньё, которое доходит до тех примеров, что продемонстрировал я( с той же упаковкой структур).

И тут не получиться слиться на то, что «я никого отношения к пацанам с хабра не имею» - нет, всё это не слова с хабра. Всё это паста и именно из первых рук, именно из агиток сверху.

Можно даже контр пример привести, язык D и компилятор ldc. Тоже использует llvm, но васма нету. Следовательно само наличие llvm не является достаточным условием.

Из этого ничего не следует. Без написания «у нас есть wasm» - то же васма не будет, но из этого ничего не следует. Это не контр-пример.

Давай попроще. Есть вася, и есть петя. Петя украл деньги у федота, а вася нет. Является ли верным утверждение то, что ни у васи, ни у пети денег нет, при условии, что под «есть» - предполагается «заработал». Да, а контр-пример того, что без действий васи денег у него не было, либо они у него есть, а пети нет - не работает.

Ведь все важно не то, что есть, либо нет. Люди понимают и слышат то, что слышал. И когда ты говоришь «у меня есть деньги», то люди думают, что ты их заработал, ведь «украл» не котируются за «есть», но игнорирование этого обстоятельства и есть манипуляция.

А по поводу добавления. Я тебе могу попросту сказать, что никакой поддержи там нет - это просто пускал хелвордов, который даже рядом не валялась с emscripten.

Поэтому, действуй честно - пиши «в ллвм переместили бекенд wasm в stable, а мы его включили как таргет нашему фронтенду», либо, если пишешь для домохозяек пиши, что «в ллвм добавили поддержку васм и она появилась в раст» и люди понимают, что появление в расте - есть следствие добавление в ллвм, пусть даже и в рамках раста проделан 0.0001% работы. Им можно пренебречь ради 99.9999 остальных.

vcerloman
()
Ответ на: комментарий от antares0

Они в отличие от нас могут хорошо понимать предметную область, но плохо - сишку и пр. Трата 21 дня^Wмесяца на изучение сиплюса и кути вряд ли добавляет шансов стать спецом в чем-то другом.

anonymous
()
Ответ на: комментарий от russian-turist-2019

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

anonymous
()
Ответ на: комментарий от anonymous

Они в отличие от нас могут хорошо понимать предметную область, но плохо - сишку и пр. Трата 21 дня^Wмесяца на изучение сиплюса и кути вряд ли добавляет шансов стать спецом в чем-то другом.

Тут так же есть нюансы, тут дело даже не во времени. Я видел множество человек, а вернее даже почти всех, включая себя - у всех это в разной степени, но суть одна. Человек всегда лень потратить чуть больше времени сейчас с профитом будущем, проще не тратить его сейчас. И это даже не трата времени - это обратный эффект.

То же самое с привычками, хотя это всё следствие неверного обучения. И дальше уже поздно. Ведь когда я чего-то не могу, но хочу - я заставлю себя понять то, что нужно для могу, но когда я уже могу - зачем мне мочь лучше, если я могу и так. Зачем мне мочь по-другому?

Я не согласен с тем, что это проблемы времени. Это больше проблемы психологии и начальных условий.

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

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

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

Сегфолты в крестах? Пример експешены в ассинхронище и undefined - падает всё не хуже крестов, да и хрен ты отладишь/обработаешь(експепшн) всю эту лапшу. Это попросту нереально.

Да, возможно распространение undefined не уронит твою лапшу, но не факт, да и это неважно - нерабочей она ведь станет, а как это называется - никому не интересно. И и так со всем, люди просто привыкли верить в то, что кресты ужос, всё падает.

Те, кто жалуется на «адские шаблоны» в крестах - спокойно хвалят TS, но там твориться ужас похлеще крестов. В крестах ошибки? Ты их распарси там. Такие же километры. И это ещё на хелвордах, а сравниваем мы это с бустом, где глубина вложенность не единицы, а сотни.

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

vcerloman
()
Ответ на: комментарий от vcerloman

После того, как ты неоднократно показывал свою ограниченность и упоротость в спорах, воспринимать тебя серьезно могут только юные падаваны из числа ТС'ов и прочие наивные умы. Вот с ними и общайся, для всех остальных ты невменяемый клоун.

Virtuos86 ★★★★★
()
Ответ на: комментарий от anonymous

Они в отличие от нас могут хорошо понимать предметную область, но плохо - сишку и пр.

Ни разу не видел js-сника котрый бы стремился понимать прдметку за пределами четкого ТЗ. Делать условно красивый веб - часто. Но и только. Питонисты и Рубисты могут в принципе, но и тот же кьют в рамках скриптоты не вызывает проблем у них. Это как-то вместе ходит.

antares0 ★★★★
()
Ответ на: комментарий от vcerloman

Ты повторял тезис про безопасность? Повторял.

Сейчас нет

То же самое и с тем «он даёт unsafe», что, естественно, неверно. Да и не то, что неверно, а попросту бесполезно.

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

Го ничем не отличается от раста, но при этом даёт безопасности больше.

Да, безопасности больше, но не работает без MMU следовательно область применения гораздо уже. На васме тоже не работает.

Именно на демонизации крестов

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

заканчивая сервой и лисой.

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

Неверно. Опять подмена понятий. Никого раста не существует и никакой раст никому делать не надо.

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

Но человек специально врёт, перевирает мои слова - зачем?

На самом деле началось все с вот этого моего предложения, которое я первый сказал

Так вот и сейчас, зарелизился wasm, а из языков под него только С, С++ и Rust.

которое тебе почему-то не понравилось, и ты начал нести бред про llvm и сейчас четыре абзаца про то как писать «честно».

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

pftBest ★★★★
()
Ответ на: комментарий от pftBest

Сейчас нет

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

Это что? По моему этот тот самый тезис.

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

Это основная проблема, ведь всё не можешь понять, что я играю не против твоего раста, а прости бреда в нём. Сам раст меня не волнует. Поэтому не надо постоянно про это писать, либо на это намекать.

У меня есть чёткий тезис и есть объективная реальность - абсолютно неважно какая либа будет, на крестах, либо на расте - она будет безопасна. Раст НЕ гарантирует безопасность, раст ничем не отличается от крестов, за той лишь разницей, что перед ptr надо написать unsafe.

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

По поводу «позволяет делать» - нет, раст не позволяет делать НИЧЕГО, никакой интерфейс к лоулевел без ансейфа написать НЕВОЗМОЖНО.

Да, безопасности больше, но не работает без MMU следовательно область применения гораздо уже.

Не уже. Во-первых, раст точно так же не работает. Какой раст там работает? Голый? с unsafe через unsafe? Да и это никому не нужно.

На васме тоже не работает.

Вас итак не работает, а когда он заработает - там будет гц. Да и ни на каком расте он не работает в той мере, в которой он будет полезен за рамками «поиграться».

Я уже не помню где там гц выключается - в го, либо д. Но где-то выключается. В любом случае - всё это неважно. Если кому-то надо что-то быстрее, нежели жс - есть го, свифт, д, жава, сишарп - да тысячи их.

Плюсы демонизировал не раст, их не любили еще до его рождения по разным причинам.

Это не оправдание.

Раст просто воспользовался этой ситуацией, не вижу в этом ничего плохого.

Есть, это очень плохо. Всегда, когда у тебя нет реальных аргументов - ты в жопе. И неважно когда она настанет. И это тебя должно заботить, а не меня. Гнилая основа рано или поздно погубит то, что на ней построено.

Те кто любят плюсы и так на них и останутся, а раст для тех кому они не нравятся и кто не осилил, а такая реклама как раз попадает в целевую аудиторию.

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

Это не то, что тебе нужно.

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

Нет, ты не понял плана. Я очень сильно сомневаюсь, что кто-то из тех, кто у руля - верит в эту историю, а даже если верит - это ничего не меняет.

Мозилла решила играть в хайп. Да, ты можешь наобещать хомячкам золотые кущи, что завтра вот у тебя будет новый броузер. Да, ты можешь спустя 10лет рассовать вкладки по тредам и выдать это за «супер-улучшения, который дал раст» - хомячки в этом поверят. Напишешь пару убогих агиток, про «серво и 60фпс», пусть там их 20, путь хром быстрее, пусть 60фпс там только на пустом экране - это неважно.

Да, это привлечёт к тебе неосиляторов и прочих маргиналов, но - чем больше ожидания, тем в большую яму ты улетишь. Да, хомячков уже лет 5 кормят завтраками, но ничего нет. Можно его лет пять покормить, но толку? Интерес увядает, вера увядает, а даже если ты родишь что-то на расте - это будет убогая поделка, которая бы прокатила в том случае, когда ожидания не были бы так завышено, но это не так.

И это прослеживалось всегда. «мы делаем многопоточный броузер - другие не могут», да и насрать что в хроме многопоточный рендеринг уже много лет, а в расте его нет до сих пор.

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

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

Именно такая история была как и сами растом, так и серво. Но обосрались. Теперь там новая халява заехала «гпу». Скоро места, где можно подхалявить кончаться.

Согласен, это неприятно, но насколько я знаю разработчиков раста это пока не коснулось.

Касается. Всё идёт 1в1. Раст помножил себя на ноль в момент своего создания, когда язык и авторы были адептом одних идей, а потом по гнётом реальности их надо было срочно выкидывать. Какой в этом смысл?

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

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

Я это сказал для того и потому, чтобы обозначить твою ошибку. Добавление в clang-tidy unsafe - это не создание раста, это просто умножение смысла существоания раста на ноль. Это не фича раста, для неё не нужен раст. Она никак от раста не зависит. Твоя ошибка в том, что ты это отождествляешь с растом, на что я тебе и ответил.

Ну и да, нужность не котируется как объективный критерий. Это не объективный критерий. Объективный критерий это «лучше тем», при этом - надо доказать, что это лучше и что это лучше даёт какие-то весомые профиты, а эти профиты, в свою очередь, не должны нивелироваться анти-фрофиитами.

vcerloman
()
Ответ на: комментарий от pftBest

На самом деле началось все с вот этого моего предложения, которое я первый сказал
которое тебе почему-то не понравилось, и ты начал нести бред про llvm и сейчас четыре абзаца про то как писать «честно».
Ок, вот возьми это мое предложение и покажи на примере как я должен был написать его правильно в соответствии со всеми твоими методичками.

Ты зря думаешь, что я ищу ошибки в каких-то твоих формулировках, словах и мнении. Я разбираю ситуацию в целом, а ты для меня лишь представитель того, за что ты выступаешь. И я обсуждают именно раст, именно то, что с ним связано. А не тебя и твоё о нём мнение.

Ведь штука в том, что твоё мнение может быть хоть 10раз правильно, хоть в 10раз объективней моего, но оно работает лишь для тебя, а мы говорим об явлении в целом, а ему безразлично твоё и моё мнение. И это надо понимать.

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

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

И это надо понимать.

vcerloman
()
Ответ на: комментарий от vcerloman

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

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

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

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

anonymous
()
Ответ на: комментарий от antares0

Это происходит, когда никто становится жсником из-за еды. Когда кто-то становится им из-за собственной идеи и использует как плохонький, но инструмент, достаточно подтолкнуть его в сторону решения (только без устрашения парадигмами и базвордами) и он наваяет то, к чему жсника нужно пинать годами. Я итт только о таких говорю, сами жсники ради жса меня не интересуют.

anonymous
()
Ответ на: комментарий от russian-turist-2019

нам надо организовать базу данных пациентов
и что мне для каждой мутации свой класс создавать

А как будешь хранить это в СУБД? Или твоя БД это сериализация объектов? Хотя бы имел опыт работы с реляционными СУБД?

если я смогу просто взять и поменять параметры отдельного объекта, а потом если вдруг попадётся пациент с такими же мутациями, просто скопирую объект и немного подредактирую под его данные

А потом как читать твой говнокод постороннему человеку и восстанавливать структуру всех доменов? Предлагаешь весь код изучать, где ты «подредактировал» объекты?

Задумывался как создавать веб-формы под твои «подредактированные» объекты? Или думаешь врач как в матрице будет смотреть твой код и переносить объекты из мозга прямо в оперативную память?

Вообще, хоть раз создавал прикладное ПО с СУБД, которое реально где-то использовалось?

foror ★★★★★
()
Ответ на: комментарий от pftBest

Как ты думаешь, почему весь мир сейчас страдает от эпидемии electron приложений?

Потому что это почти идеальное решение для разработчика-прикладника. Можно сказать это Java 2.0

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

Причем тут жабаскрипт? В первую очередь это DOM. А DOM можешь управлять на чем угодно - хочешь на жабаскрипте, хочешь на тайпскрипте, хочешь на дарте, хочешь на джаве (GWT), а с приходом wasm можешь на чём угодно (со временем).

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

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

foror ★★★★★
()

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

Norgat ★★★★★
()

Легко. Не делай того, что делает местный сумасшедший den73, и все у тебя будет хорошо

anonymous
()
Ответ на: комментарий от vcerloman

(Перечитыая вечерний камент). Получается, что если убрать из веба [и не только] эти илитные фреймворки, сделать нормальную обязательную типизацию, но при этом и убрать как-то сишкину местами нетривиальщину..

по сути даже не в типах дело-то и не в уб, а если выше смотреть, то в интуитивности работы и в том, что можно НЕ держать в своем уме кучу дерьмо-специфики, которая нужна в программе в двух строках и так по 20 мест, имея к предмету отношения ноль. И выкинуть тухлые церемонии типа сборки/package.json/requirements.txt, заменив их чем-то клик-клик хочу/нет/само догадайся. При этом сохраняя полную мета-картину о данных, желательно отдельно ее редактируя, будь то хидеры или графический редактор/просмотр. Тогда любому кроме совсем нетехников будет ясно, как все работает, как и то, что заносить коды можно только занеся структуру по-человечески. Да?

anonymous
()
Ответ на: комментарий от foror

По факту дом это жс, и никто без него тебе его не отрисует. Кроме того это активное поле боя (под прикрытием каких-то консенсусов), на котором хорошие идеи не имеют шансов родиться, пролезает только кал между костылями. В доме до сих пор проблема распределить место без сетки или выровнять по центру/краю/бейслайну. И если оно решается теперь флексом для простых случаев, то див-див-див овербоксинг, которым все давно обмазались, убивает и это на корню. Я хз что там в электроне делают, наверняка там на жсе node.left = “”+f(x)+”px” во все поля.

anonymous
()
Ответ на: комментарий от russian-turist-2019

тред не читал, но чем документо-ориентированные базы данных не подходят?

trashymichael ★★★
()
Ответ на: комментарий от anonymous

По факту дом это жс, и никто без него тебе его не отрисует

Для начала посмотри исходники какого-нибудь браузера. Если вкратце, то вначале это IDL, который мапится на крестовые/растовые методы и классы.

хорошие идеи не имеют шансов родиться, пролезает только кал между костылями

Всё в твоих руках.

В доме до сих пор проблема распределить место без сетки или выровнять по центру/краю/бейслайну

Предложи своё решение W3C, а не критику.

foror ★★★★★
()

Если ты задаешь такие вопросы, то к созданию своего языка явно не готов.

Но мое мнение: 1) Производительность, например, с классами возможна большая, по некоторым причинам. 2) Идеально сделать и лексическую и динамическую, как в Common Lisp. Разделение на функции и переменные, правда, спорно, если у тебя нет макросов и некоторых других фич CL. 3) Макросы, изменяемый синтаксис, condition system(исключения, не раскручивающие стек), метаобъектный протокол, мультиметоды, опциональная типизация. расширение компилятора на лету. Oh WAIT, все такие фичи уже есть, в Common Lisp.

Реализация: 1) Машинный код не исключает понятие абстрактной виртуальной машины, собственно говоря, и даже наоборот. И конечно же, регистровая(правда, стековую легче реализовать). 2) Слишком долго отвечать. Вкратце, generational copying - оптимальное. Желательно не stop-the-world. Желательно переиспользовать сишный(системный) стек тредов. Ну, конечно же, финализаторы, weak pointers, weak dictionaries, итд. Оптимизатор - двухступенчатый, в первой стадии AST->SSA, вторая стадия - машинно-независимое низкоуровневое представление. 3) Извне это откуда? Необходимо нормальное FFI, особенно в области коллбеков. Про вторую часть вопроса, напрашивается ответ COM, но для него опять же нормальное FFI надо, нечего изобретать велосипед, и тем более стандартизировать бинарное представление самого языка. 4) Google fot it 5) Лучше не реализовать

lovesan ★★
()
Ответ на: комментарий от foror

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

А посылать в в3ц за решением, да лучше бы просто на*** послал.

anonymous
()
Ответ на: комментарий от anonymous

Зачем мне этот CEF? Тот же Электрон/Хром в профиль. Я смотрю на то, что можно сделать из того же Servo, прикрутив на бекенд JVM. А очередные рукожопые поделки из хрома идут лесом.

А посылать в в3ц за решением, да лучше бы просто на*** послал.

Это участь всех слабаков - страдать и ныть...

foror ★★★★★
()
Ответ на: комментарий от foror

Зачем мне этот CEF? Тот же Электрон/Хром в профиль.

CEF - это интерфейс. Который поддерживался (или до сих пор поддерживается?) и Servo тоже.

Я смотрю на то, что можно сделать из того же Servo

Servo - тоже движок браузера. В чем, по-твоему, будет отличие от Electron?

tailgunner ★★★★★
()
Ответ на: комментарий от foror

Я смотрю на то, что можно сделать из того же Servo, прикрутив на бекенд JVM

Ну прикрутят Servo и что дальше? Какой профит в этом будет? Чем это будет принципиально отличаться от какого-нибудь

https://docs.oracle.com/javase/8/javafx/api/javafx/scene/web/WebEngine.html

?

EXL ★★★★★
()
Ответ на: комментарий от EXL

Ну прикрутят Servo и что дальше? Какой профит в этом будет?

Возможность использовать современный движок для создания GUI не изобретая новых электронов. И писать всё полностью на джаве.

Чем это будет принципиально отличаться от какого-нибудь
JavaFX uses WebView based on WebKit 538.19 (released on February 2014)

Оно протухло и очевидно Oracle не уделяет этому особое внимание, впилили 4 года назад и забыли. Ставит костыли javafx впереди, когда у всех остальных (Silverlight, Flash) хватило ума отказаться от подобного подхода и сосредоточиться на HTML5.

foror ★★★★★
()
Ответ на: комментарий от tailgunner

Servo - тоже движок браузера. В чем, по-твоему, будет отличие от Electron?

Отсутствием SpiderMonkey, функции которого на себя полностью возьмёт JVM.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от foror

Servo - тоже движок браузера. В чем, по-твоему, будет отличие от Electron?

Отсутствием SpiderMonkey, функции которого на себя полностью возьмёт JVM

В Electron не SpiderMonkey, а выпилить из SpiderMonkey из Servo практически невозможно (по слухам), но не суть... В чем состоит твоя идея - выкинуть JS и писать приложения на Java? Но HTML без JS всё равно не живет, или ты планируешь биндинги HTML DOM к Java?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

В Electron не SpiderMonkey

Там видимо V8...

HTML без JS всё равно не живет

Живёт

или ты планируешь биндинги HTML DOM к Java?

Я не планирую, у меня он уже готов для Chromium

foror ★★★★★
()
Ответ на: комментарий от foror

HTML без JS всё равно не живет

Живёт

Думаю, ты единственный человек на планете, у которого это получилось. Со всеми минусами одиночества :)

или ты планируешь биндинги HTML DOM к Java?

Я не планирую, у меня он уже готов для Chromium

Ты получаешь коллбеки и умеешь манипулировать HTML DOM из Java на Chromium? Круто. А смысл всего упражнения - писать десктопные приложения на Java + HTML? Чем Electron - JS + JVM будет лучше, чем просто Electron?

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от russian-turist-2019

Платона(сам найдёшь) и Категории Аристотеля - а пока тебе классы классить рановатно. - можно вместо Пла и Ари чёт посовременнее однако не из техне как воплотить на компе укурность(на компе легче лёгкого воплотить всё то что в физическом мире рухает под собственным весом сразу) - будет гораздо удобнее если ты сможешь просто взять и адекватно использовать парадигму(ака пример) классов наряду с всякими иными парадигмами(например числами без полного порядка)

anonymous
()
Ответ на: комментарий от anonymous

интуитивность работы

обусловленна средой вкоторой интуитивность наросла - что не всегда хорошо.

anonymous
()

Ладно, вот тогда такой пример:

С++, создание и использование класса:

class Students {
    std::string name;
    std::string last_name;
    int scores[5];
    float average_ball;
};

Students student;

Вот примерно так это будет в моем яп:

// Сделали объект
Students = {
    std::string name,
    std::string last_name,
    int scores[5],
    float average_ball
};
//Мы можем сделать так: Объект student копируется в объект Students, но так делать мы не будем в данном примере:
//Students = student;

// А сделаем вот так: Один объект выступает в роли класса для другого, хотя оба они объекты.
// И я считаю это логично. От object наследуется students, от него student. Таким образом объект student наследует тип object, а не class
Students student;

russian-turist-2019
() автор топика
Ответ на: комментарий от vcerloman

Я уже не помню где там гц выключается - в го, либо д. Но где-то выключается.

GC на васме в принципе не проблема, если разлить все указатели со стека на кучу, то Boehm GC работает. Разработчики Go ждут setjmp/longjmp для исключений и горутинок.

Это в D все отключается, но их стандартная библиотека завязана на GC и исключения, так что хоть они и начали уже что-то делать для wasm я думаю пока все будет на уровне -betterC, не лучше.

pftBest ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.