PDA

Просмотр полной версии : Что выбрать? С++ ,С#


zifanchuck
29.09.2009, 18:15
Сабж. Понимаю что вопрос нубский, но всеже. Сразу был настроен учить С++ купил книгу щас постигаю основы. Но потом сказали что С# лучше. Вот я и задумался. Просто чтобы не тратиль лишнее время, а сразу учить С# ? Или может С вообще не учить, а чтото другое?

click
29.09.2009, 18:42
блин :)
ответь вопрос: для чего и что ты собираешься программировать? (для win\linux,) первый язык?

а мнение того кто сказал что # лучше ++ не слушай, их сравнивать некорректно.

zifanchuck
29.09.2009, 18:54
Под винду наверное. по крайней мере пока...

Irdis
29.09.2009, 18:59
учи с++...
Если будешь хорошо знать c++, то сможешь c# или java освоить за неделю.

M_script_
29.09.2009, 20:13
учи с++...
Если будешь хорошо знать c++, то сможешь c# или java освоить за неделю.

Я бы поправил немного:
Учи любой язык программирования. Если будешь хорошо знать любой язык программирования (ООП), то сможешь c# или java освоить за неделю.

POS_troi
29.09.2009, 20:18
некорректно сравнивать эти языки

Mozy
29.09.2009, 21:54
C# эквивалентно С++++
Я тоже недавно задавался этим вопросом
Изучал C++ и когда нормально освоился с ООП начал изучать С#

Ra$cal
29.09.2009, 21:55
что именно программировать собрался? гуи, трояны, свистелки\перделки? тада подскажем какой язык лучше использовать. Но ООП выучить - точно не повредит. Оно и шарпе и в плюсах основное плюшко.

click
29.09.2009, 22:01
C# эквивалентно С++++
извините, бред.

что именно программировать собрался? гуи, трояны, свистелки\перделки
присоединясь к вопросу :)

если язык первый, то уж точно не c C# (ИМХО разумеется).

zifanchuck
29.09.2009, 22:16
Первый язык был пхп. вообщим норм вроде освоил. Изучать хочу чтото для того чтобы длелать гуи приложения. ну и чтобы можно всякие регеры парсеры и т.д и т.п. или может чтото другое изучать?

Kaimi
29.09.2009, 22:21
На c# "всякие регеры парсеры и т.д и т.п." проще всего

click
29.09.2009, 22:22
GUI как и реггеры, и пассеры лучше писать на чем-нить скриптовом,на питоне например.
да и регеры можно ведь и на пхп писать:)

мой совет - не дергайся от языка к языку, становись профи:)
а если уж решил писать на чем-то из вышеперечисленного с++/с# - посмотри вики, почитай "хелло ворды" на них, и выбирай.

"Думайте сами, решайте сами...." ;)

Ra$cal
29.09.2009, 23:20
не, с++ нет особого смысла изучать. потом придется учить или Qt, или мучаца с сокетами и самописными либами. Тут лучший выбор - шарп. Скриптовые не сказал бы что очень удобно.

Gray_Wolf
30.09.2009, 00:10
Без пониманию принципов ООП лучше и не начинать учить #...
Это как учится ездить на мотоцикле не умея ездить на велосипеде, можно конечно, но что-то путное из этого врядли выйдет.
Сначала нужно хорошо понимать что есть данные, как они хранятся в памяти и то как *****то использовать объекты вместо структур :) а в этом тебе сможет помочь только с++.

BrainDeaD
30.09.2009, 02:21
учитывая твои требования и знания, лучше учить с#. я в своё время начал с с++, намучился. потом по ходу работы пришлось учить с#. после этого и с++ как по маслу пошёл, но он мне уже не нужен оказался, с# вполне хватило.

помоему, по с# легче понять ООП.

W!z@rD
30.09.2009, 07:08
>>GUI как и реггеры, и пассеры лучше писать на чем-нить скриптовом,на питоне например.

ахахаа)))))))) убило))))))))))))))))))))))))))))

Выучив C# тяжело в C++ разобраться))))
личный опыт))

C# прост в изучении (основы), я его за пару месяцев разобрал, единственное, нужна задача, которую ты должен будешь решить на шарпе.

а вообще вопрос не корректен.
кстати, C++.NET есть, ну это я так... заметка.

Ra$cal
30.09.2009, 11:45
кстати, C++.NET есть
это как J# - для тех, кому сходу не слезть с C++ (джавы в случае J#). Для реального использования имхо мало пригодны. Излишне усложняют кодинг держанием в голове сразу двух технологий.

ss88
30.09.2009, 12:31
Без пониманию принципов ООП лучше и не начинать учить #...
Это как учится ездить на мотоцикле не умея ездить на велосипеде, можно конечно, но что-то путное из этого врядли выйдет.
Сначала нужно хорошо понимать что есть данные, как они хранятся в памяти и то как *****то использовать объекты вместо структур а в этом тебе сможет помочь только с++.
Чтобы понять что есть данные и как они хранятся в памяти не нужно учить такую громадину как С++, можно ограничиться старым-добрым С.

Выражу ИМХО по сабжу.

После РНР вряд ли сразу стоит браться за С++, он мощный, гибкий, НО СЛОЖНЫЙ!
Известная фраза Бьярна Страуструпа гласит: "Одной из распространенных ошибок программирования является выбор С++, как основного языка проекта" )))

Если выбирать между JAVA/C#, то я отдал бы предпочтение JAVA, так как из распространенных языков в ней реализован наиболее чистый ООП. С#, особенно на платформе 3.5 уже стал довольно перегруженным всяческими странными вещами типа ?? - это меня вааще убило, когда узнал :)

Qwazar
30.09.2009, 12:42
Сабж. Понимаю что вопрос нубский, но всеже. Сразу был настроен учить С++ купил книгу щас постигаю основы. Но потом сказали что С# лучше. Вот я и задумался. Просто чтобы не тратиль лишнее время, а сразу учить С# ? Или может С вообще не учить, а чтото другое?

Встречный вопрос: Что лучше, микроскоп или молоток?

З.Ы.
Имхо учи C++, раз начал, потом C# будет выучить легко, наоборот - нет. (Упор на понимание ООП делай)

click
30.09.2009, 13:33
>>>>GUI как и реггеры, и пассеры лучше писать на чем-нить скриптовом,на питоне например.

>>ахахаа)))))))) убило))))))))))))))))))))))))))))
чем же? первый раз слышешь чтобы проекты писались на двух языках одновремменно, и написание морды отдавалась питону или луа?
это обычне реалии,которые в никс системах встречается довольно часто.
парсеры, если парсить нужно конечно не что-то очень здоровое, можно писать на нем же.

п.с. сам не "питонист"
п.п.с. Сорри за небольшой оффтоп.

zifanchuck
30.09.2009, 15:23
Спасибо. все ответили по теме что радует)

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

nerezus
30.09.2009, 15:31
ахахаа)))))))) убило)))))))))))))))))))))))))))) Хватит убиваться бухлом )
Питон в плане удобства написания гуй очень силен. Не хуже, чем C++ - это точно.

А дотнет имхо поудобнее.
C# популярнее и эффективно решать им можно бОльший класс задач. Это доказывает количество .NET вакансий.
C++ же применяется для других вещей(игры, системное ПО, шаровары) и их области слабо пересекаются.

а вот как вы думаете что лучше например
знать более-менее 2 языка (например пхп и с++) или знать очень хорошо какойто один (например пхп). Естественно лучше знать нормально что-то одно. Особенно если 2 языка имеют разные области применения и различные технологии.

Qwazar
30.09.2009, 15:37
Спасибо. все ответили по теме что радует)

п.с сравнивать 2 языка ето реально не очень, а вот как вы думаете что лучше например
знать более-менее 2 языка (например пхп и с++) или знать очень хорошо какойто один (например пхп). В данном случае лучше 2, если бы ты сказал C++ и "сюда подставить название НОРМАЛЬНОГО языка" программирования, можно было бы ещё подумать.

Feonor
30.09.2009, 16:00
Учи С#. Так лучше поймешь ООП. В С++ с ООП такая свалка..

Qwazar
30.09.2009, 16:07
Учи С#. Так лучше поймешь ООП. В С++ с ООП такая свалка.. Тогда уж Java, т.к. C# также превращается в свалку.

Зато в C++ есть элементы ООП, которые не вошли ни в Java ни в C#. Единственное, что использование ООП в С++ не является обязательным, но его поддержка шире чем в C#.

CroCop
01.10.2009, 16:12
Конечно,лезу когда на вопрос уже ответили,но все же)))
Могу сказать одно-здесь как в спорте:если занимался кикбоксингом,то можешь выступать по боксу,только немного надо освоить фишки того спорта.

Так что,учи то,что тебе легче дается,а потом перекинешься на что-нибудь посерьезней.

Dark_Scorpicore
10.10.2009, 07:50
Сам озадачился недавно таким же вопросом, как и ТС.
Общался с друзьями, они говорили, что лучше C#, а С++ - трэш. Я же до этого изучал лишь веб-программирование (PHP, Javascript)...
В нашем городе не было курсов С#, но был C++. Не очень хорошо понимая разницу между языками(сколько людей, столько и мнений) пошел на C++...
Пока ни о чем не жалею, все дается довольно просто :)
Правильно препод сказал: "Программирование - оно и в Африке программирование. Нужно лишь понять его принципы. А выучить синтаксис - дело нетрудное и быстрое." :)

Если подытожить, то неважно, что учить. Если есть в жизни цели и желание узнавать новое, то любое знание пригодится...

Jes
10.10.2009, 13:24
стоит учить оба языка ;)

Keltos
10.10.2009, 14:11
Учи C# проще так, а потом С++

Andres
10.10.2009, 14:56
Выучи что нибудь из сильныхь языков...
Остальные быстро покоришь..даже очень..

KaMiKadZe
10.10.2009, 15:03
Выучи что нибудь из сильныхь языков...
Остальные быстро покоришь..даже очень..
Что такое сильные языки? Как измеряется их сила? И какие языки считаются сильными?

razb
10.10.2009, 16:37
Учи C# проще так, а потом С++
Вот не соглашусь, надо учить с точностью наоборот, ибо после всей простоты сишарпа в с++ будут встречаться грабли на каждом шагу с указателями, неправильным выделением/освобождением памяти, и т.д.

Andres
10.10.2009, 16:49
Что такое сильные языки? Как измеряется их сила? И какие языки считаются сильными?
Сравни Бэйсик и тот же Паскаль.
Сила это в образном смысле.

Jes
11.10.2009, 00:52
вот Асм сильный язык например :)

по ходу размышлений дискуссия имхо уже сводится к выбору между .Net и WinApi ( хотя и не взаимоисключающему )

nerezus
14.10.2009, 11:26
Сравни Бэйсик и тот же Паскаль. Бейсик популярен и жив. Паскаль доживает в умирающем делфи(вы последние версии видели то RadStudio? на коленке делают...)

вот Асм сильный язык например примитивнейший(хотя зависит от реализации). весь основной синтаксис учится за полчаса.

Jes
14.10.2009, 11:42
nerezus , какова же по вашему мнению тенденция в средствах разработки?

и уж не думаете ли вы что всё сведется к одному универсальному языку который будет способен одинаково эффективно решать весь круг поставленных задач?
(надеюсь вы поняли мою мысль)

login999
14.10.2009, 11:49
nerezus , какова же по вашему мнению тенденция в средствах разработки?

и уж не думаете ли вы что всё сведется к одному универсальному языку который будет способен одинаково эффективно решать весь круг поставленных задач?
(надеюсь вы поняли мою мысль)
Он к Python`y клонит :)

Dark_Scorpicore
14.10.2009, 11:55
Вот асм сильный язык например
весь основной синтаксис учится за полчаса.
Ну здесь уж кому как. Не все тут гуру XD
Например для себя я пока не вижу смысла изучать асм без знания языков программирования высокого уровня. Для тс аналогично. Ибо если возникают такие вопросы как "Какой язык выбрать?", то опыта в программировании либо мало, либо его вовсе нет

З.ы. ИМХО дискуссия уже давно отошла от своей основной темы :)

nerezus
14.10.2009, 16:06
и уж не думаете ли вы что всё сведется к одному универсальному языку который будет способен одинаково эффективно решать весь круг поставленных задач? Нельзя. Но я ничего прокоменченного выше и не говорил.

Он к Python`y клонит Нет, т.к. не обойтись без статически-типизированного ЯП.
Связка же из 2х ЯП вполне сможет заменить все.
Например Java(с возможностью работы в нативе, чего сейчас нет) + Python полностью покроют все области.
А сейчас все популярные области покрыть могут C++ + Java + Python(чисто пример).
Т.е. покрыты ими системное, сетевое, ентерпрайз. веб, графика, игры, мобильное ПО и т.д.

.Slip
14.10.2009, 17:16
Выбирать какой изучать ЯП надо исходя из необходимостей реализации чего либо. А не доводом "мне пацаны сказали что с++ говно".

xxxxxxxxxxxxxxx
14.10.2009, 17:41
лучше учить как в универах =)
1) Си(вместо убивания времени на pascal и для понимания работы памяти)
2) Си++(для обучения ООП но без сборки мусора)
3) Java (для закрепления ООП)
4) python(для всего)
5) asm (для понимания работы проца)

nerezus
14.10.2009, 21:06
лучше учить как в универах =)
1) Си(вместо убивания времени на pascal и для понимания работы памяти)
2) Си++(для обучения ООП но без сборки мусора)
3) Java (для закрепления ООП)
4) python(для всего)
5) asm (для понимания работы проца) Только я бы полностью исключил пункт 1, ибо он нафиг тут не нужен, даже вреден. т.к. вредит пункту 2.
C++ проще учить с нуля, чем после C.

desTiny
14.10.2009, 21:54
Только я бы полностью исключил пункт 1, ибо он нафиг тут не нужен, даже вреден. т.к. вредит пункту 2.
C++ проще учить с нуля, чем после C.
узнаю твои слова :))) а я про пункт 3 промолчу :rolleyes:


.Slip, а у тебя на районе на чём кодят?

login999
14.10.2009, 22:10
узнаю твои слова :))) а я про пункт 3 промолчу :rolleyes:


.Slip, а у тебя на районе на чём кодят?
Риальнэ п0тсаны кодют на бейсеке
/me не риальнэ п0тсан :( ме плачед...
А по сабжу, мб закончите обсуждение ? Это все равно холивар очередной ИМХО.

BlincAttack
14.10.2009, 22:14
учу C# мне нравится.После него буду учить С++,С,PHP,asm.

Romik001
14.10.2009, 23:10
учу php. долгое время хотел начать учить делфи. нашел старенький диск. там при установке делфи ошибка. попробывал установить C++ builder 6 установилось норм) как хорошо что когда то покупал диск на рынке ) терь учить буду C ++ )

Andres
14.10.2009, 23:58
учу C# мне нравится.После него буду учить С++,С,PHP,asm.
Ты сначала С# выучи)

лучше учить как в универах =)
1) Си(вместо убивания времени на pascal и для понимания работы памяти)
2) Си++(для обучения ООП но без сборки мусора)
3) Java (для закрепления ООП)
4) python(для всего)
5) asm (для понимания работы проца)
Первый пункт вообще бред..вообще..

nerezus
15.10.2009, 12:02
Я обновил тему "с чего начинать", читаем )

Qwazar
15.10.2009, 12:16
лучше учить как в универах =)
1) Си(вместо убивания времени на pascal и для понимания работы памяти)
2) Си++(для обучения ООП но без сборки мусора)
3) Java (для закрепления ООП)
4) python(для всего)
5) asm (для понимания работы проца) Первый пункт - нафиг, имхо С надо учить только по необходимости, да и то под платформу, т.е. там Objective C под iPhone, или обычный С под какой нибудь микроконтроллер.

Пункт 2, даст тебе выучить и работу с памятью и ООП (причём шире чем C# или Java).

В пункт 3 - Java или C#, т.к. тут и неугадаешь за какой технологией рынок будет.

xxxxxxxxxxxxxxx
22.10.2009, 18:33
а теперь все вместе вспоминаем на чем написаны утилиты и само ядро Linux и пересматриваем свое мнение насчет пункт 1=) как то попросили сделать 100 програмок по системному программированию в Linux, лично я получал удовольствие, не знаю чем он кому то вредит;)

Qwazar
22.10.2009, 18:56
а теперь все вместе вспоминаем на чем написаны утилиты и само ядро Linux и пересматриваем свое мнение насчет пункт 1=) Ну и WinAPI на том же самом, и что? Этот язык несовременен.

Ra$cal
22.10.2009, 19:06
а теперь все вместе вспоминаем на чем написаны утилиты и само ядро Linux и пересматриваем свое мнение насчет пункт 1=)
А в куче американских банков софт до сих работает, написанный на коболе. Но это врядли повод для его серьезного изучения =)

А вообще си не в системном программинге не нужен никак. Если человек не планирует быть частью армады ядрокодеров - нет смысла тратить время.

H1Z
22.10.2009, 19:13
Хм. все говорят про С++ как про страшное, большое чудище и чтобы постичь его нужно учить/кодить лет 5 =/. Если вы про Visual C++/Borland Builder C++, то конечно страшнее ничего нет. Используйте Qt4 и забудьте о проблемах. В этой библиотеке есть и гуи, сеть, графика, xml, webkit, sql,etc ...
Тем более это кросс-платформенно в отличие от C#(Mono это не .NET, и лишь малая часть приложений запускается). Qt4 портированна на кучу ОС(начиная от Symbian(S60) и WinMobile и заканчивая nix, win).

nerezus
22.10.2009, 22:21
Хм. все говорят про С++ как про страшное, большое чудище и чтобы постичь его нужно учить/кодить лет 5 =/ И это является правдой. НА уровне "на отъебись" хватит и недели, но... ;)

Funk
23.10.2009, 17:35
плюс миллион вот этому высказыванию с хабра -

Что касается дотнета, то не каждый юзер согласится для 100 Кб ехешника тянуть 300 метров Нетфреймворка, лучше уж 2 мегабайта ехе и никаких проблем.

FoV
25.10.2009, 14:27
Что касается дотнета, то не каждый юзер согласится для 100 Кб ехешника тянуть 300 метров Нетфреймворка.
Он по дефолту стоит на виндах.