Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 128, средняя оценка - 4.96
C++ Beginner
0 / 0 / 0
Регистрация: 16.09.2011
Сообщений: 5
17.09.2011, 16:01     C++ или C#? Что учить первым? #1
Привет всем!
Не могу выбрать что учить первым. Хотелось бы выучить язык основательно, и что бы он стал основой для изучения других технологий. C++ говорят что трудный для новичков(знаю Pascal, PHP(немного)). C# легче намного, но потом перейти с него на тот же C++ не получится. Так ли это и что вы лично посоветуете.
Плз писать тем кто уже сталкивался с таким вопросом. Не холиварить!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
17.09.2011, 20:16     C++ или C#? Что учить первым? #21
Цитата Сообщение от 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++ не заведётся. Так что библиотеки - нужны. Впрочем, библиотеки-то опираются на стандартные возможности языка (или всё же на ассемблер?) и немного вые**сь можно организовать и такое извращение. Хотя, возможно я не прав. Я ещё не про и не гуру, а только пытаюсь учится. Критика приветствуется, но желательно с пруфой.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
17.09.2011, 20:28     C++ или C#? Что учить первым? #22
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Точно так же, как и "голым" C++ без <iostream> или <чего_то_подобного> C++ не заведётся.
А syscall в unix? :-)

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

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

Цитата Сообщение от AnyOne697 Посмотреть сообщение
Android например - ядро написано на C++, но оболочка, потому она и лагнутая, на Java. И обоснованно это большим кол-вом девайсов с разными железками. Чтобы везде работало.
противоречие, на чём по вашему написана JVM(и её вариации) для этих самых железок?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
17.09.2011, 21:08     C++ или C#? Что учить первым? #24
Цитата Сообщение от AnyOne697 Посмотреть сообщение
библиотеки - нужны
Именно это я и хотел сказать на ваши противоречащие друг другу "...ТОЛЬКО язык..." и "...сетевые возможности..."
ikari81
3 / 3 / 1
Регистрация: 17.05.2011
Сообщений: 219
18.09.2011, 10:56     C++ или C#? Что учить первым? #25
Начинать нужно с С :-)
TheAthlete
 Аватар для TheAthlete
151 / 151 / 12
Регистрация: 31.08.2010
Сообщений: 529
18.09.2011, 11:58     C++ или C#? Что учить первым? #26
Тема конечно холиварная
На мой взгляд нужно выбирать не язык сам по себе в отрыве от контекста, а то, для чего ты сможешь применять тот или иной язык. Тогда будет легче с выбором. Тем более, что после определенного уровня знания языка, начинаются пониматься свои тонкости языка, на котором ты программируешь.

Где можно применять 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) программирование микроконтроллеров
и т.д.

Другими словами, лучше сразу определиться, что из этого наиболее подходит (скорее всего это не полный список)
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
18.09.2011, 12:10     C++ или C#? Что учить первым? #27
Цитата Сообщение от AnyOne697 Посмотреть сообщение
А то что он появился в 1995 году и тогда почти не было нормальных Java-программистов и его назначение было - исправить ошибки?.. Хотя к чему я? Я разве сказал невозможно? Вроде было сказано - сложно! Неудобно! Но стабильно и быстро! Кто-то что-то недопонял...
во-первЫх он написан на си
во-вторЫх он не оказался бы столь популярен, будь он написан на чем-либо вроде c#/java
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
18.09.2011, 13:07     C++ или C#? Что учить первым? #28
Цитата Сообщение от 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++ и наоборот совсем не сложен, а даже проще чем изучение "с нуля".
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
18.09.2011, 13:22     C++ или C#? Что учить первым? #29
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Не факт. Потому что он не написан на С#, так что мы понятия не имеем.
ну как минимум он не был бы на
Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.
кроме того стоит учесть его способность к высоконагруженной работе и оптимизированность

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

Добавлено через 8 минут
Т.А Павловская пойдет?
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
18.09.2011, 14:19     C++ или C#? Что учить первым? #33
Цитата Сообщение от bolon Посмотреть сообщение
ладно русский знаю

Добавлено через 8 минут
Т.А Павловская пойдет?
Лучше Дейтелов. "Как программировать на с++" 5 издание. Полное издание(~1400стр)
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
18.09.2011, 14:25     C++ или C#? Что учить первым? #34
Цитата Сообщение от diagon Посмотреть сообщение
Но с++ небезопасен как для программиста, так и для юзверя - первому легко ошибиться, второй рискует получить вирус.
в обоих случаях "сам дурак"
bolon
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 48
18.09.2011, 14:27     C++ или C#? Что учить первым? #35
Цитата Сообщение от Chelioss Посмотреть сообщение
Лучше Дейтелов. "Как программировать на с++" 5 издание. Полное издание(~1400стр)
спасибо ща найду скачаю и начну читать=)
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
18.09.2011, 14:44     C++ или C#? Что учить первым? #36
Цитата Сообщение от 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'а поддерживает. Есть белые пятна, зато, вроде, есть что-то своё. Так что это не полная замена.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
18.09.2011, 15:39     C++ или C#? Что учить первым? #37
Цитата Сообщение от talis Посмотреть сообщение
Вы когда-нибудь попадали на левые сайты с машины, на которой установлена ява? Не знаю, что оно там делает, но ява запускается при открытии страницы и антивирус (каспер и нод - точно, сам видел) через какое-то время орёт как резаный, что кто-то пытается скрыто установить драйвер, что c:/windows/system32/что-нить.dll или .sys изменён, и необходим откат, и всё в этом роде...
А вы яву со скриптовой явой не путаете? =)
java и javascript - разные языки.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
18.09.2011, 15:41     C++ или C#? Что учить первым? #38
Цитата Сообщение от diagon Посмотреть сообщение
А вы яву со скриптовой явой не путаете? =)
а java applet'ов не существует? и apk андроидовых вирусов тоже?
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
18.09.2011, 15:45     C++ или C#? Что учить первым? #39
Цитата Сообщение от alex_x_x Посмотреть сообщение
а java applet'ов не существует?
Существует, но они не имеют доступа к компьютеру, т.к. в яве нету указателей, а исполняется файл на виртуальной java-машине.
Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.
(c) википедия
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2011, 16:10     C++ или C#? Что учить первым?
Еще ссылки по теме:

C++ Что учить? visual c++ или Borland c++
C++ Подсчитать сумму символов между первым и последним 'z'. Что надо изменить или дополнить?
C++ А что лучше учить С++ или Делфи ?

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

Или воспользуйтесь поиском по форуму:
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
18.09.2011, 16:10     C++ или C#? Что учить первым? #40
Цитата Сообщение от diagon Посмотреть сообщение
Любые операции, которые превышают установленные полномочия программы
Что-то мне подсказывает, что полномочия по-умолчанию напоминают полномочия root в unix (ну или близко к тому)... Потому что стоит мне поставить java и полазить в сети (скажем, на сайтах с книжками - некоторые последнее время очень уж ссу... извините, сосволочились), как в системе начинают вылазить непонятные процессы (вроде f34g827c6a721d0.exe от пользователя SYSTEM), к которым не применима операция завершения и антивирус сходит с ума при сканировании папки системы. Будь у меня старый каспер, тут бы было бы как на свиноферме Без java уже второй месяц работает - и хоть бы хны.
Yandex
Объявления
18.09.2011, 16:10     C++ или C#? Что учить первым?
Ответ Создать тему
Опции темы

Текущее время: 19:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru