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


Автор: Mazanakisicq 13.9.2011, 15:35
Привет всем!
Все метаюсь перед выбором изучения языка программирования. Просто хочется не тупо выучить а выучить что бы затем развиваться как то а затем что бы была основа для изучения других языков. C++ начал учить узнал самые банальные основы понравилось очень. C# тоже не хуже. Не знаю за что браться. 
Прозьба не холиварить а расписать свое мнение по существу.

Спасибо всем!

Автор: newbee 13.9.2011, 15:42
За C# лежит .NET. Это с одной стороны и его плюс, и минус. Это понимание придет тебе позже. А для начала лучше учи Scheme.

Автор: Mazanakisicq 13.9.2011, 16:09
Цитата(newbee @ 13.9.2011,  15:42)
За C# лежит .NET. Это с одной стороны и его плюс, и минус. Это понимание придет тебе позже. А для начала лучше учи Scheme.

Спасибо за ответ, но я имею небольшой опыт по программированию на PHP а Pascal вообще наизусть знаю. Так что мне нужен обоснованный ответ на вопрос "Что выбрать C++ или C#"

Автор: newbee 13.9.2011, 16:18
Цитата(Mazanakisicq @  13.9.2011,  17:09 Найти цитируемый пост)
Спасибо за ответ, но я имею небольшой опыт по программированию на PHP а Pascal вообще наизусть знаю. Так что мне нужен обоснованный ответ на вопрос "Что выбрать C++ или C#" 
Тогда обосновывай, с какой целью ты выбираешь язык, какие приложения на нем писать собираешься, под какие платформы, почему отказываешься от пхп и паскаля...

Добавлено через 1 минуту и 23 секунды
На результаты голосвания можешь не смотреть кстати, ты ж запостил в раздел С++, тут других мнение и быть не может smile

Модераторам наверное нужно перенести тему в какой-то более общий раздел...

Автор: Mazanakisicq 13.9.2011, 16:22
Цитата(newbee @ 13.9.2011,  16:18)
Цитата(Mazanakisicq @  13.9.2011,  17:09 Найти цитируемый пост)
Спасибо за ответ, но я имею небольшой опыт по программированию на PHP а Pascal вообще наизусть знаю. Так что мне нужен обоснованный ответ на вопрос "Что выбрать C++ или C#" 
Тогда обосновывай, с какой целью ты выбираешь язык, какие приложения на нем писать собираешься, под какие платформы, почему отказываешься от пхп и паскаля...

Ну я хочу учить серьезный прикладной язык. На котором смогу писать кросс-платформенные приложения. И который послужит основой для изучения других языков и технологий.
От Паскаля отказался по причине его старости и просто бессмысленности его дальнейшего изучения и т.д
А PHP просто изучал и знаю достаточно что бы создать сайт. А потом смогу вернуться. Если буду знать какой нибудь огромный язык.    

Автор: newbee 13.9.2011, 16:23
Цитата(Mazanakisicq @  13.9.2011,  17:22 Найти цитируемый пост)
Ну я хочу учить серьезный прикладной язык. На котором смогу писать кросс-платформенные приложения.
Тогда выбирай С++. Кроссплатформенность C# под очень большим вопросом.

Автор: Mazanakisicq 13.9.2011, 16:25
Цитата(newbee @ 13.9.2011,  16:23)
Цитата(Mazanakisicq @  13.9.2011,  17:22 Найти цитируемый пост)
Ну я хочу учить серьезный прикладной язык. На котором смогу писать кросс-платформенные приложения.
Тогда выбирай С++. Кроссплатформенность C# под очень большим вопросом.

Спасибо за совет. Но хочу послушать других пользователей)))

Автор: newbee 13.9.2011, 16:26
Цитата(Mazanakisicq @  13.9.2011,  17:25 Найти цитируемый пост)
Спасибо за совет. Но хочу послушать других пользователей))) 
Пожалуйста. Я не против ;)

Автор: voral 13.9.2011, 16:39
Цитата(Mazanakisicq @  13.9.2011,  16:22 Найти цитируемый пост)
На котором смогу писать кросс-платформенные приложения. И который послужит основой для изучения других языков и технологий.

C++

Простой пример из личного опыта: есть у меня несколько проектов разной сложности. Без всяких исправлений компилируются для Linux, MacOS, Windows. Они с легкими изменениями, связанными с размерами экрана, так же компилируются для Symbian.  (Правда это с использованием фреймворка Qt).

К тому же если придётся заниматься системным программирование - не знаю как это на шарпе получится



ЗЫ Сегодня 0x100 день в году. С днем программиста!


Автор: 502 13.9.2011, 16:47
Цитата(Mazanakisicq @  13.9.2011,  16:22 Найти цитируемый пост)
От Паскаля отказался по причине его старости и просто бессмысленности его дальнейшего изучения и т.д

ну раз вы может делать такие выводы, то и советы вам не нужны smile 

Паскаль появился в:    1970
C++ появился в:    1983
C# появился в:  2001


Автор: Mazanakisicq 13.9.2011, 16:50
Цитата(502 @ 13.9.2011,  16:47)
Цитата(Mazanakisicq @  13.9.2011,  16:22 Найти цитируемый пост)
От Паскаля отказался по причине его старости и просто бессмысленности его дальнейшего изучения и т.д

ну раз вы может делать такие выводы, то и советы вам не нужны smile 

Паскаль появился в:    1970
C++ появился в:    1983
C# появился в:  2001

Возможно я не так выразился.
Я имел в виду то что на паскале не чего не зделаешь путного. Да и не кому он не нужен для работы. А C++ будет жить вечно. C# на мой взгляд большое будущее.

Автор: Фантом 13.9.2011, 16:57
Ну что же, поехали по пунктам:

Цитата(Mazanakisicq @  13.9.2011,  16:22 Найти цитируемый пост)

Ну я хочу учить серьезный прикладной язык.

Тогда годятся оба.

Цитата(Mazanakisicq @  13.9.2011,  16:22 Найти цитируемый пост)
На котором смогу писать кросс-платформенные приложения.

Все, о C# можно забыть. Это язык одной платформы (и то не всей - без .NET не обойтись, так что на старых версиях Windows тоже будут проблемы). Проекты портирования .NET под что-то еще (Mono, DotGNU и т.п.) развиваются с большими проблемами (как техническими, так и юридическими), и в целом очень популярно мнение, что овчинка не стоит выделки.

C++ годится.

Цитата(Mazanakisicq @  13.9.2011,  16:22 Найти цитируемый пост)
И который послужит основой для изучения других языков и технологий.

Вообще говоря, как базовые языки для обучения плохи оба. Чрезмерно сложный синтаксис, громадное количество возможностей, не лучшим образом состыкованных друг с другом... в общем, не стоит. C# немного лучше, но только по сравнению с C++ (где в этом отношении совсем "ужас-ужас").

Цитата(Mazanakisicq @  13.9.2011,  16:22 Найти цитируемый пост)
От Паскаля отказался по причине его старости и просто бессмысленности его дальнейшего изучения и т.д

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


Автор: 502 13.9.2011, 16:58
Цитата(Mazanakisicq @  13.9.2011,  16:50 Найти цитируемый пост)
Я имел в виду то что на паскале не чего не зделаешь путного. Да и не кому он не нужен для работы. А C++ будет жить вечно. C# на мой взгляд большое будущее. 

на Pascal(ну почти, Delphi) написан skype, можно еще нагуглить
C++http://forum.vingrad.ru/forum/topic-270712.html  smile 
у C# возможно и есть будущее, но http://forum.vingrad.ru/forum/topic-324743.html

Добавлено через 6 минут и 12 секунд
http://forum.vingrad.ru/forum/topic-283805/unread-1.html

Автор: Mazanakisicq 13.9.2011, 17:04
Цитата(502 @ 13.9.2011,  16:58)
Цитата(Mazanakisicq @  13.9.2011,  16:50 Найти цитируемый пост)
Я имел в виду то что на паскале не чего не зделаешь путного. Да и не кому он не нужен для работы. А C++ будет жить вечно. C# на мой взгляд большое будущее. 

на Pascal(ну почти, Delphi) написан skype, можно еще нагуглить
C++http://forum.vingrad.ru/forum/topic-270712.html  smile 
у C# возможно и есть будущее, но http://forum.vingrad.ru/forum/topic-324743.html

Ну с какой стороны посмотреть. Для Win на Delphi для Mac на Objective-C для Linux на C++/Qt но мне кажется что если бы они отказались от делфи и зделали его на C++ для win было бы еще лучше.

Автор: 502 13.9.2011, 17:06
Цитата(Mazanakisicq @  13.9.2011,  17:04 Найти цитируемый пост)
Ну с какой стороны посмотреть. Для Win на Delphi для Mac на Objective-C для Linux на C++/Qt но мне кажется что если бы они отказались от делфи и зделали его на C++ для win было бы еще лучше. 

почему, какие аргументы?

Автор: Mazanakisicq 13.9.2011, 17:08
Цитата(502 @ 13.9.2011,  16:58)
Цитата(Mazanakisicq @  13.9.2011,  16:50 Найти цитируемый пост)
Я имел в виду то что на паскале не чего не зделаешь путного. Да и не кому он не нужен для работы. А C++ будет жить вечно. C# на мой взгляд большое будущее. 

на Pascal(ну почти, Delphi) написан skype, можно еще нагуглить
C++http://forum.vingrad.ru/forum/topic-270712.html  smile 
у C# возможно и есть будущее, но http://forum.vingrad.ru/forum/topic-324743.html

Добавлено @ 17:04
http://forum.vingrad.ru/forum/topic-283805/unread-1.html

Последний пост полноя фигня. Сравнивать C++ с Делфи(по хорошему это даже не язык (Turbo Pascal)) это просто тупизм это тоже самое что сравнить запорожец(Делфи) с бугати(C++))))))))))))

Добавлено через 2 минуты и 25 секунд
Цитата(502 @ 13.9.2011,  17:06)
Цитата(Mazanakisicq @  13.9.2011,  17:04 Найти цитируемый пост)
Ну с какой стороны посмотреть. Для Win на Delphi для Mac на Objective-C для Linux на C++/Qt но мне кажется что если бы они отказались от делфи и зделали его на C++ для win было бы еще лучше. 

почему, какие аргументы?

Думаю что ты не будешь отрецать того что C++ быстрей работает и мне кажется что можно было бы избедать написания для каждой операционнки своей версии Skype на разных языках.

Автор: kemiisto 13.9.2011, 17:14
Mazanakisicq, ты уроки все сделал? smile 

Так Лиспы уже были. В тред врывается Оберон и Смолток. smile 

Автор: 502 13.9.2011, 17:16
Цитата(Mazanakisicq @  13.9.2011,  17:08 Найти цитируемый пост)
Думаю что ты не будешь отрецать того что C++ быстрей работает

тесты встудию

Цитата(Mazanakisicq @  13.9.2011,  17:08 Найти цитируемый пост)
 и мне кажется что можно было бы избедать написания для каждой операционнки своей версии Skype на разных языках. 

если ты думаешь что написал и оно сразу запустилось на всех платформах, то ты сильно заблуждаешься, даже с java есть проблемы

Автор: Severyanin 13.9.2011, 17:16
Mazanakisicq, чаще всего скорость работы языка не является узким местом в производительности системы. Чаще смотрят на скорость разработки на нем.

Вспомни проекты на пхп. Чаще всего, узким местом в большом проекте является не он, а неоптимизированная работа с БД. И для каждой области есть свои узкие места

Автор: 502 13.9.2011, 17:17
Цитата(Mazanakisicq @  13.9.2011,  16:50 Найти цитируемый пост)
 А C++ будет жить вечно.

а это я в рамочку поставлю и на стену

Автор: Mazanakisicq 13.9.2011, 17:19
Цитата(502 @ 13.9.2011,  17:16)
Цитата(Mazanakisicq @  13.9.2011,  17:08 Найти цитируемый пост)
Думаю что ты не будешь отрецать того что C++ быстрей работает

тесты встудию

Цитата(Mazanakisicq @  13.9.2011,  17:08 Найти цитируемый пост)
 и мне кажется что можно было бы избедать написания для каждой операционнки своей версии Skype на разных языках. 

если ты думаешь что написал и оно сразу запустилось на всех платформах, то ты сильно заблуждаешься, даже с java есть проблемы

Тю, java то там нужно тоже ставить JRE что бы java работала да и на нем реальные крупные проекты я имею ввиду не для малого среднего бизнеса а например такие компашки как Microsoft, Apple и т.д. не пишут. А C++ а точнее C он внутри каждой системы и не требует ни каких надстроек.

Автор: newbee 13.9.2011, 17:19
Цитата(Mazanakisicq @  13.9.2011,  18:08 Найти цитируемый пост)
Думаю что ты не будешь отрецать того что C++ быстрей работает
Многое зависит от прямоты рук программиста, а вообще дельфи и С++ сравнимы по производительности. Еще боее непонятны наезды на скорость дельфи в контексте разговора о скайпе. Он тормозит? Систему излишне нагружает? Тогда о чем разговор?

Цитата(Mazanakisicq @  13.9.2011,  18:08 Найти цитируемый пост)
Делфи(по хорошему это даже не язык (Turbo Pascal))
Таки дельфи - это язык.

Цитата(Mazanakisicq @  13.9.2011,  18:08 Найти цитируемый пост)
сравнить запорожец(Делфи) с бугати(C++)
Когда у людей нет аргументов, они начинают проводить идиотские, ничем не подкрепленые аналогии с машинами.

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

Автор: Mazanakisicq 13.9.2011, 17:23
Цитата(502 @ 13.9.2011,  17:17)
Цитата(Mazanakisicq @  13.9.2011,  16:50 Найти цитируемый пост)
 А C++ будет жить вечно.

а это я в рамочку поставлю и на стену

Поставь, поставь так как это правда. Просто не будут такие крупные проекты как например Photoshop переписывать на другие языки. Да и зачем нет достойного языка для таких проектов кроме C++/C. А сейчас еще пишутся проекты на нем так что посмотрим. Даже если работу искать для C++ много работы как в малых так и в больших компаниях. А Java только маленькие компашки и средние бирут так как им требуется какие нибудь проекты осуществить.

Автор: borisbn 13.9.2011, 17:33
Цитата(Mazanakisicq @  13.9.2011,  15:35 Найти цитируемый пост)
Прозьба не холиварить

Цитата(Mazanakisicq @  13.9.2011,  16:50 Найти цитируемый пост)
на паскале не чего не зделаешь путного

Цитата(Mazanakisicq @  13.9.2011,  17:04 Найти цитируемый пост)
если бы они отказались от делфи и зделали его на C++

Цитата(Mazanakisicq @  13.9.2011,  17:08 Найти цитируемый пост)
Последний пост полноя фигня

Цитата(Mazanakisicq @  13.9.2011,  17:08 Найти цитируемый пост)
ты не будешь отрецать

Цитата(Mazanakisicq @  13.9.2011,  17:23 Найти цитируемый пост)
маленькие компашки и средние бирут так как им требуется


Выучи сначала русский.

Автор: Mazanakisicq 13.9.2011, 17:37
Цитата(borisbn @ 13.9.2011,  17:33)
Цитата(Mazanakisicq @  13.9.2011,  15:35 Найти цитируемый пост)
Прозьба не холиварить

Цитата(Mazanakisicq @  13.9.2011,  16:50 Найти цитируемый пост)
на паскале не чего не зделаешь путного

Цитата(Mazanakisicq @  13.9.2011,  17:04 Найти цитируемый пост)
если бы они отказались от делфи и зделали его на C++

Цитата(Mazanakisicq @  13.9.2011,  17:08 Найти цитируемый пост)
Последний пост полноя фигня

Цитата(Mazanakisicq @  13.9.2011,  17:08 Найти цитируемый пост)
ты не будешь отрецать

Цитата(Mazanakisicq @  13.9.2011,  17:23 Найти цитируемый пост)
маленькие компашки и средние бирут так как им требуется


Выучи сначала русский.

Спасибо за совет))))

Автор: borisbn 13.9.2011, 17:42
А по теме:
user posted image

Это, конечно, ни о чём не говорит, но задуматься заставляет

Автор: 502 13.9.2011, 17:47
Цитата(Mazanakisicq @  13.9.2011,  17:19 Найти цитируемый пост)
Тю, java то там нужно тоже ставить JRE что бы java работала  

а что для C# .NET(CLR) не нужен?

я думаю ты свой выбор сделал  smile 

Цитата(Mazanakisicq @  13.9.2011,  17:19 Найти цитируемый пост)
А C++ а точнее C

это разные ЯП

Добавлено @ 17:48
Цитата(Mazanakisicq @  13.9.2011,  17:23 Найти цитируемый пост)
А Java только маленькие компашки и средние бирут так как им требуется какие нибудь проекты осуществить. 

Google, Oracle достаточно крупные?

Автор: Mazanakisicq 13.9.2011, 18:08
Цитата(502 @ 13.9.2011,  17:47)
Цитата(Mazanakisicq @  13.9.2011,  17:19 Найти цитируемый пост)
Тю, java то там нужно тоже ставить JRE что бы java работала  

а что для C# .NET(CLR) не нужен?

я думаю ты свой выбор сделал  smile 

Цитата(Mazanakisicq @  13.9.2011,  17:19 Найти цитируемый пост)
А C++ а точнее C

это разные ЯП

Добавлено @ 17:48
Цитата(Mazanakisicq @  13.9.2011,  17:23 Найти цитируемый пост)
А Java только маленькие компашки и средние бирут так как им требуется какие нибудь проекты осуществить. 

Google, Oracle достаточно крупные?

C++ и C это разные языки но код на C работает и в C++ программе. А насчет Google ок согласен а вот Oracle это и понятно они ж его разрабатывают.

Автор: borisbn 13.9.2011, 18:16
Цитата(Mazanakisicq @  13.9.2011,  18:08 Найти цитируемый пост)
но код на C работает и в C++ программе

код на Си: http://liveworkspace.org/code/119a19c50c057b2ccb0af5a1f911a477
тот же код на Си++: http://liveworkspace.org/code/b0551a84f5af8089e83766e94703e312

Автор: spyswamp 13.9.2011, 18:38
Да С/C++ всегда будет рулить, как минимум, для embedded systems, а так же серверных технологий и всего, что требует высокой производительности и плотной работы с системой. Уж явно эту нишу не захватят языки, которые в анальном рабстве у виртуальных машин и мегатонных фреймворков. И новый плюсовый стандарт нам как бы намекает, что жить это все будет еще очень долго.

Поэтому при выборе ЯП в первую очередь надо руководствоваться сферой, в которой будешь работать.

Автор: LSD 13.9.2011, 19:20
Цитата(spyswamp @  13.9.2011,  19:38 Найти цитируемый пост)
а так же серверных технологий и всего, что требует высокой производительности и плотной работы с системой. Уж явно эту нишу не захватят языки, которые в анальном рабстве у виртуальных машин и мегатонных фреймворков

Как человек который имеет некоторое отношение, к разработке высоко нагруженной системы, я вам имею сказать следующее: для высоко нагруженных систем, давно важна scalability, а не производительность на такт процессора.
Да и можно подумать, что Boost маленький фреймовк smile 

Автор: A5uKa 14.9.2011, 07:57
C# вообще учить не надо.

Автор: spyswamp 14.9.2011, 08:40
LSD, а что, большой? smile На выходе получаются достаточно быстрые и легковесные либы.

P.S. Я пока не понял, вы с пеной у рта что отстаиваете? Java или C#? smile

Добавлено через 2 минуты и 24 секунды
Да и boost, кстати, это не фреймворк. ;)

Автор: RastaDja 14.9.2011, 09:28
Что учить с начала?
Ели выбирать из этих двух (С++, С#), учитывая то, что ты хочешь писать кросс-платформенные приложения, - однозначно С++.
Если в плане понимания работы программы (выделение памяти, освобождение ресурсов ...) - тоже С++.
Из своего опыта скажу, что я вначале программировал на С++, Довольно таки недавно перешел на С#. Сравнение по скорости разработки на С# и С++ очень большие. Программы на С# пишутся быстрее (хотя это заслуга скорее всего .NET), особенно с хорошим пользовательским интерфейсом.
Относительно того, что программирование на C# привязывает программиста к одной платформе - это да, но чем это плохо? Если компания разрабатывает десктоп приложения для Windows, то тут никаких проблем.

Автор: k0rvin 14.9.2011, 11:46
Цитата(kemiisto @ 13.9.2011,  17:14)
Так Лиспы уже были. В тред врывается Оберон и Смолток. smile

а также Хаскелл! =)

Автор: LSD 14.9.2011, 11:56
Цитата(spyswamp @  14.9.2011,  09:40 Найти цитируемый пост)
LSD, а что, большой?

Ну как можно назвать большим, фреймворк с сотней библиотек smile 

Автор: kemiisto 14.9.2011, 12:15
Цитата(spyswamp @  14.9.2011,  07:40 Найти цитируемый пост)
Да и boost, кстати, это не фреймворк. ;) 

Мы в курсе, что это помойная яма! smile 

Автор: newbee 14.9.2011, 13:27
Цитата(kemiisto @  14.9.2011,  13:15 Найти цитируемый пост)
Мы в курсе, что это помойная яма!
Бусткодера на тебя нет! smile 

Автор: spyswamp 14.9.2011, 23:48
LSD, это не фреймворк, еще раз повторяюсь.

kemiisto, вероятно, вы забыли дописать в своем сообщении лучшие альтернативы. smile

Автор: newbee 15.9.2011, 02:21
Цитата(spyswamp @  15.9.2011,  00:48 Найти цитируемый пост)
kemiisto, вероятно, вы забыли дописать в своем сообщении лучшие альтернативы.
Fortran же!  smile 

Автор: LSD 15.9.2011, 09:36
Цитата(spyswamp @  15.9.2011,  00:48 Найти цитируемый пост)
LSD, это не фреймворк, еще раз повторяюсь.

Почему это?

Автор: alexSl 15.9.2011, 10:11
Цитата(LSD @  15.9.2011,  09:36 Найти цитируемый пост)
Почему это? 


Boost provides free peer-reviewed portable C++ source http://www.boost.org/

Автор: LSD 15.9.2011, 10:36
Цитата(alexSl @  15.9.2011,  11:11 Найти цитируемый пост)
Boost provides free peer-reviewed portable C++ source libraries.

