LINUX.ORG.RU

Конкурс на простейшую программу

 


0

1

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

Бью рекорд Hello world на классическом Си. Никаких заголовочных файлов и стандартных библиотек ! Впрочем, нестандартные тоже не нужны.

В вашем любимом редакторе пишем в файл simplest.c:

int main(int argc){
        return argc;
}

компиляция : gcc simplest.c

запуск с демонстраций вывода количества аргументов программы в качестве кодов её возврата :

./a.out ; echo $? 
./a.out - ; echo $? 
./a.out - - ; echo $? 

Запускаем jshell
Вводим System.out.println(«Hi»);

жшел часть ждк9+, в теории это как-то можно в одну строку записать но под рукой нет компа чтоб посмотреть как :-(

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

Что-то у тебя, Владимир, нескладно все: хочешь ядро разрабатывать, а вместо С взялся учить совсем другой ЯП…

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

Что-то у тебя, Владимир, нескладно все: хочешь ядро разрабатывать, а вместо С взялся учить совсем другой ЯП…

Здравствуйте, Эдуард. Вы сами писали, что настоящие линуксоиды пишут только на С и С++, поэтому я, по вашему совету, забросил Перл и взялся за плюсы. К тому же я считал ++ достаточно низкоуровневым языком …

Владимир

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

Вы меня огорчили … Я уже и книгами по С++ запасся и курс нашел … Ну, напишу что-нибудь другое. Пока нужно с азами разобраться, типа кракозябров в консоли вместо кириллицы.

Владимир

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

А почему бы просто не проштудировать классиков и не выучить С?

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

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

А я, знаете ли, за С++ взялся. Давно мечтаю коммитить ядро Линуса.

Фанатики в ядре C++ не пропустят. Предлагаю коммитить в Haiku, Zircon, Serenity.

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

Отличный язык.

Копролит, который ничего не умеет. Нет никаких причин не пользоваться C++ вместо него кроме мазохизма.

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

4.2 твое.

У всех свои вкусы. Я вот, глядя, сколько времени тратят люди, чтобы на С++ написать то же самое, что я на С, понимаю, что экономии во времени вообще 0. А учитывая то, что текст на С++ читать/понимать может только робот, но никак не человек, то отладка крестовых программ вообще усложняется.

В общем, С в выигрыше по всем полям.

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

По крайней мере, я на нем пишу вообще почти все. Разве что в веб-клиентах приходится жабоскрипт использовать, в мелких скриптах - баш, для пробных расчетов - octave, а для верстки текстов LaTeX.

Спасибо, прислушаюсь к вашим советам. Я думал, что вы как ученый пишете на Julia и R с Питоном.

Владимир

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

Не, R мне не очень-то подходит, а от julia с пытхоном у меня нервный тик.

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

Предлагаю коммитить в Haiku, Zircon, Serenity.

Да, в Хайку можно.
А С++ мне предпочтителен как более универсальный ЯП.

Владимир

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

У всех свои вкусы.

Да я не против: хотите BDSM, никто вам не запрещает.

Я вот, глядя, сколько времени тратят люди, чтобы на С++ написать то же самое, что я на С

Я вижу наоборот. Чаще программа на C++ оказывается в разы короче чем на Си и содержит меньше дублирования кода. Просто признайтесь, что не умеете писать на C++. Другие умеют.

А учитывая то, что текст на С++ читать/понимать может только робот

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

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

И что до того, что она короче? А ничего, что писать ее на порядок дольше? Я уж про отладку молчу. Особенно если вместо шланга компиляешь g++!

Нет, С++ — говнище. Единственная от него польза — во всякой мутотени, где нужна ООПщина. Т.е. примерно в 0.001% задач.

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

И что до того, что она короче?

Забыли написать освобождение ресурса где надо и получайте double free, dangling pointers, memory leak. Человек – не робот и неизбежно совершает ошибки. C++ позволяет писать более надёжный код.

Я уж про отладку молчу. Особенно если вместо шланга компиляешь g++!

Отлаживать от слова лажа.

Нет, С++ — говнище. Единственная от него польза — во всякой мутотени, где нужна ООПщина. Т.е. примерно в 0.001% задач.

Включая компилятор Си.

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

Сейчас работает на 77-80fps. Можно догнать до 90, но выше уже начинается всякий мусор, т.к. электроника в основе этой панели - дешевое китайское фуфло.

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

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

электроника в основе этой панели - дешевое китайское фуфло

А. Я думал ты сам её собирал.

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

У меня в ЖЖ написано же!

Работа посредством DMA-ногодрыга. Таймер в режиме ШИМ пинает ПДП и генерирует строб. ПДП загоняет за 1 присест данные в 6 линий (строки N и N+16), по окончании передачи дрыгаются ноги защёлки и адреса. Всего 13 линий управляющих сигналов.

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

Интерпретация компилируемых языков

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

Могу любителям классического Си посоветовать Tiny C Compiler: он тоже может без компиляции Си код исполнять, и там есть ещё интересные проекты.

Кто Portable C Compiler пробовал? у него вроде ebuildы / пакеты в репах есть…

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

ПДП загоняет за 1 присест данные в 6 линий (строки N и N+16)

Понятно.

У меня в ЖЖ написано же!

Да я этот ЖЖ труба шатал. У меня лимит нервных клеток на него выделенный уже закончился. Как у тебя хватает терпения им пользоваться? Там всё в этой конченной рекламе, как на базаре каком-то. Скриптами прямо в табло тебе свою рекламу суют из всех щелей. Всякие трекеры, кликеры, майнеры. Помойка какая-то, а не платформа для блогов. Разве может блог технаря на таком хоститься?

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

ТСа кто-нибудь по размеру бинарника заткнул за пояс?

С решением той же задачи?

Линукс успешно выполняет бинарники нулевого размера.

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

C++20 вполне себе Java по читаемости/писаемости.

anonymous
()
Ответ на: Интерпретация компилируемых языков от Android

Новичкам самое то

наоборот бы не советовал новичкам - не очень очевидны импорты, не особо удобно в функции и прочее не однострочное
ну и в яве цикл «компиляции/запуска» это 1-2 секунды для средне-габаритного проекта под ide

п.с. аргументом не нашёл как передавать, можно через промежуточный файл:

echo "System.out.println(\"Hi\");" >> test.java; jshell test.java
rukez ★★★★
()
Ответ на: комментарий от Eddy_Em

Видимо у нас с тобой очень разный интернет.

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

А вообще если серьезно, то вопрос в том, что считать программой. А на этот вопрос нормальных ответов нет

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

То есть, например счёты или непрограммируемый калькулятор не есть ЭВМ.

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

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

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

Эдуард, мой дорогой друг 🧑‍🤝‍🧑 но ведь на С++ я могу написать приложуху с гуями 💓 а на чистом Си только системное ПО …

Владимир

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

Это значит, Владимир неосилятор. На С точно так же можно писать с гуями.

Мне все говорят, что на Сишке только ядра ОС и дрова писать.

Владимир

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

Уважаемый Владимир, разве системное ПО не может быть с гуями?

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

Владимир

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

Нет. На С тоже можно gui нарисовать. В том же nuklear. И это будет красиво и без оверхеда. Не то, что кресты с культяпками!

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

Спасибо за дельные советы, Эдуард! Готов угостить вас чаем при встрече. И вообще, хотел бы с вами дружить … Изучали бы вместе С/С++ и беседовали о науке …

Владимир

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

Хорошо. Попробую освоить плюсы, потом возьмусь за Си.

голые иксы

Не дразните меня, все таки я немножечко гей …

Владимир

anonymous
()

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

Кратчайшая программа

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

конецТреда

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

Гарольд, а какие есть стандарты Си? Я думал - 11 последний. А тут в книге пишут, что еще есть 14, 17 и 20, как в плюсах. Это верно?

Владимир

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