LINUX.ORG.RU

Язык программирования Ü

 ,


3

2

«Почему Ü? Потому, что хотелось однобуквенного названия, а все буквы из набора A-Z уже заняты.»

«Зачем нужен ещё один язык?

Я рассмотрел ряд существующих статически-типизированных компилируемых более-менее известных языков, и пришёл к выводу, что ни один из них меня вполне не устраивает. У всех них есть «фатальные» недостатки.

Конкретно по пунктам:

C — слишком низкоуровневый и небезопасный

C++ — по наследству получил много недостатков низкоуровневости, появились новые способы выстрелить себе в ногу, отсутствие рефлексии

D — сборщик мусора, отдельные ссылочные типы

Java — сборщик мусора, все композитные типы ссылочные, сильная завязанность на виртуальную машину. Многое и этого применимо и к языках на основе JVM.

C# — недостатки во многом аналогичны Java

Rust — необходимость явного взятия ссылок и явного их разыменования, (субъективно) опасность подхода, когда всё есть выражение и возвращает результат, наличие явного указания соответствия протоколу, отсутствие наследования

Go — сборщик мусора, отсутствие шаблонов

Swift — ссылочные типы, необходимость явного указания соответствия протоколу

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

https://habr.com/ru/post/465553/

https://github.com/Panzerschrek/U-00DC-Sprache


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

плюс без статик ассертов (они есть в С?)

#include <assert.h>

int main(int argc, char *argv[])
{
    static_assert(sizeof(char) == 64,"LOL Kek :D");
    return 0;
}
dron@gnu:~$ gcc -std=c11 cl.c
In file included from cl.c:1:
cl.c: In function ‘main’:
cl.c:5:5: error: static assertion failed: "LOL Kek :D"
    5 |     static_assert(sizeof(char) == 64,"LOL Kek :D");
      |     ^~~~~~~~~~~~~
dron@gnu:~$ 
LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от BreadFan

Кодоген - это костыль, которые чинит слабость языка. Как и макросня и прочее говно. Методичка «встроенный кодоген» - это что-то из го-секты? Встроенного кодогена в принципе быть не может.

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

Нуууу, такоое себе, c11 не говоря уже про с18 юзать страшна если это не 100% современный софт который нужно будет портануть на что то альтернативно одарённое где ни про что кроме с89/99 не слышали.

А вот для например десткопного софта самое то, генериками универсальные функции хлоп и изи, архитектуру, разрядность, порядок байт и прочую хрень не через #if defiled(BLABLA) а статиками всё можно, musl взять так сразу и атомики, треды и прочее. Но Это будет уже не особо то портируемый код. Ну я в сравнении с с89/с99.

Хотя может я не прав. Хз.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от anonymous

Методичка «встроенный кодоген» - это что-то из го-секты? Встроенного кодогена в принципе быть не может.

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

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

Это говно целиком и полностью неюзабельно т.к. валидируется выражение полностью. Там максимум диспатч можно написать на нём, но написать выражение с логикой нельзя. https://godbolt.org/z/DBJ1t6

Т.е. по-сути это такой pm по типу, но крайне дырявый, а не generic.

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

Ты мне, клоун, будешь что-то кукарекать про gcc4.x? Нелепость, зачем ты позоришься, запартныш? Я ясно вижу, что ты, клоун, нихрена более gcc4.x не осилил(хотя там было множество того, что ты не осилило и никогда не осилишь) и что-то начинаешь кукарекать. Я тебе не тутошние эксперты, клоун. Я сразу вижу что ты знаешь, а что ты нагуглил, убогий.

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

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

Ты нормальный вобще структуру с интом складывать? Ладно бы, сдвинуть указатель хотел. Но какой логический смысл в такой записи?

Я не тролю, просто не вьехал, не бомби и поясни пжлст

LINUX-ORG-RU ★★★★★
()

Язык программирования Ü

и что там используется вместо сборщика мусора для недопущения утечек памяти?

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

Эмм, окай, давай мне скажи что тебе не понравилось? И давай мне скажи что статик ассертов нет в c11. Они там тупо есть, от чего ты бомбанул решительно непонятно. Ладно бы была причина, а так, пффф-пшш-пук :D Чё злой такой анон? Выпей ромашкового чаю, я вот сейчас пью, вкусный! (Ток аптечный рассыпуху не бери он горький) =)

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Похороню эту пыль, кстати. ★ #pragma pack VS #pragma не`pack ★ - явно видно, что клоун никаким актуальным компилятор не пользуется.

char __unused_struct_padding__[3]

В школу, слёту.

★ #pragma pack VS #pragma не`pack ★ (комментарий)

  collision c;
  c.collided = c0.collided || c1.collided;
  c.time  = min(c0.time, c1.time);
  c.point = c0.time < c1.time ? c0.point : c1.point;
  c.norm  = c0.time < c1.time ? c0.norm  : c1.norm;
  c.flags = c0.time < c1.time ? c0.flags : c1.flags;
  

В школу, слёту. Т.е. трепло даже о c99 кукарекать не может. И это то, что я нашел в первой же теме не читая её.

Оправдывайся, клоун. Бегом.

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

Вся суть идиотов. Дошколёнок даже в базовую семантику не может, а что-то кукарекает.

Ты нормальный вобще структуру с интом складывать?

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

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

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

Меня бомбануло от того, что ты позволяешь себе врать. Т.е. ты кукарекаешь о c11 как о том, что ты знаешь и используешь, хотя это не так, очевидно. И я это доказал выше.

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

По поводу в чём смысл моего поста - в том, что ты нихрена не знаешь о си. 1) ты не осилил main. 2) ты не осилил нормальное форматирование и используешь стиль говно. Очевидно, что ты не сможешь в этом стиле говно использовать «современные» си-возможности.

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

collision c;

Это код Даниэля Холдена. Поди скажи ему пора в школу, ага. Хотя это он написал на коленке >5 лет назад :D Читай комменты внимательно гы )))

char unused_struct_padding[3]

Это чисто для моего удобства (заметка на потом если сейчас фиксануть никак), либо добить стуктуру и использовать пустые байты ибо будут дыры если это массив структур в ином случае, либо урезать саму структуру до 32 байт так что бы влезало 2 структуры в одно машинное слово 64bit что в случае обработки массива структур будет удобно обрабатываемые данные располагать парами друг за другом в одном массиве, а не в двух разных, таким образом при считывании одной структуры следующая автоматом попадает в L1 кеш 100% (при условии выровненной аллокации спасибо Ринату что подсказал)

Вот и всё, а ты чёт бушуешь. И вообще чво ты со мной споришь то? Я же даже не программист ни разу. А ты споришь =) Узбагозя, взё намана :D

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от anonymous

:D Хоспади, да успокойся ту уже, а то как @RazrFalcon :D при виде моих комментариев твоё профессиональное нутро будет гореть и полыхать. А зачем? Все бяки от нервов!

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

Клоуны хорошие люди. А вот ты это как его Тотошка попугай, хоть бы разнообразил чтоль =)

мне ничего рассказать не можешь и не сможешь.

Эмм, а в где это я тебе что-то рассказывал изначально?

Человек спросил, есть ли А в Б, я ответил что в Б есть А. Ты же не имея никакой на то причины всполыхнул. А почему? А потому что ~у тебя велосипеда нет!~ нервы надо лечить батенька, и не пытаться поднять свою значимость называя кого-то как тотошка обидным по твоему словом =)))) Йеех, юморист.

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

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Это код Даниэля Холдена. Поди скажи ему пора в школу, ага. Хотя это он написал на коленке >5 лет назад :D Читай комменты внимательно гы )))

Пора в школу. Очевидно, что ты его не переписал - значит тебе так же пора в школу. Очевидно, что тот, кто может в c99+ такое говно не напишет, как и в С++.

Это чисто для моего удобства (заметка на потом если сейчас фиксануть никак)

Нет, дошколёнок. Ты во-первых не умеешь считать, во-вторых не осилил тот самый статик_ассерт + alignof/alignas. Если бы это осилил, то такую херню ты бы не писал.

