Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > Так востребован ли сейчас C++


Автор: S.A.G. 18.10.2007, 12:13
сабж..

Кто-то может сказать, какой софт сейчас пишется на плюсах?

Автор: Daevaorn 18.10.2007, 12:40
По сути любой. Из-за универсальности самого языка его применяют практически везде, в любой сфере. Другой вопрос о целесообразности и эфективности, но это каждый решает сам.

Автор: SergeCpp 18.10.2007, 12:55
http://www.research.att.com/~bs/applications.html

Цитата(Bjarne Stroustrup)
Here is a list of systems, applications, and libraries that are completely or mostly written in C++. Naturally, this is not intended to be a complete list. In fact, I couldn't list a 1000th of all major C++ programs if I tried, and this list holds maybe 1000th of the ones I have heard of. It is a list of systems, applications, and libraries that a reader might have some familiarity with, that might give a novice an idea what is being done with C++, or that I simply thought "cool".


Автор: Ch0bits 18.10.2007, 14:59
Аминь!

Автор: S.A.G. 18.10.2007, 15:03
SergeCpp, меня интересует настоящий момент..

Добавлено @ 15:04
Цитата(Daevaorn @  18.10.2007,  12:40 Найти цитируемый пост)
Другой вопрос о целесообразности и эфективности

В каких случаях предпочтение отдается C++?

Автор: Ch0bits 18.10.2007, 15:07
Цитата(S.A.G. @  18.10.2007,  16:03 Найти цитируемый пост)
В каких случаях предпочтение отдается C++?

В тех где скорость критична + низкоуровневое программирование ОСи, дравишки и т.п.

Автор: Daevaorn 18.10.2007, 15:09
Цитата(S.A.G. @  18.10.2007,  16:03 Найти цитируемый пост)
В каких случаях предпочтение отдается C++?

когда необходима максимальная производительность. ну и когда нет другого средства.

Автор: S.A.G. 18.10.2007, 15:10
Цитата(Ch0bits @  18.10.2007,  15:07 Найти цитируемый пост)
В тех где скорость критична

Разве это сейчас актуально? Производительность современных машин очень высока..

Автор: Ch0bits 18.10.2007, 15:12
Цитата(S.A.G. @  18.10.2007,  16:10 Найти цитируемый пост)
Разве это сейчас актуально? Производительность современных машин очень высока

Есть ооочень много задач в который скорости никогда не хватает.

Автор: Daevaorn 18.10.2007, 15:16
Цитата(S.A.G. @  18.10.2007,  16:10 Найти цитируемый пост)
Разве это сейчас актуально? Производительность современных машин очень высока.. 

у моего микроконтролера 100MHz процессор...

Автор: S.A.G. 18.10.2007, 15:20
Почему программисту на C++ приходиться искать работу среди кучи предложений для Java и C#?

С чем это связано?

Значит там C++ не игрок? Есть те сферы которые прочно закреплены за ним?

Добавлено @ 15:22
Цитата(Daevaorn @  18.10.2007,  15:16 Найти цитируемый пост)
у моего микроконтролера 100MHz процессор...

С микроконтроллерами понятно. Однако, в C++ есть средства для написания серьезных проектов. (ООП)

Добавлено @ 15:25
Меня прежде всего волнует вопрос - есть ли будущее у C++? И как следствие, стоит ли им заниматься серьезно?

Язык мне нравиться. smile

Автор: Daevaorn 18.10.2007, 15:29
Цитата(S.A.G. @  18.10.2007,  16:20 Найти цитируемый пост)
Однако, в C++ есть средства для написания серьезных проектов. (ООП) 

ты не обижай мой микроконтроллерsmile
Цитата(S.A.G. @  18.10.2007,  16:20 Найти цитируемый пост)
Почему программисту на C++ приходиться искать работу среди кучи предложений для Java и C#?

а почему программистам на Java приходится искать работу среди кучи прдложений для C++ и С#?
Цитата(S.A.G. @  18.10.2007,  16:20 Найти цитируемый пост)
Значит там C++ не игрок? Есть те сферы которые прочно закреплены за ним?

закрепленных нет. везде есть место С++.

Автор: S.A.G. 18.10.2007, 15:40
Цитата(Daevaorn @  18.10.2007,  15:29 Найти цитируемый пост)
ты не обижай мой микроконтроллерsmile

Это у тебя проц на 100MHz? smile))

Цитата(Daevaorn @  18.10.2007,  15:29 Найти цитируемый пост)
а почему программистам на Java приходится искать работу среди кучи прдложений для C++ и С#?

Для Java и C# примерно одинаковое количество предложений. Для C++ меньше в разы.

Иначе бы я не создавал эту тему.

