Re[4]: Изучение Си после C++?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 24.07.19 21:48
Оценка:
Здравствуйте, rg45, Вы писали:

R>На мой взгляд, самая ощутимая проблема C по сравнению с C++ — это невозможность использования RAII.


Там есть, но через одно место. Не могу пример привести, но видел такой код. Это полное гавно, сама логика работы просто незаметна на фоне обеспечения RAII
Маньяк Робокряк колесит по городу
Re[3]: Изучение Си после C++?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 24.07.19 21:50
Оценка:
Здравствуйте, kov_serg, Вы писали:

M>>Функции рекомендуется группировать в файлы по объединяющему логическому признаку, т.е. как и в классах, один класс = один заголовочный и один файл исходников. В заголовочном описываются "экспортируемые" прототипы функций и глобальные переменные из исходника в виде "extern".

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

Это ты о чем сейчас?

И почему пайтон ты упомянул в одном ряду с говном типа баша и перла?

Хотя и пайтон не айс, но остальное....
Маньяк Робокряк колесит по городу
Re[5]: Изучение Си после C++?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 24.07.19 21:52
Оценка: +1
Здравствуйте, kov_serg, Вы писали:

M>>Нет, куча .obj-файлов, которые потом линкуются в одну программу

_>Для это есть либы

Зачем труд делать либы, когда нужно собрать конкретное приложение?
Маньяк Робокряк колесит по городу
Re: Изучение Си после C++?
От: Nikе Россия  
Дата: 24.07.19 22:00
Оценка: +2 -1
Здравствуйте, BadCats, Вы писали:

BC>Посоветуйте пожалуйста курсы или книги про Си, которые демонстрируют его отличие от C++ — т.е материал по Си — не для начинающих, позволяющий освоить язык как "дополнительный", в том смысле, что его изучение будет не первым.


Основное отличие С от С++, это убогость и крайняя устарелость. Собственно не очень понятно, что про него ещё нужно знать.
Нужно разобрать угил.
Re[3]: Изучение Си после C++?
От: Nikе Россия  
Дата: 24.07.19 22:01
Оценка: +1
Здравствуйте, SomeOne_TT, Вы писали:

SO_>Не соглашусь. На сях пишут совершенно иначе, нежели на плюсах.


Пишут так же, только на порядок более многословно, опаснее и нерасширяемей ):
Нужно разобрать угил.
Re[2]: Изучение Си после C++?
От: sergey2b ЮАР  
Дата: 24.07.19 22:05
Оценка:
Здравствуйте, Nikе, Вы писали:


N>Основное отличие С от С++, это убогость и крайняя устарелость. Собственно не очень понятно, что про него ещё нужно знать.


и почему же он тода еще жив
pascal вот умер и Си живее всех живых
Re[3]: Изучение Си после C++?
От: Nikе Россия  
Дата: 24.07.19 22:08
Оценка: +1 :)))
Здравствуйте, sergey2b, Вы писали:

N>>Основное отличие С от С++, это убогость и крайняя устарелость. Собственно не очень понятно, что про него ещё нужно знать.


S>и почему же он тода еще жив

S>pascal вот умер и Си живее всех живых

Удачная смесь мумификации и столкгольмского синдрома
Нужно разобрать угил.
Re[3]: Изучение Си после C++?
От: kov_serg Россия  
Дата: 24.07.19 22:15
Оценка: +2
Здравствуйте, sergey2b, Вы писали:

S>а можно пример когда такая оазница в коде

Сечас точно не вспомню. Давно это было. Но идея была такой решалось диф.уравнение с автоматическим подбором шага методом Рунге-Кута.
Решение на C++ было примерно в десятки раз длиннее. Хотя на C++ можно было написать так же, но зачем-то были использованы шаблоны, контейнеры и разные прибабахи.
На C просто банально разнотипные состояния сериализовались в один массив и обратно, а массив обрабатывалься тривиальным кодом из десятка строк.
Просто имея очень гибкие возможности C++ можно было шаблонами засунуть состояния и с ними работать, что и было нагорожено.
Но простое преобразование в линейный массив, убирало всю эту чепуху. Код был короче, проще и более того работал быстрее.
Тут дело даже не в C, а в возможности взглянуть на проблему со сторон с разными ограничениями.
И после супер общего решения которое вы считаете винцом человеческой мысли, вам показывают короткий, простой аскетичный код который решает эту же задачу даже лучше это вызывает кучу эмоций.
В целом проблема упирается в комбинаторные взрывы, получающиеся из-за широких языковых возможностей, которые используются не для решения задачи, а потому "так лучше".
В случае ограниченных возможностей вы будете искать оптимальный путь, а в противном случае будете выбирать самый комфортный.
Вообще без насиля на собой хороший код не получается. Это просто физиологическая особенность человеков.
Re[3]: Изучение Си после C++?
От: Stanislav V. Zudin Россия  
Дата: 24.07.19 22:17
Оценка: +2
Здравствуйте, sergey2b, Вы писали:

N>>Основное отличие С от С++, это убогость и крайняя устарелость. Собственно не очень понятно, что про него ещё нужно знать.


S>и почему же он тода еще жив

S>pascal вот умер и Си живее всех живых

Потому что платформ поддерживает огроменное количество, компилится быстро, по сравнению с с++.
И альтернативы этому "высокоуровневому ассемблеру" пока не видно.
Ну и легаси, куда же без него
_____________________
С уважением,
Stanislav V. Zudin
Re[4]: Изучение Си после C++?
От: sergey2b ЮАР  
Дата: 24.07.19 22:27
Оценка: +1
Здравствуйте, Stanislav V. Zudin, Вы писали:

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

SVZ>И альтернативы этому "высокоуровневому ассемблеру" пока не видно.
SVZ>Ну и легаси, куда же без него

моя версия, потому что
хорошо подходит для написания кода для маломощных платформ
изучаеться за неделю ученным или студентом
хорошая замена ассемблеру
легаси
Re[5]: Изучение Си после C++?
От: Maniacal Россия  
Дата: 25.07.19 05:26
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Здравствуйте, Maniacal, Вы писали:


M>>Нет, куча .obj-файлов, которые потом линкуются в одну программу

_>Для это есть либы

Особенность сишных компиляторов: один файл исходников — один объектный файл. А так да, либа = собранный в один файл набор объекнрых файлов. Либа от исполняемого файла логически только наличием функции main отличается, а физически дополнительно наличием заголовка исполняемого файла.
Re[5]: Изучение Си после C++?
От: Maniacal Россия  
Дата: 25.07.19 05:35
Оценка:
Здравствуйте, AeroSun, Вы писали:

AS>ну, только в юморе разве что


Как я понял, посыл был в том, что на C++ всегда руки тянутся написать код в "общем" виде, универсальный, который потом можно будет повторно использовать, а на C хочется писать "в лоб", "топорно", код решающий ровно одну задачу.
Re[4]: Изучение Си после C++?
От: Hobbes Россия  
Дата: 25.07.19 06:08
Оценка:
Здравствуйте, Maniacal, Вы писали:

M>
M>#include 
M>#include 

M>class string
M>{
M>private:
M>  int size;
M>  char *ptr;

M>public:
M>  string() : size(0), ptr(new char('\0')) {}

M>  string(const string &s) : size(s.size)
M>  {
M>    ptr = new char[size + 1];
M>    strcpy(ptr, s.ptr);
M>  }

M>  ~string()
M>  {
M>    delete [] ptr;
M>  }

M>  friend ostream &operator < <(ostream &, const string &);
M>  string &operator=(const char *);
M>};

M>ostream &operator<<(ostream &stream, const string &s)
M>{
M>  return(stream << s.ptr);
M>}

M>string &string::operator=(const char *chrs)
M>{
M>  if (this != &chrs)
M>  {
M>    delete [] ptr;
M>    size = strlen(chrs);
M>    ptr = new char[size + 1];
M>    strcpy(ptr, chrs);
M>  }
M>  return(*this);
M>}

