Десктопные на голом C не выглядят монструозными
От: Shmj Ниоткуда  
Дата: 02.02.23 08:25
Оценка:
Вот вы писали, что сахар крайне важен
Автор: Shmj
Дата: 31.01.23
.

По идее высокоуровневые приложения на голом С должны быть ад и армагедон. Но нет — они не выглядят так уж слишком страшными, примерно как на Python — без особой разницы.

Вот тут много: https://gitlab.gnome.org/GNOME — в ООП-стиле на голом Си.

Для примера давайте покритикуем https://gitlab.gnome.org/GNOME/nautilus

Думаете на высокоуровневом — это же будет намного меньше по объему кода а код будет яснее?
Re: Десктопные на голом C не выглядят монструозными
От: CreatorCray  
Дата: 02.02.23 09:19
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>По идее высокоуровневые приложения на голом С должны быть ад и армагедон.

Они и есть ад и армагеддон.

S> Но нет — они не выглядят так уж слишком страшными, примерно как на Python — без особой разницы.

S>Вот тут много: https://gitlab.gnome.org/GNOME — в ООП-стиле на голом Си.
Это совсем не голый С.
У них активно используется аналог деструкторов через GCC extension: https://blogs.gnome.org/desrt/2015/01/30/g_autoptr/
Что уже крайне сильно меняет расклад.
Вообще в последнее время С потиху превращается в ранний С++.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[2]: Десктопные на голом C не выглядят монструозными
От: Shmj Ниоткуда  
Дата: 02.02.23 09:37
Оценка: :)
Здравствуйте, CreatorCray, Вы писали:

S>> Но нет — они не выглядят так уж слишком страшными, примерно как на Python — без особой разницы.

S>>Вот тут много: https://gitlab.gnome.org/GNOME — в ООП-стиле на голом Си.
CC>Это совсем не голый С.
CC>У них активно используется аналог деструкторов через GCC extension: https://blogs.gnome.org/desrt/2015/01/30/g_autoptr/
CC>Что уже крайне сильно меняет расклад.
CC>Вообще в последнее время С потиху превращается в ранний С++.

Так и что, разве это требует изменения самого языка или компилятора? Использование доп. библиотек с нужным функционалом — никто не запрещает.
Re: Десктопные на голом C не выглядят монструозными
От: mike_rs Россия  
Дата: 02.02.23 09:42
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>По идее высокоуровневые приложения на голом С должны быть ад и армагедон.


Задрачиваться на конкретный язык — признак студента первого курса. Язык нужно выбирать тот, который позволяет оптимально (!!!) решить конкретную задачу. Оптимально — как с точки зрения самой задачи так и с со стороны квалификации исполнителя. Все крики что делфи/с/яваскрип/питон/и т.п — говно, а нужно использовать только ххх, как самый кошерный — это маркер профнепригодности.
Re[3]: Десктопные на голом C не выглядят монструозными
От: пффф  
Дата: 02.02.23 09:43
Оценка:
Здравствуйте, Shmj, Вы писали:

CC>>У них активно используется аналог деструкторов через GCC extension: https://blogs.gnome.org/desrt/2015/01/30/g_autoptr/

CC>>Что уже крайне сильно меняет расклад.
CC>>Вообще в последнее время С потиху превращается в ранний С++.

S>Так и что, разве это требует изменения самого языка или компилятора? Использование доп. библиотек с нужным функционалом — никто не запрещает.


Я для тебя выделил
Re[2]: Десктопные на голом C не выглядят монструозными
От: so5team https://stiffstream.com
Дата: 02.02.23 09:51
Оценка: 1 (1) +5 :))
Здравствуйте, mike_rs, Вы писали:

_>Задрачиваться на конкретный язык — признак студента первого курса.


Настоящий программист напишет программу на Фортран на любом языке программирования! (с)
Re[3]: Десктопные на голом C не выглядят монструозными
От: mike_rs Россия  
Дата: 02.02.23 11:55
Оценка:
Здравствуйте, so5team, Вы писали:

