Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/165: Рейтинг темы: голосов - 165, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 16.09.2011
Сообщений: 5

C++ или C#? Что учить первым?

17.09.2011, 16:01. Показов 34589. Ответов 73
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!
Не могу выбрать что учить первым. Хотелось бы выучить язык основательно, и что бы он стал основой для изучения других технологий. C++ говорят что трудный для новичков(знаю Pascal, PHP(немного)). C# легче намного, но потом перейти с него на тот же C++ не получится. Так ли это и что вы лично посоветуете.
Плз писать тем кто уже сталкивался с таким вопросом. Не холиварить!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.09.2011, 16:01
Ответы с готовыми решениями:

Что проще учить java или c++?
Что проще учить java или c++?.Сам знаю базу с++.Хотелось бы узнать про язык java.Вот при изучении с++ ты читаешь книги, а потом когда ты...

Что учить? visual c++ или Borland c++
Какой из них учить.Главное чтобы был легче.

Что лучше учить сначала C или C++? Выбор литературы.
Что лучше учить сначала C или C++? Или в перечисленных ниже книгах материал по C уже есть? Также хочу с вами посоветоваться насчет...

73
 Аватар для AnyOne697
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
17.09.2011, 20:16
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от talis Посмотреть сообщение
MFC и WinAPI
Это такое г... которым пользоваться совсем не актуально, не эффективно, да и смысла нет!
Цитата Сообщение от talis Посмотреть сообщение
Про Qt слышали?
И про QtPy, для Phyton'а (вот, кстати, не знаю почему, но почему-то пишу PHyton, а не PytHon...), Qt Джамби (Java) и даже про Qt Ruby.

Цитата Сообщение от talis Посмотреть сообщение
Да ладно! Про apache слышали?
А то что он появился в 1995 году и тогда почти не было нормальных Java-программистов и его назначение было - исправить ошибки?.. Хотя к чему я? Я разве сказал невозможно? Вроде было сказано - сложно! Неудобно! Но стабильно и быстро! Кто-то что-то недопонял...
Цитата Сообщение от talis Посмотреть сообщение
.NET тоже кривой, но дело в руках.
А я разве спорю? Просто сейчас 95% программистов - хэллоувордщики, как я =( И в плане возможности/требования_к_программисту у Java, C#, Python и подобные имеют значительно большее отношения, чем C++. C++ требователен к программисту и поэтому его всё реже используют в качестве основного. Android например - ядро написано на C++, но оболочка, потому она и лагнутая, на Java. И обоснованно это большим кол-вом девайсов с разными железками. Чтобы везде работало. Разве не так?..
Цитата Сообщение от talis Посмотреть сообщение
Про тысячи игрушек, вроде Half-Life (1 и 2), DeusEx, Quake (все) и так далее
Создать простейшее Socket подключение клиент-сервер-клиент и передать так туеву хучу пакетов с данными о перемещениях и прочих действиях - разве это сложно. А вот читать RFC 2616 на english я закончил через 15 минут, так как понял, что это затянется на пару лет, а мне хотелось бы сейчас. Да, и потом - игрушки очень платформозависимые, и, чтобы портировать OrangeBox на XBox, я не представляю сколько строчек кода пришлось разработчикам пришлось переписать...

Добавлено через 6 минут
Цитата Сообщение от silent_1991 Посмотреть сообщение
И да, STL описана в стандарте, поэтому C++ и STL неотделимы друг от друга.
Не то чтобы не отделимы. Просто STL - это вообще другой разговор. Мне не отображения и коллекции нужны, мне коннект с сервером для организации распределённых вычеслений нужен! Имхо, здесь вообще мультиязычный проект будет самым удобным! Хотя - х/з как =(

Цитата Сообщение от silent_1991 Посмотреть сообщение
Ок, с помощью ТОЛЬКО языка (Java, C#, на ваш выбор) сделайте хотя бы вывод на экран.
Точно так же, как и "голым" C++ без <iostream> или <чего_то_подобного> C++ не заведётся. Так что библиотеки - нужны. Впрочем, библиотеки-то опираются на стандартные возможности языка (или всё же на ассемблер?) и немного вые**сь можно организовать и такое извращение. Хотя, возможно я не прав. Я ещё не про и не гуру, а только пытаюсь учится. Критика приветствуется, но желательно с пруфой.
0
 Аватар для talis
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
17.09.2011, 20:28
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Точно так же, как и "голым" C++ без <iostream> или <чего_то_подобного> C++ не заведётся.
А syscall в unix? :-)

Добавлено через 1 минуту
Не хотите делать #include - напишите

C
1
extern long int syscall (long int __sysno, ...) __THROW;
в качестве прототипа
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
17.09.2011, 20:37
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Точно так же, как и "голым" C++ без <iostream> или <чего_то_подобного> C++ не заведётся.
а ява без java.lang заведется?

Цитата Сообщение от AnyOne697 Посмотреть сообщение
Android например - ядро написано на C++, но оболочка, потому она и лагнутая, на Java. И обоснованно это большим кол-вом девайсов с разными железками. Чтобы везде работало.
противоречие, на чём по вашему написана JVM(и её вариации) для этих самых железок?
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.09.2011, 21:08
Цитата Сообщение от AnyOne697 Посмотреть сообщение
библиотеки - нужны
Именно это я и хотел сказать на ваши противоречащие друг другу "...ТОЛЬКО язык..." и "...сетевые возможности..."
0
4 / 4 / 0
Регистрация: 17.05.2011
Сообщений: 262
18.09.2011, 10:56
Начинать нужно с С :-)
0
 Аватар для TheAthlete
174 / 170 / 19
Регистрация: 31.08.2010
Сообщений: 575
18.09.2011, 11:58
Тема конечно холиварная
На мой взгляд нужно выбирать не язык сам по себе в отрыве от контекста, а то, для чего ты сможешь применять тот или иной язык. Тогда будет легче с выбором. Тем более, что после определенного уровня знания языка, начинаются пониматься свои тонкости языка, на котором ты программируешь.

Где можно применять C#:
1) разработка программ под Windows
2) разработка программ под Windows Phone
3) разработка программ под Windows 8 (в ближайшем будущем, под планшеты, ноутбуки, десктопы)
4) корпоративная (enterprise) разработка
5) разработка для проекта Mono (Linux)
6) разработка игр под Windows и Xbox с помощью XNA и Silverlight

