Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Офтопик > Мысли вслух
Перезагрузить страницу C vs C++ чем они отличаются друг от друга
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
c++ c++ вне форума
Member
 
Сообщений: 962
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 31.12.2003
По умолчанию C vs C++ чем они отличаются друг от друга - 01.11.2005, 01:08

http://hacknet.spb.ru/html/review/001/03_bjstrous.html
Ваши мысли?
P.S. Интервью, скорее всего, вымышленное, интересен сам подход.
Ответить с цитированием
  (#2 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию Re: C vs C++ ! - 01.11.2005, 01:16

Цитата:
Originally posted by c++
[b]http://hacknet.spb.ru/html/review/001/03_bjstrous.html
Ваши мысли?
P.S. Интервью, скорее всего, вымышленное, интересен сам подход.
Обсуждалось на форуме уже неоднократно.
Это прикол. Хорошая, интересная хохма.
Ответить с цитированием
  (#3 (permalink)) Старый
Dian Dian вне форума
Member
 
Сообщений: 5,243
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2004
По умолчанию 01.11.2005, 06:19

Реальная фишка. Нужно было сразу в юмор.

А ведь так оно и есть
Ответить с цитированием
  (#4 (permalink)) Старый
c++ c++ вне форума
Member
 
Сообщений: 962
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 31.12.2003
По умолчанию 02.11.2005, 03:04

Странно, но, видимо, прочтя эту тему, все обратили внимание на статью, т.е. на слова "Страуструп" как Создатель С++ (в общем, что это "хохма"), но не увидили некоторой реальной проблемы.
Вот расскажу про себя. Где-то три месяца назад я заметил за собой странную вещь. Мне стало противно писать на С++. Я старался находить возможность написать на С какие-нибудь небольшие модули. Причем у меня это вызывало просто детскую радость - я готов был просто прыгать от счастья, что я не видел у себя слов "class", this было обычное имя (как любят делать многие опенсурсники), файл был с расширением "с". Причем неважно, что этот код был не отлажен - я просто на него смотрел и не мог поверить, что тут нет этого достающего меня в последнее время С++!
Потом я понял, почему мое подсознание так себя странно вело. Может быть, я понял, зачем некоторые применяют так называемый стиль объектно-ориентированного программирования на языке С (пользователям Linux наверняка знаком проект xine).
Потому, что С++ отвлекает от реальной задачи. Программист сразу начинает строить какие-то перегруженные конструкции, использовать шаблоны и т.п., и у него просто зачастую не остается сил на сами алгоритмы, технологии, предлагаемые разработчиком операционной системы. Все силы, фактически, тратятся на ЛИЧНОСТЬ программиста, а не на предмет его работы и изучения. Это крайне плохо для организаций. Абсолютно верно в "хохме" - С++ должен оправдать программиста, а не задачу.
И вот когда ты это понимаешь, что, тратя время на С++, ты не получаешь знаний, а просто городишь какте-то конструкции, не изучаешь подробности ОС (а это уже как себя ставишь - начальник будет думать - вот, он любит С++, поэтому все технологии отдаем другому человеку, а этот реализовывает так сказать независимое ядро, ну т.е. просто пишет что-то свое с нуля), то это просто траур! Теряешь время не на реально применимые знания! Это должно быть у каждого человека в голове, кто решил написать что-то, используя очень сложные моменты языка С++. Человек, правда, может это принимать, т.к. в данный текущий момент на данном рабочем месте это требуется.
У меня не очень серьезный опыт в познании "философий" программирования. Думаю, что подобным явлением многие встречались.
Ваши мысли?
Thanx.
Ответить с цитированием
  (#5 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию 02.11.2005, 12:41

c++, то, что ты привёл - оценки субъективные.
И отнести их можно только к конкретным людям.
Говоря о всех программистах вообще ты поступаешь несколько некорректно, ИМХО.

А вот этого я вообще не понял:
Цитата:
Originally posted by c++
[b]Потому, что С++ отвлекает от реальной задачи. Программист сразу начинает строить какие-то перегруженные конструкции, использовать шаблоны и т.п., и у него просто зачастую не остается сил на сами алгоритмы, технологии, предлагаемые разработчиком операционной системы. Все силы, фактически, тратятся на ЛИЧНОСТЬ программиста, а не на предмет его работы и изучения.
Поясни. И аргументируй.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Alex437 Alex437 вне форума
Member
 
Сообщений: 952
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.08.2005
По умолчанию 02.11.2005, 12:54

Цитата:
Originally posted by c++
[b]Причем неважно, что этот код был не отлажен - я просто на него смотрел и не мог поверить, что тут нет этого достающего меня в последнее время С++!
Да уж объективности тут маловато

Вообще что удобнее, процедурный язык или объектно-ориентированный, - это от склада ума зависит. Если тебе удобнее на процедурном писать - ну так и пиши на здоровье. А мне например те же шаблоны и другие примочки нередко очень облегчают жизнь.
Ответить с цитированием
  (#7 (permalink)) Старый
voodOOpeople voodOOpeople вне форума
Member
 
Сообщений: 1,038
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.08.2004
По умолчанию 02.11.2005, 14:30

А мне вот нравится вся "линейка" сей: C, С++ и даже C#. У каждого языка есть свои преимущества перед остальными.
Ответить с цитированием
  (#8 (permalink)) Старый
Dian Dian вне форума
Member
 
Сообщений: 5,243
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2004
По умолчанию 02.11.2005, 15:56

ООП считается удобнее процедурного подхода, причем, вполне заслуженно. Я тут недавно писал о "критической массе кода". Словом, инструмент очень мощный, а потому неправильное его применение может привести к весьмо плачевным последствиям.
Ответить с цитированием
  (#9 (permalink)) Старый
c++ c++ вне форума
Member
 
Сообщений: 962
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 31.12.2003
По умолчанию 03.11.2005, 04:22

Цитата:
Originally posted by Garik
[b]c++, то, что ты привёл - оценки субъективные.
И отнести их можно только к конкретным людям.
Если ты имел ввиду по-поводу потери времени, то вот как я думаю.
Сделаем предположение, которое в реальной ситуации, на мой взгляд, практически всегда верно: если программисту нравится сложный язык программирования, то ему даются задания по тому, что ему нравится, т.е. те задачи, где требуется сложные навороты. Тем программистам, которым не нравится применять сложные конструкции языка (обычно это бывает по причине "ненависти" к теоретизму - сколько раз я помню, когда что-то спрашиваешь по языку у таких людей, их ответ: "это все теория, как можно только о таком думать!"), назначаются задачи, касаемые самого результата разработки, т.к. эти люди более нацелены на результат. Пример: разработка скин-системы. Что достанется программисту-любителю языка? Конечно же, само ядро, там можно обычно шаблоны применить, абстрактные какие-нибудь контролы, абстрактные операции и т.п. Что достанется программисту второго типа? Парсинг настроек, вывод на экран, взаимодействие с ядром системы. Теперь подумаем, кто более "ликвиден" и, в то же время, востребован больше? Очевидно, что второй. Он изучает технологии, первый же не изучает ничего. Он решает узкоспециализированную задачу, которая, наиболее вероятно, в другой системе даже и не потребуется.
Я как-то помню, работал в организации, где реализовывал небольшой фреймворк по математическим задачам (интерполяция). Там были очень интересные конструкции С++. Но ровно ноль по технологиям. Что получилось в конце? Когда я оттуда ушел, я вдруг понял, что у меня элементарно не прибавилось... опыта программирования!
Страшно то, что это как снежный ком. Руководитель такому программисту ни за что не даст задачу техническую. Потому что это не выгодно. Далее, что касается денег, такие люди должны получать мало денег. Потому что можно взять человека без опыта работы, который просто аккуратно программирует, рассказать, что такое работать в команде (дать почитать требования к разработке) и все. Получается то же самое.
Далее, у кого из них более присутствует "мироощущение в программировании", если так можно выразиться, хехе. Т.е. кто может и знает, как написать программу с нуля. Опять же, второй. У него есть опыт в технологиях, а у первого нет ничего. Конечно, способностей к проектированию у первого, вероятно, меньше, и если он все это один будет реализовывать, то эта система не будет расширяемой, она тяжело модифициуема, но она гарантировано будет работать. Первый же потратит огромное количество времени на изучение требуемых технологий. Опять же, первым быть невыгодно.

Цитата:
Originally posted by Garik
[b]А вот этого я вообще не понял:
c++ писал(а):
Потому, что С++ отвлекает от реальной задачи. Программист сразу начинает строить какие-то перегруженные конструкции, использовать шаблоны и т.п., и у него просто зачастую не остается сил на сами алгоритмы, технологии, предлагаемые разработчиком операционной системы. Все силы, фактически, тратятся на ЛИЧНОСТЬ программиста, а не на предмет его работы и изучения.

Поясни. И аргументируй.
Да тут, мне кажется, все просто: чем проще язык, тем больше времени на реализацию конечного продукта, т.е. нацеленность на результат. Чем сложнее язык, тем программист в нем все больше "закапывается" и начинает развивать какие-то свои шаблоны проектирования и т.п. Т.е. у такого больше шансов "идти по своему пути". В этом смысле я имел ввиду трата времени на личность. Т.е. это крайний аутизм, который работодателю не думаю что выгоден.
Ответить с цитированием
  (#10 (permalink)) Старый
Dian Dian вне форума
Member
 
Сообщений: 5,243
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2004
По умолчанию 03.11.2005, 05:34

Цитата:
Originally posted by c+++-->
Цитата:
кто может и знает, как написать программу с нуля
Потому что часть порграммы, которую он писал, была некоторым интерфейсом сложного ядра?
<!--QuoteBegin-c++

[b]Конечно, способностей к проектированию у первого, вероятно, меньше...
Использование шаблонов проектирования и т.п. говорит о более серьъзном подходе к проектированию. Чтобы "идти своим путем", и это было лучше накопленного многими людьми опыта, нужно быть как минимум гением.
Ответить с цитированием
  (#11 (permalink)) Старый
voodOOpeople voodOOpeople вне форума
Member
 
Сообщений: 1,038
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.08.2004
По умолчанию 03.11.2005, 06:33

2 с++
По статистическим данным большинство программистов на С++ используют от силы 50% возможностей языка, так что аутизмом на самом деле мало кто страдает. Коме того у приплюснутого больше возможностей и удобства по повторному использованию кода и поддержке ПО (то есть изменению отдельных частей программ без затрагивания остальных), чем у процедурных языков. И это преимушество проявляестя как раз в большей степени у твоего первого случая програмиста так как он лучше знает язык.

ЗЫ Хотя с# для прикладных программ вроде получше плюсов.
Ответить с цитированием
  (#12 (permalink)) Старый
Alex437 Alex437 вне форума
Member
 
Сообщений: 952
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.08.2005
По умолчанию 03.11.2005, 11:03

Цитата:
Originally posted by c++
[b]Да тут, мне кажется, все просто: чем проще язык, тем больше времени на реализацию конечного продукта, т.е. нацеленность на результат. Чем сложнее язык, тем программист в нем все больше "закапывается" и начинает развивать какие-то свои шаблоны проектирования и т.п.
В жизни не слышал большего абсурда. Чем мощнее инструмент, тем легче достигается конечная цель. Если конечно с этим инструментом уметь обращаться. Бывает конечно, что новички в программировании поначалу излишне усложняют код, чтобы повыпендриваться. Но это их проблемы.

Цитата:
Originally posted by voodOOpeople
[b]ЗЫ Хотя с# для прикладных программ вроде получше плюсов.
Но у c# пока хуже с переносимостью.
Ответить с цитированием
Ads
  (#13 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию 03.11.2005, 13:07

Цитата:
Originally posted by c++
[b]Да тут, мне кажется, все просто: чем проще язык, тем больше времени на реализацию конечного продукта, т.е. нацеленность на результат. Чем сложнее язык, тем программист в нем все больше "закапывается" и начинает развивать какие-то свои шаблоны проектирования и т.п. Т.е. у такого больше шансов "идти по своему пути". В этом смысле я имел ввиду трата времени на личность. Т.е. это крайний аутизм, который работодателю не думаю что выгоден.
Субъективная оценка.
Откуда такие данные? Проводил статистическое исследование?
Ответить с цитированием
  (#14 (permalink)) Старый
Vladimir the Red Sunny Vladimir the Red Sunny вне форума
Member
 
Сообщений: 4,232
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.05.2003
По умолчанию 03.11.2005, 14:16

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

Цитата:
В жизни не слышал большего абсурда. Чем мощнее инструмент, тем легче достигается конечная цель.
Почему же абсурда? Человек же так и пишет:
Цитата:
тем больше времени на реализацию конечного продукта
Ответить с цитированием
  (#15 (permalink)) Старый
Alex437 Alex437 вне форума
Member
 
Сообщений: 952
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.08.2005
По умолчанию 03.11.2005, 14:24

[quote]
Почему же абсурда? Человек же так и пишет:
Цитата:
Я вот как-то тоже редко использую навороты языка... Шаблоны, там, к примеру. Сколько раз операторы перегружал - вообще можно по пальцам пересчитать.
А хоть классы-то ты используешь?
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать так что бы корабли стреляли друг в друга mrleoneed Pascal 3 04.12.2011 17:55
Шрифты наплывают друг на друга. Paster Fob Любые вопросы от новичков 8 19.11.2010 11:15
Как подключить 2 компьютра к Интернету независимо друг от друга? ok-01 Сетевые подключения 11 02.01.2009 11:41
Можно ли чтобы от одной видеокарты работало два монитора, независимо друг от друга? Ramzes505 Любые вопросы от новичков 7 04.12.2008 13:08
Комьютеры одной рабочей группы не видят друг друга, в чем причина? jet Любые вопросы от новичков 1 24.07.2008 00:14
Если комбобоксов больше одного то ITEMS в боксах начинают налезать друг на друга 095 Delphi 0 25.10.2007 18:01
Расставить N ферзей таким образом, чтобы они не атаковали друг друга mo7 Lisp 4 21.05.2007 12:07
На доске 4х4 расставить 4 слона так, чтобы они все находились не под ударом друг друг VNataliaV Lisp 2 24.05.2006 15:44
Visual и MSDN не видят друг друга Rider Visual C++ 8 17.05.2005 12:20
MFC 6.0 & 7.1 чем отличаются эти версии друг от друга Anonymous Visual C++ 1 13.01.2004 23:44
Как сделать что бы окна зависили друг от друга Anonymous WinAPI 1 21.11.2003 06:02
CGI и С++ чем они отличаются друг от друга default С/С++ 1 14.10.2003 19:01



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов