LINUX.ORG.RU

Существует ли язык высокого уровня, который устойчиво быстрее C?

 ,


0

1

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

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

Так вот, возможно ли сделать такой язык? Если да, то в каком направлении копать?

А может уже существуют такие языки, просто из-за популярности C на них мало кто пишет, поскольку всплывают проблемы совместимости с существующей базой уже готового кода?

★★★★★

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

что я иллита должен тратить своё время и скилл

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

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

Это не конкретное требование - его можно интерпретировать как угодно и не возможно проверить.

Предположим, твоя организация занимается разработкой ОС, тебе надо в состав grep включить. Системный архитектор сказал, что поддержка регкспов пока не нужна, но во второй версии нужно будет впилить поддержку глобов ? и * и поддержку синтаксиса grep template filename. Язык полноценных регкспов пока не разработан и тебе поддерживать его не нужно.

Да, эта ОС потом будет использоваться на АЭС, в управлении ракетами и тд, то есть если окажется, что в твоём коде баг, позволяющий, например, исполнение произвольного кода из специально сформированного входного файла — пойдёшь под трибунал.

Напишешь код — я тебе покажу, что я конкретно имею ввиду под минами.

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

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

Ну ты же говоришь, что ты «иллита»...

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

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

Я тебе показал как он выглядит - он абсолютно корректен.

А если ты так крут...

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

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

Предположим, твоя организация занимается разработкой ОС

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

тебе надо в состав grep включить

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

Системный архитектор сказал...

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

но во второй версии нужно ....

Меня это не интресует. Это задачи уровня птушника - этим занимаются птушники.

Язык полноценных регкспов пока не разработан и тебе поддерживать его не нужно.

Меня это так же не интересует.

Единственная причина по которой нептушник будет заниматься такой хернёй - это бабки.

Да, эта ОС потом будет использоваться на АЭС

Уважаемая ламерюга, никому это дерьмо на АЭС не нужно, кроме как на тачках секретарш.

в управлении ракетами и тд

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

то есть есл...

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

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

Откуда на АЭС и в ракете какой-то файл, хотя да - в твоей вселенной там и грипчик есть.

Напишешь код....

Т.е. ты обосрался? Так и запишем.

Если ...

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

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

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

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

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

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

Свою «крутость» ты показал только ненормативной лексикой, которая характерна для людей с завышенным ЧСВ и без возможностей для проявления себя в реале.

Я тебе показал как он выглядит - он абсолютно корректен.

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

дак и делаю то, что будет соответствовать твоему высеру(требованиям)

Ладно, так и быть.
1. Строкой считается любая последовательность символов, не содержащих терминаторов и ограниченная терминаторами с обоих сторон. Терминаторы, которые должны поддерживаться:
★ Начало файла
★ Конец файла
★ \r\n, \r, \n
Другие терминаторы не должны поддерживаться, если это явно не задано опциями командной строки.
2. Строка считается соответствующей условию, если в ней содержится хотя бы одна подстрока, закодированная в аргументе pattern.
3. Если в pattern есть N терминаторов, не являющихся началом или концом pattern, то должны быть выведены все совокупности из N+1 строк, идущих во входном потоке подряд, в которых есть последовательность символов, соответствующая pattern.
4. Программа должна поддерживать следующие параметры запуска:

new-grep [options] pattern [input-file ...]
options:
-- — все последующие аргументы не считаются опциями
-f — паттерн берётся из файла с именем/путём pattern
-e — паттерн может содержать следующие escape-последовательности:
\\ — один обратный слэш
\ddd — десятичный код соответствующего байта
\xHH — шестнадцатеричный код соответствующего байта
\eof — конец файла
\bof — начало файла
\cr — \x0D (carriage return)
\lf — \x0A (line feed)
\st — любой поддерживаемый разделитель строк (string terminator)