Где можно применять C++:
1) кроссплатформенная разработка под Windows, Linux, Mac OS X, Android (NDK)
2) разработка игр (трехмерных, двумерных, шутеров, гонок и т.д.) под PC
3) разработка игр (трехмерных, двумерных, шутеров, гонок и т.д.) под консоли (Playstation, Nintengo Wii)
4) разработка сетевых программ
5) разработка драйверов
6) разработка прикладных программ
7) все высоконагруженные веб-проекты (поисковые системы, баннерные системы) пишутся на С++, для примера посмотрите сколько вакансий С++ у Яндекса. Аналогично у других поисковиков.

Где можно применять С:
1) все современные языки программирования пишутся на С: PHP, Perl, Python, Ruby и т.д
2) программирование микроконтроллеров
и т.д.

Другими словами, лучше сразу определиться, что из этого наиболее подходит (скорее всего это не полный список)
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
18.09.2011, 12:10
Цитата Сообщение от AnyOne697 Посмотреть сообщение
А то что он появился в 1995 году и тогда почти не было нормальных Java-программистов и его назначение было - исправить ошибки?.. Хотя к чему я? Я разве сказал невозможно? Вроде было сказано - сложно! Неудобно! Но стабильно и быстро! Кто-то что-то недопонял...
во-первЫх он написан на си
во-вторЫх он не оказался бы столь популярен, будь он написан на чем-либо вроде c#/java
0
 Аватар для AnyOne697
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
18.09.2011, 13:07
Цитата Сообщение от talis Посмотреть сообщение
А syscall в unix? :-)
Ах да, я же забыл, что здесь обитают unix'оиды!
Цитата Сообщение от alex_x_x Посмотреть сообщение
во-первЫх он написан на си
Цитата Сообщение от alex_x_x Посмотреть сообщение
во-вторЫх он не оказался бы столь популярен, будь он написан на чем-либо вроде c#/java
Не факт. Потому что он не написан на С#, так что мы понятия не имеем. Да и потом, я же сказал, что мои кривые руки не хотят писать на C++.NET, это совсем не значит, что нельзя написать серверное приложение даже на чистом C++.
Цитата Сообщение от TheAthlete Посмотреть сообщение
4) разработка сетевых программ
Слушай, а не поможешь мне разобраться в C++.NET?.. А то что-то вообще никак. А читать 900 страниц что-то немного не... катит...
Цитата Сообщение от TheAthlete Посмотреть сообщение
Где можно применять С:
1) все современные языки программирования пишутся на С: PHP, Perl, Python, Ruby и т.д
Компилятор, не язык. Язык, собственно, это идеология, её нельзя написать на языке программирования. И, кстати, сам Си написан на Си. Рекурсия, чтоб её.

Цитата Сообщение от TheAthlete Посмотреть сообщение
6) разработка игр под Windows и Xbox с помощью XNA и Silverlight
Второй сдох, потому и появился первый. Восторженные отзывы хеллоувордщиков, а также резкое увеличение кол-ва игр в Steam с распространением только через сеть и стоимостью < 10$ - это только подтверждает. Также как и требование GF 8800GT у Magicka с её изометрической псевдо 3d графикой
Цитата Сообщение от TheAthlete Посмотреть сообщение
2) разработка игр (трехмерных, двумерных, шутеров, гонок и т.д.) под PC
3) разработка игр (трехмерных, двумерных, шутеров, гонок и т.д.) под консоли (Playstation, Nintengo Wii)
А не проще написать - "Разработка ЛЮБЫХ игр"?
Цитата Сообщение от TheAthlete Посмотреть сообщение
Тема конечно холиварная
***
Другими словами, лучше сразу определиться, что из этого наиболее подходит (скорее всего это не полный список)
Да, тема превращена в некое подобие холивара. До настоящего ей ещё далеко.
На самом деле это так. Но автору темы:
Хочу заверить, что после изучения ЛЮБОГО языка программирования изучение другого будет намного проще, так как бызовые понятия, которые есть в каждом языке программирования уровня больше или равном "чуть менее чем средний", уже изучены. И можно будет сосредоточится именно на семантике и других особенностях. Тем более это относится к таким языкам, как C++ и C#, C# и Java. То есть C# в принципе можно использовать как переходный. Но, возможно, переходить уже не захочется.
В общем-то, поначалу (хеллоувордить) проще на C++. Но более глубокое изучение, конечно, более простое у C#, чем на C++. Например, в C++ очень многое приходится контролировать самому и на программиста возлагается огромная ответственность. Но переход C# -> C++ и наоборот совсем не сложен, а даже проще чем изучение "с нуля".
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
18.09.2011, 13:22
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Не факт. Потому что он не написан на С#, так что мы понятия не имеем.
ну как минимум он не был бы на
Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.
кроме того стоит учесть его способность к высоконагруженной работе и оптимизированность

Добавлено через 1 минуту
Цитата Сообщение от AnyOne697 Посмотреть сообщение
это совсем не значит, что нельзя написать серверное приложение даже на чистом C++
переносимость у плюсов чуть хуже, но вообщем согласен
0
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 48
18.09.2011, 13:38
А какую вы литературу посоветуете по C++? Если в языках я 0!
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
18.09.2011, 13:38
Хмм... Ответьте мне на один вопрос - что нового несет в себе с#, чего нету ни в с++, ни в яве, и в каких случаях писать на нем предпочтительнее.
На си было сложно писать писать из-за отсутствия ООП, поэтому появился с++, который расширяет возможности си, и позволяет писать программы, используя парадигму ООП.
Но с++ небезопасен как для программиста, так и для юзверя - первому легко ошибиться, второй рискует получить вирус.
Тогда появилась ява, которая запрещает часть небезопасных конструкций плюсов, позволяет писать по настоящему кросс-платформенные приложения, а также безопасна для юзверя - вирус на яве написать невозможно, так как она исполняется на виртуальной машине и не поддерживает указатели.
Затем появился С#. Что нового он несет? Лично я вижу в нем много минусов и только один плюс - самая красивая подсветка синтаксиса на этом форуме.
P.S. эту хронологию я не сам придумал, а прочитал у Шилдта во введении.
Цитата Сообщение от bolon Посмотреть сообщение
Если в языках я 0!
0! = 1
2
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 48
18.09.2011, 13:50
Цитата Сообщение от diagon Посмотреть сообщение
0! = 1
ладно русский знаю

Добавлено через 8 минут
Т.А Павловская пойдет?
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
18.09.2011, 14:19
Цитата Сообщение от bolon Посмотреть сообщение
ладно русский знаю

