Просто шарп родился где-то около 2000 года и был тогда в очень зачаточном состоянии, а плюсы рулили, вот и сделали мост С++ на дотнет для популяризации. Кстати, шарп создавали разработчики Delphi и C++Builder, я в то время очень удивлялся, сколько там много общих концепций. Взять те же свойства, события.
имхо, Шарп это довольно удачный проект от Майкрософт - они мало того, что под свою платформу /Net народ переманили, дык и дали весь разношерстный синтаксис языков под .Net - хоть на бейсике пиши!
имхо, Шарп это довольно удачный проект от Майкрософт - они мало того, что под свою платформу /Net народ переманили, дык и дали весь разношерстный синтаксис языков под .Net - хоть на бейсике пиши!
А меня не затаскивает. Вроде и удобно и просто, но драйва, как в плюсах, что ли нет. От железа отдаляешься.
прошелся поиском по форуму, благо @fxsaber много где примеров выкладывал
добавим магию в прошлый пример ))) , лень руками писать, саму концепцию, что хотел увидеть, вроде вижу, теперь можно и меньше по клаве стучать
interface IStrategy
{ void Algorithm() {Print("Это не должно запускаться!!!"); } };
//+------------------------------------------------------------------+class CStrategy : public IStrategy
{
protected:
int x;
};
//+------------------------------------------------------------------+#define CLASS(NAME) class NAME: public CStrategy{\
public: NAME() {Print(__FUNCTION__); x = 01; }\
void Algorithm() {Print(__FUNCTION__, ", x = ", x);} };
//+------------------------------------------------------------------+
CLASS( CStrategy_01 );
CLASS( CStrategy_02 );
//+------------------------------------------------------------------+class Context
{
private:
IStrategy *s;
public:
Context(IStrategy *_strategy) { Print(__FUNCTION__); s = _strategy; }
~Context() { delete s; }
void GetStrategy() { s.Algorithm(); }
};
//+------------------------------------------------------------------+
Context c1(new CStrategy_01);
Context c2(new CStrategy_02);
//+------------------------------------------------------------------+voidOnStart()
{
c1.GetStrategy();
c2.GetStrategy();
}
//+------------------------------------------------------------------+
Vladimir Simakov: А меня не затаскивает. Вроде и удобно и просто, но драйва, как в плюсах, что ли нет. От железа отдаляешься.
по моему это у Вас иллюзия, что на С++ к железу ближе, сомневаюсь, что где то сможете найти доки по правильному написанию кода чтобы к современным процессорам максимально эффективно писать код, я в конце 90=х увлекался чтением по Пеньтиумам, но потом когда линейка пеньков начала быстро расти, понял, что не успеваю даже читать, а сейчас вообще под процессоры уже драйвера винда ставит - имхо бред, как можно под проц дрова... но увы, сейчас все так работает - все виртуально, все через готовые библы, все через оптимизацию компилятора.... в общем, имхо это иллюзия что что то пишешь очень эффективное, понятно, что если код изначально через одно место и кривыми руками писан, то ничего не поможет )))
Да, на шарпе проще на порядок. И скорость почти одинаковая, вот без cli плюсы выигрывают раза в полтора.
Видел всякие подобные тесты на основе голых циклов, только это ни о чём. Никто там не задумывается сколько потоков под CLR (ну хотя бы байт код скомпилировать ведь надо) и сколько памяти всё это хозяйство отожрёт.
Давным давно как-то ставил cTrader, впечатления остались как о тормозном г.... .
И вообще - зачем было создавать ещё один слой абстракции (байт код, виртуальная машина), когда можно договориться о единообразие инструкций процессора (хотя бинарный софт и так неплохо переносим), вроде минимального набора реализуемого всеми? Наверное желание создать песочницу, где они боги и незаменимы. С каким упорством они пропихивали свой дотнет, одновременно усложняя жизнь желающим писать на плюсах.
ЗЫ: я не о cli c++, это вообще какое-то недоразумение.
имхо, Шарп это довольно удачный проект от Майкрософт - они мало того, что под свою платформу /Net народ переманили, дык и дали весь разношерстный синтаксис языков под .Net - хоть на бейсике пиши!
я бы по другому сказал - народ с винды выгнали. Может и субъективно.
ЗЫ: для статистики - на github проектов на C/C++ раза в три больше чем на шарпе (17 год).
ЗЫ: для статистики - на github проектов на C/C++ раза в три больше чем на шарпе (17 год).
субьективная оценка, качество вернее задачи проектов могут быть очень маленькими... тут долго можно размышлять
и не маловажный момент для оценки ситуации, это количество программеров из Китая и Индии - их действительно очень много, мы не знаем какие тренды в отрасли в этих странах, возможно они на С++ сейчас сидят
ну и как выше писал - переход между С++ на C# и обратно довольно "безболезненный", тут Майкрософт сделало все чтобы программеры тудым-сюдым метались ))) , 2017 много на С++, в 2019 может быть много на C# проектов - тут не угадаешь
ЗЫ: очень субьективная оценка... а на Питоне сколько проектов? - все новые видео от Гугла исключительно все презентации на Питоне
субьективная оценка, качество вернее задачи проектов могут быть очень маленькими... тут долго можно размышлять
и не маловажный момент для оценки ситуации, это количество программеров из Китая и Индии - их действительно очень много, мы не знаем какие тренды в отрасли в этих странах, возможно они на С++ сейчас сидят
ну и как выше писал - переход между С++ на C# и обратно довольно "безболезненный", тут Майкрософт сделало все чтобы программеры тудым-сюдым метались ))) , 2017 много на С++, в 2019 может быть много на C# проектов - тут не угадаешь
ЗЫ: очень субьективная оценка... а на Питоне сколько проектов? - все новые видео от Гугла исключительно все презентации на Питоне
Ну задачи проекты всякие на всех языках есть, в среднем то должен получится некий средний проект. Тут есть подробная статистика https://githut.info/, правда 14 год.
На шарп не хочется хотя бы из идеологических соображений. Я скорее на джаве запишу (хотя тоже вряд ли).
GitHub provides publicly available API to interact with its huge dataset of events and interaction with the hosted repositories. GitHub Archive takes this data a step further by aggregating and storing it for public consumption. GitHub Archive dataset is also available via Google BigQuery. The quantitative data used in GitHut is collected from...
субьективная оценка, качество вернее задачи проектов могут быть очень маленькими... тут долго можно размышлять
и не маловажный момент для оценки ситуации, это количество программеров из Китая и Индии - их действительно очень много, мы не знаем какие тренды в отрасли в этих странах, возможно они на С++ сейчас сидят
ну и как выше писал - переход между С++ на C# и обратно довольно "безболезненный", тут Майкрософт сделало все чтобы программеры тудым-сюдым метались ))) , 2017 много на С++, в 2019 может быть много на C# проектов - тут не угадаешь
ЗЫ: очень субьективная оценка... а на Питоне сколько проектов? - все новые видео от Гугла исключительно все презентации на Питоне
Я в 2005 г. немного поработал в немецкой конторе, переписывал GUI для рулонного принтера с С++ на C#. Я тогда шарп знал постольку поскольку, дали какой-то учебник, так вообще не было проблем с переводом. Ушел, потому то стало скучно, а так сиди, да переписывай, думать не надо.
С Питоном для меня загадка, как этот интерпретируемый, тормозной и некрасивый язык смог пробиться наверх.
субьективная оценка, качество вернее задачи проектов могут быть очень маленькими...
ну и как выше писал - переход между С++ на C# и обратно довольно "безболезненный", тут Майкрософт сделало все чтобы программеры тудым-сюдым метались )))
С плюсов на шарп соглашусь, а вот в обратную сторону, если знания c/c++ от слова никак... Одни заголовочные файлы шарписту все желание на корню зарубят. ИМХО.
С Питоном для меня загадка, как этот интерпретируемый, тормозной и некрасивый язык смог пробиться наверх.
думаю дело обстояло так:
1. пользователей всегда в разы больше чем программистов или людей знакомых с азами программировния
2. интерпретаторы более понятны пользователям - написал:
a = 2
b = 5
c = a + b
и получил ответ от машины, да не поймешь что она там думает, а тут раз написал и видишь что машина думает как ты )))
3. нужен качественный интерпретатор, который не нагружает пользователя лишними знаниями о типах и прочей ерунде
4. чтобы была массовость языка, софт должен быть максимально открытым и доступным
ну и итог 1,2,3,4 - обьединил в себе Питон, а если есть армия пользователей, то безусловно будут и проблемы, которые решают подтянувшиеся к ним программеры, которые в свою очередь сделали кучу библиотек
))))
Vladimir Simakov: С плюсов на шарп соглашусь, а вот в обратную сторону, если знания c/c++ от слова никак... Одни заголовочные файлы шарписту все желание на корню зарубят. ИМХО.
тут Вы правы, но обратно как раз из C# в С++ особо никто и не бежит - зачем? ну подключи готовую dll на С++ в Шарп и юзай, тем более без проблем можно сделать один exe-шник на C# который будет содержать в себе dll
даже не знаю, открыл для себя мир C# - закрывать не собираюсь, очень комфортно, мануалов вагон в сети, готовых библиотек еще больше, десяти жизней не хватит все попробовать )))
Просто шарп родился где-то около 2000 года и был тогда в очень зачаточном состоянии, а плюсы рулили, вот и сделали мост С++ на дотнет для популяризации. Кстати, шарп создавали разработчики Delphi и C++Builder, я в то время очень удивлялся, сколько там много общих концепций. Взять те же свойства, события.
имхо, Шарп это довольно удачный проект от Майкрософт - они мало того, что под свою платформу /Net народ переманили, дык и дали весь разношерстный синтаксис языков под .Net - хоть на бейсике пиши!
имхо, Шарп это довольно удачный проект от Майкрософт - они мало того, что под свою платформу /Net народ переманили, дык и дали весь разношерстный синтаксис языков под .Net - хоть на бейсике пиши!
прошелся поиском по форуму, благо @fxsaber много где примеров выкладывал
добавим магию в прошлый пример ))) , лень руками писать, саму концепцию, что хотел увидеть, вроде вижу, теперь можно и меньше по клаве стучать
А меня не затаскивает. Вроде и удобно и просто, но драйва, как в плюсах, что ли нет. От железа отдаляешься.
по моему это у Вас иллюзия, что на С++ к железу ближе, сомневаюсь, что где то сможете найти доки по правильному написанию кода чтобы к современным процессорам максимально эффективно писать код, я в конце 90=х увлекался чтением по Пеньтиумам, но потом когда линейка пеньков начала быстро расти, понял, что не успеваю даже читать, а сейчас вообще под процессоры уже драйвера винда ставит - имхо бред, как можно под проц дрова... но увы, сейчас все так работает - все виртуально, все через готовые библы, все через оптимизацию компилятора.... в общем, имхо это иллюзия что что то пишешь очень эффективное, понятно, что если код изначально через одно место и кривыми руками писан, то ничего не поможет )))
Да, на шарпе проще на порядок. И скорость почти одинаковая, вот без cli плюсы выигрывают раза в полтора.
Видел всякие подобные тесты на основе голых циклов, только это ни о чём. Никто там не задумывается сколько потоков под CLR (ну хотя бы байт код скомпилировать ведь надо) и сколько памяти всё это хозяйство отожрёт.
Давным давно как-то ставил cTrader, впечатления остались как о тормозном г.... .
И вообще - зачем было создавать ещё один слой абстракции (байт код, виртуальная машина), когда можно договориться о единообразие инструкций процессора (хотя бинарный софт и так неплохо переносим), вроде минимального набора реализуемого всеми? Наверное желание создать песочницу, где они боги и незаменимы. С каким упорством они пропихивали свой дотнет, одновременно усложняя жизнь желающим писать на плюсах.
ЗЫ: я не о cli c++, это вообще какое-то недоразумение.
имхо, Шарп это довольно удачный проект от Майкрософт - они мало того, что под свою платформу /Net народ переманили, дык и дали весь разношерстный синтаксис языков под .Net - хоть на бейсике пиши!
я бы по другому сказал - народ с винды выгнали. Может и субъективно.
ЗЫ: для статистики - на github проектов на C/C++ раза в три больше чем на шарпе (17 год).
ЗЫ: для статистики - на github проектов на C/C++ раза в три больше чем на шарпе (17 год).
субьективная оценка, качество вернее задачи проектов могут быть очень маленькими... тут долго можно размышлять
и не маловажный момент для оценки ситуации, это количество программеров из Китая и Индии - их действительно очень много, мы не знаем какие тренды в отрасли в этих странах, возможно они на С++ сейчас сидят
ну и как выше писал - переход между С++ на C# и обратно довольно "безболезненный", тут Майкрософт сделало все чтобы программеры тудым-сюдым метались ))) , 2017 много на С++, в 2019 может быть много на C# проектов - тут не угадаешь
ЗЫ: очень субьективная оценка... а на Питоне сколько проектов? - все новые видео от Гугла исключительно все презентации на Питоне
субьективная оценка, качество вернее задачи проектов могут быть очень маленькими... тут долго можно размышлять
и не маловажный момент для оценки ситуации, это количество программеров из Китая и Индии - их действительно очень много, мы не знаем какие тренды в отрасли в этих странах, возможно они на С++ сейчас сидят
ну и как выше писал - переход между С++ на C# и обратно довольно "безболезненный", тут Майкрософт сделало все чтобы программеры тудым-сюдым метались ))) , 2017 много на С++, в 2019 может быть много на C# проектов - тут не угадаешь
ЗЫ: очень субьективная оценка... а на Питоне сколько проектов? - все новые видео от Гугла исключительно все презентации на Питоне
Ну задачи проекты всякие на всех языках есть, в среднем то должен получится некий средний проект. Тут есть подробная статистика https://githut.info/, правда 14 год.
На шарп не хочется хотя бы из идеологических соображений. Я скорее на джаве запишу (хотя тоже вряд ли).
субьективная оценка, качество вернее задачи проектов могут быть очень маленькими... тут долго можно размышлять
и не маловажный момент для оценки ситуации, это количество программеров из Китая и Индии - их действительно очень много, мы не знаем какие тренды в отрасли в этих странах, возможно они на С++ сейчас сидят
ну и как выше писал - переход между С++ на C# и обратно довольно "безболезненный", тут Майкрософт сделало все чтобы программеры тудым-сюдым метались ))) , 2017 много на С++, в 2019 может быть много на C# проектов - тут не угадаешь
ЗЫ: очень субьективная оценка... а на Питоне сколько проектов? - все новые видео от Гугла исключительно все презентации на Питоне
Я в 2005 г. немного поработал в немецкой конторе, переписывал GUI для рулонного принтера с С++ на C#. Я тогда шарп знал постольку поскольку, дали какой-то учебник, так вообще не было проблем с переводом. Ушел, потому то стало скучно, а так сиди, да переписывай, думать не надо.
С Питоном для меня загадка, как этот интерпретируемый, тормозной и некрасивый язык смог пробиться наверх.
субьективная оценка, качество вернее задачи проектов могут быть очень маленькими...
ну и как выше писал - переход между С++ на C# и обратно довольно "безболезненный", тут Майкрософт сделало все чтобы программеры тудым-сюдым метались )))
С Питоном для меня загадка, как этот интерпретируемый, тормозной и некрасивый язык смог пробиться наверх.
думаю дело обстояло так:
1. пользователей всегда в разы больше чем программистов или людей знакомых с азами программировния
2. интерпретаторы более понятны пользователям - написал:
и получил ответ от машины, да не поймешь что она там думает, а тут раз написал и видишь что машина думает как ты )))
3. нужен качественный интерпретатор, который не нагружает пользователя лишними знаниями о типах и прочей ерунде
4. чтобы была массовость языка, софт должен быть максимально открытым и доступным
ну и итог 1,2,3,4 - обьединил в себе Питон, а если есть армия пользователей, то безусловно будут и проблемы, которые решают подтянувшиеся к ним программеры, которые в свою очередь сделали кучу библиотек
))))
С плюсов на шарп соглашусь, а вот в обратную сторону, если знания c/c++ от слова никак... Одни заголовочные файлы шарписту все желание на корню зарубят. ИМХО.
тут Вы правы, но обратно как раз из C# в С++ особо никто и не бежит - зачем? ну подключи готовую dll на С++ в Шарп и юзай, тем более без проблем можно сделать один exe-шник на C# который будет содержать в себе dll
даже не знаю, открыл для себя мир C# - закрывать не собираюсь, очень комфортно, мануалов вагон в сети, готовых библиотек еще больше, десяти жизней не хватит все попробовать )))