Автор: Sartorius 18.10.2007, 15:55
 ИМХО C++ последний язык о востребованности которого следует беспокоиться. Все игры пишутся на плюсах (как бы MS не пытались продвигать MDX + C#), OS, встроенное ПО. Для UNIX - подобных систем C++ - стандарт де-факто. 

Цитата

Для Java и C# примерно одинаковое количество предложений. Для C++ меньше в разы.


 откуда такие данные? 

Автор: S.A.G. 18.10.2007, 16:04
Цитата(Sartorius @  18.10.2007,  15:55 Найти цитируемый пост)
откуда такие данные?

rabota.ua, запрос по Киеву и по Украине в целом. Все что связано с Java там вообще выделено в отдельную рубрику.

Автор: Sartorius 18.10.2007, 16:08
Цитата

rabota.ua, запрос по Киеву и по Украине в целом


 Ээээ... нда думаю на Украине дела именно так и должны обстоять, ибо аутсорсятся малые бизнес -приложения в основном.  Я думал глобальная ситуация обсуждается... 

Автор: S.A.G. 18.10.2007, 16:13
В России C++ востребован больше?

Добавлено через 56 секунд
Цитата(Sartorius @  18.10.2007,  16:08 Найти цитируемый пост)
думаю на Украине дела именно так и должны обстоять

Можешь разъяснить, почему ты так считаешь?

Автор: Sartorius 18.10.2007, 16:17
 ИМХО да. 
ЗЫ как то забредал на Украинские и Белорусские сайты с объявлениями о работе. Действительно C# и Java в основном. В России соотношение предложений по С# Java и C++ примерно одинаково.
Посмотри сам предложения по России. Хотяб на job.ru 

Автор: S.A.G. 18.10.2007, 16:19
ДА, но почему?

Я в этой кухне неразбираюсь. :(

Автор: MAKCim 18.10.2007, 16:58
тут говорили, что С++ используется для написания ОС и драйверов
в основном используется как раз С, а не С++

Автор: Hidrag 19.10.2007, 11:59
Job.ru, параметры:
поиск за 10 дней, з.п. от 1500, возраст 22, Москва

кличевое слово, количество вакансий
С++ 133 вакансии
C#    101 вакансия
Java - 259 вакансий

Java (исключаем из поиска JavaScript) - 132

...делаем выводы...

Автор: esperant0 19.10.2007, 12:09
Цитата(MAKCim @ 18.10.2007,  16:58)
 
в основном используется как раз С, а не С++

НЕТ

Автор: Daevaorn 19.10.2007, 16:05
Цитата(esperant0 @  19.10.2007,  13:09 Найти цитируемый пост)
НЕТ 

а что же?

Автор: MAKCim 19.10.2007, 17:03
Цитата(esperant0 @  19.10.2007,  12:09 Найти цитируемый пост)
НЕТ 

ты хочешь сказать, что эти вещи в основном пишутся на С++?  smile 
не согласен
могу привести кучу примеров и логическое обоснование отсутствия необходимости использовать С++

Автор: esperant0 19.10.2007, 17:11
Цитата(MAKCim @ 19.10.2007,  17:03)
Цитата(esperant0 @  19.10.2007,  12:09 Найти цитируемый пост)
НЕТ 

ты хочешь сказать, что эти вещи в основном пишутся на С++?  smile 
не согласен
могу привести кучу примеров и логическое обоснование отсутствия необходимости использовать С++

Я хочу сказать, что я работаю в Майкрософт (это фраза очерчивает мой круг занятий в поле информатики и контекста темы)и я с вами не согласен обосновать не могу, дабы ничего не разглашать. А термин в основном не определен. А ваш личный опыт всего лишь ваш личный опыт. Так же как и мой личный опыт работе в университете на факультете информатики и в Майкрософте это мой личный опыт.

Автор: Alexeis 19.10.2007, 17:13
  ИМХО для нормальной реализации ООП нужно много всяких дополнительных средств. Те же операторы new/delete весьма непростая штука, ведь драйверы часто работают нулевом кольце, где используется прямой вывод в память. 

Автор: Daevaorn 19.10.2007, 17:16
Цитата(esperant0 @  19.10.2007,  18:11 Найти цитируемый пост)
Я хочу сказать, что я работаю в Майкрософт и я с вами не согласен. А термин в основном не определен. А ваш личный опыт всего ЛИШЬ ваш личный опыт. Так же как и мой личный опыт работе в университете на факультете информатики и в Майкрософте это мой личный опыт. 

Тогда о чем речь вообще, если опыт одного не имеет значения для другого?smile
И как-то не очень понятен довод: "я работаю в Майкрософт" - и что? ОС/Драйвера и Майкрософт пересекаются всего в одной точке, которая может нас и не интересуетsmile

Автор: AntonSaburov 19.10.2007, 17:19
С и С++ занимают немного разные ниши по видам проектов.

С используется на Юникс-системах. Причем за счет того, что ОГРОМНОЕ количество софта написано на С, то часто и получаем тоже С-программы.

На С++ пишется тоже немало. Причем именно под Винды.

А если по существу вопроса - на С будут писать еще много лет. И много чего писать. Все мобильные устройства, контроллеры, системы сетевых взаимодействий - немеряно всего.

Автор: S.A.G. 19.10.2007, 18:28
Попробую переформулировать вопрос.

Когда предпочтение отдается не C++, а другим языкам? Почему Java, а не C++, почему C#?

Автор: MAKCim 19.10.2007, 19:27
Цитата(esperant0 @  19.10.2007,  17:11 Найти цитируемый пост)
А термин в основном не определен

определен, притом очень четко  smile 
в основном = по большей части = в большинстве случаев = ...
Цитата(esperant0 @  19.10.2007,  17:11 Найти цитируемый пост)
А ваш личный опыт всего лишь ваш личный опыт. Так же как и мой личный опыт работе в университете на факультете информатики и в Майкрософте это мой личный опыт.

тогда добавляйте имхо к своим словам, чтобы не было непоняток
либо аргументируйте свою позицию

Автор: esperant0 19.10.2007, 19:57
Цитата(MAKCim @ 19.10.2007,  19:27)
 
определен, притом очень четко  smile 
в основном = по большей части = в большинстве случаев = ...
 

Четко? ЭТо вы математику говорите?

Большинство бывает относительное и абсолютное. Продолжить?

Автор: MAKCim 19.10.2007, 20:02
esperant0, 
продолжайте
по поводу большинства...
имеется в виду абсолютное

Добавлено через 3 минуты и 30 секунд
esperant0, 
вы бы вместо того, чтобы разводить демогогию, ответили бы по существу и по теме

Автор: MAKCim 19.10.2007, 20:17
я не вижу никаких причин использовать С++ в низкоуровневом программировании
в первую очередь потому, что С++ слишком тяжеловесен для написания приложений системного характера
(а если все тяжеловесные фичи убрать, по сути как раз и останется С)
к тяжеловесным моментам я отношу:
1. исключения
2. полиморфизм
3. шаблоны
структуры С вполне заменяют классы С++, агрегирование реализуется легко и непринужденно на этих же структурах
примеров применения наследования в драйверах и прочих низкоуровневых приложениях не встречал (если вы встречали, поделитесь)
как вариант, использование С++ как типобезопастного С
возможно, но зачастую в низкоуровневых программах типобезопастность только мешает 

Автор: WERITAS 22.10.2007, 20:30
Цитата(MAKCim @  19.10.2007,  20:17 Найти цитируемый пост)
я не вижу никаких причин использовать С++ в низкоуровневом программировании

А кто-то другой наоборот видит эти причины. Мне кажется, это дело разработчика - использовать в низкоуровневом программировании С или С++.
К несчатью (или к счатью) Я не владею техникой процедурного программирования, поэтому никогда и низачто не буду писать на чистом С. Если бы Я драйвер писал, Я бы на С++ его делал (Хотя не исключенно, что в этом случае размер будет побольше, а скорость поменьше, но это опять-таки смотря как написать). Те же исключения в драйверах - очень полезная вещь, там как раз больше всего исключений приходится обрабатывать. 

Автор: MAKCim 22.10.2007, 21:17
WERITAS, 
назовите хоть одну действительно объективную причину использования С++ в низкоуровневом программировании
Цитата(WERITAS @  22.10.2007,  20:30 Найти цитируемый пост)
Я не владею техникой процедурного программирования, поэтому никогда и низачто не буду писать на чистом С. Если бы Я драйвер писал, Я бы на С++ его делал

1. ООП - это по сути синтаксический сахар, синтаксическая надстройка над функциями (=методы) и структурами (=классы)
непонятно, как можно использовать ООП и не владеть "техникой процедурного программирования"  smile 
2. Вы когда-нибудь занимались разработкой драйверов и прочих схожих вещей?

Автор: Daevaorn 22.10.2007, 22:15
Цитата(MAKCim @  22.10.2007,  22:17 Найти цитируемый пост)

назовите хоть одну действительно объективную причину использования С++ в низкоуровневом программировании

как мне кажется не очень правильный вопрос. причиной может быть всё то, что ты отнес к "тежеловесным моментом". это дело вкуса и доступных инструментов.

Автор: esperant0 22.10.2007, 22:28
Цитата(MAKCim @ 22.10.2007,  21:17)
WERITAS, 
назовите хоть одну действительно объективную причину использования С++ в низкоуровневом программировании
 

Тут есть совокупность множества причин - проссумировав которые скажу, мне УДОБНО.


Автор: MAKCim 22.10.2007, 23:34
вот еще, по поводу исключений
не знаю как в VC++ и прочих виндовых компиляторах, но в GCC для реализации исключений
используются функции из libstdc++ (которая, кстати, весит довольно прилично)
если учесть, что драйвера в принципе не могут использовать подгружаемые библиотеки, то единственным вариантом использования исключений остается статическая компоновка libstdc++ вместе с драйвером
а это очень нехило увеличивает его размер  smile 
esperant0, 
"мне удобно" - это не объективная причина
объективные причины не использовать мною были названы  smile 
Цитата(Daevaorn @  22.10.2007,  22:15 Найти цитируемый пост)
причиной может быть всё то, что ты отнес к "тежеловесным моментом". это дело вкуса и доступных инструментов. 

инструменты...может быть, но мне лично трудно себе представить, что С++ компиялтор есть, а С - нет
вкусы...
усложнение кода и снижение производительности в таких вещах ради вкусов?  smile 
я могу понять выбор между Java, C#, С++ (или еще чем либо) в плане предпочтения по принципу нравится/не нравится в прикладном программировании, но в системном...

Автор: Daevaorn 22.10.2007, 23:44
Цитата(MAKCim @  23.10.2007,  00:34 Найти цитируемый пост)
инструменты...может быть, но мне лично трудно себе представить, что С++ компиялтор есть, а С - нет

есть и тот и другой на выбор
Цитата(MAKCim @  23.10.2007,  00:34 Найти цитируемый пост)
усложнение кода и снижение производительности в таких вещах ради вкусов? 

для кого-то pattern based development гораздо проще чем процедурщина. хотя конечно гики и там смогут наворотить. да и потом,  кто сказал, что в низкоуровневом-системном программировании нужна максимальная производительно? это лишь одно из многих возможных качеств продукта.

Автор: S.A.G. 23.10.2007, 00:04
Предлагаю разделить тему на то, что я предложил к обсуждению и "C vs C++ в низкоуровневом программировании".

Первое меня интересует, второе - нет.

Автор: MAKCim 23.10.2007, 09:42
Цитата(Daevaorn @  22.10.2007,  23:44 Найти цитируемый пост)
есть и тот и другой на выбор

тогда к чему было сказано о доступности инструментов?
я так понял, что С-компилятора может не быть, поэтому придется писать на С++
или я не так понял?
Цитата(Daevaorn @  22.10.2007,  23:44 Найти цитируемый пост)
да и потом,  кто сказал, что в низкоуровневом-системном программировании нужна максимальная производительно?

это по определению  smile 
системное ПО предоставляет сервисы для работы прикладного ПО или само является сервисом (виндовые сервисы я не имею в виду  smile ), а значит не может себе позволить расточительно расходовать системные ресурсы
исключением является, пожалуй, сетевое программирование (не имеется в виду создание стека протоколов), где потери производительности можно отчасти нивелировать пропускной способностью канала

Добавлено через 50 секунд
Цитата(S.A.G. @  23.10.2007,  00:04 Найти цитируемый пост)
Предлагаю разделить тему на то, что я предложил к обсуждению и "C vs C++ в низкоуровневом программировании".

 smile 

Автор: LSD 23.10.2007, 17:27
Цитата(MAKCim @  23.10.2007,  00:34 Найти цитируемый пост)
"мне удобно" - это не объективная причина
объективные причины не использовать мною были названы

Я что то не увидел ни одной объективной причины, для использования Си. Ассемблер в данной ситуации намного лучше, а на трудоемкость мы положим болт smile

Автор: S.A.G. 23.10.2007, 17:29
Забрел на один сайтик (спасибо Vingrad-у). В одном из разделов там предлагаются к ознакомлению рейтинги зарплат по различным критериям. Вот на какие направления там разделяют индустрию разработки программного обеспечения (данные по зарплатам брались за 2007 год):
  • Аутсорсинг
  • Разработка ПО (аутсорсинг)
  • Разработка ПО
  • Веб-разработка
  • ИТ
  • Телекоммуникации
  • Банковская сфера
  • Финансы
  • Торговля
  • Embedded
  • Промышленность
  • Продажи
  • Разработка игр
  • Транспорт
  • Дистрибуция
http://www.developers.org.ua/salary-db/data/salary-by-year/2007

Жду ваших мыслей по теме. smile

LSD, я просил.. smile

Автор: MAKCim 23.10.2007, 21:14
Цитата(LSD @  23.10.2007,  17:27 Найти цитируемый пост)
Я что то не увидел ни одной объективной причины, для использования Си. Ассемблер в данной ситуации намного лучше, а на трудоемкость мы положим болт

нет, не лучше
1. Ассемблер не переносим
2. Ассемблер себя не оправдывает в большом проекте: трудность отладки, повышенная вероятность наличия скрытых ошибок, трудоемкость процесса разработки
ассемблер используется там, где напрямую на С написать не получится либо нужна очень сильная оптимизация
но таких участков кода обычно мало (либо нет совсем)
по поводу объективности
использование преимуществ С++ ведет к раздутости кода и снижениюю производительности, что для приложений системного характера недопустимо (в большинстве случаев)
это не объективные причины?  smile 
если преимущества С++ не использовать, чем он в итоге будет отличаться от С?  smile 

Автор: LSD 24.10.2007, 14:20
Цитата(MAKCim @  23.10.2007,  22:14 Найти цитируемый пост)
Ассемблер не переносим

Для истинной кросплатформености надо писать драйвера на Java smile 
Мне вот интерестно какой процент общего кода у драйверов видеокарт для маков (те которые на базе PowerPC) и для Windows (я про сам драйвер, а не всякие там утилиты настройки)? А в пределах одной процессорной архитектуры, асм вполне переносим.

Цитата(MAKCim @  23.10.2007,  22:14 Найти цитируемый пост)
Ассемблер себя не оправдывает в большом проекте: трудность отладки, повышенная вероятность наличия скрытых ошибок, трудоемкость процесса разработки

А про то, что людям может быть удобней писать на С++ и использовать ООП, чтобы как разу уменьшить трудоемкость и количество ошибок, ты как-то сразу забыл smile

Добавлено через 29 секунд
Цитата(S.A.G. @  23.10.2007,  18:29 Найти цитируемый пост)
LSD, я просил..

Модератор придет и разделит тему smile

Автор: MAKCim 24.10.2007, 15:08
LSD, 
я скажу так: из двух крайностей выбираем середину, а это как раз С
он более легковесный, чем С++, но в то же время максимально приближен (если можно так выразиться) к ассемблеру  smile 
Цитата(LSD @  24.10.2007,  14:20 Найти цитируемый пост)
А про то, что людям может быть удобней писать на С++ и использовать ООП, чтобы как разу уменьшить трудоемкость и количество ошибок, ты как-то сразу забыл

и я про это же
берем С и в разы облегчаем себе жизнь
зачем С++? ООП?
ООП обычно применяется там, где:
1. требуется быстрота разработки
2. расширяемость системы
3. возможность использования готовых компонентов
теперь смотрим на разработку драйверов
к чему быстрота? драйвер - это не тот продукт, где скорость разработки - главный фактор
к чему расширяемость? драйвер выполняет строго определенные действия, которые определяются спецификацией конкретного устройства
что тут расширять?
насчет готовых компонентов...по поводу библиотек и прочих подгружаемых вещей я уже говорил выше 
Цитата(LSD @  24.10.2007,  14:20 Найти цитируемый пост)
Мне вот интерестно какой процент общего кода у драйверов видеокарт для маков (те которые на базе PowerPC) и для Windows (я про сам драйвер, а не всякие там утилиты настройки)?

гы
про проценты не знаю, но вот наглядный пример
берем любой драйвер (модуль ядра) Linux
он будут работать везде, где есть Linux и соответствующее устройство
причем код вообще изменять не придется
если писать на ассемблере, в итоге придется писать N модулей для N архитектур  smile 

Автор: S.A.G. 24.10.2007, 15:28
Среди собравшихся тут профессионалов низкоуровневого программирования кто-то может дать толковый ответ по теме?

Цитата(Правила форума)
9. Запрещаются дискуссии, не имеющие отношения к теме сообщения. Такие ответы будут квалифицированы как «оффтопик» и удалены администрацией форума.

Автор: MAKCim 24.10.2007, 15:31
Цитата(S.A.G. @  24.10.2007,  15:28 Найти цитируемый пост)
Среди собравшихся тут профессионалов низкоуровневого программирования кто-то может дать толковый ответ по теме?

С++ востребован
в некоторых областях ему замены пока нет (и, думаю, в ближайшем будущем не будет), в некоторых, возможно, его в скором времени потеснят те же Java, C#

Автор: archimed7592 24.10.2007, 15:35
MAKCim, С++ в отличии от С тоже ограждает от кучи ошибок(как и С в отличии от асма).

S.A.G., обсуждение действий администрации тоже нарушение(не хотят разделять - значит так нужно) smile.

Автор: S.A.G. 24.10.2007, 15:36
 smile
Цитата(MAKCim @  24.10.2007,  15:31 Найти цитируемый пост)
в некоторых областях ему замены пока нет

В каких? Я привел перечень несколькими постами ранее.

Автор: archimed7592 24.10.2007, 15:37
По теме: есть смысл изучать С++, но не на уровне "а мы в универе лабораторки делали". Такие "спецы" никому не нужны. Обучить искусству программирования на С++ до нужного уровня - это очень трудоёмко. Соответственно работодателю проще найти готового спеца. Их мало. Получают они много.
Вывод: развиваться в сторону С++ нужно в случае, если есть намерения стать очень хорошим спецом в этой области. Если не уверен, что тебе это нужно, то, скорее всего, если и найдёшь работу, не будешь получать от неё удовольствия.

Добавлено через 6 минут и 9 секунд
Цитата(S.A.G. @  24.10.2007,  15:36 Найти цитируемый пост)
В каких?

Надёжные, производительные, легко расширяемые системы с минимальными требованиями к ресурсам.

Автор: MAKCim 24.10.2007, 15:49
Цитата(archimed7592 @  24.10.2007,  15:35 Найти цитируемый пост)
С++ в отличии от С тоже ограждает от кучи ошибок(как и С в отличии от асма).

я уже писал по этому поводу
зачатую в этом деле типобезопастность только вредит
С позволяет очень много и в этом его неоспоримое преимущество в умелых руках (руки у разработчиков драйверов в подавляющем большинстве умелые  smile)
Цитата(archimed7592 @  24.10.2007,  15:37 Найти цитируемый пост)
По теме: есть смысл изучать С++, но не на уровне "а мы в универе лабораторки делали". Такие "спецы" никому не нужны. Обучить искусству программирования на С++ до нужного уровня - это очень трудоёмко
...
Если не уверен, что тебе это нужно, то, скорее всего, если и найдёшь работу, не будешь получать от неё удовольствия. 

ППКС  smile 

Автор: archimed7592 24.10.2007, 15:54
Цитата(MAKCim @  24.10.2007,  15:49 Найти цитируемый пост)
я уже писал по этому поводу
зачатую в этом деле типобезопастность только вредит

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

Автор: S.A.G. 24.10.2007, 15:56
Цитата(archimed7592 @  24.10.2007,  15:37 Найти цитируемый пост)
По теме: есть смысл изучать С++, но не на уровне "а мы в универе лабораторки делали". Такие "спецы" никому не нужны. Обучить искусству программирования на С++ до нужного уровня - это очень трудоёмко. Соответственно работодателю проще найти готового спеца. Их мало. Получают они много.Вывод: развиваться в сторону С++ нужно в случае, если есть намерения стать очень хорошим спецом в этой области. Если не уверен, что тебе это нужно, то, скорее всего, если и найдёшь работу, не будешь получать от неё удовольствия.


Это был ответ по теме?)) Итак, помоему, понятно, что знание любого инструмента, для зарабатывания им денег, должно быть на соответствующем уровне.

Цитата(archimed7592 @  24.10.2007,  15:37 Найти цитируемый пост)
Надёжные, производительные, легко расширяемые системы с минимальными требованиями к ресурсам.

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

Автор: dumb 24.10.2007, 16:00
Цитата(S.A.G. @  24.10.2007,  16:56 Найти цитируемый пост)
И вообще от опытных людей - анализ рынка ИТ, прогнозирование тенденций и т.д.
аллоэ! "выдыхай, бобер!" (с) smile  за это специальным людям специальные люди платят специальные бапки... smile

Автор: S.A.G. 24.10.2007, 16:02
Ненужны мне опусы с цифрами, графиками, статистикой. Хотелось бы просто услышать мнения.

Автор: LSD 24.10.2007, 16:02
Цитата(MAKCim @  24.10.2007,  16:08 Найти цитируемый пост)
зачем С++? только ради удобства?

Ради того же самого - трудоемкость и количество ошибок. В данном случае можно будет и библиотеки для С++ использовать. Тот же драйвер для СУБД явно проще будет написать С++, чем на Си.


Цитата(MAKCim @  24.10.2007,  16:08 Найти цитируемый пост)
берем любой драйвер (модуль ядра) Linux
он будут работать везде, где есть Linux и соответствующее устройство
причем код вообще изменять не придется

1. На радикально различных системах устройства как правило тоже не идентичны. Так что тут можно скорей говорить о переносимости в рамках одной архитектуры.
2. Вот я тебе почему-то ни разу не верю, что ты сможешь взять драйвер видеокарты для PC и просто скомпилить его под Mac smile И уж тем более ты не сможешь провести агресивную оптимизацию для использования спецефических особенносте процессора, типа SSE или AltiVec.

Автор: MAKCim 24.10.2007, 16:07
archimed7592, 
ты участвовал в разработке каких-либо низкоуровневых вещей (в т. ч драйверов)?
Цитата(S.A.G. @  24.10.2007,  15:56 Найти цитируемый пост)
Это был ответ по теме?)) Итак, помоему, понятно, что знание любого инструмента, для зарабатывания им денег, должно быть на соответствующем уровне.

эээ не
у нас вот например в универе студентов с руками и ногами забирают на ASP.NET
без опыта и без знаний как таковых
с С++ ситуация координально противоположная: хрен куда возьмут без опыта работы
а опыт есть показатель профессионализма

Автор: dumb 24.10.2007, 16:10
Цитата(S.A.G. @  24.10.2007,  17:02 Найти цитируемый пост)
Хотелось бы просто услышать мнения.
ну так а именно это ты и наблюдаешь - сколько людей, столько и мнений. а ты все "оффтопик, оффтопик..." smile

Автор: S.A.G. 24.10.2007, 16:11
Цитата(MAKCim @  24.10.2007,  16:07 Найти цитируемый пост)
у нас вот например в универе студентов с руками и ногами забирают на ASP.NET

Чтобы им мало платить.

Добавлено через 1 минуту и 41 секунду
Цитата(dumb @  24.10.2007,  16:10 Найти цитируемый пост)
ну так а именно это ты и наблюдаешь - сколько людей, столько и мнений. а ты все "оффтопик, оффтопик..." smile

Я покачто наблюдаю, что никто не владеет нужной мне информацией. smile

Автор: Alexeis 24.10.2007, 16:14
Цитата(S.A.G. @  24.10.2007,  15:56 Найти цитируемый пост)
Мне интересно услышать мнения разработчиков на C++ - какие проекты им приходиться писать

  Для железки пишу под WinCE. Тоже близко к низкому уровню. Практически для любых железок (процессоров, контроллеров) и там где идет ОС и где нет, почти везде существует компилятор С++/С. Это своего рода стандарт разработки. Потому там просто ниче другое и не встретишь, своеобразная монополия. Промышленные системы и т.д.

  В области графического интерфейса, БД, интернет разработок, что сейчас занимает большУю часть рынка, С++ не рулит, там его вытесняют и скорее всего выпрут.

  И конечно под никсы, тож востребован, он там родной.

Так что востребован и скорее всего будет востребован.
  

Автор: MAKCim 24.10.2007, 16:16
Цитата(LSD @  24.10.2007,  16:02 Найти цитируемый пост)
На радикально различных системах устройства как правило тоже не идентичны. Так что тут можно скорей говорить о переносимости в рамках одной архитектуры.

да возьмем хотя бы x86 и x86-64
и какой-нибудь драйвер чипсета, например Intel G965
на этом чипсете в принципе могут и PIV работать (x86) и какие-нибудь C2D (x86-64)
а в итоге придется вместо одного драйвера на С писать два драйвера на ассемблере
Цитата(LSD @  24.10.2007,  16:02 Найти цитируемый пост)
2. Вот я тебе почему-то ни разу не верю, что ты сможешь взять драйвер видеокарты для PC и просто скомпилить его под Mac

есть некоторый API системы, который так или иначе использует драйвер
все, что мне будет нужно - это заменить API PC-совместимой ОСи на API Mac-а
это, поверь, гораздо проще, чем его с нуля писать (тем более на ассемблере под Power PC)

Добавлено через 1 минуту и 2 секунды
Цитата(S.A.G. @  24.10.2007,  16:11 Найти цитируемый пост)
Чтобы им мало платить.

платят хорошо
(реально хорошо)

Автор: S.A.G. 24.10.2007, 16:19
Цитата(Alexeis @  24.10.2007,  16:14 Найти цитируемый пост)
В области графического интерфейса

Цитата(Alexeis @  24.10.2007,  16:14 Найти цитируемый пост)
С++ не рулит

Почему?

Автор: MAKCim 24.10.2007, 16:21
Цитата(Alexeis @  24.10.2007,  16:14 Найти цитируемый пост)
И конечно под никсы, тож востребован, он там родной.

там родной С  smile 

Автор: S.A.G. 24.10.2007, 16:31
Цитата(MAKCim @  24.10.2007,  16:16 Найти цитируемый пост)
платят хорошо(реально хорошо)

Без знаний и опыта студенту хорошо платят? Сказку говоришь.

Автор: MAKCim 24.10.2007, 16:35
Цитата(S.A.G. @  24.10.2007,  16:31 Найти цитируемый пост)
Без знаний и опыта студенту хорошо платят? Сказку говоришь.

тебе нужно было реальное подтверждение слов archimed7592
я тебе его привел
не хочешь, не верь, дело твое

Автор: S.A.G. 24.10.2007, 16:39
Значит их (студентов) немного и они очень умные, либо берут много, обучаться такому быстро, а работа рутинная и неинтересная и т.д. Вообщем какие-то специфические условия. Никому не интересно просто так денег давать.

Автор: archimed7592 24.10.2007, 16:40
Цитата(S.A.G. @  24.10.2007,  15:56 Найти цитируемый пост)
Итак, помоему, понятно, что знание любого инструмента, для зарабатывания им денег, должно быть на соответствующем уровне.

Цитата(S.A.G. @  24.10.2007,  16:11 Найти цитируемый пост)
Чтобы им мало платить.

Я бы наверное так не утверждал бы, если бы не знал туеву хучу "спецов", которые нормально себе работают, им вполне нормально платят и они совсем не собираются повешать уровень своего "профессионализма".

Цитата(S.A.G. @  24.10.2007,  15:56 Найти цитируемый пост)
Так можно сказать про любой язык.

К примеру?

Цитата(MAKCim @  24.10.2007,  16:07 Найти цитируемый пост)
ты участвовал в разработке каких-либо низкоуровневых вещей (в т. ч драйверов)?

Да. ОС.

Добавлено через 4 минуты и 17 секунд
Цитата(S.A.G. @  24.10.2007,  16:31 Найти цитируемый пост)
Без знаний и опыта студенту хорошо платят? Сказку говоришь.

smile. Я тоже не поверил, когда мне, отчисленному со второго курса студенту без опыта, согласились платить 3 килобакса в месяц. По казахстанским меркам - это очень хорошие деньги. И тем не менее, факта это не умаляет.

Добавлено через 5 минут и 47 секунд
Цитата(S.A.G. @  24.10.2007,  16:39 Найти цитируемый пост)
а работа рутинная и неинтересная и т.д.

Нормальная работа. Интересная. Будет что показать потом другому работодателю(портфолио так сказать).

Автор: MAKCim 24.10.2007, 16:49
Цитата(archimed7592 @  24.10.2007,  16:40 Найти цитируемый пост)
Да. ОС.

серьезно?
что за ОС?
на каком языке велась разработка?

Автор: LSD 24.10.2007, 16:52
Цитата(MAKCim @  24.10.2007,  17:07 Найти цитируемый пост)
у нас вот например в универе студентов с руками и ногами забирают на ASP.NET
без опыта и без знаний как таковых
с С++ ситуация координально противоположная: хрен куда возьмут без опыта работы
а опыт есть показатель профессионализма 

Не вижу никакой связи с профессионализмом, только с востребованностью. Где народа нехватает, туда и берут охотней. А там где есть из кого выбрать, там и "повыбирать" можно.

Цитата(MAKCim @  24.10.2007,  17:16 Найти цитируемый пост)
да возьмем хотя бы x86 и x86-64
и какой-нибудь драйвер чипсета, например Intel G965
на этом чипсете в принципе могут и PIV работать (x86) и какие-нибудь C2D (x86-64)
а в итоге придется вместо одного драйвера на С писать два драйвера на ассемблере

Ты хочешь сказать, что драйвера чипсета в 32=х разрядных ОС, и 64-х разрядных одинаковые (на урове исходников)? smile 

Цитата(MAKCim @  24.10.2007,  17:16 Найти цитируемый пост)
есть некоторый API системы, который так или иначе использует драйвер
все, что мне будет нужно - это заменить API PC-совместимой ОСи на API Mac-а
это, поверь, гораздо проще, чем его с нуля писать (тем более на ассемблере под Power PC)

При чем тут API?

Автор: S.A.G. 24.10.2007, 16:54
Цитата(archimed7592 @  24.10.2007,  16:40 Найти цитируемый пост)
 Я тоже не поверил, когда мне, отчисленному со второго курса студенту без опыта, согласились платить 3 килобакса в месяц.

Тебе просто повезло. Хотя, может быть ты теорию знал идеально, тогда.. может быть.

Автор: Alexeis 24.10.2007, 17:02
Цитата(MAKCim @  24.10.2007,  16:21 Найти цитируемый пост)
там родной С

  Что и чисто прикладное высокоуровневое по тоже пишут на С?  smile  

Цитата(S.A.G. @  24.10.2007,  16:19 Найти цитируемый пост)
Почему? 

  В данном случае я имею ввиду, то что стандартные библиотеки не представляют достаточного удобства в разработке. Билдер не в счет, так как это не чистый С++, гибрид. Короче вообще отдельная тема. 


Автор: MAKCim 24.10.2007, 17:07
Цитата(LSD @  24.10.2007,  16:52 Найти цитируемый пост)
Не вижу никакой связи с профессионализмом

профессионализм на пустом месте не появляется
мало наизусть знать Страуструпа  smile 
Цитата(LSD @  24.10.2007,  16:52 Найти цитируемый пост)
Ты хочешь сказать, что драйвера чипсета в 32=х разрядных ОС, и 64-х разрядных одинаковые (на урове исходников)?

именно
объясню
из исходников на ЯВУ (С к примеру) компилятор генерирует код для целевой платформы
(в нашем случае либо x86, либо x86-64)
далее
что нужно из платформо-зависимых вещей для реализации драйвера чипсета?
доступ к адресному пространству I/O и API для работы с периферийной шиной (PCI, PCIe, ...)
любая уважающая себя ОС предоставляет соответствующий API (одинаковый интерфейс, но с разной реализацией для конкретной платформы) (в случае с Linux, например, это функции inb(), outb(), inw(), outw(), ..., pci_*())
теперь все, что нам нужно - это использовать соответствующий API
а всю "черную" работу по генерации кода для x86 или x86-64 сделает за нас компилятор
Цитата(LSD @  24.10.2007,  16:52 Найти цитируемый пост)
При чем тут API? 

выше

Добавлено через 45 секунд
Цитата(Alexeis @  24.10.2007,  17:02 Найти цитируемый пост)
Что и чисто прикладное высокоуровневое по тоже пишут на С?  

как пример, Gnome написан на С

Автор: archimed7592 24.10.2007, 17:10
Цитата(MAKCim @  24.10.2007,  16:49 Найти цитируемый пост)
серьезно?
что за ОС?
на каком языке велась разработка? 

С++. К сожалению так и не довёл её до ума - вступительные, универ, потом не до ОСи было(ОС - хобби и соответственно деньги за это никто мне не платил smile).


Цитата(S.A.G. @  24.10.2007,  16:54 Найти цитируемый пост)
Тебе просто повезло. Хотя, может быть ты теорию знал идеально, тогда.. может быть. 

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

Добавлено через 2 минуты и 9 секунд
Цитата(Alexeis @  24.10.2007,  17:02 Найти цитируемый пост)
В данном случае я имею ввиду, то что стандартные библиотеки не представляют достаточного удобства в разработке. Билдер не в счет, так как это не чистый С++, гибрид. Короче вообще отдельная тема. 

Гхм... Я не испытываю ни малейшей трудности, делаю ГУЮ(я так понял о ней речь) на Qt. Я даже дизайнером не пользуюсь.

Автор: MAKCim 24.10.2007, 17:13
Цитата(archimed7592 @  24.10.2007,  17:10 Найти цитируемый пост)
С++. К сожалению так и не довёл её до ума - вступительные, универ, потом не до ОСи было(ОС - хобби и соответственно деньги за это никто мне не платил smile).

а она хоть что-нибудь могла делать?  smile 

Автор: archimed7592 24.10.2007, 17:13
Цитата(MAKCim @  24.10.2007,  17:07 Найти цитируемый пост)
как пример, Gnome написан на С 

Вот и сравни гномика на Сях с кде на плюсах smile.

Добавлено через 1 минуту и 7 секунд
Цитата(MAKCim @  24.10.2007,  17:13 Найти цитируемый пост)
а она хоть что-нибудь могла делать?  smile  

Доступ к ФС. Примитивный шелл, позволяющий запускать другие процессы.

Автор: S.A.G. 24.10.2007, 17:17
Цитата(archimed7592 @  24.10.2007,  17:10 Найти цитируемый пост)
 Суть в том, что твой вопрос подразумевает

Только ненадо ничего придумывать. smile

Автор: Alexeis 24.10.2007, 17:19
Цитата(MAKCim @  24.10.2007,  17:07 Найти цитируемый пост)
как пример, Gnome написан на С

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

Автор: archimed7592 24.10.2007, 17:23
Цитата(S.A.G. @  24.10.2007,  17:17 Найти цитируемый пост)
Только ненадо ничего придумывать. smile 

Ну а к чему вопрос о востребованности тогда? Если ты уже работаешь с С++, то вопросов быть не должно, если не собираешься, то не понятно к чему вопрос, а, если собираешься, то читай мой пост "по теме". Хорошие специалисты, как ты успел заметить, нужны по любому профилю(даже COBOL smile).

Автор: MAKCim 24.10.2007, 17:31
Цитата(Alexeis @  24.10.2007,  17:19 Найти цитируемый пост)
С++ включает С

это еще почему?
Цитата(archimed7592 @  24.10.2007,  17:13 Найти цитируемый пост)
Вот и сравни гномика на Сях с кде на плюсах

ну и
Gnome быстрее работает (имхо)

Автор: archimed7592 24.10.2007, 17:35
Цитата(MAKCim @  24.10.2007,  17:31 Найти цитируемый пост)
ну и
Gnome быстрее работает (имхо)

На асме ещё быстрее получится smile.
А удобство создания приложения под gnome vs kde ? Тут гномик сольёт(пытался я как-то что-то сделать с GTK+ - бэээ. Даже gtkmm не смог меня убедить, что gtk - это удобно).

Автор: Alexeis 24.10.2007, 17:35
Если вернуться к востребованности, то специалистов знающих С++, довольно много. На своих местах оно сильно нужны и незаменимы, но спрос на них меньше, просто потому они есть и будут. Язык старый медленно меняющийся, изученный.
  Другое дело, что другие языки сейчас более востребованы. Следует говорить не в абсолютной, а в относительной форме. 
Да он сейчас менее востребован, чем во времена когда не было современных языков.

Добавлено через 4 минуты и 50 секунд
Цитата(MAKCim @  24.10.2007,  17:31 Найти цитируемый пост)
это еще почему?

  Потому что он почти полностью совместим с ним. Фрагменты кода на С, без существенных изменений вставляются в код на С++.

Автор: archimed7592 24.10.2007, 17:41
Цитата(Alexeis @  24.10.2007,  17:35 Найти цитируемый пост)
довольно много

Правда что ль? smile
И где ж ты их многа видел то? Все уже давно в силиконовой долине с нехилыми зарплатами на пляже загорают...

Автор: S.A.G. 24.10.2007, 17:44
archimed7592, вопрос был задан, скорее, о перспективности.

Автор: MAKCim 24.10.2007, 18:03
Цитата(archimed7592 @  24.10.2007,  17:35 Найти цитируемый пост)
А удобство создания приложения под gnome vs kde ? Тут гномик сольёт(пытался я как-то что-то сделать с GTK+ - бэээ. Даже gtkmm не смог меня убедить, что gtk - это удобно). 

честно говоря я уже забыл о чем мы спорим  smile 
с этим я согласен, GUI и ООП (читай С++) идеально подходят друг другу
но изначально то вопрос был не в разработке GUI

Автор: archimed7592 24.10.2007, 18:15
Цитата(S.A.G. @  24.10.2007,  17:44 Найти цитируемый пост)
archimed7592, вопрос был задан, скорее, о перспективности.

Перспективность подразумевает этап "промежуточных" навыков, вот я и сказал тебе, что надеятся на то, что прокатит как прокатывает с Java/C# не стоит.


Цитата(MAKCim @  24.10.2007,  18:03 Найти цитируемый пост)
честно говоря я уже забыл о чем мы спорим  smile 

Аналогично smile.

Автор: Alexeis 24.10.2007, 19:07
Цитата(archimed7592 @  24.10.2007,  17:41 Найти цитируемый пост)
И где ж ты их многа видел то?

  Мне достаточно того что я их просто вижу и часто общаюсь, что считать что их довольно много. Не пойму к чему эта ирония...

Автор: archimed7592 24.10.2007, 19:10
Цитата(Alexeis @  24.10.2007,  19:07 Найти цитируемый пост)
что считать что их довольно много

Сколько в штуках?

Цитата(Alexeis @  24.10.2007,  19:07 Найти цитируемый пост)
Не пойму к чему эта ирония... 

К тому, что, если бы их было много, то платили бы им также как джавистам(вот их много - это факт).

Добавлено через 59 секунд
(рыночный закон - не больше).

Автор: esperant0 24.10.2007, 21:15
Цитата(archimed7592 @ 24.10.2007,  19:10)
 К тому, что, если бы их было много, то платили бы им также как джавистам 

Какая связь?





Автор: Alexeis 24.10.2007, 21:46
Цитата(archimed7592 @  24.10.2007,  19:10 Найти цитируемый пост)
Сколько в штуках?
 Я друзей штуками не измеряю.
   Достаточно много. Это же выборка. А выборка в определенной мере характеризует распределение. 
  
Цитата(archimed7592 @  24.10.2007,  19:10 Найти цитируемый пост)
К тому, что, если бы их было много, то платили бы им также как джавистам(вот их много - это факт).

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

Автор: archimed7592 24.10.2007, 22:58
Цитата(esperant0 @  24.10.2007,  21:15 Найти цитируемый пост)
Какая связь?

Дано.
N вакансий.
M соискателей.
N < M.

Аксиома 1.
Соискатели "тыкаются" к работадателям с равновероятным распределением.

Аксиома 2.
Цель любого юридического лица - прибыль.

Следствие 1(из аксиомы 2).
Чем меньше будет платить работодатель сотруднику, тем ближе он к своей цели.

Аксиома 3.
Цель любого соискателя - найти работу(какую бы то ни было).

Лемма 1.
Чем больше на рынке труда спецов тем меньше им в среднем платят (чем больше предложение, тем меньше средняя рыночная цена).

Доказательство леммы 1.
Из аксиомы 2 и следствия 1 делаем вывод, что работодатель выберет из пришедших к нему соискателей того, кто согласится работать за минимальную цену.
Из аксиомы 3 следует, что отвергнутые соискатели на следующем собеседовании снизят свои запросы чтобы уменьшить вероятность отвергания из-за своих непомерных аппетитов.
Из аксиомы 1 и двух предыдущих утверждений делаем вывод, что цена в среднем будет регулироваться отношением количества соискателей к количеству вакансий.
Лемма доказана.

Цитата(Alexeis @  24.10.2007,  21:46 Найти цитируемый пост)
Обычно наоборот, чем больше, тем меньше платят. Когда много программистов, то всегда можно заменить слишком требовательного программиста, на менее привередливого и платить ему меньше. 

О чём я и говорю - джавистов много и их оклад(даже если они делают не менее сложную работу) меньше, чем плюсистов.

Автор: Alexeis 24.10.2007, 23:55
Цитата(archimed7592 @  24.10.2007,  22:58 Найти цитируемый пост)
О чём я и говорю - джавистов много и их оклад(даже если они делают не менее сложную работу) меньше, чем плюсистов.

  Тут возможны колебания. У нас их еще мало, а сишников много... 

Автор: archimed7592 24.10.2007, 23:58
Ммм... Понятненько.
Интересно, много таких регионов, где следуют старым и верным технологиям, а не гонятся за модными шарпами-дотнетами? smile

Автор: Daevaorn 25.10.2007, 00:03
Цитата(archimed7592 @  25.10.2007,  00:58 Найти цитируемый пост)
Интересно, много таких регионов, где следуют старым и верным технологиям, а не гонятся за модными шарпами-дотнетами?

гонятся не за технологиями, а за деньгами...

Автор: archimed7592 25.10.2007, 00:06
Тоже верно. Хотя я сомневаюсь, что джава/дотнет-наречия потенциально могут приносить больше денег, чем С++(не программистам, а конторам).

Автор: S.A.G. 25.10.2007, 00:12
Ну вы маньяки. smile

Автор: Daevaorn 25.10.2007, 00:20
Цитата(archimed7592 @  25.10.2007,  01:06 Найти цитируемый пост)
Тоже верно. Хотя я сомневаюсь, что джава/дотнет-наречия потенциально могут приносить больше денег, чем С++(не программистам, а конторам). 

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

Автор: Vasay 25.10.2007, 00:28
Цитата(archimed7592 @ 25.10.2007,  00:06)
Тоже верно. Хотя я сомневаюсь, что джава/дотнет-наречия потенциально могут приносить больше денег, чем С++(не программистам, а конторам).

Могут и приносят.

На данный момент, больше приносят массовые проекты, а не узкоспециализированные. А в массовых проектах рулят JAVA (Web программирование) .NET (программирование прикладного ПО).

Так же платят за бизнес приложения (не знаю как у .NET но c JAVA разработка бизнес приложений - просто сборка из уже готовых компонентов)

С/С++ сейчас больше используется при разработке узкоспециализированного софта (хотя и тут вытесняется .NET), работа с железом (С еще долго будет жить). А это восновном разовые сделки (хотя начальство тут получает нехило - но это уже особенность тендорово-откатинговой экономики). 

Вышеописанное говорю на основе своего опыта и опыта моих друзей.

Автор: S.A.G. 25.10.2007, 00:40
Так где всетаки не вытесняется C++?

Автор: Vasay 25.10.2007, 00:47
Цитата

Так где всетаки не вытесняется C++? 



В программирование приложений для *NIX. Но там с деньгами туго, почти все OpenSource

Программирование сигнальных процессоров ( 4-5 годов назад, когда я этим занимался TI выпустила кодекомпозер с поддержкой С++) во мой шеф ругался, говорил, что нормальной поддержки ООП так и не сделали. Там правда важнее спец асму знать, чем С. Основное время на ней писать придется.

Автор: MAKCim 25.10.2007, 08:59
Цитата(Vasay @  25.10.2007,  00:28 Найти цитируемый пост)
.NET (программирование прикладного ПО).

что-то я особо не замечал прикладного ПО, написанного на .NET-языках  smile 
сплошь и рядом Web + ASP.NET
и я плохо смотрел?
ну-ка навскидку приведи пяток прикладных (не Web) программ на том же С# (или VB)

Добавлено через 44 секунды
Цитата(Vasay @  25.10.2007,  00:47 Найти цитируемый пост)
Но там с деньгами туго, почти все OpenSource

кто вам сказал, что OpenSource и деньги - понятия ортогональные?

Автор: Hidrag 25.10.2007, 12:27
archimed7592, сибирский регион smile там до сих пор в вузах студентам восхваляют MS Visual C++ 6.0 а про дотНет и джаву говорят довольно скептически скриви лица smile Да и почитать вакансии в том же Томске или Новосибирске, там С++ больше требуются, порой догоняя 1С'ников )))

Автор: esperant0 25.10.2007, 16:42
Цитата(Vasay @ 25.10.2007,  00:28)
 . А в массовых проектах рулят JAVA (Web программирование) .NET (программирование прикладного ПО). 

В массовых проектах с которыми я сталкивался рулит С++

Автор: Hidrag 25.10.2007, 18:59
esperant0, это если проект не веб smile

Автор: coder85 8.1.2008, 18:36
Помойму очень хорошо сказал archimed7592, 
Цитата

По теме: есть смысл изучать С++, но не на уровне "а мы в универе лабораторки делали". Такие "спецы" никому не нужны. Обучить искусству программирования на С++ до нужного уровня - это очень трудоёмко. Соответственно работодателю проще найти готового спеца. Их мало. Получают они много.
Вывод: развиваться в сторону С++ нужно в случае, если есть намерения стать очень хорошим спецом в этой области. Если не уверен, что тебе это нужно, то, скорее всего, если и найдёшь работу, не будешь получать от неё удовольствия.


Пользуясь случаем хочеться спросить:
Можно ли счас  программировать на С/С++ и использованием средств WinAPI, или без MFC сейчас некуда??
Просто я MFC недолюбливаю, пишу чисто на API  и дальше хочу продвигаться в этом направлении, поэтому такой и вопрос..рельно ли найти работу используя токо апишку??

p/s  может я не совсем понимаю..но под Windows преложения создавать можно токо или WinAPI или MFC, ну или дотнетовские технологие использовать(WinForms)
Читсый С++ некаму ж ненужен я так понимаю? Или я неправ? Просвятите пожалуйста.

Автор: Alexeis 8.1.2008, 18:42
Цитата(coder85 @  8.1.2008,  17:36 Найти цитируемый пост)
Можно ли счас  программировать на С/С++ и использованием средств WinAPI, или без MFC сейчас некуда??

  MFC фтопку, это отсталая технология.

Автор: Daevaorn 8.1.2008, 18:45
Цитата(coder85 @  8.1.2008,  19:36 Найти цитируемый пост)
Можно ли счас  программировать на С/С++ и использованием средств WinAPI, или без MFC сейчас некуда??

А кто мешает? Пиши с использованием чего хочешь.
Цитата(coder85 @  8.1.2008,  19:36 Найти цитируемый пост)
рельно ли найти работу используя токо апишку??

Реально. Но трудно. Не очень много задачь, которые нужно решать на WinAPI. Тем более связанных с интерфейсом пользователя.
Цитата(coder85 @  8.1.2008,  19:36 Найти цитируемый пост)
но под Windows преложения создавать можно токо или WinAPI или MFC, ну или дотнетовские технологие использовать(WinForms)
Читсый С++ некаму ж ненужен я так понимаю? Или я неправ? Просвятите пожалуйста. 

WinAPI, MFC - это библиотеки. Под MFC всё тот же WinAPI. Чистый С++ это язык, поэтому он нужен и для WinAPI, MFC и для любой другой библиотеки.

Автор: Lazin 8.1.2008, 18:45
Цитата(coder85 @  8.1.2008,  18:36 Найти цитируемый пост)
рельно ли найти работу используя токо апишку??

Цитата(coder85 @  8.1.2008,  18:36 Найти цитируемый пост)
Читсый С++ некаму ж ненужен я так понимаю? Или я неправ? Просвятите пожалуйста. 

только экстремальный server-side))

Добавлено через 2 минуты и 52 секунды
Цитата(Daevaorn @  8.1.2008,  18:45 Найти цитируемый пост)
Реально. Но трудно. Не очень много задачь, которые нужно решать на WinAPI. Тем более связанных с интерфейсом пользователя.

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

Автор: coder85 8.1.2008, 19:01
спасибо большое за ответы!

Вот еще может чуть-чуть не в тему:
- написал для себя принцип изучения языка, прошу оценить, может где ошибся/неправ

/////////////////////////////////////////////////////////////
ИЗУЧЕНИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ C/C++
И ПРОГРАММИРОВАНИЯ ПОД WINDOWS

////////////////////////////////////////////////////////////

1.Выучить основы программирования на С++

2.Перейти на профессиональное объектно-ориентированное программирование на С++
Скота Мейерса (3 небольшие книги, как минимум первую с 55 советами)

ДАЛЕЕ:

---------- Шаблоны и STL ----------
Как минимум третью часть справочника Мэтью Г. Остерн по STL (хорош тем что на каждый алгоритм есть пример и другими особенностями)

---------- Патерны проектирования ----------
авторы Гамма, Хелм, Джонсон, Влиссидес - это даст базу для понимания других книг, упоминающих паттерны.
"Современное проектирование на C++" от А. Александреску.

---------- Изучить библиотеки ----------
BOOST в том числе алгоритмы обработки графов (по графам есть книга на русском),
 ACE для сетей и многопоточности (есть две книги на русском),
 что-нибудь для создания графического интерфейса, например: WTL, Win32 API, MFC, QT, WxWidgets, CLX и VCL.

---------- Алгоритмы и Технологии программирования ----------
-Кнут!!!
-Вирт
-Йодан
+
Генри Уорен – «Алгоритмические трюки для программистов»!!!
Стива Макконнелла - «Совершенный код»!!!

P/S
+Выработать стиль оформления своего кода.


Надеюсь все это будет кому-то полезно(я про начинающих программистах)smile

Автор: JackYF 8.1.2008, 20:39
Цитата(coder85 @  8.1.2008,  17:36 Найти цитируемый пост)
Просто я MFC недолюбливаю, пишу чисто на API  и дальше хочу продвигаться в этом направлении, поэтому такой и вопрос..рельно ли найти работу используя токо апишку??

да, но нелегко

Цитата(coder85 @  8.1.2008,  17:36 Найти цитируемый пост)
Читсый С++ некаму ж ненужен я так понимаю? Или я неправ? Просвятите пожалуйста. 

а почему qt забыли? чистые плюсы, под винды очень даже идут, и под линух тоже smile

Автор: archimed7592 8.1.2008, 23:06
Цитата(coder85 @  8.1.2008,  19:01 Найти цитируемый пост)
--------- Патерны проектирования ----------
[...]
"Современное проектирование на C++" от А. Александреску.
Вообще говоря, данная книга к паттернам не имеет почти никакого отношения. Там всего-лишь реализация нескольких паттернов. Суть книги в виртуозном применении шаблонов(templates... not patterns).

Цитата(coder85 @  8.1.2008,  18:36 Найти цитируемый пост)
Просто я MFC недолюбливаю, пишу чисто на API  и дальше хочу продвигаться в этом направлении, поэтому такой и вопрос..рельно ли найти работу используя токо апишку??
Извиняюсь, не удержался: "Просто я дрель недолюбливаю, ковыряю дырки отвёрткой... реально ли найти работу умея только ковырять отвёрткой?".
Пусть MFC и не самая лучшая дрель, но писать на низком уровне только лишь потому что тебе так нравится - это глупо. Точнее говоря, дело твоё, но какому работодателю нужен специалист, выполняющий свою работу на WinAPI, но делающий её раз в 10 дольше, чем плохой специалист применяющий MFC? Такие работодатели найдутся, но их очень мало.

Автор: Lazin 8.1.2008, 23:16
Цитата(coder85 @  8.1.2008,  19:01 Найти цитируемый пост)
BOOST в том числе алгоритмы обработки графов (по графам есть книга на русском),

Цитата(coder85 @  8.1.2008,  19:01 Найти цитируемый пост)
 ACE для сетей и многопоточности (есть две книги на русском),
 что-нибудь для создания графического интерфейса, например: WTL, Win32 API, MFC, QT, WxWidgets, CLX и VCL.

это все нужно не изучать, а использовать, а изучать надо бызовые вещи, не привязываясь к конкретным библиотекам, например стоит почитать Дж. Рихтера - если писать собираешься под винду, а библиотеки изучать не надо, тот-же буст, нужно тебе скажем сделать сериализацию, покурил мануал по boost::serialization и вперед))
Цитата(coder85 @  8.1.2008,  19:01 Найти цитируемый пост)
+Выработать стиль оформления своего кода.

если работаешь в команде, то нужно придерживаться общепринятого стиля
Цитата(coder85 @  8.1.2008,  19:01 Найти цитируемый пост)
---------- Шаблоны и STL ----------
Как минимум третью часть справочника Мэтью Г. Остерн по STL (хорош тем что на каждый алгоритм есть пример и другими особенностями)

одну только книгу по stl прочитал - С. Мэйерс - Эффективное использование stl
Цитата(coder85 @  8.1.2008,  19:01 Найти цитируемый пост)
Стива Макконнелла - «Совершенный код»!!!

довольно бесполезное чтение

Добавлено через 2 минуты
Цитата(archimed7592 @  8.1.2008,  23:06 Найти цитируемый пост)
Извиняюсь, не удержался: "Просто я дрель недолюбливаю, ковыряю дырки отвёрткой... реально ли найти работу умея только ковырять отвёрткой?".

точнее не отверткой а лбом)))

Автор: coder85 8.1.2008, 23:29
Всем спаcибо большое!

Ребят нарыл статью: http://steps3d.narod.ru/tutorials/c-minus-minus.html

как раз по теме, человек вроде неплохо аргументирует свои доводы, почетайте, у вас опыта побольше моего будет...мот это и бред...

но все ж я за cpp smile 

Автор: Daevaorn 8.1.2008, 23:39
Цитата(coder85 @  9.1.2008,  00:29 Найти цитируемый пост)
Ребят нарыл статью: За что я не люблю С++

как раз по теме, человек вроде неплохо аргументирует свои доводы, почетайте, у вас опыта побольше моего будет...мот это и бред...

Известный бред. Не обращай внимания.

Автор: coder85 9.1.2008, 01:01
понятненько  smile 

Автор: dual 25.1.2008, 18:56
Цитата(Daevaorn @ 18.10.2007,  15:09)
Цитата(S.A.G. @  18.10.2007,  16:03 Найти цитируемый пост)
В каких случаях предпочтение отдается C++?

когда необходима максимальная производительность. ну и когда нет другого средства.

В таких случаях пишут на Си или на Ассемблере, никак не на С++.

Автор: JackYF 25.1.2008, 19:12
Цитата(dual @  25.1.2008,  17:56 Найти цитируемый пост)
В таких случаях пишут на Си или на Ассемблере, никак не на С++. 

обоснуй.

Добавлено через 30 секунд
Ассемблер вообще непортабельный, а чем в плане скорости отличаются С и С++?

Автор: MAKCim 25.1.2008, 19:22
Цитата(JackYF @  25.1.2008,  19:12 Найти цитируемый пост)
Ассемблер вообще непортабельный, а чем в плане скорости отличаются С и С++? 

для достижения максимальной производительности поможет только ассемблер
в плане отличий С от С++
если не использовать "фичи" С++, разница небольшая
а вообще тут все зависит от того, какого рода приложение в целом

Автор: archimed7592 25.1.2008, 19:23
Цитата(dual @  25.1.2008,  18:56 Найти цитируемый пост)
В таких случаях пишут на Си или на Ассемблере, никак не на С++. 

Много на ассемблере написали? Скажем так, сколько времени займёт реализация браузера уровня FF-2? А сколько будет стоить это несметное количество человеко-месяцев? А что если сравнить эту цену с более мощным железом? Я молчу про невозможность дальнейшего развития такого браузера.

Добавлено через 3 минуты и 14 секунд
Цитата(MAKCim @  25.1.2008,  19:22 Найти цитируемый пост)
если не использовать "фичи" С++, разница небольшая

В какую сторону разница? smile
Вообще говоря, С++ переодически показывает лучшие результаты(если отключить исключения, то вообще летает).

Добавлено через 4 минуты и 5 секунд
Цитата(MAKCim @  25.1.2008,  19:22 Найти цитируемый пост)
для достижения максимальной производительности поможет только ассемблер

К тебе тот же вопрос - соотношение стоимости реализации к стоимости железа осознаёшь?

Автор: MAKCim 25.1.2008, 19:29
Цитата(archimed7592 @  25.1.2008,  19:23 Найти цитируемый пост)
В какую сторону разница?

С <= C++ по скорости (в смысле С-программы более быстры)
это мое имхо
тестов не видел

Автор: Амортизатор2 19.3.2008, 19:00
Цитата(MAKCim @  25.1.2008,  19:29 Найти цитируемый пост)
С <= C++ по скорости (в смысле С-программы более быстры)
это мое имхо
тестов не видел


Почему? C++ обратно совместим с С => на С++ можно написать так, что разница в скорости с аналогом на С нивелируется до разницы между компиляторами.
Если юзать фичи С++, то в общем случае да, это справедливо. Но все равно С++ предоставляет возможности для оптмизации. Например, в С++ виртуальные вызовы дорогие, поэтому для полиморфизма используются обобщенное программирование. Чтобы удешевить выделение памяти по new делают свои аллокаторы, благо перегрузка этого оператора разрешена. Опять таки, в C++ у нас есть STL, это уже огромное преимущество. Там можно использовать custom allocators. Так что использовать в системном программировании вопрос спорный.

S.A.G: Тебе вначале чертовски верно посоветовали: если готов серьезно учить язык (лет 5 как минимум), то тогда имеет смысл выбирать С++. Другое дело - почему тебе нужен именно С++? Т. е. он тебе нравится и ты решил сделаться проф. С++-програмистом? Тогда ты залез на Луну и пытаешься прииянуть к себе Землю, а следовало бы наоборот.
Почему С++ все меньше используется в enterprise - причина очевидна. В свое время, данный язык стал чрезвычайно популярен из-за проблем с производительностью машин. Поэтому он пролез всюду, где мог, в том числе и туда, где ему, по совести говоря, совсем не место. Теперь его плавно выпирают на его вотчину - системное программирование, редкое железо, а также задачи, в которых производительность и спустя сотни лет будет узким местом. Это - его лоно и там он должен использоваться.

Автор: diver85 9.4.2008, 14:35
Выскажу свое мнение (где то возможно будут упоминатся мысли других ребят, главное смысл сказанного, а не то как показать себя крутым тут на форуме)

Мнение такое. Главное технология, язык это токо средство/молоток.
Какой молоток выберешь, с таким и будешь работать.

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

Так вот, на данный момент выбора особого нету, так сказать есть 3 кита - С++/java/C#
(можно еще добавить еще что то наверное, но мне интересты имеенно эти языки)

Пожалуй начну с java. (что она нам дает?)
Велеколепный язык. Прекрастное удобство письма, читабельность синтаксиса, поддержка.
SDK {чистый ООП, кросплатформенность, мощные и обильные библиотеки(несравнимо с STL),
пакеты, аплеты, безопасность, нет множ наследования}
J2EE {сервлеты, тэг библиотеки, EJB - рев технология, J2EE как платформа}
Плюс как говорят, java общество очень отзывчивое и очень умное (наверное язык нетерпит быдлокодерстваsmile)
Кстати говорят еще, что большинство людей, много програмировавших и на Java и на C++ всё же выбирают Java. Непросто так наверное ж.


Про С# писать нехочу, тк считаю его слизанным с java(да есть свои разработки, напр в java код интерпретируется, а в С# коипилируется в промежуточный MSIL код). Просто Microsoft Больше пользы принесла бы сотрудничая с Sun и развивая java.

Теперь о С++.
Язык монстр, за что его уважаю.
Зачем скажите С++, если есть java? Неправда ваша.
В некоторых направлениях может java  и прижимает С++, но многие направления все же упорно держит С++.
Например, обычно пишут на с++ надо надёжные, производительные, легко расширяемые системы с минимальными требованиями к ресурсам. Т.е руткиты/драйвера/логику и тп
Кстати на счет драйверов долго думал что писать можно(вернее нужно) на чистом Си.
Оказалось что драйвер это 2 сост части - логика и доступ к железу, так вот логику удобно писать на с++smile, да и доступ к железу тоже.

Вот такие вот дела ребята smile 

Автор: S.A.G. 25.2.2009, 19:05
http://www.developers.org.ua/archives/kasimezh/2009/01/26/cpp-and-embedded/

Автор: serger 26.2.2009, 20:49
diver85, поправка:
Цитата

Про С# писать нехочу, тк считаю его слизанным с java(да есть свои разработки, напр в java код интерпретируется, а в С# коипилируется в промежуточный MSIL код).

Java компилируется в байт-код, который при выполнении уже интерпретируется. В общем случае. Это позволяет создавать ещё языки на платформе (javaFX, ну и в какой-то степени, groovy и тп...).

Автор: nickless 27.2.2009, 02:00
Цитата(serger @  26.2.2009,  19:49 Найти цитируемый пост)
который при выполнении уже интерпретируется

http://en.wikipedia.org/wiki/Just-in-time_compilation компиляция

Автор: serger 27.2.2009, 20:05
nickless, это уже следующий этап.

Добавлено через 36 секунд
Те оптимизация процесса выполнения.

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