Добавлено через 8 минут
Т.А Павловская пойдет?
Лучше Дейтелов. "Как программировать на с++" 5 издание. Полное издание(~1400стр)
1
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
18.09.2011, 14:25
Цитата Сообщение от diagon Посмотреть сообщение
Но с++ небезопасен как для программиста, так и для юзверя - первому легко ошибиться, второй рискует получить вирус.
в обоих случаях "сам дурак"
0
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 48
18.09.2011, 14:27
Цитата Сообщение от Chelioss Посмотреть сообщение
Лучше Дейтелов. "Как программировать на с++" 5 издание. Полное издание(~1400стр)
спасибо ща найду скачаю и начну читать=)
0
 Аватар для talis
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
18.09.2011, 14:44
Цитата Сообщение от diagon Посмотреть сообщение
вирус на яве написать невозможно, так как она исполняется на виртуальной машине и не поддерживает указатели.
Вы когда-нибудь попадали на левые сайты с машины, на которой установлена ява? Не знаю, что оно там делает, но ява запускается при открытии страницы и антивирус (каспер и нод - точно, сам видел) через какое-то время орёт как резаный, что кто-то пытается скрыто установить драйвер, что c:/windows/system32/что-нить.dll или .sys изменён, и необходим откат, и всё в этом роде...

Ну а на счёт перехода между языками - с C# на C/C++ будет сложно из-за кучи удобностей шарпа, относящихся к памяти, стандартным библиотекам (которые тупо разные), построения пользовательских интерфейсов средствами среды, event-ориентированность (что, правда, есть и в Qt, и в Builder, и, если память не изменяет, в wxWidgets. Да просто WinAPI с его callback'ом окна). Но, вот, сколько пишу на C++ - не жалуюсь.

К тому же недавно скачал OFP: Drigon Rising, так там в редакторе миссий всё на LUA пишется. Ничего, минут за 15 разобрался. Сижу вот, когда скучно, играюсь :-) Так что главное начать с чего-то. C/C++ предпочтительнее просто потому, что для них есть куча разных библиотек, в том числе и кроссплатформенных, и вы не привязаны даже к библиотеке. Хотите - Qt, хотите - wxWigets + Boost, или вообще gtk + родное API. Или вообще на родном API. Свобода, в общем, для творчества. А Mono, кстати, не все классы .NET'а поддерживает. Есть белые пятна, зато, вроде, есть что-то своё. Так что это не полная замена.
2
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
18.09.2011, 15:39
Цитата Сообщение от talis Посмотреть сообщение
Вы когда-нибудь попадали на левые сайты с машины, на которой установлена ява? Не знаю, что оно там делает, но ява запускается при открытии страницы и антивирус (каспер и нод - точно, сам видел) через какое-то время орёт как резаный, что кто-то пытается скрыто установить драйвер, что c:/windows/system32/что-нить.dll или .sys изменён, и необходим откат, и всё в этом роде...
А вы яву со скриптовой явой не путаете? =)
java и javascript - разные языки.
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
18.09.2011, 15:41
Цитата Сообщение от diagon Посмотреть сообщение
А вы яву со скриптовой явой не путаете? =)
а java applet'ов не существует? и apk андроидовых вирусов тоже?
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
18.09.2011, 15:45
Цитата Сообщение от alex_x_x Посмотреть сообщение
а java applet'ов не существует?
Существует, но они не имеют доступа к компьютеру, т.к. в яве нету указателей, а исполняется файл на виртуальной java-машине.
Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.
(c) википедия
0
 Аватар для talis
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
18.09.2011, 16:10
Цитата Сообщение от diagon Посмотреть сообщение
Любые операции, которые превышают установленные полномочия программы
Что-то мне подсказывает, что полномочия по-умолчанию напоминают полномочия root в unix (ну или близко к тому)... Потому что стоит мне поставить java и полазить в сети (скажем, на сайтах с книжками - некоторые последнее время очень уж ссу... извините, сосволочились), как в системе начинают вылазить непонятные процессы (вроде f34g827c6a721d0.exe от пользователя SYSTEM), к которым не применима операция завершения и антивирус сходит с ума при сканировании папки системы. Будь у меня старый каспер, тут бы было бы как на свиноферме Без java уже второй месяц работает - и хоть бы хны.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.09.2011, 16:10

Что учить первым си или си ++ или c#
Что учить первым си или си ++ или c#

Что следует учить первым
Подскажите какие книги следует прочитать первыми по 1с программированию.

Что учить? Си или C++?
1.5 года программирую на PHP, пол года назад немного выучил java. Вот сейчас хочу попробовать что нибудь новенькое. Для себя я поставил...

Что учить? Delphi или c++
Что из них учить?Хорошо владею vb.net и средне c#

Что лучше учить «С» или «С++»
Всем привет! Извините если не туда написал. Я хочу спросить что лучше учить «С» или «С++». Сначала думал, что это один и тот же язык но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru