2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Ваш опыт: как Вы пришли к пониманию легенды языков - ЯВУ C?
Сообщение31.12.2024, 21:02 


31/12/24
8
С Наступающим!
Вышел финальный стандарт языка Си. На нём я думаю подучиться, но у меня есть учебники по предыдущим стандартам, поэтому я в растерянности по поводу того, за что же браться в первую очередь и по какой системе учиться? Спрашиваю на этом сайте, поскольку мне показалось, что у вас богатый опыт, полный мудрости. Подскажите, пожалуйста, на какие части лучше разбить процесс самообучения и как добиться знания Си на экспертном уровне без погружения в ассемблер - интересен опыт каждого! :idea:

-- 31.12.2024, 21:52 --

На данный момент я работаю с C# и буду продолжать, а хобби - Си. Я писал здесь ранее, но утратил доступ к аккаунту.

Мои накопившиеся замечания к языку Си я выразил в своей статье в журнале Самиздат:
Цитата:
1. Его невозможно полностью изучить;
2. Он не работает напрямую так, как написано в коде;
3. Многие его средства неудобны, громоздки, не нужны в большинстве случаев;
4. Некоторые его средства лучше вообще никогда не использовать, потому что они либо устарели, либо ведут к ошибкам;
5. У него нет подробного детального описания того, как всё устроено и работает;
6. В нём постоянно внедряется новый синтаксический сахар, который по сути бесполезен, но маркетинг призывает всех переписывать каждый раз старый сахар на новый;
7. Он не оптимален ни по памяти, ни по быстродействию;
8. Программы на нём тяжело отлаживать и тестировать, потому что используют в массе своей ООП;
9. Чтобы программировать на нём, нужно постоянно покупать новые книги и читать их;
10. Его фреймворки регулярно выкидывают на помойку, что опять ведёт к переписыванию всего и вся;
11. Большинство программистов на нём и слышать не желают про оптимизацию программ и культуру безопасного кодирования, как и про алгоритмы - обычно знания заканчиваются там, где заканчиваются руководства;
12. Его сложность и обилие классов заставляют задумываться над выбором средств реализации чаще, чем сосредотачиваться на алгоритме решения;
13. Для него мало бесплатных дополнений, большинство качественных сопутствующих средств - платны;
14. При постоянно растущей энтропии синтаксиса языка качественный код превращается в кашу;
15. Программисты, привыкшие к упрощениям, начинают бояться сложностей;
16. Обилие обёрток сводит на нет программирование на бумаге.
17. Абстрагированный от железа язык можно развивать до бесконечности.
18. И ещё эта Visual Studio - один сплошной баг с регулярным обновлением.


А ситуация с Си радует - вышли новые iso, misra, POSIX.

 Профиль  
                  
 
 Re: Ваш опыт: как Вы пришли к пониманию легенды языков - ЯВУ C?
Сообщение31.12.2024, 22:27 
Аватара пользователя


28/10/21
101
Vista7 в сообщении #1668000 писал(а):
Мои накопившиеся замечания к языку Си я выразил в своей статье в журнале Самиздат:
...
2. Он не работает напрямую так, как написано в коде;


:facepalm: Автор явно не понимает всей феерической самопротиворечивости и вытекающей из этого альтернативной одаренности подобных заявлений.

Vista7 в сообщении #1668000 писал(а):
12. Его сложность и обилие классов заставляют задумываться над выбором средств реализации чаще, чем сосредотачиваться на алгоритме решения;


Сомнения зародились намного ранее, но вот здесь они окончательно материализовались в удивленный вопрос :shock: "Чего???" :shock:

Vista7 в сообщении #1668000 писал(а):
18. И ещё эта Visual Studio - один сплошной баг с регулярным обновлением.


Стратегически правильное решение - поместить это последним пунктом. Потому что подобная пионэрская бредятина сразу вызывает реакцию "дальше можно не читать" :facepalm:

Vista7 в сообщении #1668000 писал(а):
А ситуация с Си радует - вышли новые iso, misra, POSIX.


"Взаимоисключающие параграфы"? :shock:

 Профиль  
                  
 
 Re: Ваш опыт: как Вы пришли к пониманию легенды языков - ЯВУ C?
Сообщение31.12.2024, 22:57 


31/12/24
8
А о чём была тема?

 Профиль  
                  
 
 Re: Ваш опыт: как Вы пришли к пониманию легенды языков - ЯВУ C?
Сообщение31.12.2024, 23:58 
Заслуженный участник
Аватара пользователя


16/07/14
9342
Цюрих
Vista7 в сообщении #1668000 писал(а):
Вышел финальный стандарт языка Си
В каком смысле финальный?
TheRuinedMap, я подозреваю, что там опечатка, и претензии к плюсам. Они от этого не сильно, но становятся адекватнее.
Vista7 в сообщении #1668014 писал(а):
А о чём была тема?
Хороший вопрос. Так о чем?

 Профиль  
                  
 
 Re: Ваш опыт: как Вы пришли к пониманию легенды языков - ЯВУ C?
Сообщение01.01.2025, 01:08 


31/12/24
8
Лицо синус, глаза - косинус?

 Профиль  
                  
 
 Re: Ваш опыт: как Вы пришли к пониманию легенды языков - ЯВУ C?
Сообщение07.01.2025, 22:45 


12/07/15
3387
г. Чехов
п.8 некорректный, т.к. насколько я знаю в С не подвезли ООП.
Вы вообще не путаете C99, C11, C17, C23 и C++98, C++11, C++14, C++17, C++20?

-- 07.01.2025, 22:48 --

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

 Профиль  
                  
 
 Re: Ваш опыт: как Вы пришли к пониманию легенды языков - ЯВУ C?
Сообщение30.01.2025, 00:50 


31/12/24
8
Извините, тут опечатка: список относится к языку C#.

 Профиль  
                  
 
 Re: Ваш опыт: как Вы пришли к пониманию легенды языков - ЯВУ C?
Сообщение30.01.2025, 06:53 


08/12/17
382
Vista7 в сообщении #1668000 писал(а):
Ваш опыт: как Вы пришли к пониманию легенды языков - ЯВУ C?

С чего вы взяли, что я пришёл? Я никуда не приходил, на си никогда не писал (если не считать студенческих работ) и отлично себя чувствую :D Чего и вам советую.

 Профиль  
                  
 
 Re: Ваш опыт: как Вы пришли к пониманию легенды языков - ЯВУ C?
Сообщение31.01.2025, 14:41 


10/04/12
706
Цитата:
1. Его невозможно полностью изучить;


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

Цитата:
2. Он не работает напрямую так, как написано в коде;


Достаточно близко, ИМХО. А вообще дилемма, то ли указывать как делать каждый чих, или сразу описать, что надо в результате и не заморачиваться.

Цитата:
3. Многие его средства неудобны, громоздки, не нужны в большинстве случаев;


Так было в прошлом, а сейчас

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


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

Цитата:
4. Некоторые его средства лучше вообще никогда не использовать, потому что они либо устарели, либо ведут к ошибкам;


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

Цитата:
5. У него нет подробного детального описания того, как всё устроено и работает;


Есть стандарт ISO/IEC 20619:2023, другой вопрос, зачем он нужен? Только для mono? Достаточно детальное описание на сайте Microsoft.

Цитата:
7. Он не оптимален ни по памяти, ни по быстродействию;


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

Цитата:
8. Программы на нём тяжело отлаживать и тестировать, потому что используют в массе своей ООП;


Любые сложные программы тяжело отлаживать и тестировать. А верифицированое програмное обеспечение еще тяжелее писать, хотя можно не отлаживать и не тестировать.

Цитата:
9. Чтобы программировать на нём, нужно постоянно покупать новые книги и читать их;


Мне ChatGPT помог почти без опыта писать на нем, а в целом куча док на сайте и на stackoverflow.

Цитата:
10. Его фреймворки регулярно выкидывают на помойку, что опять ведёт к переписыванию всего и вся;


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

Цитата:
11. Большинство программистов на нём и слышать не желают про оптимизацию программ и культуру безопасного кодирования, как и про алгоритмы - обычно знания заканчиваются там, где заканчиваются руководства;


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

Цитата:
12. Его сложность и обилие классов заставляют задумываться над выбором средств реализации чаще, чем сосредотачиваться на алгоритме решения;


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

Цитата:
13. Для него мало бесплатных дополнений, большинство качественных сопутствующих средств - платны;


А что тут плохого? Много и бесплатного, и есть платное...

Цитата:
14. При постоянно растущей энтропии синтаксиса языка качественный код превращается в кашу;


Тут скорее сложность проекта

Цитата:
15. Программисты, привыкшие к упрощениям, начинают бояться сложностей;


А зачем искать сложности? В гамаке и в противогазе?

Цитата:
16. Обилие обёрток сводит на нет программирование на бумаге.


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

Цитата:
17. Абстрагированный от железа язык можно развивать до бесконечности.


Можно, а почему нет?

Цитата:
18. И ещё эта Visual Studio - один сплошной баг с регулярным обновлением.


Попробуй решарпер

 Профиль  
                  
 
 Re: Ваш опыт: как Вы пришли к пониманию легенды языков - ЯВУ C?
Сообщение31.01.2025, 17:42 


27/08/16
10786
Vista7 в сообщении #1668000 писал(а):
На данный момент я работаю с C# и буду продолжать, а хобби - Си.
Попробуйте ассемблер. Вдруг вам понравится?

Mihaylo в сообщении #1669029 писал(а):
Язык трудный, историческая ошибка.

Почему ошибка? Замечательная замена ассемблеру для программирования операционных систем.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group