Перейти к содержанию
    

Сначала ответьте на вопрос: зачем вы переименовали файлы из *.c в *.cpp?

 

Как зачем? Чтобы показать какой я крутой программер.

Вот дескать, все пишу на C++. :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что-то мне подсказывает, что это не могли быть однотактовые регистровые команды ))

что всего две - вполне верю.

Речь шла о накладных расходах на виртуальный вызвов, сам вызов, ессно, не учитывается - он ровно тот же по затратам, что и обычный вызов. Насчёт однотактовых, вы правы, я, наверное, погорячился: первая команда - загрузка vptr по this (который уже в регистре) - это загрузка из памяти, она занимает пару тактов, вторая - загрузка адреса из vtbl, т.е. тож из памяти, опять пару тактов.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Раз уж мы разобрались с С и С++, определив что ООП можно и на С делать, если нужно... :)

Предлагаю приступить к обсуждению С#. :)

Интересно мнение тех кто пишет на С# под WinCE, т.е. использует .NET Compact Framework. Яву я предлагаю не обсуждать, так как тормоза которые она показывает на гигагерцовых телефонах отбивает всякое желание ее использовать. А вот C# вполне себе шустренько летает, если конечно бездумно не использовать. :)

 

Как я уже писал, лично мне C# очень нравится. Иногда напрягает кастрированность .NETCF, но это мелочи. В принципе не так критично. Например нету нормального WCF, но базовые ф-и есть, и то хорошо.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Предлагаю приступить к обсуждению С#. :)

 

А я предлагаю этого не делать. :)

 

Причина популярности языка C/C++ среди электронщиков именно в том, что мы на нем прошивки для МК пишем! Поскольку этот язык позволяет создавать рабочий код при минимальной поддержке операционной системы, а зачастую и при полном отсутствии последней. Все же остальные языковые монстры требуют для своей поддержки не только операционную систему, но и порой очень больших по объему библиотек.

 

Но если мы не прошивку для МК пишем, а лабаем какую-то прогу на большом ПК, то тут пусть каждый выбирает языковую среду под стать своему вкусу и поставленным задачам. В этом случае добиваться синхронизации во взглядах/предпочтениях не имеет смысла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я предлагаю этого не делать. :)

 

Убедили! В принципе согласен, что С++ наиболее универсальное и оптимальное решение для микроконтроллеров. Тут весь вопрос в том, а что можно называть микроконтроллером?

Уже сейчас можно найти за 20 баксов "микроконтроллер" в виде платы с мегабайтами памяти, питанием и т.д. и готовой ОС. :)

Да что там... 4-х ядерный 2 ГГц SoC с графикой и DSP стоит 20 $. :)

В итоге получается что время на разработку стоит дороже чем переплата за отдельный девайс. :)

К чему это я?

К тому, что мне кажется что сейчас четко видна тенденция переноса решений с PC на "микроконтроллеры". Если раньше нужен был сервер, мощный комп и сервер БД. то теперь все можно делать локально на флешке. :)

Поэтому понятие embedded сильно размывается, так как маленькое устройство может содержать в себе ресурсы больше чем большущий сервер еще каких-то 10 лет назад. :)

В итоге получается что С++ остается только за драйверами и реалтаймом. :)

 

Ну да ладно. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость TSerg

Весело тут у вас, особенно с переименованием *.c в *.cpp.

 

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

 

Visual Studio Community 2013

A full-Featured IDE - Free.

Start coding the app of your dreams for Windows, Android, and iOS.

http://www.visualstudio.com/products/visual-studio-co..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если говорить о Workstation/Server, то кроме системного программирования,

где управление аппаратными ресурсами и связанными с ними структурами данных

и kernel API-неотемлемая часть, C/C++ нужно там где требуется свехпроизводительность

и наносекундный отклик, которе во многом обеспечиваются глубокой оптимизацией струкур данных и

блоков кода на привязанность к отображению на кэши и протоколам когерентности для

мультипроцессорных систем, продвинутых алгоритмов синхронизации

потоков с использование соответствующего API и быстрых алгоритмов упраления памятью.

Поэтому С/С++ очень интенсивно используется в серверной части програмных продуктов для

электронной торговли, в частности почти все market data feed (FIX over UDP), HFT algorithms.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

C/C++ нужно там где требуется свехпроизводительность и наносекундный отклик, ...

Поэтому С/С++ очень интенсивно используется в серверной части програмных продуктов для электронной торговли.

:biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скоро все перейдут на Яву)

Не факт :)

Познавательно Снимок базы проекта RosettaCode

 

P.S. Github добавил и поиск по тегам в строке поиска в форме Topic:тэг (можно и несколько Topic:тэг перечислить)

но проекты ещё мало классифицированы по тегам и поиск по словам даёт больше проектов.

Проверил и текущий Topic:Forth :)

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скоро все перейдут на Яву)

Все, кто не настолько глупы :maniac: ... и кто хотел бы до сих пор попрактиковаться на древних языках вроде С и С++ :1111493779: ... вот здесь могут свободно взять сборники задач с решениями :santa2: :

 

Задачи по программированию на языке C++, часть 2 (обновление)

редакция 48 от 11.04.2017, страниц 110.

Задач с примерами на сегодня представлено 66

 

Задачи по программированию на языке C, часть 1 (обновление)

редакция 39 от 14.11.2016, страниц 106.

Задач с примерами на сегодня представлено 102.

 

Задачи не тривиальные, сложные ... рассчитаны на программистов, имеющих уже изрядный уровень в C/C++.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очередной хлоливар С/С++ vs Java/C# возник в месте обсуждения РТОС для мк. Я его переместил сюда.

Чтобы добавить вашему весёлому обсуждению интриги, я добавлю сюда загадку:

- обращали ли вы внимание, что на сегодня ("аж 2017-й год" - как кого-то там волнует) осталось крайне мало языков программирования (среди широко применяемых), которые выполняют компиляцию программного кода в нативный код процессора?

- на сегодня это только C, C++ и Go ... а среди продвинутых "не древних" - так и вовсе нет.

 

Вот и загадка: кто сможет назвать ещё языки программирования (из широко применяемых!), которые предполагают компиляцию в нативный (машинный) код?

 

P.S. Все "отмершие" языки, начиная с FORTRAN и, особенно, всю линейку от Pascal (Delphy, Turbo..., Modula-2, ...) - не надо беспокоить :biggrin:

 

P.P.S. И ещё более - всякий дерибас индивидуального применения, слепленный "на коленке", типа язык D и т.п. - не называть. :crying:

 

P.S. Все "отмершие" языки, начиная с FORTRAN и, особенно, всю линейку от Pascal (Delphy, Turbo..., Modula-2, ...) - не надо беспокоить :biggrin:

Я даже табличку здесь рядом привёл, чтобы не показаться предвзятым: Паскаль повержен - впервые за много лет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в процессе отмирания - Fort.

Forth никогда не компилировался в нативный код, а компилировался в собственный байт-код стековой машины, т.е. код требовал исполняющую среду.

 

 

В процессе развития - Rust

Rust - никогда не был в числе применяемых, восстребованных языков, по свежему рейтингу TIOBE Index for April 2017 от зависает там где-то на 41-й позиции ... и так навсегда и останется "в процессе развития"...

Вечно молодой

Вечно пьяный

:laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Forth никогда не компилировался в нативный код, а компилировался в собственный байт-код стековой машины, т.е. код требовал исполняющую среду.

А как же форт-процессоры, вроде GA144 или синтезированных в ПЛИС?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...