M>int main()
M>{
M>  string str;

M>  str = "Hello World";
M>  cout << str << endl;

M>  return(0);
M>}
M>


Кстати, в программе ошибка.

Выделяем:
ptr(new char('\0'))

Удаляем:
delete [] ptr;
Re[2]: Изучение Си после C++?
От: Hobbes Россия  
Дата: 25.07.19 06:15
Оценка:
Здравствуйте, Maniacal, Вы писали:

M>Тут достаточно просто: C = C++ — ООП — stdlib — C++ Exceptions — new/delete


Ты ещё шаблоны и overload-полиморфизм забыл.
Re[3]: Изучение Си после C++?
От: Maniacal Россия  
Дата: 25.07.19 06:22
Оценка:
Здравствуйте, Hobbes, Вы писали:

H>Здравствуйте, Maniacal, Вы писали:


M>>Тут достаточно просто: C = C++ — ООП — stdlib — C++ Exceptions — new/delete


H>Ты ещё шаблоны и overload-полиморфизм забыл.


Шаблоны — да, забыл. А инкапсуляция, наследование и полиморфизм это ООП.
Re[3]: Изучение Си после C++?
От: LaptevVV Россия  
Дата: 25.07.19 09:06
Оценка:
N>>Основное отличие С от С++, это убогость и крайняя устарелость. Собственно не очень понятно, что про него ещё нужно знать.
S>и почему же он тода еще жив
S>pascal вот умер и Си живее всех живых
Нифига паскаль не умер.
Как использовался для обучения — так ип используется.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Изучение Си после C++?
От: LaptevVV Россия  
Дата: 25.07.19 09:10
Оценка:
BC>Посоветуйте пожалуйста курсы или книги про Си, которые демонстрируют его отличие от C++ — т.е материал по Си — не для начинающих, позволяющий освоить язык как "дополнительный", в том смысле, что его изучение будет не первым.
Книжек таких не встречал.
Можно взять просто книжку по С — Дейтела, например.
Вот: https://my-shop.ru/shop/books/1830518.html?b45=1_1
Или просто Библию Кернигана-Ритчи.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Отредактировано 25.07.2019 9:14 LaptevVV . Предыдущая версия .
Re: Изучение Си после C++?
От: andyp  
Дата: 25.07.19 09:24
Оценка: +2
Здравствуйте, BadCats, Вы писали:

BC>Посоветуйте пожалуйста курсы или книги про Си, которые демонстрируют его отличие от C++ — т.е материал по Си — не для начинающих, позволяющий освоить язык как "дополнительный", в том смысле, что его изучение будет не первым.


По С есть хорошие, а главное нетолстые книжки. Пролистать знакомое будет энергетически выгоднее, чем искать именно то, что ты хочешь имхо.
Re[2]: Изучение Си после C++?
От: Михaил  
Дата: 25.07.19 09:49
Оценка:
Здравствуйте, Nikе, Вы писали:

N>Здравствуйте, BadCats, Вы писали:


BC>>Посоветуйте пожалуйста курсы или книги про Си, которые демонстрируют его отличие от C++ — т.е материал по Си — не для начинающих, позволяющий освоить язык как "дополнительный", в том смысле, что его изучение будет не первым.


N>Основное отличие С от С++, это убогость и крайняя устарелость.


минималистичность и полный контроль над железом.

N>Собственно не очень понятно, что про него ещё нужно знать.


то что на нём почти все mcu программируются?q А так же драйвера, системные утилиты и огромное количество кроссплатформенных opensource либ?

ты сиплюсплюсер?
Re[2]: Изучение Си после C++?
От: sergey2b ЮАР  
Дата: 25.07.19 10:40
Оценка:
Здравствуйте, LaptevVV, Вы писали:

мне по Си больше всего вот эта нравиться
читаеться за полдня и все что надо с примерами изложенно

Язык программирования Си для персонального компьютера
Бочков
Субботин


https://www.ozon.ru/context/detail/id/138319640/
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.