ну не знаю... люди, которые начинали с чистого С, а теперь нормально пишут на С++ вызывают у меня чувство глубочайшего уважения. мне кажется, что переучиться в этом случае гораздо сложнее, чем освоить С++ с нуля. во всяком случае я прихожу к такому мнению глядя на С++ные проги, где, например, работа со строками ведется через указатели на asciiz, функциями типа strcmp и проч... процентов 70 из тех, кто пишет на С++ не знают что такое итератор и впадают в ступор от слова функтор.... я отношу подобные явления именно на счет практики изучения С первым....Просто я в свое время с плюса попробовал начать и понял, что без предварительного знания просто Си там никуда.
C vs. C++ (ООП против процедурного П)
Модератор: Модераторы разделов
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
C vs. C++
слава роботам!
-
agreed
- Сообщения: 143
- ОС: Fedora 10, Mac OS X 10.5
Re: C vs. C++
Ну... Вообще-то такие понятия как итератор и функтор пришли в русские переводы книг из вычислительной математики и численных методов. А языки c и c++ отличаются как целевой аудиторией, так и своим прикладным назначением. В сишном подходе к работе с нуль-строками нет ничего плохого. От этого программа потеряет разве что читаемость, и то, для кого как. Ведь человек пишущий на си, имхо гораздо лучше понимает принципы работы с памятью и внутреннее устройство многих абстрактных понятий (структур, строк и т.п). А с++ я уже с 5 захода не могу освоить. Старею?..
Извини за критику. Это чисто субъективно.
-
Sparky
- Сообщения: 604
- Статус: core dumped
- ОС: Plan 9
Re: C vs. C++
читайте RSDN и просвещайтесь :thumbsup:
Блог
--------------------
GCS/M/MU/P/IT/E d- s: a- C++(+++) UBL++ P->-- L+++$ E- W+++$ N* o? K? w>--
O M-@ V- PS@ PE+ Y+ PGP+ t 5 X R* tv-->- b++ DI? D>+ G e+(++) h--- r+ y++
--------------------
GCS/M/MU/P/IT/E d- s: a- C++(+++) UBL++ P->-- L+++$ E- W+++$ N* o? K? w>--
O M-@ V- PS@ PE+ Y+ PGP+ t 5 X R* tv-->- b++ DI? D>+ G e+(++) h--- r+ y++
-
madskull
- Сообщения: 1019
- Статус: Экс-металлюга
Re: C vs. C++
agreed про строки правильно сказал. Зная, как работает strcpy и примерно, как работает и во что превращается присваивание "объектных строк" мне, человеку начинавшему изучать программирование с ассеблера для k580, просто ЖАЛКО памяти и тиков.
Конечно, это не касается кода, где сплошняком идет работа со строками.
Конечно, это не касается кода, где сплошняком идет работа со строками.
ArchLinux / IceWM
-
Sparky
- Сообщения: 604
- Статус: core dumped
- ОС: Plan 9
Re: C vs. C++
(agreed @ Понедельник, 28 Марта 2005, 22:47) писал(а):Ну... Вообще-то такие понятия как итератор и функтор пришли в русские переводы книг из вычислительной математики и численных методов. А языки c и c++ отличаются как целевой аудиторией, так и своим прикладным назначением. В сишном подходе к работе с нуль-строками нет ничего плохого. От этого программа потеряет разве что читаемость, и то, для кого как. Ведь человек пишущий на си, имхо гораздо лучше понимает принципы работы с памятью и внутреннее устройство многих абстрактных понятий (структур, строк и т.п). А с++ я уже с 5 захода не могу освоить. Старею?..![]()
![]()
Извини за критику. Это чисто субъективно.
никогда не думал, что структура и строка абстрактные понятия.... B)
agreed про строки правильно сказал. Зная, как работает strcpy и примерно, как работает и во что превращается присваивание "объектных строк" мне, человеку начинавшему изучать программирование с ассеблера для k580, просто ЖАЛКО памяти и тиков.
Конечно, это не касается кода, где сплошняком идет работа со строками.
всте это конечно хорошо.... но когда работаешь с большим проектом о тиках не думаешь как то.... на первый план выходят скорость разработки и возможность повторного использования кода.... так что думать о "тиках" приходится только при написании утилит типа grep
Sparky добавил в 03.04.2005 00:49
Кстати хотельеще сказать, что сам спор ООП vs. ПП немного не корректен... ИМХО нужно знать оба подхода и эффективно использовать, там где это необходимо/удобно... т.д.
Блог
--------------------
GCS/M/MU/P/IT/E d- s: a- C++(+++) UBL++ P->-- L+++$ E- W+++$ N* o? K? w>--
O M-@ V- PS@ PE+ Y+ PGP+ t 5 X R* tv-->- b++ DI? D>+ G e+(++) h--- r+ y++
--------------------
GCS/M/MU/P/IT/E d- s: a- C++(+++) UBL++ P->-- L+++$ E- W+++$ N* o? K? w>--
O M-@ V- PS@ PE+ Y+ PGP+ t 5 X R* tv-->- b++ DI? D>+ G e+(++) h--- r+ y++
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: C vs. C++
кстати, только собирался предложить вставлять в отбитые темы какую-нить пометку, типа ==splitted==. а то не понятно получается. взялась непонятная тема, я автор... а я бы и в жизни никогда бы не подумал начинать флейм C vs C++. я еще не настолько болен...
кроме того, посты из контекста вырываются. изначально имелась ввиду конкретно процедура обучения. я просто хотел заметить, что С и С++ - разные языки для разных задач и для разных людей, а те, кто учит С++ после С в массе своей этого не понимают и тянут в С++ сишный подход не догадываясь, что С++ это не только другой синтаксис, но и другая идеология, другие приемы и другие акценты. что тики и байты, размер и скорость отходят там уже на второй план, а на первый выходят человеко-часы и качество продукта. что там надо учиться плевать на оверхед обертки строки, экономя часы на поиске какого-нить buffer overflow.
считать байты и тики - важно и полезно. но только там, где это необходимо. не надо пихать этот счет во все дыры - есть места, где он совсем "не к месту". машинное время все дешевле, а человеческие жизни все короче...
кроме того, посты из контекста вырываются. изначально имелась ввиду конкретно процедура обучения. я просто хотел заметить, что С и С++ - разные языки для разных задач и для разных людей, а те, кто учит С++ после С в массе своей этого не понимают и тянут в С++ сишный подход не догадываясь, что С++ это не только другой синтаксис, но и другая идеология, другие приемы и другие акценты. что тики и байты, размер и скорость отходят там уже на второй план, а на первый выходят человеко-часы и качество продукта. что там надо учиться плевать на оверхед обертки строки, экономя часы на поиске какого-нить buffer overflow.
а использовать перл, где целые хранятся строками, не жалко? а может жалко писать скрипты на bash, помня, что выполнение команд сопровождается созданием и удалением целых отдельных процессов?мне, человеку начинавшему изучать программирование с ассеблера для k580, просто ЖАЛКО памяти и тиков.
считать байты и тики - важно и полезно. но только там, где это необходимо. не надо пихать этот счет во все дыры - есть места, где он совсем "не к месту". машинное время все дешевле, а человеческие жизни все короче...
слава роботам!
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: C vs. C++
Не только пометку, а ссылку на туда, откуда откусано. А про заглавие этой темы -- можете скинуть свой вариант названия мне в личку, я переименую.(elide @ Воскресенье, 03 Апреля 2005, 1:51) писал(а):кстати, только собирался предложить вставлять в отбитые темы какую-нить пометку, типа ==splitted==. а то не понятно получается. взялась непонятная тема, я автор... а я бы и в жизни никогда бы не подумал начинать флейм C vs C++. я еще не настолько болен...
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
agreed
- Сообщения: 143
- ОС: Fedora 10, Mac OS X 10.5
Re: C vs. C++
Извините, конечно, что сейчас проснулся. Обнаружил, что кто-то уже успел рохулиганить от моего имени.
По поводу парадигм программирования - здесь нет правых и неправых. Каждому свое. Вот я, например, сейчас читаю книгу Гради Буча "Объектно-ориентированный анализ и проектирование". Очень, просто очень советую. И уж точно стоит глянуть две забавных (по-моему) статьи: http://bugtraq.ru/library/programming/obje...enotfailed.html, и, соответственно http://bugtraq.ru/library/programming/objectshavefailed.html.
Существует же еще проблемно-ориентированная парадигма... Но это уже совсем другая история.
p.s.: извините, что поднял тему - уж очень интересно!
Существует же еще проблемно-ориентированная парадигма... Но это уже совсем другая история.
p.s.: извините, что поднял тему - уж очень интересно!