S>Настоящий программист напишет программу на Фортран на любом языке программирования!


исправил
Re[4]: Десктопные на голом C не выглядят монструозными
От: so5team https://stiffstream.com
Дата: 02.02.23 11:57
Оценка:
Здравствуйте, mike_rs, Вы писали:

S>>Настоящий программист напишет программу на Фортран на любом языке программирования!


_>исправил


Да вы, батенька, настоящий программист и есть. Про таковых, собственно, и была оригинальная цитата.
Re: Десктопные на голом C не выглядят монструозными
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 02.02.23 13:35
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Думаете на высокоуровневом — это же будет намного меньше по объему кода а код будет яснее?

Давай начнём обсуждение с того, сколько ты написал программ с помощью gobject? Вот когда напишешь хоть что-то, тогда поговорим.
Sic luceat lux!
Re[2]: Десктопные на голом C не выглядят монструозными
От: Shmj Ниоткуда  
Дата: 02.02.23 14:47
Оценка:
Здравствуйте, Kernan, Вы писали:

S>>Думаете на высокоуровневом — это же будет намного меньше по объему кода а код будет яснее?

K>Давай начнём обсуждение с того, сколько ты написал программ с помощью gobject? Вот когда напишешь хоть что-то, тогда поговорим.

Одну маленькую таки пришлось написать, но для ее написания пришлось перелопатить примерно 50 экранов кода.

Думаю что да, кое-какие ритуалы будут раздражать. Однако же скорость написания будет не многим ниже — видимо те самые 20% о которых говорят, которые добавляют удобные инструменты.
Re[3]: Десктопные на голом C не выглядят монструозными
От: пффф  
Дата: 02.02.23 15:16
Оценка: +3
Здравствуйте, Shmj, Вы писали:

S>Одну маленькую таки пришлось написать, но для ее написания пришлось перелопатить примерно 50 экранов кода.


Примем экран==100 строк. 50 экранов — 5000 строк. Это была студенческая лаба?


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


У меня сейчас небольшой проект, только начал подбираться к 100KLOC. Пишу месяца три. Стороннего там ничего нет, только своё, на плюсах и его стандартной библиотеке. А, ну ещё там некоторое количество своих библиотек, кочующих из проекта в проект и развивающихся по мере необходимости, которые тоже на плюсах и стандартной библиотеке. Хотя вру — одна стороння либа есть — для разбора JSON. Тоже чисто плюсовая.

Пишу один.

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

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

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

Так что ты не думай, гражданин теоретик, а попробуй написать что-то сложнее лабораторки
Re[4]: Десктопные на голом C не выглядят монструозными
От: Shmj Ниоткуда  
Дата: 02.02.23 15:26
Оценка:
Здравствуйте, пффф, Вы писали:

S>>Одну маленькую таки пришлось написать, но для ее написания пришлось перелопатить примерно 50 экранов кода.

П>Примем экран==100 строк. 50 экранов — 5000 строк. Это была студенческая лаба?

Мне нужна была только часть функционала. В оригинальном проекте строк около 15 тыс — все изучать не нужно было. Да, небольшой.

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


П>Так что ты не думай, гражданин теоретик, а попробуй написать что-то сложнее лабораторки


Была такая мысль. Пришел сюда чтобы меня отговорили.
Re[4]: Десктопные на голом C не выглядят монструозными
От: Философ Ад http://vk.com/id10256428
Дата: 02.02.23 16:26
Оценка:
Здравствуйте, пффф, Вы писали:

П>...100KLOC..., только своё, на плюсах и его стандартной библиотеке....У меня нет никаких голых указателей;


Как тебе это удалось?
Всё сказанное выше — личное мнение, если не указано обратное.
Re[4]: Десктопные на голом C не выглядят монструозными
От: so5team https://stiffstream.com
Дата: 02.02.23 16:41
Оценка:
Здравствуйте, пффф, Вы писали:

П>У меня сейчас небольшой проект, только начал подбираться к 100KLOC. Пишу месяца три.


Это 100KLOC самого проекта или же суммарно с вашими готовыми либами и сторонней JSON-библиотекой?
Re[4]: Десктопные на голом C не выглядят монструозными
От: reversecode google
Дата: 02.02.23 16:50
Оценка:
П>У меня сейчас небольшой проект, только начал подбираться к 100KLOC. Пишу месяца три. Стороннего там ничего нет, только своё, на плюсах и его стандартной библиотеке. А, ну ещё там некоторое количество своих библиотек, кочующих из проекта в проект и развивающихся по мере необходимости, которые тоже на плюсах и стандартной библиотеке. Хотя вру — одна стороння либа есть — для разбора JSON. Тоже чисто плюсовая.

П>Пишу один.


100к ?
малАватА будет
cd my_small_project
"C:\Program Files\Git\usr\bin\find.exe" . -type f -name \*.* | "C:\Program Files\Git\usr\bin\xargs.exe" "C:\Program Files\Git\usr\bin\wc.exe" -l
172379 total
только .cpp и .h
Re[5]: Десктопные на голом C не выглядят монструозными
От: пффф  
Дата: 02.02.23 16:55
Оценка:
Здравствуйте, Философ, Вы писали:

П>>...100KLOC..., только своё, на плюсах и его стандартной библиотеке....У меня нет никаких голых указателей;


Ф>Как тебе это удалось?


Стандартная библиотека? Не, не слышал.

Хотя, конечно, указатели немножко есть. Иногда что-то опциональное в/из функций передаётся. И то, потому что я ленивый и плохо знаю новые библиотеки языка и с optional лень заморачиваться
Re[5]: Десктопные на голом C не выглядят монструозными
От: пффф  
Дата: 02.02.23 16:59
Оценка:
Здравствуйте, so5team, Вы писали:

П>>У меня сейчас небольшой проект, только начал подбираться к 100KLOC. Пишу месяца три.


S>Это 100KLOC самого проекта или же суммарно с вашими готовыми либами и сторонней JSON-библиотекой?


Без.

Для статы использую github.com/AlDanial/cloc, у ней есть опции что эксклюдить из подсчета
Re[6]: Десктопные на голом C не выглядят монструозными
От: so5team https://stiffstream.com
Дата: 02.02.23 17:02
Оценка:
Здравствуйте, пффф, Вы писали:

П>>>У меня сейчас небольшой проект, только начал подбираться к 100KLOC. Пишу месяца три.


S>>Это 100KLOC самого проекта или же суммарно с вашими готовыми либами и сторонней JSON-библиотекой?


П>Без.


Ну ахринеть!

У меня хорошо, если 3KLOC в месяц выходит (не считая тестов).
Re[7]: Десктопные на голом C не выглядят монструозными
От: пффф  
Дата: 02.02.23 17:08
Оценка:
Здравствуйте, so5team, Вы писали:

S>>>Это 100KLOC самого проекта или же суммарно с вашими готовыми либами и сторонней JSON-библиотекой?


П>>Без.


S>Ну ахринеть!


S>У меня хорошо, если 3KLOC в месяц выходит (не считая тестов).


Ну, я урезал осетра

Повнимательнее глянул — одна либа таки пробралась, и в стате там обо всех файлах, не только плюсовых. Чисто плюсового около 45KLOC.

Ну, и я люблю писать воздушно — 30% blank Итого чисто кода получается 30KLOC.
Re[3]: Десктопные на голом C не выглядят монструозными
От: CreatorCray  
Дата: 02.02.23 21:31
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Так и что, разве это требует изменения самого языка или компилятора?

Конечно!

S> Использование доп. библиотек с нужным функционалом — никто не запрещает.

Это нельзя сделать библиотечно.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.