Подскажите начинающему программеру

Модератор: Модераторы разделов

Аватара пользователя
minoru-kun
Сообщения: 621
ОС: Debian GNU/Linux

Re: Подскажите начинающему программеру

Сообщение minoru-kun »

С++ = С + ООП.
Имхо, C++ отлично подходит для моделирования (и других видов описания явлений объектно-ориентированной природы), а так же для разработки больших проектов со сложными структурами данных. Сначала следует изучить C, и только потом C++, иначе весь код, который вы напишите на C++, наверняка будет индийским.
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: Подскажите начинающему программеру

Сообщение wzrd »

minoru-kun писал(а):
15.03.2008 19:14
С++ = С + ООП.

подобие ООП есть и в C. C++ силен своей стандартной библиотекой, ну и более навороченным ОПП
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Подскажите начинающему программеру

Сообщение deninok »

(minoru-kun) писал(а):С++ = С + ООП.

Это неполное утверждение. С++ это не только С + ООП.

(minoru-kun) писал(а):Сначала следует изучить C, и только потом C++, иначе весь код, который вы напишите на C++, наверняка будет индийским.

Страуструп говорит иначе. Я уже писал выше, что С++ следует учить как отдельный язык.


(wzrd) писал(а):подобие ООП есть и в C.

Что ты имеешь в виду? Как, на твой взгляд, в С реализовано ООП?
Спасибо сказали:
Аватара пользователя
Фантом
Сообщения: 463
ОС: openSUSE

Re: Подскажите начинающему программеру

Сообщение Фантом »

minoru-kun писал(а):
15.03.2008 19:14
С++ = С + ООП.

Это во многом не так. ООП - одна из дополнительных особенностей С++, но только одна из нескольких.

minoru-kun писал(а):
15.03.2008 19:14
Имхо, C++ отлично подходит для моделирования (и других видов описания явлений объектно-ориентированной природы), а так же для разработки больших проектов со сложными структурами данных. Сначала следует изучить C, и только потом C++, иначе весь код, который вы напишите на C++, наверняка будет индийским.

Как показывает опыт, обычно бывает наоборот. Сначала человек, например, привыкает описывать константы и inline-функции с помощью макросов, а потом, при переходе на C++, мучительно отвыкает обратно (если вообще отвыкает). C++, даже за вычетом всего, связанного с ООП - язык, существенно более строгий, чем C (хотя и ему далеко до идеала).

Поскольку сейчас почти везде (кроме embedded-систем) использование C++ вместо C не влечет практически никаких накладных расходов, то "в среднем" разумнее изучать и использовать именно C++.
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: Подскажите начинающему программеру

Сообщение wzrd »

deninok писал(а):
16.03.2008 13:50
Что ты имеешь в виду? Как, на твой взгляд, в С реализовано ООП?

структуры. но я сказал что это подобие.
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Подскажите начинающему программеру

Сообщение deninok »

(wzrd) писал(а):
deninok писал(а):
16.03.2008 13:50
Что ты имеешь в виду? Как, на твой взгляд, в С реализовано ООП?

структуры. но я сказал что это подобие.

Но структуры недостаточно для реализации ООП. Это лишь малая часть...
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Подскажите начинающему программеру

Сообщение Portnov »

Да всего достаточно. См. Gtk, к примеру.
А вообще, от С++ до ООП - дистанция огромного размера...
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
bahurin
Сообщения: 13
ОС: SUSE

Re: Подскажите начинающему программеру

Сообщение bahurin »

deninok писал(а):
14.03.2008 22:42
(wzrd) писал(а):
(Portnov) писал(а):Изучать же сначала С, а потом С++ имхо категорически нельзя.

а можете сказать почему? просто я думаю по другому.

Хотя вопрос был задан не мне, выскажу свое мнение.
Переход на С++ после изучения С (особенно если опыт работы с С был немалым) действительно тяжел. Так говорит и Страуструп. Он, выбрав С в качестве основы для С++, как никто другой знал различие между этими языками.
Дело в том, что, работая с С, программист (так или иначе) привыкает к его особенностям и парадигме. Скажу больше: он привыкает к философии С. И чем дольше программист следует этой философии в своей профессиональной деятельности, тем сильнее свыкается с ней.
А у С++ философия совсем другая. Чтобы (по-настоящему) эффективно использовать этот язык, необходимо научиться "думать на нем". И если за изучение С++ берется С-программист, он вынужден ломать свое восприятие программирования. Если говорить об ООП как о распространенной парадигме, поддерживаемой С++, то использовать ее правильно может лишь тот программист, который научился мыслить "объектно-ориентированно". А (в большинстве случаев) для С-программиста это неестественно. Поэтому ему приходится фактически переучиваться.
Я сам пришел к С++ от С. И мне действительно пришлось переучиваться. А ведь это немалая потеря времени и сил. Могу сказать, что даже сейчас, после (примерно) двух лет постоянной работы с С++ мне все еще трудно избавиться от "С-шности" в своей программе.


