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

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

 ,


2

2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пока это есть - тема не закрыта. Пока это есть - ты не сможешь делать то, что хочешь и как хочешь. Всё просто.

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

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

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

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

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

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

В жс структуры никакой нет, вернее она определяется в рантайме и о ней никто не знает. Есть некие инициализаторы/прототипы, но это мало на что влияет.

И ты задавал себе вопрос о том - чем же мои объекты в жс отличаются от обычного key-value? Наличием сахарка вида obj[«field»] == obj.field? Какое-то слишком слабое различие.

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

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

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

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

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

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

С чего ты это взял? Это не значит, что он не верен. Это вообще неважно. Ты хочешь что-то сделать, у тебя есть какие-то идеи и тебе лишь надо трансформировать эти идеи с учётом новых обстоятельств.

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

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

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

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

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

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

Я так понимаю, Вы сишник/крестовик?

Пара вопросов, если не секрет:

  1. какие значимые вещи Вы написали, которые адепты других подходов не могли бы создать;
  2. видите ли недостатки в современных стандартах (или наоборот более старых, если они Вам нравятся больше) C и C++ (пара примеров), или это для Вас предел совершенства?

Спасибо.

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

какие значимые вещи Вы написали, которые адепты других подходов не могли бы создать;

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

Поэтому, если ты хочешь сравнивать нас, то ты сравниваешь нас. А хочешь сравнивать других - сравнивай других.

Это очередная завуалированная попытка обвинить меня в «а чего добился ты?».

видите ли недостатки в современных стандартах (или наоборот более старых, если они Вам нравятся больше) C и C++ (пара примеров), или это для Вас предел совершенства?

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

Это такая же завуалированная попытка обвинить менять в слепой защите.

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

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

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

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

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

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

Дак вот, что у С++, что у си есть фундаментальные недостатки.

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

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

У С++ всё сложнее. Это не проблема - это ошибка. И эта ошибка - си. Кресты являются нахлабучкой над си, и этот самым си - это язык диаметрально противоположный крестам. Его логика не предполагает того, что навешивают на него современные реалии.

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

В современных реалиях, а значит и в крестах, которые им пытаются соответствовать - функция не просто имя символа. Функция несёт в себе некие мета-свойства, некие мета-возможности. В си, а значит и в С++ - это заканчивается на сигнатуре.

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

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

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

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

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

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

Не буду говорить за всех, но в моём случае это работает так:

  • Видишь, в интернете кто-то неправ.
  • Возражаешь.
  • Получаешь в ответ немерянную простыню какой-то дичи.
  • Понимаешь, что содержательную дискуссию установить невозможно.
  • Откланиваешься.

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

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

Ты опять пытаешься? Давай я опять тебе покажу, что некоторым лучше жевать.

У тебя просят показать код, который ты написал, как доказательство того, что ты не балаболка.

Перед тем, как что-то требовать, ты должен доказать обоснованность своих требований. Без этого ничего не бывает.

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

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

Если ты хочешь их оспорить? Валяй, но ты этого не можешь.

И тут есть ещё одна штука, которую рядовые балаболка не замечают. Подобное - это типичная манипуляции. И она заключается в том, что у нас есть мнение А и мнение Б, и балаболка-адепт мнения Б, пытается требовать код с носителя мнения А, но она просит это делать не просто так.

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

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

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

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

Если проще, с чего ты, рандомный нонейм, решил, что ты можешь оценивать мой код? А если оценивать его ты не можешь, то нет смысла его требовать, ведь ты не сможешь ничего из него вывести.

Ты отвечаешь балабольством.

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

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

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

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

Вот чего от тебя хочет этот чувак, который по ошибке обращается к тебе на Вы.

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

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

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

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

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

Оффтопик:

мат в два хода

В шахматы играешь? Или такой же Л.Н.Толстой, как и на форуме? Давай зарубимся.

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

Не буду говорить за всех, но в моём случае это работает так:

Это лишь глупые, ни на чём не обоснованные оправдания. Причины просты:

Возражаешь

Возражение предполагает основание и обоснования, и всё это ты должен определить.

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

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

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

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

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

Нет, это ещё одна подмена понятий.

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

И ты привык, что т.к. в основном говоришь с теми, кто живёт в твоём мире, то у всех примерно одни и те же установки и общее основание.

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

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

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

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

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

Очередной балабол сломался.

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

Как же это жалко.

В шахматы играешь?

Я не играю в игры для «я не буду говорить кого» ещё с детского садика.

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

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

Как же это жалко.

Это удручающе. Я таких маневров давно не наблюдал ни в чьем исполнении. Так увиливать от простого прямого вопроса «где твой код?», как это делаешь ты, в Development никто не умеет. Воистину Царь Балабольства. Но я попробую еще раз: «Покажи нам свой код?»

В шахматы играешь?

Я не играю в игры для «я не буду говорить кого» ещё с детского садика.

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

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

И разумеется, судить об этом можно только с твоих слов. Больше единомышленников у тебя на. Лоре не найдется.

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

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

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

Перед тем, как что-то требовать, ты должен доказать обоснованность своих требований. Без этого ничего не бывает.

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

Если ты трындишь о программировании, но ни одного проекта в промышленную эксплуатацию не запустил, то ты просто трындишь. Кому-то это может быть интересно, но большинство будет спускать твои слова в /dev/null.

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

Это очередная завуалированная попытка обвинить меня в «а чего добился ты?».

Нет, это всего лишь вопрос.

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

Спасибо. С приведенными недостатками частично согласен (правда, я надеялся скорее на конкретные примеры, а не общую философию, но описанное здесь логично). Я в принципе в некоторой степени знаю C++.

…сотнях тредов на протяжения множества лет

100% linux.org.ru через себя не пропускаю, поэтому мог быть не в курсе (тем более, если под разными никами).

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

…сотнях тредов на протяжения множества лет

100% linux.org.ru через себя не пропускаю, поэтому мог быть не в курсе (тем более, если под разными ника

Так нет никаких множества лет. Пару лет гоняют, гоняют его ссаными тряпками с ЛОР'а — ему всё неймется.

Virtuos86 ★★★★★
()

Так мне никто и не ответил на вопрос: а нафига собственно классы нужны? Любые фичи которые дают классы, можно реализовать и без них. И js тому пример. Веб клиент 1с содержит пол-миллиона строк кода и в точности имитирует нативный клиент вплоть до интерпритации 1с-кода. Как вы думаете, веб-клиент 1с - это свалка неструктурированного мусора? Может быть и так, но я считаю иначе - профессионал и на js напишет структурированный, продуманный код.

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

Но, господа, помимо фундаментально-теоретических проблем, я также столкнулся и с практически-прикладными проблемами:

root@x:/home/x # mkdir llvmc
root@x:/home/x # cd llvmc
root@x:/home/x/llvmc # mkdir build
root@x:/home/x/llvmc # cd build
root@x:/home/x/llvmc/build # cmake -G Ninja /home/x/llvm/llvm
CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_ASM_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
Делаю как тут описано: https://llvm.org/docs/GettingStarted.html#getting-started-quickly-a-summary

Если что, я работаю на freebsd и amd64

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

Так мне никто и не ответил на вопрос: а нафига собственно классы нужны?

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

А ссылки для самообучения тебе дали.

root@x

facepalm.bmp

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

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

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

Я не залогинен под рутом, а написал su, если вы про это.

А по поводу классов: мне понравилась фраза на хабре что главное алгоритмы а не технологии. И я согласен. Язык это технология. Главное алгоритм. А если алгоритм есть то уже без разницы на чём его писать, на логику программы это не влияет. Есть ли алгоритм который нельзя реализовать без классов? нет. Люди просто приввкли к плюсам и не понимают что мир гораздо разнообразнее и интересней

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

У тебя какой-то мусор в голове. ООП это не классы, а методология разработки программ.

Простой ликбез:

  • Структурное программирование: данные отдельно, код, работающий с ними, отдельно.

    Пример:

    data = range(10)
    
    def foo(obj):
       return [i for i in obj if i%3]
    

    Мы знаем, что foo предназначена для фильтрации data, но в коде этот момент не отражен.

  • ООП: код присобачен к данным, т.е. в программе есть четкий раздел: этот код работает с данными, к которым прикреплен, этот — независимый код.

    Пример:

    class Foo():
        def method(self): pass
    
    def function(obj): pass
    
    Здесь method это код работающий с экземпляром типа данных Foo, а function это не принадлежащий никакому типу код (хотя это и не означает, что он не работает ни с каким типом). Таким образом, мы имеем декларативный в плане описания назначения код. В IDE можно свернуть определения всех классов, если тебе не нужен код, который работает с ними. Как говорил классик, «покажите мне ваши алгоритмы, и я не пойму, как работает ваша программа, покажите мне ваши структуры данных, и мне станет всё ясно».

Другие моменты слишком холиварны, чтобы их упоминать :).

Главное алгоритм.

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

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

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

vcerloman
()

Интерпретатор приделай к любому существующему и не смеши людей.

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

Это удручающе. Я таких маневров давно не наблюдал ни в чьем исполнении. Так увиливать от простого прямого вопроса «где твой код?», как это делаешь ты, в Development никто не умеет. Воистину Царь Балабольства. Но я попробую еще раз: «Покажи нам свой код?»

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

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

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

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

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

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

Для того, чтобы поставить её на место достаточно одной ссылки: https://en.wikipedia.org/wiki/Magnus_Carlsen и все теории балаболки рушатся.

И разумеется, судить об этом можно только с твоих слов. Больше единомышленников у тебя на. Лоре не найдется.

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

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

Тут все просто: слова должны быть подтверждены делами.

Неверно. Тут типичная попытка выдавать свои фантазии за какие-то объективные свойства реальности.

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

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

Та же самая проблема и тут, у нас есть адепт и его понимание программирования, но кто тебе сказал, что твои представления отражают реальность? Кто сказал, что программирование - это ваяние за еду хелвордов?

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

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

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

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

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

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

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

И тут ещё одна проблема. У нас есть балабол с каким-то своим( неверным) представлением о реальности и о том, что такое «программист». Хотя всё это я уже выше объяснил.

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

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

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

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

Если ты трындишь о программировании, но ни одного проекта в промышленную эксплуатацию не запустил, то ты просто трындишь. Кому-то это может быть интересно, но большинство будет спускать твои слова в /dev/null.

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

Эта потуга попросту не имеет смысла, ведь тебе просто никто не даст еды. А раз еду дают всем, то и запускают все.

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

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

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

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

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

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

Спасибо. С приведенными недостатками частично согласен (правда, я надеялся скорее на конкретные примеры, а не общую философию, но описанное здесь логично). Я в принципе в некоторой степени знаю C++.

Пожалуйста - odr, да и вся эта мимикрия под однопроходность в целом. Использование ниже определений/объявлений и прочие приветы и 60годов. И даже не смотря на то, что внутри класса этого убого ограничения нет, но auto нас опять макает в дерьмо.

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

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

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

ГДЕ ТВОЙ КОД, ТРЕПЛО ФОРУМНОЕ?

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

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

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

Для того, чтобы поставить её на место достаточно одной ссылки: https://en.wikipedia.org/wiki/Magnus_Carlsen и все теории балаболки рушатся.

И что я там должен увидеть, что подтверждало бы твои слова:

В шахматы играешь?

Я не играю в игры для «я не буду говорить кого» ещё с детского садика.

Или ты думаешь, выперднуть ссылку на объемную статью это ответ на вопрос? Кстати, раз уж ты в состоянии скопировать ссылку в браузере, не сделаешь ли это на странице с репозиторием своего кода и не запостишь ли сюда? Где, короче, твой код?

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

Я говорю о фундаментальных вещах

Давай поговорим о по-настоящему фундаментальных вещах. Если существуют вопросы, то должны существовать и ответы на них. Так где твой код?

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

И тут ещё одна проблема.

Согласен. Есть некто называющий себя «Царём», но отказывающийся себя признавать Царём Балабольства. А ведь этот титул за ним безоговорочно закреплен, и его правомочность не подвергается сомнению. Вот если бы он показал нам свой код, с него можно было бы снять все обвинения в пустозвонстве. Но нет, на все просьбы показать код, он строчит невесть что, но не в состоянии показать ничего, что дало бы право ему вообще считать себя программистом, а не форумным военом.

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

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

Является.

Нужно ли науке и её представителям подтверждать своё право своим опытом?

Нужно. Наука оперирует вещами, которые проверяемы и доказуемы. Прежде всего — опытным путем.

В рамках объективного мира - существует чёткая логика. Если я прав - я прав, не согласен - опровергни. Не можешь? Не прав ты.

Четкая логика существует, но диаметрально противоположная: бремя доказательств лежит на том, кто сделал утверждение. То, что делаешь ты — это чайник Рассела в чистом виде.

В общем, вот тут тебе все написали более чем понятными словами. Так что либо код в студию, либо быть тебе Царем Балабольства веки вечные (ну или пока не начнется очередной курс медикаментозного лечения).

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

Ну что я могу сказать - балаболка порвалась окончательно.

Начнём с первого. Балаболишь про юлить - вперёд. Показываешь где и в чём я юлю. Не можешь? В лужу.

И что я там должен увидеть, что подтверждало бы твои слова:

Ещё одна потуга балабола. Какие мои слова, что тут надо подтверждать и причём тут вообще мои слова - трепло никогда не ответит.

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

Тут явно видно, что трепло играет в идиота. Он делает вид, что не понимает почему и к чему эта ссылка, впаривая публике то, что я типа не опрергаю его потуги, а подтверждаю какие-то неведомое «свои слова».

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

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

Я не знаю, понимало ли это трепло то, что оно сядет в лужу, либо нет. Он пытался слиться на «раньше», но это не работает.

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

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

Является.

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

Нужно. Наука оперирует вещами, которые проверяемы и доказуемы. Прежде всего — опытным путем.

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

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

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

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

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

Четкая логика существует, но диаметрально противоположная: бремя доказательств лежит на том, кто сделал утверждение. То, что делаешь ты — это чайник Рассела в чистом виде.

Вот ещё один пример поноса, когда балабол несёт ахинею, ретранслируя услышанные где-то тезисы.

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

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

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

Для начала традиционное:

-- Где твой код, трепло??

Сколько юлить еще будешь?

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

Я объясняю тривиальные вещи для имбецилов, может, и ты осилишь логику.

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

Трепачишко, код покажи.

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

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

Ах да, разберу фокус для публики. Чтоб не ловиться на подобную ахинею.

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

И вот ту и есть фокус. Балабол игнорирует тот факт, что он точно так же утверждает. Его кукарекак «не можешь» является таким же утверждением, какое есть и у меня. И он точно так же должен его доказать. Но балабол делает вид, что этого утверждения нет.

Да и вообще, балабольство основано на игнорировании всего и вся. Вы можете это видеть постоянно. Балабол постоянно теряет и забывает свои тезисы. Он постоянно игнорирует всё то, что ему неудобно. Не отвечает на вопросы.

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

Ответил ли мне что-то балабол? Нет. Он продолжает игнорировать это обстоятельство. Он требует непонятно что и непонятно почему.

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

Теперь по Карлсену. Посмотри, когда он стал гроссом.

Меня не волнуют твои потуги и мазы. Ты там кукарекал про докторов наук. Я доказал обратное. Всё. Бедствует, либо не бедствует - меня это не волнует и тебя об этом не спрашивали.

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

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

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

А ещё потуги на тему «со школьной скамьи» не работают. Ведь никто в доктора наук с неё не прыгает. И это явное противоречие. Да и вообще из этого бреда ничего не следует.

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

Ах да, разберу фокус для публики.

Трепло, покажи свой код, да разойдемся с миром. Вот это будет фокус так фокус, Копперфилд с Гуддини обзавидуются.

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