-h — вывести справку по программе и информацию о версии.
-q — ничего не выводить на stdout, только сигнализировать кодом завершения, есть ли паттерн в входном потоке (код 0) или нет (код 1)
-t — при выводе на консоль, терминаторы сохраняются как есть.

На своё усмотрение можешь добавить ещё опций. Если опции. модифицирующие поведение паттерна не заданы (в данном случае -e), то он интерпретируется как есть. Если опция -t не задана, то каждая выводимая строка должна оканчиваться \n, даже если в исходном файле был другой разделитель. Если опция -f не задана, то входной поток берётся с stdin.
5. В случае если есть какие-то проблемы, например паттерн невозможно правильно и однозначно интерпретировать, должно выдаваться соответствующее сообщение на stderr, описывающее проблему и программа должна завершаться с кодами кроме (0,1).
6. Программа должна запускаться и правильно работать на любых машинах, на которых запускается и правильно работает GNU/Linux или Busybox/Linux.
7. Программа не должна допускать некорректной работы, например, обрезать строки.
8. Программа должна быть переносима между POSIX-совместимыми ОС

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

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

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

Свою «крутость» ты показал только ненормативной лексикой, которая характерна для людей с завышенным ЧСВ и без возможностей для проявления себя в реале.

Обоссу тебя я и в реале. Обоссал я тебя со всеми твоими высерами онтоп, а в частности с stdin.

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

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

Ладно, так и быть.
★ Начало файла

Такого не существует.

★ Конец файла

Такого то же.

★ \r\n, \r, \n

новая строка - это ньюлайне, а не ретурн. Твоя помойка меня не интересует.

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

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

Меня это так же не интересует. Для любого своего высера ты либо приводишь основание, либо жрёшь дерьмо. Всё просто.

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

Чё? Обоснование для этого высера.

3. Если в pattern есть N терминаторов, не являющихся началом или концом pattern, то должны быть выведены все совокупности из N+1 строк, идущих во входном потоке подряд, в которых есть последовательность символов, соответствующая pattern.

Основание для этого убого высера.

4. Программа должна поддерживать следующие параметры запуска:

Обоснование для этого убого высера. Остальная брехня так же.

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

Обоснование. С чего она должна где-то там запускаться?

8. Программа должна быть переносима между POSIX-совместимыми ОС

Меня это так же не интересует. Обоснование так же в студию.

Если, по-твоему, спецификация выше допускает неопределенное поведение, то ты должен её дополнить явно.

Меня не интересует твоя спецификация, меня вообще не интересует твой высер на который ты пытаешься слиться.

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

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

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

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

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

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

Опять же, жалкий мусор, на что ты рассчитываешь?

anonymous
()

Так вот, возможно ли сделать такой язык? Если да, то в каком направлении копать?

Ада.

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

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

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

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

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

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

новая строка - это ньюлайне, а не ретурн.

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

выкатить свою лабу первым.

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

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

ты ух..ел ваще царю такие вещи предлагать. Не царское сие дело, код писать. царское дело на стуле сидеть.

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

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

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

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

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

Ух ты. В вольере, в клане сиобезянок новое поступление. Новые серии кидания какашками, пинания себя пяткой в грудь, разрывания себе ануса от напряги и много других евентов из жизни этих удивительных животных. Смотрите на нашем ЛОРе бесплатно и без смс.

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

Что это еще, к лешему, за Викиванд?

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

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

Речь идёт о том, чтобы посчитать что-нибудь настолько быстро, насколько это возможно.

распараллеливай

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

Ну анонс твоего выступления выглядит многообещающе. :)

Теперь ждём, собственно, обещанного действа.

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

Ого кукарекалка тайлушка еще и в нате спысыалист.дела дела.

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

так целевая аудитория [1] не пересекается, так что не особо корректно сравнивать с це/цэпэпэ

Пересекается. Как пример - F-22 и F-35.

[1] например https://en.m.wikipedia.org/wiki/AdaCore#Customers

Это примеры систем, а не сравнение распространенности.

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