Мой приятель долгое время писал программы на си для микроконтроллеров. После начал писать по для компьютера. Так вот заметил что ни одного класса он не написал. Пишет под винду использую только win32api. Когда я ему показал борландовскую библиотеку vcl, или qt, то он сказал, что это все от лукавого и использовать ее не хочет, потому что за годы программирования на си привык к функциям и ООП его просто пугает. главный аргумент его - в вмн32апи нет ниодного класса. Так что пожалуй соглашусь, что переход с Си к с++ довольно сложен психологически.
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Подскажите начинающему программеру

Сообщение deninok »

(Portnov) писал(а):А вообще, от С++ до ООП - дистанция огромного размера...

Простите, не понял... Какая может быть дистанция, если С++ непосредственно поддерживает ОО-парадигму?
Спасибо сказали:
divenvrsk
Сообщения: 379
ОС: Ubuntu, openSuSE

Re: Подскажите начинающему программеру

Сообщение divenvrsk »

deninok писал(а):
16.03.2008 13:50
(minoru-kun) писал(а):С++ = С + ООП.

Это неполное утверждение. С++ это не только С + ООП.

(minoru-kun) писал(а):Сначала следует изучить C, и только потом C++, иначе весь код, который вы напишите на C++, наверняка будет индийским.

Страуструп говорит иначе. Я уже писал выше, что С++ следует учить как отдельный язык.


(wzrd) писал(а):подобие ООП есть и в C.

Что ты имеешь в виду? Как, на твой взгляд, в С реализовано ООП?

Objective C как пример ООП на С , 100% совместимость кода и поддержка в gcc.
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Подскажите начинающему программеру

Сообщение deninok »

Хм... Признаться, совершенно не знаком с Objective C (кроме того, что слышал о нем).
Однако, говоря о С (о чистом ISO C), можно сказать, что на нем можно писать ОО-программы. Более того, на С можно сымитировать все механизмы поддержки ООП (такие, как наследование и вызов виртуальной функции), ибо низкоуровневые детали этих механизмов известны. Однако речь идет главным образом не о том, что можно или нельзя писать на С или С++, а о том, для чего каждый из них предназначен. Парадигма ООП закладывалась в С++ изначально, в С она не закладывалась.
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: Подскажите начинающему программеру

Сообщение wzrd »

deninok, я и не утверждаю что C создан для ООП. я бы сравнил С и C++ с actionscript 1.0 и actionscript 2.0, та же самая ситуация, в первом можно писать в ОО стиле, но он не предназначен для этого, а втором уже есть поддержка ООП, но на самом деле это всего лишь изменение синтаксиса и добавление некоторых удобств, то есть всё это было, но не было реализовано должным образом.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Подскажите начинающему программеру

Сообщение Portnov »

В С++ заложена довольно сильно прищемленная дверью ОО-парадигма. Например: в ОО-языках всё есть объект, а в С++ объектами являются только экземпляры классов; Инкапсуляция понимается почему-то как сокрытие данных объекта (хотя вообще-то не имеет к сокрытию данных никакого отношения); Полиморфизм настолько тесно связан с наследованием, что кажется, будто это "обратная сторона наследования" (хотя по идее он никак не связан с наследованием); Интроспекции и динамизма нет вообще.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Подскажите начинающему программеру

Сообщение deninok »

(Portnov) писал(а):Например: в ОО-языках всё есть объект, а в С++ объектами являются только экземпляры классов

Это зависит от того, как вы интерпретируете термин "объект". В С++ переменная int i вполне может быть рассмотрена как объект. Другое дело, нужно ли простую переменную рассматривать как объект... Как сказал один очень известный программист (имя забыл): "Иногда переменная должна быть всего лишь переменной".

(Portnov) писал(а):Инкапсуляция понимается почему-то как сокрытие данных объекта (хотя вообще-то не имеет к сокрытию данных никакого отношения)

В С++ инкапсуляция - это не сокрытие данных, а защита данных. Сокрытие и защита - принципиально разные термины.

