<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/39234/why-isn-t-the-sdk-written-in-c</link><description>This may be an unpopular question but the Nordic SDK seems to go to great length to perform what is effectively object-oriented programming while still avoiding c++. This leads to, among other things, an overly complex sdk rife with macro string concatenation</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 30 Jan 2019 05:51:37 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/39234/why-isn-t-the-sdk-written-in-c" /><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/168594?ContentTypeID=1</link><pubDate>Wed, 30 Jan 2019 05:51:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3dfa6a65-b7ee-49d5-8d09-b2f04ca56cd4</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;At the moment I only know C. And there is no time to study and move to C++, there are many projects ...&lt;/p&gt;
&lt;p&gt;We use free RTOS in our projects, I assume that difficulties may arise with it.&lt;/p&gt;
&lt;p&gt;The person who performs digital signal processing uses a standard template library. For a DSP processor with external memory, this is normal, but for the MCU ...&lt;/p&gt;
&lt;p&gt;But still I will try)&lt;/p&gt;
&lt;p&gt;P.S. Link leads to the missing page.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/168578?ContentTypeID=1</link><pubDate>Tue, 29 Jan 2019 22:30:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cbddaefd-d9bb-4ba0-8eb7-5d0c77c0aa68</guid><dc:creator>Jeffrey Haynes</dc:creator><description>&lt;p&gt;Agreed, you definitely do not need to rewrite your C++ code as C. The caveat to that would be if you&amp;rsquo;re using heavy dynamic allocation such as stl/boost. But in that case you don&amp;rsquo;t have a language issue, you have a memory issue and you&amp;rsquo;d likely have to rewrite your code anyway.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/168577?ContentTypeID=1</link><pubDate>Tue, 29 Jan 2019 22:26:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7ce77b45-c0f2-4079-bd8c-84bafcb5adc8</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;Why would you have to rewrite C++ code to C ? &amp;nbsp;C++ is a super set of C. &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This &lt;a href="https://github.com/I-SYST/EHAL/blob/master/ARM/Nordic/nRF52/EHAL/src/spi_nrf52.cpp"&gt;C++ Object abstraction library &lt;/a&gt;works on top of the SDK and other C libraries no problem at all.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/168423?ContentTypeID=1</link><pubDate>Tue, 29 Jan 2019 10:49:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1b15fd16-673c-4f58-96a6-a07be4fcd17f</guid><dc:creator>CheMax</dc:creator><description>&lt;p&gt;I would also like to switch to C ++ for a number of reasons. I will give the main thing: the project colleagues have a large number of developments in C ++ and they have to rewrite their existing code to pure C. It is sad (&lt;/p&gt;
&lt;p&gt;But I still stop things like:&lt;br /&gt;- freeRTOS written in pure C;&lt;br /&gt;-&amp;nbsp;SDK&amp;nbsp;from Nordic also written in pure C.&lt;/p&gt;
&lt;p&gt;But&amp;nbsp;I do not think that I will be able to go fast enough and just go. On the other hand, the availability of support in SDK will contribute to the progress in the development of programming skills).&lt;/p&gt;
&lt;p&gt;Maybe arrange a survey and see how many people actually want to see support for C ++?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/167661?ContentTypeID=1</link><pubDate>Thu, 24 Jan 2019 13:53:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:07085395-b885-4efb-8f1a-de9e8166ff5c</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Thanks Andrew&lt;/p&gt;
&lt;p&gt;I will relay it back to the team.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/166784?ContentTypeID=1</link><pubDate>Mon, 21 Jan 2019 10:33:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e6218085-1324-43c3-8699-d9a9c5c2ef6b</guid><dc:creator>Peter Kenyon</dc:creator><description>&lt;p&gt;I use C++ mainly to wrap the event handlers into virtual handlers for my state machine logic, and its a better compiler, unfortunately Nordic have several places that wont compile including completely unnecessary out of order initialisations, C++ makes thing a lot easier to understand, but only if done correctly, imho I don&amp;#39;t understand why other developers don&amp;#39;t use C++&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/166776?ContentTypeID=1</link><pubDate>Mon, 21 Jan 2019 10:19:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:15aeac01-dbc0-4984-83e8-45dd093e7436</guid><dc:creator>awneil</dc:creator><description>[quote userid="2116" url="~/f/nordic-q-a/39234/why-isn-t-the-sdk-written-in-c/166297"]Thanks a lot for sharing your motivations for using C++.[/quote]
&lt;p&gt;Some more motivations here:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/42803/can-you-make-some-small-changes-for-c-compatibility"&gt;devzone.nordicsemi.com/.../can-you-make-some-small-changes-for-c-compatibility&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/166297?ContentTypeID=1</link><pubDate>Thu, 17 Jan 2019 15:09:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b70e5084-cad9-4cd0-97d4-dc3fff51748b</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi Jeff&lt;/p&gt;
&lt;p&gt;Thanks a lot for sharing your motivations for using C++. The fact that you are spending so much time on your own to add a C++ wrapper on top of the SDK is interesting.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I will continue to push internally for better C++ support&amp;nbsp;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/165466?ContentTypeID=1</link><pubDate>Mon, 14 Jan 2019 13:19:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:25ca197b-e313-4717-b545-a31b5aa0c3ac</guid><dc:creator>Jeffrey Haynes</dc:creator><description>&lt;p&gt;Good to hear :)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I can only speak for our team but we essentially spent the first six months of our project &amp;ldquo;prettifying&amp;rdquo; the API so it was more approachable.&lt;/p&gt;
&lt;p&gt;I personally like &amp;ldquo;Qt-style&amp;rdquo; C++, so as examples we have classes with names like BluetoothService, Twi, TwiDevice, Storage, Spi, QuadSpi, Random, Uart, Power, etc.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The biggest payoffs come in areas of the SDK where it is necessary (in C) to constantly supply context in the form of handles, etc. or where resources are tracked through global variables created via macro string concatenation. &amp;nbsp;We were able to replace much of this with fairly simple and succinct classes.&lt;/p&gt;
&lt;p&gt;This obviously required a lot of upfront investment (especially when deciphering and unrolling meta-macros) but the upshot to us is that onboarding of new devs and maintenance is vastly shortened/improved.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I realize what I&amp;rsquo;m asking is a significant effort and that C is targeting the lowest common denominator. I just think the embedded community needs to change, especially when dealing with complex services like BLE where one is forced to do c-style OOP. At that point using C seems like willfull ignorance of the language features in C++.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks, best of luck in your crusade!&lt;/p&gt;
&lt;p&gt;Jeff&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/165369?ContentTypeID=1</link><pubDate>Mon, 14 Jan 2019 09:16:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9493c871-bd9b-40ea-bd1f-b8f0640b30bf</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Thanks for the reminder, I will resume my lobbying efforts internally ;)&lt;/p&gt;
&lt;p&gt;If you can share some input on why you are using C++, and what problems it helps you solve, it will help me argue the case for C++ support &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/165266?ContentTypeID=1</link><pubDate>Fri, 11 Jan 2019 22:37:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:33686d2d-479e-45bd-b9b1-c5e2fe58ff45</guid><dc:creator>awneil</dc:creator><description>&lt;p&gt;Ha Ha Ha.&lt;/p&gt;
&lt;p&gt;I looked at this.&lt;/p&gt;
&lt;p&gt;The next thing to come up was this:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://twitter.com/FozzTexx/status/1083823468288794624"&gt;https://twitter.com/FozzTexx/status/1083823468288794624&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f603.svg" title="Smiley"&gt;&amp;#x1f603;&lt;/span&gt; &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f603.svg" title="Smiley"&gt;&amp;#x1f603;&lt;/span&gt; &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f603.svg" title="Smiley"&gt;&amp;#x1f603;&lt;/span&gt; &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f603.svg" title="Smiley"&gt;&amp;#x1f603;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;You can&amp;#39;t please all of the people all of the time.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/165257?ContentTypeID=1</link><pubDate>Fri, 11 Jan 2019 18:58:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91c26610-a36c-4860-b7bf-e987db8f9201</guid><dc:creator>Jeffrey Haynes</dc:creator><description>&lt;p&gt;Precisely. We spent days &amp;ldquo;porting&amp;rdquo; this sort of thing to C++. There are clearly some C devs at Nordic who simply can&amp;rsquo;t be bothered to learn a new language.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/165256?ContentTypeID=1</link><pubDate>Fri, 11 Jan 2019 18:55:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:670ad73a-f6fb-45a9-a740-47608f5bd6d6</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;Really?!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;These kind of defines bellow are not compilable in C++ and there are tons of them in the SDK.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#define BLE_DB_DISCOVERY_DEF(_name)                                                                 \ 
static ble_db_discovery_t _name = {.discovery_in_progress = 0,                                      \ 
                                   .discovery_pending     = 0,                                      \ 
                                   .conn_handle           = BLE_CONN_HANDLE_INVALID};               \ 