либо добить стуктуру и использовать пустые байты ибо будут дыры

Дыра у тебя в голове. В школу сходи.

если это массив структур в ином случае, либо урезать саму структуру до 32 байт так что бы влезало 2 структуры в одно машинное слово 64bit

Машинное слово, 64bit, 32байта - что ты несёшь, бездарность? Ты совсем поехала? В школу сходи.

а не в двух разных, таким образом при считывании одной структуры следующая автоматом попадает в L1 кеш 100% (при условии выровненной аллокации спасибо Ринату что подсказал)

Полная и нелепая херня. И ты и он - бездарности, которые нихрена не знают о матчасти.

Вот и всё, а ты чёт бушуешь. И вообще чво ты со мной споришь то? Я же даже не программист ни разу. А ты споришь =) Узбагозя, взё намана :D

Бездарность, я тебе уже сообщил. Ты перепутала. Я заранее знаю что ты и кто ты, а так же знаю всё о твоих нулёвых познаниях.

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

Если ты во всех случаях пишешь дошколятскую дристню из-за парты, а в одну из строк вставляешь static_assert спащенный из гугла, то это явно видно.

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

В школу сходи. x - это generic-значение, маня. Никакой структуры там нет. Эта ветка вообще не выполнится, но она валидируется.

Воот, это уже дело, спасибо за пояснения. Если обсирать так аргументированно! Я только за =)

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Эмм, а в где это я тебе что-то рассказывал изначально?

Я явно задетектил за тобою гнилой кукаретинг. Очевидно, что когда говорится «нету» говорится не только о нету, но и о факте наличия/отсутствия культуры использования. Ты начал кукарекать именно из позиции «я имею культуру использования и она есть, ведь я часть её».

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

Нуууу, такоое себе, c11 не говоря уже про с18 юзать страшна если это не 100% современный софт который нужно будет портануть на что то альтернативно одарённое где ни про что кроме с89/99 не слышали.

Прими таблетки, обнови свой gcc4.x и возрадуйся реальности 2k19го года. =)

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

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

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

Воот, это уже дело, спасибо за пояснения. Если обсирать так аргументированно! Я только за =)

Понимаешь, когда ты других называешь «альтернативно одарёнными», при этом сам находишься ниже их, то как с тобою адекватно можно говорить? О какой аргументации можно говорить?

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

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

:D Ти меня утомил, пойду котлетку с чайком наверну ∩༼˵☯‿☯˵༽つ¤=[]:::::>

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от anonymous

Понимаешь, когда ты других называешь «альтернативно одарёнными»

Я не про людей лол, ты чво, я в шутке юмора манере про системы где выход за рамки c89/99 ставит разработку на нет ибо средств разработки нет, всякие любительские операционные системы, железки со своим тулчейном который нельзя заменить или откровенно старые системы которые тем не менее работают и некоторый код должен и обновляться и на них продолжать работать (хотя в случае старых систем может выглядеть обидно, да, каюсь, сорян)

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

А ты не уподобляйся =) Хотя и не нужно было, я писал не про людей, а системы, а ты не понял и бомбанул и типа решил отучить пахие слова про человеков говорить, хотя я этого и не делал. Перечитай ещё раз, там про неодушевлённые предметы речь.

До встречи, у меня чайник закипел :D

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

И да раз уж мы о моральке заговорили

и он - бездарности

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

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

Всё, когда я ем я глух и нем, мном-мном катлетка, ммм вкусна. Пока.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

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

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

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

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

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

Но даже если и выше, кто тебе право дал опять же других людей обкладывать? Которые тебе даже слова не сказали?

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

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

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

Ты крайне наивен.

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

я в шутке юмора манере про системы где выход за рамки c89/99 ставит разработку на нет

Я тоже в шутке юмора. К тому же, тебе никто условия не ставит, но ты пишешь и пастишь с89 - почему? Я даже объясню тебе почему.

collision c;