Впрочем, дабы не начинать очередной раунд давнишнего спора о том, "какой язык лучше", спрошу вас (просто для личного интереса): в каком языке, на ваш взгляд, ОО-парадигма реализовано лучше, чем в С++?
Спасибо сказали:
Аватара пользователя
Subj
Сообщения: 151
Статус: Useful
ОС: win

Re: Подскажите начинающему программеру

Сообщение Subj »

deninok писал(а):
18.03.2008 21:41
Впрочем, дабы не начинать очередной раунд давнишнего спора о том, "какой язык лучше", спрошу вас (просто для личного интереса): в каком языке, на ваш взгляд, ОО-парадигма реализовано лучше, чем в С++?

Ну не знаю насчет что лучше что хуже, но попробую в двух словах описать как ООП реализован в Аде.
Обеспечение полной поддержки ООП появилось в стандарте Ada95 с введением теговых типов, особенностью которых является возможность расширения существующего типа данных при наследовании и динамической диспетчерезации вызовов примитивных операций.
В традиционном понимании, слово "класс" трактуется как спецификация типа данных и множество методов (операций) этого типа данных. В отличие от этого, Ада трактует понятие "класс" как набор типов которые объединены иерархией наследования.
Возможности "класса" (допустим в С++ или Делфи) в Аде осуществляются связкой возможностей теговых типов(наследование и полиморфизм) и стандартных возможностей такой единицы как "пакет" (все остальное).
Использование пакетов Ады, как инструмента абстракции данных, подобно классам в других объектно-ориентированных языках программирования, где в качестве средства абстракции данных используется класс, определяющий тип данных, множество операций и действия, необходимые для инициализации.
Класс имеет вид более чистой реализации абстрактного типа, однако он требует некоторых дополнительных затрат производительности. Класс обеспечивает неявное дублирование объектов, предоставляя (по крайней мере в принципе) новое множество операций для каждого объекта, генерируемого классом. Пакет нельзя дублировать, и поэтому все операции пакета одни и те же для всех объектов. При сравнении пакетов и классов доводы в пользу классов, как правило, основаны на эстетических соображениях. Практически пакеты Ады полностью соответствуют требованиям реализации абстрактных типов данных, и, кроме того, имеют по сравнению с классами множество других применений.
Стандарт Ada2005 внес несколько расширений в модель ООП, как то интерфейсы, аналог factory и пр.
Building better software with Ada
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Подскажите начинающему программеру

Сообщение Portnov »

deninok писал(а):
18.03.2008 21:41
В С++ переменная int i вполне может быть рассмотрена как объект.


Мде? Перечислите плиз атрибуты этого объекта (ООП предполагает, что у каждого объекта есть атрибуты). Ну например i->attr. А какие методы есть у этого объекта?

deninok писал(а):
18.03.2008 21:41
В С++ инкапсуляция - это не сокрытие данных, а защита данных. Сокрытие и защита - принципиально разные термины.

Разверните, пожалуйста.
Тем не менее, термин "инкапсуляция" не означает ни сокрытия данных, ни защиты данных (если я хотя бы примерно правильно понимаю термин "защита данных" - первый раз его слышу). Термин "инкапсуляция" означает "хранение методов обработки данных вместе с данными", не больше и не меньше.

deninok писал(а):
18.03.2008 21:41
в каком языке, на ваш взгляд, ОО-парадигма реализовано лучше, чем в С++?


Smalltalk, Ruby, Python, да даже в Java - и то лучше.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Подскажите начинающему программеру

Сообщение deninok »

(Portnov) писал(а):ООП предполагает, что у каждого объекта есть атрибуты). Ну например i->attr. А какие методы есть у этого объекта?

Вот это я как раз и имел в виду, уважаемый Portnov :) Все зависит от вашего восприятия термина "объект".
Открытым атрибутом объекта int i является i (ведь атрибут может быть и один, не так ли?). А что касается методов... К объекту i применим ряд операторов, выполняющих известные математические действия. Эти операторы можно представить себе как методы этого объекта. Ведь существуют же такие объекты, методами которых являются только перегруженные операторы, не правда ли?.. И даже инициализация переменной int i может быть выполнена (синтаксически) подобно инициализации объекта пользовательского типа - вызовом псевдоконструктора.
И опять же повторю уже цитируемые мною слова: "Иногда переменная должна быть всего лишь переменной".

(Portnov) писал(а):Термин "инкапсуляция" означает "хранение методов обработки данных вместе с данными", не больше и не меньше.