https://en.wikipedia.org/wiki/Undefined_behavior#Examples_in_C_and_C.2B.2B

Я не Царь, но отвечу: А если использовть кое-что не только для ношения шапки? Описание UB в стандарте уже не четкое определение того, чего делать не желательно, да? На UB теперь, оказывается, натыкаться можно чисто случайно?

Ну, разберем ссылочку на вашу любимую педивикию:

char *p = "wikipedia"; // ill-formed C++11, deprecated C++98/C++03
p[0] = 'W';
c99 6.4.5

6 It is unspecified whether these arrays are distinct provided their elements have the appropriate values. If the program attempts to modify such an array, the behavior is undefined.

Чего тут непонятного, что лучше так не делать?

Объясняю на пальцах: Народ предупреждают: «Смотрите, там минное поле, не гуляйте там!» Один шибко умный все равно идет гулять, на мину не натыкается. Второй идет гулять — полетели клочки по закоулочкам. Третий на основе этого начинает вопить про «рэндом! UB! все неопределенно! На мину можно нарваться в любой момент!»

Да и UB это только для сферических компиляторов: man __attribute__ section

int f()
{
}  /* undefined behavior if the value of the function call is used*/

Ну, это нужно быть действительно нулевой обезъяной, чтобы считать ЭТО UB.

anonymous
()

На отдельных бенчмарках может быть выигрыш за счет оптимизаций недоступных в си и/или его реализациях (JIT, whole program optimization).

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

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

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

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

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

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

Опять ты со своим ведром. Ты его в глаза вообще видел?

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

А можно ли сказать, что Ада «не взлетела»? Что-то её не видно в вакансиях.

Как Лисп. Некоторая устойчивость в трансляторе, некоторое не очень маленькое количество библиотек, тем самым значительно круче наколенной поделки васи пупкина и точно также иcчезает в статистическую погрешность на фоне J/#. Проблема не взлета осталась в том, что ее рантайм в отличает от плюсов, был (есть?) gpl-заражающим или коммерческим. На чем Ada Core - главный ее постащик активно спекулировали. В момент когда gcc-шники задумались над этим вопросом и резонно заметили что код входящий в их compiler collections должен следовать тем же исклчюениям из gpl что и с++ где проблему с насильственной gpl-изацией решили, представители устроили злобную истерику на мотив обидимся, засудим.

antares0 ★★★★
()

Возможно ли сделать язык

При чём тут язык, это свойство компилятора.

no-such-file ★★★★★
()
Ответ на: комментарий от anonymous

где я написал что это примеры распространнености?

Где я написал, что ты это написал?

ты как не умел читать так и не научился

Ты как не умел писать, так и не научился.

написано же «целевая аудитория»

Люди, принимающие решения о выборе языков разработки, не являются аудитория. Окей.

видать прав другой анон - лишь бы кукарекнуть...

Видать, анон здесь один.

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

Проблема не взлета осталась в том, что ее рантайм в отличает от плюсов, был (есть?) gpl-заражающим или коммерческим. На чем Ada Core - главный ее постащик активно спекулировали.

Когда еще была надежда на взлет Ada (до начала 90-х) AdaCore просто не было и GPL-заразность GNAT не могла ни на что повлиять.

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

Ясно. Не повезло тётеньке. Но я пока не готов согласиться. Потому что есть следующее утверждение про версию 95:

Dynamic memory allocation should be avoided. Errors resulting from dynamic memory allocation can include (SPC, 1989, pp 76, 112 - 113):

Memory leaks...

Corruption of data due to multiple pointers to the same areas. Such corruption can be difficult or impossible to correct or even detect. This error condition can lead to the system crashing...

The following are Ada-specific guidelines related to memory allocation.

Т.е., с точки зрения безопасности доступа к памяти она явно уступает Java и, в общем-то, не так сильно отрывается от C/С++. И это уже чисто техническая проблема, а не вопрос судьбы.

Что я понял не так?

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

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

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

P.S. причём «ниже следующие» указания по безопасному программированию занимают несколько страниц. Т.е., написать не падающую программу на Аде (во всяком случае, 95-й) не так-то и легко.

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

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

Region-based memory management - это довольно известная тема. В частности, это было в Cyclone (если у Rust был предшественник, то это Cyclone).

Откуда взяты идеи: https://doc.rust-lang.org/book/academic-research.html

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

Ты утверждаешь, что ты крутой программист, так?

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

Ты утверждаешь, что можешь писать на C корректные программы, так?

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

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

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

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

Считаешь, что в моих спецификациях есть ошибка?

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

Пока ты их не обоснуешь - все твои жалкие потуги тщетны.

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

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

Не можешь найти ошибку в спецификации? Тогда напиши программу, которая ей соответствует, а не увиливай.

О боже, мразь. Ты совсем что-ли тупорылая? Мне ведь надоедает с тобою сюсюкать. Уважаемая мразь, ты мне конкретно показываешь, где я что-то кукарекал про твою «спецификацию», а потом покажешь мне то основание, которое позволило тебе вообще её высерать и кукарекать. Т.е. ты её должен связать с контекстом.

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

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

Может мне ещё и доки запилить? Вдруг появится?

Вообще-то это ты утверждаешь, что ты крутой программер

Конкретно - где я это утверждал.

а остальные лохи, а я ничего такого не утверждаю.

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

Обоснуй, что ты вообще умеешь программировать — реализуй спецификации выше, а потом поговорим.

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

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

Ty obosralsa:

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

Я вот не понимаю, ты реально думаешь, что ты - мусор у моих ног, реально можешь мне что-то противопоставить или поймать меня не словах? Удачи.

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

уб с т.з. результата, а не с т.з. языка

В сишке нет рандома - всё поведение чётко определено.
поведение чётко определено

Ty obosralsa No2:

i = i++ + ++i

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

А что стало с самим циклоном?

Разработка прекращена. Потому что это был исследовательский проект или потому, что они наткнулись на что-то непреодолимое - не знаю, прямого ответа не встречал. Кажется, Patrick Walton вскользь сказал, что Cyclone был неюзабелен на практике по каким-то причинам вроде отсутствия borrow checker.

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

Ты молодец, не совсем потерян.

Объясняю на пальцах: Народ предупреждают: «Смотрите, там минное поле, не гуляйте там!» Один шибко умный все равно идет гулять, на мину не натыкается. Второй идет гулять — полетели клочки по закоулочкам. Третий на основе этого начинает вопить про «рэндом! UB! все неопределенно! На мину можно нарваться в любой момент!»

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

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

Т.е. никак она не может быть конкурентом си, ибо все пути, что есть на тех картах - есть и на си.

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

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

i = i++ + ++i

Поведение этой конструкции чётко определено с т.з. стандарта - результат её не предсказуем с т.з. того же стандарта, но факт этого чётко определён.

Точно так же факт того, что твоё место на помойки - чётко определён, но на какой именно - мою не определён. Это не значит, что факт твоего места не определён - он не определён с т.з. конкретной местности, а т.з. диагноза определён. А контекст именно диагноз, а не конкретное местоположение.

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

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

С чего я должен тебе что-то писать?

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

И какие же ошибки конкретно ты мне не скажешь, да? Вперёд. Испытай свою жопу на прочность.

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

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

Вот! А мой вопрос был такой — каким должен быть такой язык и есть ли он уже?

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

В сишке нет рандома - всё поведение чётко определено.

всё поведение чётко определено

всё поведение
поведение
чётко определено

Ведь там говорил про «в сишке нет рандома»

Ty obosralsa No3:

echo «int main() { int i = 0; i = i++ + ++i; return i; }» | cc -xc - && ./a.out; echo $?

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

echo «int main() { int i = 0; i = i++ + ++i; return i; }» | cc -xc - && ./a.out; echo $?

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

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

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