Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Переход с языка на язык.


Автор: ChS 27.2.2005, 18:51
Здравствуйте.
Я вот в универе уже почти год учу чистый Си, всякие тама массивы, указатели, работа с функциями - я отшлифовал почти до блеска.
Захотелось большего, начал смотреть в сторону таких языков как
Visual C++, Visual C++.NET
Java
C#

НО! как я выяснил чистый Си это какой-то процедурный язык, а те которые меня интересуют это уже Обьектно ориентированные языки.
Я этого раньше не знал, думал чистый Си это тоже ОО язык. Начал изучение C# ,а он оказался совсем каким-то другим языком!
Что делать? как вообще переходить к ООП. Что-то почитать может посоветуете. Это получается мне заново надо учить программирование?
Один тип мне сказал что почитай мол что нибудь из типа : Философия ООП. -надо нет?
Вообще методы программирования на ООП сильно отличаються от програм-ния на процедурных языках?


Автор: Domestic Cat 27.2.2005, 18:58
Что сказать... Начинай лучше с Java, а то помимо Процедурного Повреждения Мозгов от Ц еще и привыкнешь "компоненты на форму бросать".
Почитай "Thinking in Java" Эккеля

http://www.bruceeckel.by.ru/SimpleContents.html?extract=1109520055

Автор: sergejzr 27.2.2005, 19:15
ChS понимаю твою проблему. У меня тоже ужас был. С си на Си++ (то есть на ООП) я только в конце курса вообще понял, для чего так программируется.

Domestic Cat,
И самое интересное, что помогла мне в этом именно ява, которой параллельно пришлось заниматься по работе. Меня тогда так приколола эта история, я сидел ночи напролёт с Явадоком и программировал smile

Экзамен по Си++ в итоге на отлично сдал smile

Автор: chipset 28.2.2005, 09:33
Цитата(ChS @ 27.2.2005, 07:51)
Вообще методы программирования на ООП сильно отличаються от програм-ния на процедурных языках?

Есть немного smile
Советовал бы тебе переходить на C++.
У тебя ведь никто не заберёт "старый Си" и старую стандартную библиотеку.
Я не хотел бы устраивать здесь войну, но Java относительно медленновата и не настолько кроссплатформенна..
Читай Страуструпа, статьи по теории ООП, и вступай в ряды бравых приплюснутых smile

Автор: Hroft 28.2.2005, 10:01
Ох тяжело с процедурного подхода к ООП переходить... Я по-дубовому, на паскале начал... Там все ясно, понятно и незапутано, но к тому же и несерьезно... Для обучения - самое то.
Цитата(sergej @ 27.2.2005, 19:15)
Экзамен по Си++ в итоге на отлично сдал

smile Если не секрет, где ты его сдавал? Курсы какие-нить, сертификация, или же в ВУЗе?

Автор: np9mi7 28.2.2005, 10:39
Цитата
Читай Страуструпа, статьи по теории ООП, и вступай в ряды бравых приплюснутых

Когда первый раз начал читать Страуструпа ничего не понял..... Она большая и страшная книжка... smile

Лучше начни с чего попроще.... Без обид: "С++ для чайников". Признаться честно это первая книга по с++ прочитанная мной... Отличная вещь!!!

И вот ещё: ничто так не стимулирует как хорошая задача, так что найди задачку которая без ООП решается уж очень тяжко....

Автор: Domestic Cat 28.2.2005, 10:54
Цитата(chipset @ 28.2.2005, 00:33)
Я не хотел бы устраивать здесь войну, но Java относительно медленновата и не настолько кроссплатформенна..


Вот же ж е мое smile Скока раз нужно повторять тесты в которых она бьет Ц? smile Конечно не во всем, но лично мне по большому барабану сколько прорисовывается окно - 9 мс или 1 нс.
А вот "не настолько кроссплатформенна" - это як це? Примерчик мона? Али Ц++ стал кроссплатформенным?

Автор: DENNN 28.2.2005, 13:33
Цитата
Начинай лучше с Java, а то помимо Процедурного Повреждения Мозгов от Ц еще и привыкнешь "компоненты на форму бросать

И это называется аргумент в пользу вылощенной жабы?
smile smile smile

Автор: De Gray 28.2.2005, 14:12
Цитата(chipset @ 28.2.2005, 09:33)

Java относительно медленновата и не настолько кроссплатформенна

Видимо в смсыле, что на самой захудалой и экзотической платформе есть хоть какой-то копилятор для плюсов. Например, для MSP-430 с компилятор есть , Ява -- вроде нет.
Цитата(Domestic @ 28.2.2005, 10:54)

Скока раз нужно повторять тесты в которых она бьет Ц

Насколько я знаю, тестов , где наблюдается обратный эффект все-таки больше smile
По-моему, на плюсы переходить все-таки проще, особенно если учесть, что в ВУЗ'ах на чистом С сечас прогают мало -- я встречал человека, который НЕ пользовался классами, но использовал,
шаблоны, структуры, RTTI, перегрузку функций, и так до бесконечности, который считал, что прогает на чистом С.
Ява -- потрясающе элегантный язык, инкапсуляция в чистом виде, но из этого следует, как не крути, некоторая негибкость. Обращаться с памятью без специальных, скачанных откуда-то классов очень не удобно.
Синтаксис у обоих очень похож, так что выучив 1, другой учится за недели 2.


Автор: Fixin 28.2.2005, 18:33
Цитата
"С++ для чайников"
Это точно! "С++ для чайников" от Майкла Хаймена проста и с хорошим примером (рассчет стоимости пиццы) и приколов дофига.

Автор: Domestic Cat 28.2.2005, 19:04
Цитата
И это называется аргумент в пользу вылощенной жабы?


без комментариев

Цитата
Видимо в смсыле, что на самой захудалой и экзотической платформе есть хоть какой-то копилятор для плюсов. Например, для MSP-430 с компилятор есть , Ява -- вроде нет.


Кроссплатформенность - это нe наличи или отсутствие компиляора. Кроссплатформенность означет что бинарный файл, скомпиленный нa одной системе, можно запускать на любой другой - при наличии виртуальной машины в случае Java. С сипипой такогo нe выйдет.

Цитата
Насколько я знаю, тестов , где наблюдается обратный эффект все-таки больше

http://www.idiom.com/~zilla/Computer/javaCbenchmark.html
http://soft.compulenta.ru/2004/6/17/47645/?ref=left
http://kano.net/javabench/

Автор: ChS 28.2.2005, 19:26
Цитата
По-моему, на плюсы переходить все-таки проще, особенно если учесть, что в ВУЗ'ах на чистом С сечас прогают мало -- я встречал человека, который НЕ пользовался классами, но использовал,
шаблоны, структуры, RTTI, перегрузку функций, и так до бесконечности, который считал, что прогает на чистом С.

Мож я тоже только считаю что прогаю на чистом си?а на самом деле я прогаю на с++!? Я ВАЩЕ ТУПОЙ МАМА ЗА ЧТО!!!!
МЫ щас на лекциях структуры проходим......... .вернее только прошли, скоро лаба будет.
Но классами я ни какими не пользуюсь??????!!!!!!!!!!!!!!!
Я вот ни фига не пойму чё такое классы? я пользуюсь функциями. Лабы у нас еще вот последнии были про то как матрицы (двум. массивы) с помощью указателей надо передавать из функции в функцию - это чисты
Добавлено @ 19:28
й си или как?

Автор: ChS 28.2.2005, 19:38
Мы на лабах всегда пользуемся printf(); scanf(); и т.д. без всяких cout И cin.

Добавлено @ 19:42
Java - мощная штука? поначалу сложно?

Автор: np9mi7 1.3.2005, 08:20
ChS , понимаешь в чем прикол: тут дело не в языке а в целой методологии...

Автор: ChS 1.3.2005, 09:55
Цитата
методологии...

Что это еще такое?

Автор: np9mi7 1.3.2005, 10:50
Методология ООP & OOD... Типа: не чем, а как
Добавлено @ 10:52
Цитата
МЫ щас на лекциях структуры проходим......... .вернее только прошли, скоро лаба будет.
Но классами я ни какими не пользуюсь??????!!!!!!!!!!!!!!!
Я вот ни фига не пойму чё такое классы? я пользуюсь функциями. Лабы у нас еще вот последнии были про то как матрицы (двум. массивы) с помощью указателей надо передавать из функции в функцию - это чисты

Кстати, какой ВУЗ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)