С инициализацией через точку - это полное говно. Причём говном ещё было во времена c89 в случае с полной инициализацией, которая у тебя, скорее всего, имеет место быть. Ещё с gnuc и в следствии в стандарте - есть нормальные инициализаторы, где ты можешь таргентно инициализировать нужны поля с доступом через точнку.

    collision c = {
  .collided = c0.collided || c1.collided;
  .time  = min(c0.time, c1.time);
  .point = c0.time < c1.time ? c0.point : c1.point;
  .norm  = c0.time < c1.time ? c0.norm  : c1.norm;
  .flags = c0.time < c1.time ? c0.flags : c1.flags;
    }

Повторение этого: c0.time < c1.time говна так же одалевает, но то ладно. Так же меня одалевает в целом мусорность реализации, которая состоит из копипасты. Это то за что хаят си. Больше копипасты - больше ошибок. У тебя уже есть копии структур и тебе нужно выбрать одну из них обновив 2 поля. При возврате из функции вообще переменная ненужна и есть return (collision){...}

Т.е. тот, кто это писал и пастит ни о каком даже номинально современном си не знает. Хотя если ты не пишешь на gnuc - ты уже валяешь говно. Т.е. всем этим фичам 30 лет.

И из таких примеров состоит весь твой код. И проблема не в том, что где-то чего-то нет, либо кто-то не даёт. gnuc - есть почти везде. Проблема именно в адептах и ты в их числе. Задвигаешь про современный си- соответствуй.

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

Вообщем, хочешь по-пацански поговорить про си - пиши на superhackprokiller1997@gmail.com Будет крайне интересно, если тебе действительно интересен современный си и его производные.

anonymous
()

Что за срачь?

Что здесь происходит?

Программить кто нибудь здесь умеет или только обсуждать сферические языки программирования в вакууме?

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

А то зае… Заезженную пластинку ни о чём все тут крутят вместо результатов.

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

Нету времени. Я всё никак не успеваю даже заглавный пост на какой-то помойке(типа гугла) написать.

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

Нда… Пойду спать - надеюсь завтра (гм... сегодня утром) увижу новое лого.

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

Спамить на лоре 5 минут из сортира раз в неделю. Писать что-то осмысленное - часы, дни. Разница очевидна.

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

Я, между прочим, начал с крестов.

В смысле, ты не осилил их первыми? Ни питона, ни матлаба (октавы), ни R, ни Julia ты тоже не умеешь? Ну ничего страшного, уверен, ты хорошо крутишь гайки, не расстраивайся, просто программирование — это не твоё.

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

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

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

В библиотеке: куча всяких полезных макросов (в т.ч. для отладки), разноцветный вывод в терминал (который в случае вывода в файл меняет цветовыделение на выделение решетками или звездочками), «тихий» ввод с терминала, работа с последовательными портами, очереди и стеки (FIFO/LIFO), «демонизация» и проверка уже запущенного процесса, блокировка по flock бинарника, PID-файлу и имени процесса, парсинг аргументов командной строки (с подаргументами и возможностью указывать один аргумент несколько раз — инкремент счетчика либо дополнение массива данных). Для понимания последнего добавил пример.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от LongLiveUbuntu

А что в этом хорошего? Памятью должен управлять ты сам, а не какая-то НĒХ! Сборщик мусора — лишняя трата ресурсов.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от LongLiveUbuntu

Лично я отсутствие сборщика мусора в С вижу только как плюс!

Eddy_Em ☆☆☆☆☆
()

Ребятки - не ругайтесь.

На вкус и цвет все фломастеры разные.

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

Что за срачь?
Что здесь происходит?
Программить кто нибудь здесь умеет или только обсуждать сферические языки программирования в вакууме?
Всё просто решится если каждый выложит здесь готовые к употреблению полезные или просто интересные программы на любых любимых вами языках.
А то зае… Заезженную пластинку ни о чём все тут крутят вместо результатов.

Спасибо за этот пост.

Всегда что-то подобное крутилось в голове после прочтения этого форума.

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

goto-vlad
()

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

Узрев несовершенство мира, смежил я очи.

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