Очередной музыкальный инструмент
От: beerserg  
Дата: 02.08.05 09:54
Оценка: 16 (2) +2 -2
Здравствуйте многоуважаемый All. Задумался вот над таким вопросом. В последнее время на РСДН многие дотнетчики, стуча пяткой в грудь, советуют новичкам не браться за С++. Мол, .Net платформа будущего, забудьте об указателях, утечках памяти и access violations, переходите на полностью управляемый код, создавайте приложения быстрее и т.д. Avalon уже грохочет железной пятой и дышит в ухо. Еще один немаловажный аргумент — C#-программеру проще устроиться на работу, а начинающий плюсовик никому и даром не сдался... Все конечно правильно, НО ИМХО...

— Дойдя до мало-мальски нетривиальной задачи, приходится применять средства наподобие COM Interop и P/Invoke;
— Налицо необходимость изучения COM/ActiveX;
— Далее по нисходящей: изучая ActiveX, не обойтись без C++/ATL/MFC...
— В конце концов, дорожка выводит к голому С/WinAPI.

В итоге вопрос: а может ли существовать в природе виндовый программист, знающий только "вершки", и не подозревающий о "корешках". Это ж какой-то скрипт-кодер получается.

И вот еще что: большинству присутствующих здесь гуру, как я понимаю, легко советовать, имея за спиной базовый опыт C/C++/MFC/ATL/COM/ActiveX/WinAPI, а что делать салагам

P.S. Если можно, особо камнями и баянами не кидайтесь.

02.08.05 18:16: Перенесено из 'О работе'
Re: Очередной музыкальный инструмент
От: aik Австралия  
Дата: 02.08.05 10:23
Оценка: 1 (1) +2 -3 :)
Здравствуйте, beerserg, Вы писали:

B>Здравствуйте многоуважаемый All. Задумался вот над таким вопросом. В последнее время на РСДН многие дотнетчики, стуча пяткой в грудь, советуют новичкам не браться за С++. Мол, .Net платформа будущего, забудьте об указателях, утечках памяти и access violations, переходите на полностью управляемый код, создавайте приложения быстрее и т.д. Avalon уже грохочет железной пятой и дышит в ухо. Еще один немаловажный аргумент — C#-программеру проще устроиться на работу, а начинающий плюсовик никому и даром не сдался... Все конечно правильно, НО ИМХО...

B>- Дойдя до мало-мальски нетривиальной задачи, приходится применять средства наподобие COM Interop и P/Invoke;
B>- Налицо необходимость изучения COM/ActiveX;
B>- Далее по нисходящей: изучая ActiveX, не обойтись без C++/ATL/MFC...
B>- В конце концов, дорожка выводит к голому С/WinAPI.

Она и дальше ведет — в драйвера. Но большинству и WinAPI уже не нужен. Изучая ActiveX, и с++ не нужен. Насколько я понимаю, c# позволяет делать с COM'ом дофига всего и не хуже, и, что важно, безопаснее. А MFC уже очень давно бесполезен.

B>В итоге вопрос: а может ли существовать в природе виндовый программист, знающий только "вершки", и не подозревающий о "корешках". Это ж какой-то скрипт-кодер получается.


Может, и это — правильно. Корешки — это irq, gdt и т. п. вещи, о которых тут мало кто понимает

B>И вот еще что: большинству присутствующих здесь гуру, как я понимаю, легко советовать, имея за спиной базовый опыт C/C++/MFC/ATL/COM/ActiveX/WinAPI, а что делать салагам


Базовый опыт C/C++ все таки нужен, чтобы более-менее понимать как это работает. Особенно если подглядывать в дизассемблер. Но сильно въезжать в c++ имхо уже не стоит, лучше эти силы потратить на .net/java. имхо (!!!) c++ долго не протянет, слишком сложный и корявый язык получился.
Re: Очередной музыкальный инструмент
От: ansi  
Дата: 02.08.05 10:26
Оценка:
Здравствуйте, beerserg, Вы писали:

[...]

B>P.S. Если можно, особо камнями и баянами не кидайтесь.


Полностью согласен. Только это в Философию надо было (до Войн еще пока не дожили ).
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Gregorian — Imagine";
Re[2]: Очередной музыкальный инструмент
От: kittown  
Дата: 02.08.05 10:44
Оценка: +7 :)))
aik wrote:
>
> (!!!) c++ долго не протянет, слишком сложный и корявый язык получился.

Сложный. Корявый. Все равно протянет.

Mikhail
Posted via RSDN NNTP Server 1.9
Re[3]: Очередной музыкальный инструмент
От: aik Австралия  
Дата: 02.08.05 10:54
Оценка:
Здравствуйте, kittown, Вы писали:

>> (!!!) c++ долго не протянет, слишком сложный и корявый язык получился.

K>Сложный. Корявый. Все равно протянет.

Я имел ввиду что он займет свою достаточно узкую нишу как чистый си, фортран или датафлекс, но большинство различного софта будет писаться совсем не на нем.
Re[2]: Очередной музыкальный инструмент
От: ansi  
Дата: 02.08.05 10:59
Оценка:
Здравствуйте, aik, Вы писали:

aik>Базовый опыт C/C++ все таки нужен, чтобы более-менее понимать как это работает. Особенно если подглядывать в дизассемблер. Но сильно въезжать в c++ имхо уже не стоит, лучше эти силы потратить на .net/java. имхо (!!!) c++ долго не протянет, слишком сложный и корявый язык получился.


Сложный — да. Корявый — я бы не сказал. Есть конечно несколько нехороших моментов, но в целом я доволен
new RSDN@Home(1.1.4, 303) << new Message(); std::head::ear << "Iscaaro — Fold Your Hands And Pray";
Re[4]: Очередной музыкальный инструмент
От: kittown  
Дата: 02.08.05 11:17
Оценка: +3
aik wrote:
>
>> > (!!!) c++ долго не протянет, слишком сложный и корявый язык получился.
> K>Сложный. Корявый. Все равно протянет.
>
> Я имел ввиду что он займет свою достаточно узкую нишу как чистый си,
> фортран или датафлекс, но большинство различного софта будет писаться
> совсем не на нем.

Я, в свою очередь, до сих пор фигею, как здоровые толпы разработчиков
по сей момент отрицают c++ и продолжают писать околосистемные вещи
на C. Две основные десктоповые среды под *nix-ами именно так и
разделены, одна команда сишников и одна плюсовиков. Единственная
привлекательная (на мой взгляд) встраиваемая БД sqlite написана
именно на C, а не на C++.

В общем, сдается мне, что "мейнстрим" — это химера. Нет никакого
такого мейнстрима, а весь софтодевелопмент представляет собой
большое количество более или менее узких ниш, более чем на 90%
состоящих из поддержки и инкрементальной доработки уже
существующих систем.

Mikhail
Posted via RSDN NNTP Server 1.9
Re: Очередной музыкальный инструмент
От: Dog  
Дата: 02.08.05 11:47
Оценка: +1 :))) :))) :))) :))) :)))
Вам с этим в форум Священные войны. Ключевые слова для поиска по форуму С++, С#, VladD2
... << RSDN@Home 1.1.4 beta 7 rev. 458>>
Re: Очередной музыкальный инструмент
От: Dark Angel Украина  
Дата: 02.08.05 13:22
Оценка: 1 (1) -1 :)
Hello, beerserg!
You wrote on Tue, 02 Aug 2005 09:54:18 GMT:

b> Здравствуйте многоуважаемый All. Задумался вот над таким вопросом. В

b> последнее время на РСДН многие дотнетчики, стуча пяткой в грудь,
b> советуют новичкам не браться за С++.

Ну да, не такая простая штука как C# если рассматривать в полном объеме, хотя как по мне так это "замена одних проблем на другие" (с) Не мой.

b> Мол, .Net платформа будущего,


Ну то что она в mainstream-е и будет в нем еще долго это конечно да. Так что лучше знать, чем не знать.

b> забудьте об указателях, утечках памяти и access violations,


Один из мифов C++. Я про все эти приколы давно забыл. Не, ну вылазят иногда, но частота их появления будет сравнима с появлением Null pointer exception или как они там в C#.

b> переходите на полностью управляемый код, создавайте

b> приложения быстрее и т.д.

Про быстрее это возможно правда — для новичка. Для неновичка количество необходимых для работы компонент и библиотек третьих сторон уже больше нуля и скорость в С++ будет таже.

b> Avalon уже грохочет железной пятой и дышит в

b> ухо. Еще один немаловажный аргумент — C#-программеру проще устроиться на
b> работу, а начинающий плюсовик никому и даром не сдался...

Я бы так не сказал . Грамотных плюсантиков из универов не выпускают. Пока ни одного не видел. Может мало смотрел конечно. Их можно только научить уже в процессе, чтобы рядом были один-два грамотных спеца. Вот тогда процесс идет в нужном русле и с положительными результатом.

b> В итоге вопрос: а может ли существовать в природе виндовый программист,

b> знающий только "вершки", и не подозревающий о "корешках". Это ж какой-то
b> скрипт-кодер получается.

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

b> И вот еще что: большинству присутствующих здесь гуру, как я понимаю,

b> легко советовать, имея за спиной базовый опыт
b> C/C++/MFC/ATL/COM/ActiveX/WinAPI, а что делать салагам

Я не гуру, но что-то посоветовать наверно могу.
Все зависит от того какие ты себе цели ставишь. С# это mainstream и как ты сам говоришь легко найти работу и достаточно хорошо оплачиваемую. Язык очень легко учится, если знаешь что-то С подобное. С++ многообразнее и соответственно сложнее, но как по мне, так он этого стоит. С# и С++ достаточно похожи синтаксически, основная проблема это библиотеки. Без них можно сказать что ты знаешь какой-то язык, но сделать в разумные сроки что-либо ты просто не сможешь.
Сечас наверно чтобы заработать нормальные деньги лучше идти на шарповика. Плюсатники нужны толковые, с опытом, потому как оружие у них достаточно острое и новички очень глубокие раны оставляют .

With best regards, Konstantin Litvinenko.
Posted via RSDN NNTP Server 1.9
Re[2]: Очередной музыкальный инструмент
От: User99  
Дата: 02.08.05 13:53
Оценка:
aik>... Но сильно въезжать в c++ имхо уже не стоит, лучше эти силы потратить на .net/java. имхо (!!!) c++ долго не протянет, слишком сложный и корявый язык получился.

Все это уже было! Что-то типа середины 90х внедряли на предприятии(родители супруги) большую сложную систему и размышляли — "Ну млин и нафиг нам этот опыт?! Система сложная, корявая, большай, стоит кучу бабла. Внедрим мы ее и что?! Кому он будет нужен этот опыт потом". Причем считали так все. Некоторые даже переводились в другие отделы..

Как называлась система — сами догадаетесь.
Re: Очередной музыкальный инструмент
От: Mishka Норвегия  
Дата: 02.08.05 14:14
Оценка: 14 (1) :)
Здравствуйте, beerserg, Вы писали:

B>- Дойдя до мало-мальски нетривиальной задачи, приходится применять средства наподобие COM Interop и P/Invoke;

B>- Налицо необходимость изучения COM/ActiveX;
B>- Далее по нисходящей: изучая ActiveX, не обойтись без C++/ATL/MFC...

Зачем? Подключаешь COM к проекту (мышкой так ласково клик по add reference... ) и пользуешь его. Зачем нафиг голову себе забивать всякой ерундой?

B>- В конце концов, дорожка выводит к голому С/WinAPI.


Далеко не всем голый WinAPI нужен, а если всё таки и пондобился, то разобраться в этом значительно проще, чем сидя на с-ях. Слишком там много нужно телодвижений.

B>В итоге вопрос: а может ли существовать в природе виндовый программист, знающий только "вершки", и не подозревающий о "корешках". Это ж какой-то скрипт-кодер получается.


Есть такие, работают программистами, деньги хорошие получают, домой приходят и отдыхают от компьютеров. А всяким там гуру мало места осталось, да и не платят уже давно за "очень глубокое знание глубин Windows". Расслабься, 5 лет назад та же фигня была и с ассемблером, типа не знаешь — не программист, и ничего, росли современные мастера

B>И вот еще что: большинству присутствующих здесь гуру, как я понимаю, легко советовать, имея за спиной базовый опыт C/C++/MFC/ATL/COM/ActiveX/WinAPI, а что делать салагам


Всё было, и С++, и COM. Но это просто так получилось, что .NET на этих технологиях построен. Могли бы его и с нуля поднять, не задумываясь о мегатноннах с-ишного кода, но политика не позволила... Так что ну это старьё на фиг, кому надо — пусть работает, а молодёжь пусть вперёд двигает (мля, сказал и так тяжело на душе стало )
Re: Очередной музыкальный инструмент
От: magen Россия https://ru.linkedin.com/pub/alexey-smorkalov/4/283/8b8
Дата: 02.08.05 21:10
Оценка: :)
До (Win)Api гораздо короче дорога :)

По сути вопроса: в природе существовать может. И существуют.
Только захочешь ли ты жить в той нише, в которой они кормятся?

>а что делать салагам

Зависит от целей / ситуации конкретного салаги.
Если хочешь как можно быстрее найти работу в определенной области — там выбор ясен должен быть.
Если firmware писать — на VB.NET вряд ли надо упирать,
а если ecommerce — то на алгориты разпознавания образов и asm тоже много времени не трать.
Если это все равно — тогда определяешься с рынком труда, где продаваться будешь.
Если ты человек мира — учи английский пуще чем C++, Java, VB, C# вместе взятые.
Если предпочитаешь тихую жизнь в Бобруйске и пиво вечером на завалинке — 1с, vba, WSH и обсуживание манипулятора "мышь" :)

Короче амбиции определят дорожку. Будь гибким, найди в жизни цель и мечту, эх...
Везет молодым...
Re[3]: Очередной музыкальный инструмент
От: GarryIV  
Дата: 02.08.05 21:56
Оценка: :)))
Здравствуйте, User99, Вы писали:

aik>>... Но сильно въезжать в c++ имхо уже не стоит, лучше эти силы потратить на .net/java. имхо (!!!) c++ долго не протянет, слишком сложный и корявый язык получился.


U>Все это уже было! Что-то типа середины 90х внедряли на предприятии(родители супруги) большую сложную систему и размышляли — "Ну млин и нафиг нам этот опыт?! Система сложная, корявая, большай, стоит кучу бабла. Внедрим мы ее и что?! Кому он будет нужен этот опыт потом". Причем считали так все. Некоторые даже переводились в другие отделы..


U>Как называлась система — сами догадаетесь.


1С?
WBR, Igor Evgrafov
Re[2]: Очередной музыкальный инструмент
От: Павел Кузнецов  
Дата: 02.08.05 22:28
Оценка: 1 (1) +5
aik,

> сильно въезжать в c++ имхо уже не стоит, лучше эти силы потратить на .net/java. имхо (!!!) c++ долго не протянет, слишком сложный и корявый язык получился.


Интересно, что подобные же предсказания делались, когда Java только-только вышла. Уже прошло прилично времени, а на десктопах ее по-прежнему не особенно заметно.
Posted via RSDN NNTP Server 2.0 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[2]: Очередной музыкальный инструмент
От: SergeCpp Россия http://zoozahita.ru
Дата: 03.08.05 03:48
Оценка:
Всё деньги определяют, да ?
И чтоб поменьше работать, да ?

Да, уж...
http://zoozahita.ruБездомные животные Екатеринбурга ищут хозяев
Re[3]: Очередной музыкальный инструмент
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 03.08.05 05:05
Оценка:
Здравствуйте, SergeCpp, Вы писали:

SC>Всё деньги определяют, да ?

SC>И чтоб поменьше работать, да ?

SC>Да, уж...


А что? Вполне нормальная жизненная позиция. Не у всех же программирование -- это работа, хобби и стиль жизни одновременно.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[4]: Очередной музыкальный инструмент
От: SergeCpp Россия http://zoozahita.ru
Дата: 03.08.05 05:11
Оценка:
Здравствуйте, eao197, Вы писали:

E>Здравствуйте, SergeCpp, Вы писали:


SC>>Всё деньги определяют, да ?

SC>>И чтоб поменьше работать, да ?

SC>>Да, уж...


E>А что? Вполне нормальная жизненная позиция. Не у всех же программирование -- это работа, хобби и стиль жизни одновременно.


Да я не против, просто у каждого — СВОЁ понятие "НОРМАЛЬНОЙ жизненной позиции"...
А здесь почему-то высказываются в основном о "ленивой и денежной"...
Вот я и добавил СВОЮ, чтобы "уравновесить"...

Ведь разговор здесь — СВОБОДЕН ?
http://zoozahita.ruБездомные животные Екатеринбурга ищут хозяев
Re[3]: Очередной музыкальный инструмент
От: aik Австралия  
Дата: 03.08.05 06:38
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

>> сильно въезжать в c++ имхо уже не стоит, лучше эти силы потратить на .net/java. имхо (!!!) c++ долго не протянет, слишком сложный и корявый язык получился.

ПК>Интересно, что подобные же предсказания делались, когда Java только-только вышла. Уже прошло прилично времени, а на десктопах ее по-прежнему не особенно заметно.

С жавой заминка вышла потому что ее не MS продвигает
Зато КАЖДАЯ новая мобила умеет исполнять жава-аплеты, кроме уж откровенно дешевых.
Re: Очередной музыкальный инструмент
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.08.05 06:41
Оценка: +1 -1
Здравствуйте, beerserg, Вы писали:

B>И вот еще что: большинству присутствующих здесь гуру, как я понимаю, легко советовать, имея за спиной базовый опыт C/C++/MFC/ATL/COM/ActiveX/WinAPI, а что делать салагам


Я скажу так. Несомненно на сегодня ценность специалиста знающего "C/C++/MFC/ATL/COM/ActiveX/WinAPI" намного выше чем знающего какой-то один другой язык и умеющий вести разработку ПО на нем (имеется в иду не ламер, а действительно специалист). Однако чем дальше в лес, тем меньше эти технолгии нужны. К тому же их можно смело изучать параллельно.

В конце концов "C/WinAPI" это в сотни раз проще чем современных хардкорный С++ в стиле Александреску. По существу С — это подмножество C#. За неотороым исключением: расширенный прероцессор, опасные конструкции (за исключением указателей), необходимость предварительной декларации и, пожалуй, старый Ричевский синтаксис который еще порою встречается в программах.

MFC/ATL знать вообще не имеет смысла. Это технологии явно прошлого века. На том же C# можно с успехом создавать COM-объекты. Причем COM в дотнете выглядит довольно прозрачно. К концепциям того же Шарпа добавляется всего ничего (декларативное описание класса атрибутами).

ActiveX? Он как и MFC/ATL смысла в будущем не имеет. Даже контолы Винформсов намного более удобны, надежны и гибки.

В общем, я бы на месте начинающего виндовс-программиста изучил бы C#, а пот по тихоничку доучил бы: C, COM, WinAPI и C++ (в приведенном порядке). За одно было бы неплохо изучить и какой-нибудь функциональный язык (ФЯ), так как это действительно позволяет мыслить более широко (несколько иначе чем вслит обычный императивный программист). Кстати, изучение ФЯ позволо бы избежать комплек помешанности на крутости С++, так как почти любой ФЯ демонстрирует то что все супер-мега-крутости С++ это всего лишь жалкая породия на оригиналы из других языков.

Ну, а возможность использования в дотнете разных языков позволит решать задачи наиболее эффективно и безопасно.
... << RSDN@Home 1.2.0 alpha rev. 591>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Очередной музыкальный инструмент
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.08.05 06:41
Оценка:
Здравствуйте, kittown, Вы писали:

K>В общем, сдается мне, что "мейнстрим" — это химера. Нет никакого

K>такого мейнстрима, а весь софтодевелопмент представляет собой
K>большое количество более или менее узких ниш, более чем на 90%
K>состоящих из поддержки и инкрементальной доработки уже
K>существующих систем.

От части ты прав. Но всегда есть языки/технолгии которые привалируют. Они и являются мэйнстримом на данном промежутке времени.

Что же касается твоего примера, то он имеет два изяна. Первый — ГУИ-оболочки начали писать давно. В те времена предвзятость к С++ была очень высокой, небыло эффективных компиляторов С++ и сам язык был далеко не тем чем он стал после 2000-го года. Второй — все что связанно с ОС всегда считалось системными задачами и люди то ли от косности, то ли от чувства единообразия пытались писать все чт связано с ОС на языке на котором написана сама ОС.

Но времена меняются. С++ уже плотно вошел в околосистемный мир. В NT Explorer уже давно пишется на С++. В Линуксе тоже не мло делается на С++. Новая версия NT — Longhorn вообще содержит море дотнетного-кода основаная часть которого написана на C#.

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

Ну, а дотнет (или Ява) как движок для современного ПО — это, по-моему, очень верное направление. Опять же не все пока что гладко. И оптимизации нужны. И возможности кое где можно было бы расширить. Но в цело...
... << RSDN@Home 1.2.0 alpha rev. 591>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.