К сожалению, вы не совсем правы. Да, инкапсуляция подразумевает объединение данных с методами их обработки, однако этого совершенно недостаточно. Инкапсуляция всегда подразумевает еще и защиту реализации объекта от внешних контекстов (под защитой я подразумеваю такое строение объекта, при котором исключено (непреднамеренное) нарушение его внутренней структуры). Если говорить конкретно, то грубейшим нарушением инкапсуляции является объявление данных объекта открытыми (за исключением особых, очень редких случаев).

(Portnov) писал(а):
(deninok) писал(а):в каком языке, на ваш взгляд, ОО-парадигма реализовано лучше, чем в С++?

Smalltalk, Ruby, Python, да даже в Java - и то лучше.

Хм... Благодарю за ответ. Буду знать.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Подскажите начинающему программеру

Сообщение Portnov »

deninok писал(а):
19.03.2008 21:26
К объекту i применим ряд операторов, выполняющих известные математические действия. Эти операторы можно представить себе как методы этого объекта.


Метод объекта должен быть реализован внутри объекта (см. инкапсуляция). Арифметические действия реализованы внутри переменной i ? Потом, методы объекта обычно доступны в форме объект.метод (или похожей, например объект->метод), например то же сложение (+) может быть доступно как a.__add__(b) (см. принцип общения через посылку сигналов от А.Кея). Где это в с++?

deninok писал(а):
19.03.2008 21:26
Да, инкапсуляция подразумевает объединение данных с методами их обработки, однако этого совершенно недостаточно. Инкапсуляция всегда подразумевает еще и защиту реализации объекта от внешних контекстов (под защитой я подразумеваю такое строение объекта, при котором исключено (непреднамеренное) нарушение его внутренней структуры). Если говорить конкретно, то грубейшим нарушением инкапсуляции является объявление данных объекта открытыми (за исключением особых, очень редких случаев).


Если вам нужно защитить объект от неправильного изменения его состояния, то нужно явно выписывать его инварианты (функции от состояния, которые должны оставаться постоянными) и реализовывать их проверку при каждом присваивании, по-другому никак. Кроме того, это в принципе невозможно в языке, где есть указатели:

Код: Выделить всё

class A....
A* a = new A;
memset(a,0,sizeof(A));

И как в приведенном примере инкапсуляция защитила объект?..

В том же python все атрибуты и методы объекта доступны снаружи (в терминах c++, они public). Это никак не мешает инкапсуляции. А чтобы программист не делал с объектом что попало, есть документация. Кроме того, с помощью метаклассов или декораторов классов в python можно оч.красиво реализовать проверку инвариантов при каждом изменении состояния. Это хоть как-нибудь возможно в с++?

ну и т.д. Спорить дальше я не буду - скучно уже. Если вам еще не надоело - можете развлечься в community.livejournal.com/ru_anti_cpp.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Подскажите начинающему программеру

Сообщение deninok »

Ну, на том и закончим... А то уже явный оффтоп пошел.
Спасибо сказали:
Аватара пользователя
AMD
Сообщения: 478
Статус: Maestro
ОС: Linux Kubuntu 7.10

Re: Подскажите начинающему программеру

Сообщение AMD »

deninok писал(а):
20.03.2008 10:36
Ну, на том и закончим... А то уже явный оффтоп пошел.



Не не - чтото вы быстро кончили ребята :rolleyes: - а то беседа неплохая получилось - и много интересного можно узнать
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Подскажите начинающему программеру

Сообщение deninok »

Можно, конечно, и продолжать, но тогда модераторы форума справедливо сочтут нас за холиварщиков, ведь дискуссия о том, какой язык лучше подходит для реализации ООП - извечный и очень горячий холивар. Да и потом для этого разговора данная тема действительно не подходит, надо отдельную открывать. Но эта тема не относится к программированию в Linux (или в другой ОС), поэтому данный форум, вероятно, не лучшее место для подобных дискуссий...

Хотя, признаюсь честно, у меня есть некоторые мысли об ООП и С++.
Спасибо сказали:
Аватара пользователя
AMD
Сообщения: 478
Статус: Maestro
ОС: Linux Kubuntu 7.10

Re: Подскажите начинающему программеру

Сообщение AMD »

Portnov писал(а):
19.03.2008 19:53
deninok писал(а):
18.03.2008 21:41
В С++ инкапсуляция - это не сокрытие данных, а защита данных. Сокрытие и защита - принципиально разные термины.

Разверните, пожалуйста.
Тем не менее, термин "инкапсуляция" не означает ни сокрытия данных, ни защиты данных (если я хотя бы примерно правильно понимаю термин "защита данных" - первый раз его слышу). Термин "инкапсуляция" означает "хранение методов обработки данных вместе с данными", не больше и не меньше.


