
{"id":1306,"date":"2015-01-14T23:10:16","date_gmt":"2015-01-14T23:10:16","guid":{"rendered":"http:\/\/www.codergears.com\/Blog\/?p=1306"},"modified":"2015-01-15T10:09:46","modified_gmt":"2015-01-15T10:09:46","slug":"some-standards-are-made-to-be-ignored","status":"publish","type":"post","link":"https:\/\/codergears.com\/Blog\/?p=1306","title":{"rendered":"Some standards are made to be ignored"},"content":{"rendered":"<p>Let&#8217;s begin with the\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Standardization\">definition of standardization<\/a>\u00a0from wikipedia :<\/p>\n<blockquote><p><b style=\"color: #252525;\">Standardization<\/b><span style=\"color: #252525;\">\u00a0<\/span><span style=\"color: #252525;\">is the process of developing and implementing\u00a0<\/span>technical standards<span style=\"color: #252525;\">. Standardization can help to maximize\u00a0<\/span>compatibility<span style=\"color: #252525;\">,\u00a0<\/span>interoperability<span style=\"color: #252525;\">,<\/span>safety<span style=\"color: #252525;\">,\u00a0<\/span>repeatability<span style=\"color: #252525;\">, or\u00a0<\/span>quality<span style=\"color: #252525;\">.<\/span><\/p><\/blockquote>\n<p>On software development, the use of standards has huge benefits in protecting your projects from changing frameworks and tools. Some standards are widely used and adopted, others are used with moderation, a few or sometimes just a subset of them are simply ignored.<!--more--><\/p>\n<p><strong>\u00a0UDDI<\/strong><\/p>\n<p><span style=\"color: #000000;\">The\u00a0UDDI registry&#8217;s functional purpose is the representation of data and metadata about Web services. A registry, either for use on a public network or within an organization&#8217;s internal infrastructure, offers a standards-based mechanism to classify, catalog, and manage Web services, so that they can be discovered and consumed by other applications.<\/span><\/p>\n<p>Even if big buzz of UDDI was done by Microsoft and IBM between 2000 and 2005, this standard was not widely adopted, and as it is shown by its Google trend, there&#8217;s no more interest in this standard.<\/p>\n<p><a href=\"http:\/\/www.codergears.com\/Blog\/wp-content\/uploads\/uddi.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1440\" src=\"http:\/\/www.codergears.com\/Blog\/wp-content\/uploads\/uddi.png\" alt=\"uddi\" width=\"818\" height=\"250\" \/><\/a><\/p>\n<p><strong>MDA<\/strong><\/p>\n<p>When MDA was introduced by OMG in 2001, many architects and developers <span style=\"color: #000000;\">thought<\/span>\u00a0that this approach was the missing \u00a0brick in software engineering. \u00a0And here&#8217;s the MDA slogan from the <a href=\"http:\/\/www.omg.org\/mda\/\">OMG website<\/a><\/p>\n<blockquote><p>MDA &#8211; The Architecture Of Choice For A Changing World<\/p><\/blockquote>\n<p>It sounded very good and many companies invested to create tools around MDA. But almost all of these tools were not adopted and used by developers.<\/p>\n<p>In 2004, Martin Fowler gave his\u00a0<a href=\"http:\/\/www.martinfowler.com\/bliki\/ModelDrivenArchitecture.html\">opinion<\/a> about the future of MDA:<\/p>\n<blockquote><p><span style=\"color: #303633;\">Some people think that\u00a0<\/span><a style=\"color: #94388e;\" href=\"http:\/\/www.omg.org\/mda\/\">Model Driven Architecture<\/a><span style=\"color: #303633;\">\u00a0(MDA) will be biggest shift in software development since the move from assembler to the first high level languages. Others think that it&#8217;s nothing more than Night of the Living Case Tools. I&#8217;m in the latter camp but feel the need for more than a slick saying.<\/span><\/p><\/blockquote>\n<p><span style=\"color: #252525;\">As he expect, the MDA was not the biggest shift, maybe it will be in the near future, but currently few architects are aware about the MDA related standards.<\/span><\/p>\n<p><span style=\"color: #252525;\">\u00a0<\/span><strong>C++ Attributes<\/strong><\/p>\n<p><span style=\"color: #252525;\">C++11 includes several additions to the\u00a0<\/span>core language<span style=\"color: #252525;\">\u00a0and extends the\u00a0<\/span>C++ standard library. \u00a0C++ attributes is an interesting new\u00a0feature that provide standardized syntax for compiler extensions<\/p>\n<p>Microsoft introduced the C++\/CX extensions in 2012, but why the attributes specification was ignored even though Microsoft used another syntax. For instance,Let&#8217;s take the Ref class which is defined as follow:<\/p>\n<pre>public ref class CTest<\/pre>\n<p>Using C++11 attributes could be defined like this:<\/p>\n<pre>public class CTest\u00a0\u00a0[[ ref\u00a0]]<\/pre>\n<p>Why adding new standards if they will not be used. It&#8217;s true that the c++ compiler in VS2012 didn\u2019t implement Many C++11 features, but the attributes features is not the most complicated to be managed by the compiler, and used for the C++\/CX extensions.<\/p>\n<p><strong>Summary:<\/strong><\/p>\n<p>Standards have many benefits. Currently, it&#8217;s very complicated to define a standard,the process is too long and the decisions taken become more political. Indeed, each software actor wants to adopt its choices. And in the final no guaranties will be adopted even if big companies promote its use, like what happened to UDDI whereMicrosoft, IBM and SAP have done big efforts to promote it, but without success!<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let&#8217;s begin with the\u00a0definition of standardization\u00a0from wikipedia : Standardization\u00a0is the process of developing and implementing\u00a0technical standards. Standardization can help to maximize\u00a0compatibility,\u00a0interoperability,safety,\u00a0repeatability, or\u00a0quality. On software development, the use of standards has huge benefits in protecting your projects from changing frameworks and tools. Some standards are widely used and adopted, others are used with moderation, a few &hellip; <a href=\"https:\/\/codergears.com\/Blog\/?p=1306\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Some standards are made to be ignored&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-1306","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/codergears.com\/Blog\/index.php?rest_route=\/wp\/v2\/posts\/1306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codergears.com\/Blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codergears.com\/Blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codergears.com\/Blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codergears.com\/Blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1306"}],"version-history":[{"count":21,"href":"https:\/\/codergears.com\/Blog\/index.php?rest_route=\/wp\/v2\/posts\/1306\/revisions"}],"predecessor-version":[{"id":1476,"href":"https:\/\/codergears.com\/Blog\/index.php?rest_route=\/wp\/v2\/posts\/1306\/revisions\/1476"}],"wp:attachment":[{"href":"https:\/\/codergears.com\/Blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codergears.com\/Blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codergears.com\/Blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}