Почему я не люблю C++
От: Аноним  
Дата: 26.01.05 15:06
Оценка: 2 (2) +1 -1
Давно уже пишу на С++, и чем больше работаю с этим языком, чем вернее убеждаюсь, что этот язык — большпя спекуляция... Для решения конкретных практических проблем этот язык слишком перегружен и непоследователен. Берём Java, С#, тот же VB горячо любимый — изучаешь за пару недель и спокойно пользуешься. Не надо каждый месяц убеждаться, что что-то ты не знаешь, нету геморроя с перегрузкой, правилами инстанциирования шаблонов, мучительным выбором что имеено использовать — потоки std или Сишные потоки и многое многое другое, не надо разбираться с проблемами при генерации исключений... Постоянно натыкаешьяся на мысль что ты не знаешь языка — что то совершенно не очевидно и не до конца понятно, а зачем мне разбираться пол жизни с языком когда передо мной стоят более прозаичные проблемы — решить конкретную прикладную задачу. Зачем эти горы спекулятивных книг типа Александреску, написанных с одной целью — показать что я могу так извернуться, что вы нихрена не ппоёмёте Зачем это всё ?! Переносимости у С++ нет до сих пор — элементарно даже исходники не затачиваются под конкретный компилятор, про объектные модули я даже не заикаюсь... Зачем проблемы на пустом месте ? Если я захочу низкоуровневый интерфейс то возьму С, в котором несколько простых ивполне очевидных правил и сделаю всё что я захочу — в том числе никто и не мешает писать в ООП стиле... Если я захочу красивого ООП и высооуровневых конструкций то возьму C#, Java или VB... Где место С++ если исходить из банального прогматизма а показать как круто ты можешь кодировать что никто не разберётся в твоих извращённых конструкциях ?

ЗЫ Это так, о наболевшем Сам пишу на С++ в основном, хотя переползаю на С# и С

27.01.05 13:53: Перенесено из 'Прочее'
Re: Почему я не люблю C++
От: Myk Украина  
Дата: 26.01.05 15:25
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>Давно уже пишу на С++, и чем больше работаю с этим языком, чем вернее убеждаюсь, что этот язык — большпя спекуляция... Для решения конкретных практических проблем этот язык слишком перегружен и непоследователен. Берём Java, С#, тот же VB горячо любимый — изучаешь за пару недель и спокойно пользуешься. Не надо каждый месяц убеждаться, что что-то ты не знаешь, нету геморроя с перегрузкой, правилами инстанциирования шаблонов, мучительным


А>ЗЫ Это так, о наболевшем Сам пишу на С++ в основном, хотя переползаю на С# и С


А мне даже очень нравится каждый день познавать в С++ что-то новое, хотя пишу на нем уже более 3-х лет
На С# вообще не хочу переходить. Когда писал на нем проект — получил массу НЕудовольствия. Да, некоторые моменты быстрее, но кафйа от программирования никакого.
С++ форевер! Хотя мне кажется эта тема уже неплохо объезжена на рсдн.
Re[2]: Почему я не люблю C++
От: Аноним  
Дата: 27.01.05 07:39
Оценка:
Здравствуйте, Myk, Вы писали:

Myk>Здравствуйте, Аноним, Вы писали:


А>>Давно уже пишу на С++, и чем больше работаю с этим языком, чем вернее убеждаюсь, что этот язык — большпя спекуляция... Для решения конкретных практических проблем этот язык слишком перегружен и непоследователен. Берём Java, С#, тот же VB горячо любимый — изучаешь за пару недель и спокойно пользуешься. Не надо каждый месяц убеждаться, что что-то ты не знаешь, нету геморроя с перегрузкой, правилами инстанциирования шаблонов, мучительным


А>>ЗЫ Это так, о наболевшем Сам пишу на С++ в основном, хотя переползаю на С# и С


Myk>А мне даже очень нравится каждый день познавать в С++ что-то новое, хотя пишу на нем уже более 3-х лет


Если программирование ради программирование то С++ — то что надо — единственное наверное в своём жанре, но для решения конкретнх прикладных задач когда хочется получить результат не в виде просто красивого или изощрённого кода, а кокретных расчётов или работающей программы — я выбираю то что понятнее и проще
Re: Почему я не люблю C++
От: Nikolaus Россия  
Дата: 28.01.05 07:35
Оценка: +1 -1
Здравствуйте, <Аноним>, Вы писали:

Только что была проблема: перменной типа system.intptr присвоить 1, что VB.NET делать не хотел
пришлось ковырять MSDN и находить конвертор, который intellisens'ом не показывается.

На C++ я бы просто записал то, что надо.
... << Rsdn@Home 1.1.4 beta 1 >>
Re: Почему я не люблю C++
От: alkor  
Дата: 28.01.05 10:29
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Если я захочу красивого ООП и высооуровневых конструкций то возьму C#, Java или VB...


Что касается Java: в последней версии этот язык сильно усложнился (в основном из-за
кривых generic'ов, как и в С++ появились конструкции которые "без бутылки" не поймешь).
IMHO java спецификация все распухает и распухает, скоро превратится в еще
один C++ (С++ 21 века )
Re: Почему я не люблю C++
От: AndrewJD США  
Дата: 29.01.05 12:04
Оценка: :)
Здравствуйте, Аноним, Вы писали:

А> Для решения конкретных практических проблем этот язык слишком перегружен и непоследователен. Берём Java, С#, тот же VB горячо любимый — изучаешь за пару недель и спокойно пользуешься.


Твой выбор — Оберон, одназначна
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re: Почему я не люблю C++
От: Awaken Украина  
Дата: 01.02.05 09:45
Оценка: +2
>конкретную прикладную задачу. Зачем эти горы спекулятивных книг типа Александреску, написанных с одной целью — показать что я могу так >извернуться, что вы нихрена не ппоёмёте Зачем это всё ?! Переносимости у С++ нет до сих пор — элементарно даже исходники не

эти "шаблонные извращения" имеют одну весьма прагматичную цель — увеличить степень повторного использования кода,
и избавиться от плохой практики копи-паст программирования (неизбежной в других языках где шаблонов нет)
Re[3]: Почему я не люблю C++
От: Михаил  
Дата: 10.02.05 01:13
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Если программирование ради программирование то С++ — то что надо — единственное наверное в своём жанре, но для решения конкретнх прикладных задач когда хочется получить результат не в виде просто красивого или изощрённого кода, а кокретных расчётов или работающей программы — я выбираю то что понятнее и проще


Есть обратный опыт. Чем сложнее алгоритм, тем больше выигрыш в удобочитаемости, времени разработки и т.п. Для меня это самый лаконичный и понятный язык.
На "линейных" задачах (типа копать от забота и до обеда) конечно лучше VB и ему подобные макроязыки. Но в более сложных ситуациях рулят плюсы, однозначно. Там, где "другие не могут".
...А отсюда наливаем, когда рецепт написан совсем неразборчиво...
Re: Почему я не люблю C++
От: Dirichlet Россия  
Дата: 10.02.05 12:58
Оценка:
Вот-вот. С++ — это круто. Исключения, шаблоны, классы, ООП — здорово. Вот только при взаимодействии между dll-ями C++ превращается в самый что ни на есть обычный С. И вообще, при разбиении достаточно большого проекта на независимые части на "стыке" этих частей IМНО нет места шаблонам, исключениям, классам, выделяющим память с помощью malloc/new и т.д.

Ну и наконец. Кто за какое время сможет без компилятора найти ошибку:

const char * c_str = "abcde.fghij";
std::string str( c_str, strchr( c_str, '.' ) );
Re[2]: Почему я не люблю C++
От: Amethyst  
Дата: 10.02.05 16:44
Оценка:
Здравствуйте, Dirichlet, Вы писали:

D>Ну и наконец. Кто за какое время сможет без компилятора найти ошибку:

Хороший пример плохого кода с точки зрения naming conventions. Я бы не стал указатель на строку обзывать тем же именем, что и метод стринга.
Могу привести другой пример из модной ныне жабы. Попробуй без компилятора догадаться, что будет напечатано на экране.

public class A
{
  private static Random rnd = new Random();

  public static void main(String[] args) {
     StringBuffer word = null;

     switch(rnd.nextInt(2)) {
        case 1:  word = new StringBuffer('P');
        case 2:  word = new StringBuffer('G');
        default: word = new StringBuffer('M');
     }
     word.append('a');
     word.append('i');
     word.append('n');
     System.out.println(word);
   }
}
Почему добро всегда побеждает зло? Потому что историю пишут победители.
Re[2]: Почему я не люблю C++
От: Stoune  
Дата: 14.02.05 01:55
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>Здравствуйте, Аноним, Вы писали:


А>> Для решения конкретных практических проблем этот язык слишком перегружен и непоследователен. Берём Java, С#, тот же VB горячо любимый — изучаешь за пару недель и спокойно пользуешься.


AJD>Твой выбор — Оберон, одназначна


Python форева.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[2]: Почему я не люблю C++
От: Михаил  
Дата: 14.02.05 02:26
Оценка:
Здравствуйте, Dirichlet, Вы писали:

D>Вот-вот. С++ — это круто. Исключения, шаблоны, классы, ООП — здорово. Вот только при взаимодействии между dll-ями C++ превращается в самый что ни на есть обычный С. И вообще, при разбиении достаточно большого проекта на независимые части на "стыке" этих частей IМНО нет места шаблонам, исключениям, классам, выделяющим память с помощью malloc/new и т.д.


mfc42.dll

D>Ну и наконец. Кто за какое время сможет без компилятора найти ошибку:


D>
D>const char * c_str = "abcde.fghij";
D>std::string str( c_str, strchr( c_str, '.' ) );
D>


Не надо так писать. Не надо мучаться.
...А отсюда наливаем, когда рецепт написан совсем неразборчиво...
Re: Почему я не люблю C++
От: d Bratik  
Дата: 17.02.05 19:16
Оценка: +1 :))
Привет, товарищ по несчастью.

Вся кривизна С++ вылезает, когда пишется система с GUI. Правильно Вирт говорит — "дом, построенный на песке".
Re[2]: Почему я не люблю C++
От: Антон Б Россия  
Дата: 18.02.05 08:04
Оценка:
Здравствуйте, d Bratik, Вы писали:

DB>Привет, товарищ по несчастью.


DB>Вся кривизна С++ вылезает, когда пишется система с GUI. Правильно Вирт говорит — "дом, построенный на песке".


Ну вот хоть кто-то Вирта помянул. Устроился недавно на работу в контору, которая пишет здоровую ИС на С++. Поймал себя на мысли что я думаю не о реализации нужной логики, а о том как мне извернутьсяи что все эти скобочки и звездочки означают
Re[2]: Почему я не люблю C++
От: BioUnit Россия  
Дата: 18.02.05 12:16
Оценка:
Здравствуйте, d Bratik, Вы писали:

DB>Привет, товарищ по несчастью.


DB>Вся кривизна С++ вылезает, когда пишется система с GUI. Правильно Вирт говорит — "дом, построенный на песке".


А что значит "система с GUI"?
И чем GUI так отличается от других областей применения?
И ещё, приводи примеры кривизны и как она вылезает, только не такой бред, который ты запостил в другой ветке. Желательно ещё и с примерами на других менее кривых по-твоему языках.
Думаю, видя конкретные примеры, можно будет показать, что это не кривизна С++ вылезает, а чего-то другого.
Re[4]: Почему я не люблю C++
От: BioUnit Россия  
Дата: 18.02.05 12:19
Оценка:
Здравствуйте, Михаил, Вы писали:

М>Здравствуйте, Аноним, Вы писали:


А>>Если программирование ради программирование то С++ — то что надо — единственное наверное в своём жанре, но для решения конкретнх прикладных задач когда хочется получить результат не в виде просто красивого или изощрённого кода, а кокретных расчётов или работающей программы — я выбираю то что понятнее и проще


М>Есть обратный опыт. Чем сложнее алгоритм, тем больше выигрыш в удобочитаемости, времени разработки и т.п. Для меня это самый лаконичный и понятный язык.

М>На "линейных" задачах (типа копать от забота и до обеда) конечно лучше VB и ему подобные макроязыки. Но в более сложных ситуациях рулят плюсы, однозначно. Там, где "другие не могут".

Для того, что бы нарезать колбасы необязательно доставать все лезвия швецарского ножа, но и необязательно таскать с собой обычный кухонный нож.
Надеюсь, метафора понятна?
Re[2]: Почему я не люблю C++
От: scf  
Дата: 18.02.05 21:39
Оценка: +1 :)
Здравствуйте, d Bratik, Вы писали:

DB>Привет, товарищ по несчастью.


DB>Вся кривизна С++ вылезает, когда пишется система с GUI. Правильно Вирт говорит — "дом, построенный на песке".


А кто говорил, что С++ — это просто? Да, его тяжело выучить, приходится ДУМАТЬ, прогая на нём.
Устоявшееся мнение "программер с пивом" никак не относится к программистам на С++
Лично я способен стерпеть от С++ любые недоделки и сложность ради изящности, с которой решается кажущаяся неразрешимой проблема, стоит лишь подумать...
Re: Почему я не люблю C++
От: csvb  
Дата: 19.02.05 08:07
Оценка: -1 :)
Здравствуйте, Аноним, Вы писали:

А>Давно уже пишу на С++, и чем больше работаю с этим языком, чем вернее убеждаюсь, что этот язык — большпя спекуляция... Для решения конкретных практических проблем этот язык слишком перегружен и непоследователен. Берём Java, С#, тот же VB горячо любимый — изучаешь за пару недель и спокойно пользуешься. Не надо каждый месяц убеждаться, что что-то ты не знаешь, нету геморроя с перегрузкой, правилами инстанциирования шаблонов, мучительным выбором что имеено использовать — потоки std или Сишные потоки и многое многое другое, не надо разбираться с проблемами при генерации исключений... Постоянно натыкаешьяся на мысль что ты не знаешь языка — что то совершенно не очевидно и не до конца понятно, а зачем мне разбираться пол жизни с языком когда передо мной стоят более прозаичные проблемы — решить конкретную прикладную задачу. Зачем эти горы спекулятивных книг типа Александреску, написанных с одной целью — показать что я могу так извернуться, что вы нихрена не ппоёмёте :))) Зачем это всё ?! Переносимости у С++ нет до сих пор — элементарно даже исходники не затачиваются под конкретный компилятор, про объектные модули я даже не заикаюсь... Зачем проблемы на пустом месте ? Если я захочу низкоуровневый интерфейс то возьму С, в котором несколько простых ивполне очевидных правил и сделаю всё что я захочу — в том числе никто и не мешает писать в ООП стиле... Если я захочу красивого ООП и высооуровневых конструкций то возьму C#, Java или VB... Где место С++ если исходить из банального прогматизма а показать как круто ты можешь кодировать что никто не разберётся в твоих извращённых конструкциях ?


А>ЗЫ Это так, о наболевшем :) Сам пишу на С++ в основном, хотя переползаю на С# и С ;)


Кто ж его любит ...
С C++ как с Microsoft или как с проституткой (кому как удобнее):
никто не любит, но многие используют.
Re[3]: Почему я не люблю C++
От: henson Россия http://www.njt-rails.com
Дата: 19.02.05 08:50
Оценка:
Здравствуйте, Amethyst, Вы писали:

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


D>>Ну и наконец. Кто за какое время сможет без компилятора найти ошибку:

A>Хороший пример плохого кода с точки зрения naming conventions. Я бы не стал указатель на строку обзывать тем же именем, что и метод стринга.
A>Могу привести другой пример из модной ныне жабы. Попробуй без компилятора догадаться, что будет напечатано на экране.

A>
A>public class A
A>{
A>  private static Random rnd = new Random();

A>  public static void main(String[] args) {
A>     StringBuffer word = null;

A>     switch(rnd.nextInt(2)) {
A>        case 1:  word = new StringBuffer('P');
A>        case 2:  word = new StringBuffer('G');
A>        default: word = new StringBuffer('M');
A>     }
A>     word.append('a');
A>     word.append('i');
A>     word.append('n');
A>     System.out.println(word);
A>   }
A>}
A>


А в чем прикол?
Re: Почему я не люблю C++
От: henson Россия http://www.njt-rails.com
Дата: 19.02.05 09:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>ЗЫ Это так, о наболевшем Сам пишу на С++ в основном, хотя переползаю на С# и С



Да люблю я C++, особенно после обычного C на котором недавно пришлось писать прошивку для терминала сбора данных на складе.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.