NRF_SDH_BLE_OBSERVER(_name ## _obs,                                                                 \ 
                     BLE_DB_DISC_BLE_OBSERVER_PRIO,                                                 \ 
                     ble_db_discovery_on_ble_evt, &amp;amp;_name)
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/152023?ContentTypeID=1</link><pubDate>Mon, 08 Oct 2018 11:26:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dd32aaec-3e72-4fc8-8d46-4658b2bfa284</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi Jeff&lt;/p&gt;
&lt;p&gt;We don&amp;#39;t have any plans to rewrite the SDK in C++, no, but in general we try to make sure it is compliant.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then you can choose to write the application in C++, even if the lower level drivers and libraries are written in C.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/151931?ContentTypeID=1</link><pubDate>Sun, 07 Oct 2018 17:40:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:55bc0c91-cd3e-4784-908e-6c23295862bd</guid><dc:creator>Jeffrey Haynes</dc:creator><description>&lt;p&gt;Maybe I&amp;rsquo;m missing something but they&amp;rsquo;re describing a bug from gcc 5 that was fixed. Are you saying this bug prevents Nordic from reliably implementing a c++ based sdk?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/151930?ContentTypeID=1</link><pubDate>Sun, 07 Oct 2018 17:35:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e83835d4-f0f7-49d8-8085-8b7d501bcd05</guid><dc:creator>Turbo J</dc:creator><description>&lt;p&gt;There is literally the phrase: &amp;quot;This is an ABI change.&amp;quot; in the GCC 7 &lt;a href="https://www.gnu.org/software/gcc/gcc-7/changes.html" rel="noopener noreferrer" target="_blank"&gt;relase notes&lt;/a&gt; about ARM C++.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/151929?ContentTypeID=1</link><pubDate>Sun, 07 Oct 2018 13:59:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:86bb4fc3-3636-4287-a16c-193281a96218</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;of course, that is the &amp;quot;raison d&amp;#39;&amp;ecirc;tre&amp;quot; of C++. &amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/151928?ContentTypeID=1</link><pubDate>Sun, 07 Oct 2018 13:55:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bf60a4bc-b621-4c08-9912-62e109891742</guid><dc:creator>Jeffrey Haynes</dc:creator><description>&lt;p&gt;Sure, but it is a language that is designed for OO vs C, which is not.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/151927?ContentTypeID=1</link><pubDate>Sun, 07 Oct 2018 13:53:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c5c75fc6-d2d6-4eb4-af1c-b79bbb51c401</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;Just saying that OO is not dependant on language and using C++ does not mean you are doing OO neither.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/151926?ContentTypeID=1</link><pubDate>Sun, 07 Oct 2018 13:40:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba931f0d-8654-43cb-a949-5a5cb3838ea6</guid><dc:creator>Jeffrey Haynes</dc:creator><description>&lt;p&gt;I&amp;rsquo;m not sure what your point is. You can also do OO with machine language. That doesn&amp;rsquo;t mean you should.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/151923?ContentTypeID=1</link><pubDate>Sun, 07 Oct 2018 12:46:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:891a6b5f-d786-4e56-8d47-f68efce257bd</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;Well I think there has been a lot of&amp;nbsp;misunderstanding&amp;nbsp;about what is C++.&lt;/p&gt;
&lt;p&gt;C++ is C with strict type, is C with fonction pointer in structure (called class)&lt;/p&gt;
&lt;p&gt;Can C compiler compiles C++ = No&lt;/p&gt;
&lt;p&gt;Can C++ compile compiles C = Yes&lt;/p&gt;
&lt;p&gt;C is a Subset of C++, C++ is a superset of C&lt;/p&gt;
&lt;p&gt;So is C++ &amp;quot;closely tied to the hardware itself&amp;quot; = YES &amp;nbsp;YES YES because it is C with a twist.&lt;/p&gt;
&lt;p&gt;Is C++ standard = Yes it ISO standard. So what does it means ? It is the same across compilers and platforms. &amp;nbsp;The C++ compiler that is unable to compile the ISO C++ is call a non-compliance compiler not C++ being non standard.&lt;/p&gt;
&lt;p&gt;Lastly what is Object Oriented ?&lt;/p&gt;
&lt;p&gt;It&amp;#39;s a way of thinking not language. &amp;nbsp;If you are still thinking code, you are not doing OO. &amp;nbsp;You are doing OO the moment you stop thinking about code. It is about describing the &amp;quot;thing&amp;quot; not coding the &amp;quot;thing&amp;quot;.&lt;/p&gt;
&lt;p&gt;Is using C++ = OO? &amp;nbsp;not necessarily, although it is designed to be OO. &amp;nbsp;Putting everything in classes is not OO.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can you do OO with C ? Sure you can. Have fun with function pointers.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/151920?ContentTypeID=1</link><pubDate>Sun, 07 Oct 2018 12:08:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba9d8b8f-cbfb-4191-908e-60a9b1ac8c26</guid><dc:creator>Jeffrey Haynes</dc:creator><description>&lt;p&gt;I&amp;rsquo;m not sure to which parts of the API you&amp;rsquo;re referring. While there are a handful of bugs in the SDK that prevent direct consumption from C++, it is certainly possible as we are doing it in our project.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To be honest, some of what you&amp;rsquo;re saying seems to boil down to, learning new things is hard and people shouldn&amp;rsquo;t have to do hard stuff. But the reality is that the SDK is striving for an object oriented paradigm; it&amp;rsquo;s simply using an outdated language to do it.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Lastly, the idea that C++ compilers are not sufficiently standardized is completely untrue. Those sorts of myths are the reason many people refuse to make the switch and I don&amp;rsquo;t think perpetuating them is helpful.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/151916?ContentTypeID=1</link><pubDate>Sun, 07 Oct 2018 09:43:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:84d3ca4d-d313-45ec-852a-4dc18eeda782</guid><dc:creator>Turbo J</dc:creator><description>&lt;p&gt;There are some counter arguments&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;C++ APIs can be hard or impossible&amp;nbsp; to use for non-standard languages, say PASCAL.&lt;/li&gt;
&lt;li&gt;C++ ABI is not stable accross compiler versions, and some parts of the SDK is shipped in binary (NFC, uECC, SoftDevice)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also, the SDK is intended as a reference implementation for all the peripherials - to teach developers how to use them. Thus it needs to be relatively simple and easy to understand - and some hw devs may simply not understand C++ properly. Look at some of the questions in this forum...&lt;/p&gt;
&lt;p&gt;Much of the SDK is very closely tied to the hardware itsef. The C compiler is used as an &amp;quot;assembler with more macros&amp;quot; rather than a high level language.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/151911?ContentTypeID=1</link><pubDate>Sat, 06 Oct 2018 23:45:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:565a1603-14a1-4173-953e-a9f1a972b1ca</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;look closely to the DeviceIntrf and Device base classes and there real implementation objects you can&amp;#39;t be more oo than that. &amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Why isn’t the SDK written in C++?</title><link>https://devzone.nordicsemi.com/thread/151910?ContentTypeID=1</link><pubDate>Sat, 06 Oct 2018 23:40:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:330593ab-7dba-4e67-9b01-52a7553a5214</guid><dc:creator>Jeffrey Haynes</dc:creator><description>&lt;p&gt;Interesting. Looks like a very c-styled c++ implementation. I was hoping for something a bit more oo, which is what we have now. But mostly it would be nice if Nordic maintained something vs a third party (or us) having to do that.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>