http://en.wikipedia.org/wiki/Software_framework
Цитата
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software. It is a collection of software libraries providing a defined application programming interface (API).

Автор: spyswamp 15.9.2011, 10:44
LSD, ну вы бы хоть вдумались на секунду в то, что там написано. Разница между фреймворком и библиотекой в том, что модули пишутся для фреймворка

Цитата

can be selectively changed by user code


А библиотека включается в модуль.

Сами же и подтвердили цитатой то, что, в связи с этим определением, boost не является фреймворком. smile Вероятно, у вас есть некоторые проблемы с английским? Если же вы считаете, что у вас нет проблем с пониманием значения слова "фреймворк", то напишите мне, пожалуйста, мизерный дефолтовый каркас программы на boost'е, к которому я могу дописать свой модуль.

Автор: LSD 15.9.2011, 11:07
Цитата(spyswamp @  15.9.2011,  11:44 Найти цитируемый пост)
LSD, ну вы бы хоть вдумались на секунду в то, что там написано. Разница между фреймворком и библиотекой в том, что модули пишутся для фреймворка

Цитата

can be selectively changed by user code


А библиотека включается в модуль.

Сами же и подтвердили цитатой то, что, в связи с этим определением, boost не является фреймворком. smile Вероятно, у вас есть некоторые проблемы с английским? 

Рекомендую обратить более пристальное внимание на свой уровень английского. В моей цитете ни слова про модуль нет.


Цитата(spyswamp @  15.9.2011,  11:44 Найти цитируемый пост)
Если же вы считаете, что у вас нет проблем с пониманием значения слова "фреймворк", то напишите мне, пожалуйста, мизерный дефолтовый каркас программы на boost'е, к которому я могу дописать свой модуль. 

1. Я на С++ не пишу.
2. Как возможность дописывать модули, к какому-то каркасу, влияет на определение фреймворка, я не понимаю.

Автор: alexSl 15.9.2011, 11:22
Цитата(LSD @  15.9.2011,  11:07 Найти цитируемый пост)
1. Я на С++ не пишу.

 а чего тогда умничаеш?

P.S. Вася - человек. Ты - человек. Ты Вася?

Автор: spyswamp 15.9.2011, 11:42
alexSl, забей на него. У него и STL, видимо, тоже фреймворк.


LSD, user posted image

Автор: LSD 15.9.2011, 11:49
Цитата(alexSl @  15.9.2011,  12:22 Найти цитируемый пост)
а чего тогда умничаеш?

По существу ответить нечего, решил нахамить?


Определение фреймовка я привел, никто с определением спорить не стал. Начали мне рассказывать, про мой английский, предложили написать какой-то левый каркас. Все это вместо того, чтобы внятно объяснить или чем это определение плохо, или почему буст под него не попадает.

Автор: spyswamp 15.9.2011, 11:59
LSD, http://en.wikipedia.org/wiki/Boost_C%2B%2B_Libraries почитай внимательно. Или, лучше, зайди на http://ru.wikipedia.org/wiki/Boost. С определением фреймворка никто спорить не стал, потому что ты его из вики скопировал, и оно правильное. Тебе всего лишь говорят, что boost - это не фреймворк. Потому что он не попадает под определение фреймворка (которое ты, к слову, так и не понял).

Добавлено через 6 минут и 31 секунду
А для сравнения тебе вот чтиво еще: http://ru.wikipedia.org/wiki/Hibernate_(%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0)

Просто мне хочется верить, что есть все же в мире джависты, которые могут думать.

Автор: alexSl 15.9.2011, 12:08
Цитата(LSD @  15.9.2011,  11:49 Найти цитируемый пост)
По существу ответить нечего, решил нахамить?


По существу я тебе дал ссылку на официальный сайт Boost, где четко написано что это библиотеки.
По существу я тебе привел некоторые логические выкладки (про человека Васю и тебя).

Что еще надо здравомыслящему smile ?

Автор: LSD 15.9.2011, 13:48
Цитата(spyswamp @  15.9.2011,  12:59 Найти цитируемый пост)
С определением фреймворка никто спорить не стал, потому что ты его из вики скопировал, и оно правильное. Тебе всего лишь говорят, что boost - это не фреймворк. Потому что он не попадает под определение фреймворка (которое ты, к слову, так и не понял).

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



Цитата(spyswamp @  15.9.2011,  12:59 Найти цитируемый пост)
А для сравнения тебе вот чтиво еще: http://ru.wikipedia.org/wiki/Hibernate_(%D...B5%D0%BA%D0%B0)

Кстати очень показательное чтиво, которое наглядно показывает что нет четкой границы между фреймворком и библиотекой smile 



Цитата(spyswamp @  15.9.2011,  12:59 Найти цитируемый пост)
Просто мне хочется верить, что есть все же в мире джависты, которые могут думать.

А неуемная гордыня, это врожденное или приобретенное качество С++-ников? smile 



Цитата(alexSl @  15.9.2011,  13:08 Найти цитируемый пост)
По существу я тебе дал ссылку на официальный сайт Boost, где четко написано что это библиотеки.
По существу я тебе привел некоторые логические выкладки (про человека Васю и тебя).

Что еще надо здравомыслящему smile ? 

Ну разве что еще немного кругозора, чтобы вспомнить про .NET Framework или Java Collections Framework, которые очень разительно друг от друга отличаются. .NET Framework явно больше чем просто фремворк. А Java Collections Framework это скорее библиотека классов. Не все что называется XXX Framework, является фреймворком и наоборот.

Автор: alexSl 15.9.2011, 14:32
Цитата(LSD @  15.9.2011,  13:48 Найти цитируемый пост)
Ну разве что еще немного кругозора, чтобы вспомнить про .NET Framework или Java Collections Framework, которые очень разительно друг от друга отличаются. .NET Framework явно больше чем просто фремворк. А Java Collections Framework это скорее библиотека классов. Не все что называется XXX Framework, является фреймворком и наоборот. 


Ага, понял. Это значит что не каждый вася - Вася, а только тот вася, которого ты окрестил васей, согласно определения на википедии, даже если он думает, что он Петя.
И даже есть некоторые васи, которые не васи. Ужос smile 

Автор: newbee 15.9.2011, 14:39
LSD, просто смирись, что в С++ не принято boost считать фреймворком. Просто в твоей яве набор библиотек называть фреймворком, а в С++ - нет. Какой смысл спорить и грызться вокруг определений, которые весьма условны? smile

Автор: Earnest 15.9.2011, 15:35
Цитата(newbee @  15.9.2011,  15:39 Найти цитируемый пост)
LSD, просто смирись, что в С++ не принято boost считать фреймворком.

Причем здесь "принято - не принято". Буст никакой не фрейворк. Фрейворк - это базовый костюм, который можно дополнять аксессуарами, но который задает общий каркас. А буст - это скорее магазин одежды. Причем есть ряд библиотек, которые делают примерно одно и то же - выбирай, что больше нравится. В этом смысле определение химика - "помойка" - подходит лучше. Типа как весь Интернет - помойка информации. Или наш форум. smile 
MFC - фреймворк, QT - тоже, Дельфи - тоже фрейворк с встроенным языком. Или язык со встроенным фрейворком. smile 
С# - тоже в этом роде. Да и Джава, наверное.
А С++ - язык свободный. Т.е. позволяет построить каркас приложения на пустом месте, любой.

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

Автор: LSD 15.9.2011, 17:06
Цитата(newbee @  15.9.2011,  15:39 Найти цитируемый пост)
Просто в твоей яве набор библиотек называть фреймворком, а в С++ - нет. Какой смысл спорить и грызться вокруг определений, которые весьма условны?

Я отстаиваю свое право называть буст фреймворком smile (прошу заметить, я не требую чтобы остальные его так называли smile )



Цитата(Earnest @  15.9.2011,  16:35 Найти цитируемый пост)
Буст никакой не фрейворк. Фрейворк - это базовый костюм, который можно дополнять аксессуарами, но который задает общий каркас. А буст - это скорее магазин одежды. Причем есть ряд библиотек, которые делают примерно одно и то же - выбирай, что больше нравится.

Java Collections Framework никакого общего каркаса не задает, и вокруг него приложение не выстроишь, да и Hibernate то же. Более менее под это определение попадают, Web фреймворки, да пожалуй и все.



Цитата(Earnest @  15.9.2011,  16:35 Найти цитируемый пост)
В этом смысле определение химика - "помойка" - подходит лучше.

Боюсь, если я буду использовать выражение "помойка буст" эти двое, меня совсем загрызут smile 

Автор: Earnest 15.9.2011, 17:19
Цитата(LSD @  15.9.2011,  18:06 Найти цитируемый пост)
Боюсь, если я буду использовать выражение "помойка буст" эти двое, меня совсем загрызут   

Кто, химик? Да он тебе 100500 плюсов поставит... smile 
А что касается определений... слово не запатентовано еще, вот и используют, кто как хочет, с полным на то правом.
"Java Collections Framework" круче звучит, чем "Set" или "Library".
Framework переводится как "каркас"... С другой стороны, они же сказали, не вообще каркас, а каркас коллекций, так что, типа отмазались

Автор: newbee 15.9.2011, 17:24
Цитата(Earnest @  15.9.2011,  18:19 Найти цитируемый пост)
"Java Collections Framework" круче звучит, чем "Set" или "Library"
Я бы даже сказала, по-энтерпрайзному smile

Автор: spyswamp 15.9.2011, 18:43
Вот так друзья, на примере тролля-переростка LSD мы все вместе поняли, что Java размягчает мозги. smile Учитывая, что C# и Java - это одинаковый кал, можно сделать вывод - выбирать С++. smile Да и голосовалка намекает. ББ.  smile 

Автор: kemiisto 15.9.2011, 18:53
Цитата(Earnest @  15.9.2011,  14:35 Найти цитируемый пост)
MFC - фреймворк, QT - тоже, Дельфи - тоже фрейворк с встроенным языком. Или язык со встроенным фрейворком.

Опять же - зависит от определения. Если речь идёт об Application Framework, то я бы называл им http://forum.vingrad.ru/index.php?showtopic=305986&view=findpost&p=2186544.
MFC не видел, но ни Qt, ни Delphi - не фреймворки, если следовать определению выше.

spyswamp, учись троллить толсто. Бери пример с наших передовиков. smile 

Автор: bems 15.9.2011, 20:00
spyswamp, не слушай его, будь тоньше

Добавлено через 2 минуты и 56 секунд
Цитата(Earnest @  15.9.2011,  15:35 Найти цитируемый пост)
Дельфи - тоже фрейворк с встроенным языком. Или язык со встроенным фрейворком
...
А С++ - язык свободный
Ого как smile
Вообще нет, в дельфи ничего не мешает выкинуть VCL и использовать только язык

Автор: LSD 16.9.2011, 09:36
Цитата(Earnest @  15.9.2011,  18:19 Найти цитируемый пост)
А что касается определений... слово не запатентовано еще, вот и используют, кто как хочет, с полным на то правом.
"Java Collections Framework" круче звучит, чем "Set" или "Library".

Вот и я о чем smile Почему бы мне не назвать буст фреймворком если мне так хочется? Но господа alexSl, spyswamp меня переубедили, теперь только помойка smile 

Автор: alexSl 16.9.2011, 09:53
Цитата(LSD @  16.9.2011,  09:36 Найти цитируемый пост)
Но господа alexSl, spyswamp меня переубедили


Спасибо, что оценили мой вклад в ваше перевоспитание. smile 

Автор: Lazin 17.9.2011, 22:46
Итак, я сейчас немного не в себе, но все же попытаюсь ответить максимально объективно.
На мой взгляд, сравнивать Java/C# и С/C++ - глупая затея. Это просто разные вещи. Мало того, любой компетентный программист обязан знать что нибудь из первой пары и что нибудь из второй. С/C++ это единственный возможный выбор в некоторых ситуациях, таких ситуаций, мягко говоря - не много. Это как правило системы, требующие очень низкой латентности, HFT например, очень и очень высоко нагруженные системы и тд. Помимо этого, такие низкоуровневые языки позволяют программисту приобрести очень неплохие навыки программирования. Любой адекватный программист на С/C++, который участвовал в разработке сложных систем, учится очень рациональному, прагматичному подходу к программированию, помимо этого, эти языки немного ближе к железу, по крайней мере создают такую иллюзию. Главное отличие второй пары языков от первой - ручное управление памятью. Запомним это, мы к этому еще вернемся. 
Java/C#, в свою очередь, нацелены на продуктивность разработчика, это кстати не значит, что они не позволяют писать высокопроизводительный код. За счет чего это достигается? Главным образом - за счет сборщика мусора, сборщик мусора - это такая штука, которая призвана создать у программиста иллюзию работы на компьютере с бесконечным объемом памяти, на котором естественно не нужно писать код для освобождения памяти. Это приводит к тому, что очень больше количество кода просто не нужно писать, мало того, необходимость освобождения памяти не нужно учитывать при разработке архитектуры приложения. Это очень сильно увеличивает скорость разработки.
Помимо этого, в java/C# нет указателей(ну или почти нет). Это означает, что испортить память просто невозможно. Для этих языков(точнее для этих платформ) существуют куда более развитые средства разработки, IDE, отладчики, инстументы рефакторинга и тд. Недостатки же как всегда следуют из достоинств, если вам нужен высокопроизводительный код, вам нужно знать как работает GC, если вы скажем хотите создать свою структуру данных, то вам нужно сделать ее GC-friendly и тд.
В общем, мой вывод - знать С или С++ нужно, но писать лучше на java или C#, это позволит вам быть более продуктивным и достигнуть большего.

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