Кстати видео урок во флэше что такое "инкапсуляция" - там даже конкретный пример дан
http://dump.ru/files/o/o323513813/
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Подскажите начинающему программеру

Сообщение deninok »

Хм... Посмотрел я этот ролик. Ну не то чтобы очень хороший, но для новичков сойдет. Правда, об инкапсуляции сказано неточно, ибо упомянута защита методов объекта, но ни слова не сказано о защите членов-данных объекта...
Спасибо сказали:
Аватара пользователя
AMD
Сообщения: 478
Статус: Maestro
ОС: Linux Kubuntu 7.10

Re: Подскажите начинающему программеру

Сообщение AMD »

deninok писал(а):
27.03.2008 10:46
Хм... Посмотрел я этот ролик. Ну не то чтобы очень хороший, но для новичков сойдет. Правда, об инкапсуляции сказано неточно, ибо упомянута защита методов объекта, но ни слова не сказано о защите членов-данных объекта...


По информации из интернета бытуют два понятия про инкапсуляцию

Первую которую я узнал это была что это свойство языка программирования, позволяющее объединить данные и код в объект
Второе это скрыть реализацию объекта от пользователя (можно понимать и как защита методов и свойств объекта - ведь мы скрываем чтобы защитить - еще это называется управление доступом)

Но в принципе это и Первое и Второе понятие.
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Подскажите начинающему программеру

Сообщение deninok »

В том-то и дело! Это и первое, и второе вместе, но никак не раздельно.
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Подскажите начинающему программеру

Сообщение diesel »

AMD писал(а):
28.03.2008 01:30
По информации из интернета бытуют два понятия про инкапсуляцию

да одно и тоже это понятие.

AMD писал(а):
28.03.2008 01:30
свойство языка программирования, позволяющее объединить данные и код в объект

что в том числе позволяет:
AMD писал(а):
28.03.2008 01:30
скрыть реализацию объекта от пользователя

где под "скрыть" можно понимать разное.
Спасибо сказали:
Аватара пользователя
RVladimir
Сообщения: 8
ОС: WinXP/FreeBSD6.3/MDV2007.1PP

Re: Подскажите начинающему программеру

Сообщение RVladimir »

Я бы посоветовал начать с чистого С. А уже после этого изучать С++. Чтобы знать отличия, и уметь отделять одно от другого.
Моё имхо.
JID: rhub@jabber.ru
Спасибо сказали:
deadsuslik
Сообщения: 15
ОС: Slackware Linux

Re: Подскажите начинающему программеру

Сообщение deadsuslik »

ksv писал(а):
13.03.2008 11:16
Хотя может я и сам смогу решить, но я просто не совсем понимаю зачем в наше время нужен С? ведь С++ более гибкий и мощный язык(ну и все остальные фишки ООП).


Мне скорее не совсем понятно, зачем нужен C++. По-моему, в большинстве случаев достаточно: для низкоуровневых задач - C, для высокоуровневых (в т.ч. гуя) - скриптовых языков (я лично предпочитаю Перл). Хотя когда-то мне Плюсы очень нравились, да и сейчас тоже, но я просто не видел кода на них, в котором были бы видны преимущества по сравнению с C (включая языковую поддержку ООП).

ОО подход - вещь хорошая, но кроме него есть еще много чего. Мне кажется, что популяризация ООП сказывается на качестве софта очень пагубно. Как известно, система тем лучше спроектирована, чем она проще. Когда не можешь хорошо спроектировать архитектуру, без ООП вообще не получится написать серьезный проект - запутаешься. А с ООП кое-как получится. Вот и получается, что занимаются вовсю инкапсуляцией, наследованием и полиморфизмом, вместо того чтобы думать, как можно упростить (улучшить) архитектуру системы.
Спасибо сказали:
bum
Сообщения: 138
ОС: Ubuntu 8.04

Re: Подскажите начинающему программеру

Сообщение bum »

По большому счету, C и C++ имхо можно считать двумя разными языками. Оба они требуют индивидуального подхода и понимания. Человек виртуозно владеющий C в большинстве случаев будет писать жутко неоптимальный код для C++. ООП это совсем другая парадигма по сравнению с процедурным программированием и она предполагает иной способ мышления. Имхо вопрос, что лучше изучать в данном случае лишен смысла, все зависит от конкретных задач.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Подскажите начинающему программеру

Сообщение drBatty »

bum писал(а):
05.04.2008 12:59
По большому счету, C и C++ имхо можно считать двумя разными языками.

+1
Считаю, что несмотря на внешнюю похожесть, это совершенно разные языки.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: