You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>Organizations develop enterprise software with numerous custom requirements
269
+
to fit the specific needs of their operating model. Therefore the software
270
+
development process often becomes far more complicated due to disparate
271
+
factions within an organization vying for the software to handle their
272
+
needs at the expense of other factions.</p>
273
+
<p>The complexity due to the many stakeholders involved in the building of
274
+
enterprise software leads to large budgets and extreme scrutiny by
275
+
non-technical members of an organization. Typically those non-technical
276
+
people place irrational emphasis on the choice of programming language and
277
+
frameworks when otherwise they should not make technical design decisions.</p>
278
+
<h2>Why are there misconceptions about Python in enterprise environments?</h2>
279
+
<p>Traditionally large organizations building enterprise software have used
280
+
statically typed languages such as C++, .NET and Java. Throughout the 1980s
281
+
and 1990s large companies such as Microsoft, Sun Microsystems and Oracle
282
+
marketed these languages as "enterprise grade". The inherent snub to other
283
+
languages was that they were not appropriate for CIOs' difficult technical
284
+
environments. Languages other than Java, C++ and .NET were seen as risky and
285
+
therefore not worthy of investment.</p>
286
+
<p>In addition, "scripting languages" such as Python, Perl and Ruby were not
287
+
yet robust enough in the 1990s because their core standard libraries were
288
+
still being developed. Frameworks such as <ahref="/django.html">Django</a>,
289
+
<ahref="/flask.html">Flask</a> and Rails (for Ruby) did not yet exist. The Web was
290
+
just beginning and most enterprise applications were desktop apps built
291
+
for Windows. Python simply wasn't made for such environments.</p>
292
+
<h2>Why is Python now appropriate for building enterprise software?</h2>
293
+
<p>From the early 2000s through today the languages and ecosystems for many
294
+
dynamically typed languages have greatly improved and often surpassed some
295
+
aspects of other ecosystems. Python, Ruby and other previously derided
296
+
languages now have vast, well-maintained open source ecosystems backed by
297
+
both independent developers and large companies including Microsoft, IBM,
298
+
Google, Facebook, Dropbox, Twilio and many, many others.</p>
299
+
<p>Python's open source libraries, especially for
300
+
<ahref="/web-frameworks.html">web development</a> and data analysis, are some of the
301
+
best maintained and fully featured pieces of code for any language.</p>
302
+
<p>Meanwhile, some of the traditional enterprise software development languages
303
+
such as Java have languished due to underinvestment by their major corporate
304
+
backers. When <ahref="http://www.oracle.com/us/corporate/press/018363">Oracle purchased Sun Microsystems in 2009</a>
305
+
there was a long lag time before Java was enhanced with new language features
306
+
in Java 7. Oracle also
307
+
<ahref="http://www.engadget.com/2015/03/06/java-adware-mac/">bundles unwanted adware with the Java installation</a>,
308
+
whereas the Python community would never put up with such a situation because
309
+
the language is open source and does not have a single corporate controller.</p>
310
+
<p>Other ecosystems, such as the .NET platform by Microsoft have fared much
311
+
better. Microsoft continued to invest in moving the .NET platform along
312
+
throughout the early part of the new millennium.</p>
313
+
<p>However, Microsoft's enterprise products often have expensive licensing fees
314
+
for their application servers and associated software. In addition, Microsoft
315
+
is also a major backer of open source, <ahref="http://www.hanselman.com/blog/OneOfMicrosoftsBestKeptSecretsPythonToolsForVisualStudioPTVS.aspx">especially Python</a>,
316
+
and their
317
+
<ahref="https://www.visualstudio.com/en-us/features/python-vs.aspx">Python tools for Visual Studio</a>
318
+
provide a top-notch <ahref="/development-environments.html">development environment</a>.</p>
319
+
<p>The end result is that enterprise software development has changed
320
+
dramatically over the past couple of decades. CIOs and technical executives
321
+
can no longer ignore the progress of Python and the great open source
322
+
community in the enterprise software development landscape if they want to
323
+
continue delivering business value to their business side customers.</p>
324
+
<h2>Open source enterprise Python projects</h2>
325
+
<ul>
326
+
<li>
327
+
<p><ahref="https://github.com/cfpb/collab">Collab</a> by the
(CFPB) agency is a corporate intranet and collaboration platform for large
331
+
organizations. The project is currently running and in-use by thousands of
332
+
CFPB employees.</p>
333
+
</li>
334
+
<li>
335
+
<p><ahref="https://github.com/twitter/pants">Pants</a> is a build system for software
336
+
projects with many distinct parts and built with many different programming
337
+
languages as is often the case in large organizations.</p>
338
+
</li>
339
+
</ul>
340
+
<h2>Enterprise Python software development resources</h2>
341
+
<ul>
342
+
<li>
343
+
<p>There are a couple of solid demystifying articles in CIO magazine including
344
+
<ahref="http://www.cio.com/article/2437137/developer/you-used-python-to-write-what-.html">this broad overview of Python in enterprises</a>
345
+
and this article on
346
+
<ahref="http://www.cio.com/article/2431212/developer/dynamic-languages--not-just-for-scripting-any-more.html">why dynamic languages are gaining share for enterprise development</a>.</p>
347
+
</li>
348
+
<li>
349
+
<p>JavaWorld wrote an interesting article about
350
+
<ahref="http://www.javaworld.com/article/2078655/scripting-jvm-languages/python-coming-to-the-enterprise--like-it-or-not.html">Python's inroads into enterprise software development</a>.</p>
351
+
</li>
352
+
<li>
353
+
<p>I gave a talk at DjangoCon 2014 on
354
+
<ahref="https://www.youtube.com/watch?v=aMtiCX38w20">How to Solve the Top 5 Headaches with Django in the Enterprise</a>
355
+
which covered both Python and Django in large organizations.</p>
<p>Organizations develop enterprise software with numerous custom requirements
608
-
to fit the specific needs of their operating model. Therefore the software
609
-
development process often becomes far more complicated due to disparate
610
-
factions within an organization vying for the software to handle their
611
-
needs at the expense of other factions.</p>
612
-
<p>The complexity due to the many stakeholders involved in the building of
613
-
enterprise software leads to large budgets and extreme scrutiny by
614
-
non-technical members of an organization. Typically those non-technical
615
-
people place irrational emphasis on the choice of programming language and
616
-
frameworks when otherwise they should not make technical design decisions.</p>
617
-
<h2>Why are there misconceptions about Python in enterprise environments?</h2>
618
-
<p>Traditionally large organizations building enterprise software have used
619
-
statically typed languages such as C++, .NET and Java. Throughout the 1980s
620
-
and 1990s large companies such as Microsoft, Sun Microsystems and Oracle
621
-
marketed these languages as "enterprise grade". The inherent snub to other
622
-
languages was that they were not appropriate for CIOs' difficult technical
623
-
environments. Languages other than Java, C++ and .NET were seen as risky and
624
-
therefore not worthy of investment.</p>
625
-
<p>In addition, "scripting languages" such as Python, Perl and Ruby were not
626
-
yet robust enough in the 1990s because their core standard libraries were
627
-
still being developed. Frameworks such as <ahref="/django.html">Django</a>,
628
-
<ahref="/flask.html">Flask</a> and Rails (for Ruby) did not yet exist. The Web was
629
-
just beginning and most enterprise applications were desktop apps built
630
-
for Windows. Python simply wasn't made for such environments.</p>
631
-
<h2>Why is Python now appropriate for building enterprise software?</h2>
632
-
<p>From the early 2000s through today the languages and ecosystems for many
633
-
dynamically typed languages have greatly improved and often surpassed some
634
-
aspects of other ecosystems. Python, Ruby and other previously derided
635
-
languages now have vast, well-maintained open source ecosystems backed by
636
-
both independent developers and large companies including Microsoft, IBM,
637
-
Google, Facebook, Dropbox, Twilio and many, many others.</p>
638
-
<p>Python's open source libraries, especially for
639
-
<ahref="/web-frameworks.html">web development</a> and data analysis, are some of the
640
-
best maintained and fully featured pieces of code for any language.</p>
641
-
<p>Meanwhile, some of the traditional enterprise software development languages
642
-
such as Java have languished due to underinvestment by their major corporate
643
-
backers. When <ahref="http://www.oracle.com/us/corporate/press/018363">Oracle purchased Sun Microsystems in 2009</a>
644
-
there was a long lag time before Java was enhanced with new language features
645
-
in Java 7. Oracle also
646
-
<ahref="http://www.engadget.com/2015/03/06/java-adware-mac/">bundles unwanted adware with the Java installation</a>,
647
-
whereas the Python community would never put up with such a situation because
648
-
the language is open source and does not have a single corporate controller.</p>
649
-
<p>Other ecosystems, such as the .NET platform by Microsoft have fared much
650
-
better. Microsoft continued to invest in moving the .NET platform along
651
-
throughout the early part of the new millennium.</p>
652
-
<p>However, Microsoft's enterprise products often have expensive licensing fees
653
-
for their application servers and associated software. In addition, Microsoft
654
-
is also a major backer of open source, <ahref="http://www.hanselman.com/blog/OneOfMicrosoftsBestKeptSecretsPythonToolsForVisualStudioPTVS.aspx">especially Python</a>,
655
-
and their
656
-
<ahref="https://www.visualstudio.com/en-us/features/python-vs.aspx">Python tools for Visual Studio</a>
657
-
provide a top-notch <ahref="/development-environments.html">development environment</a>.</p>
658
-
<p>The end result is that enterprise software development has changed
659
-
dramatically over the past couple of decades. CIOs and technical executives
660
-
can no longer ignore the progress of Python and the great open source
661
-
community in the enterprise software development landscape if they want to
662
-
continue delivering business value to their business side customers.</p>
663
-
<h2>Open source enterprise Python projects</h2>
664
-
<ul>
665
-
<li>
666
-
<p><ahref="https://github.com/cfpb/collab">Collab</a> by the
(CFPB) agency is a corporate intranet and collaboration platform for large
670
-
organizations. The project is currently running and in-use by thousands of
671
-
CFPB employees.</p>
672
-
</li>
673
-
<li>
674
-
<p><ahref="https://github.com/twitter/pants">Pants</a> is a build system for software
675
-
projects with many distinct parts and built with many different programming
676
-
languages as is often the case in large organizations.</p>
677
-
</li>
678
-
</ul>
679
-
<h2>Enterprise Python software development resources</h2>
680
-
<ul>
681
-
<li>
682
-
<p>There are a couple of solid demystifying articles in CIO magazine including
683
-
<ahref="http://www.cio.com/article/2437137/developer/you-used-python-to-write-what-.html">this broad overview of Python in enterprises</a>
684
-
and this article on
685
-
<ahref="http://www.cio.com/article/2431212/developer/dynamic-languages--not-just-for-scripting-any-more.html">why dynamic languages are gaining share for enterprise development</a>.</p>
686
-
</li>
687
-
<li>
688
-
<p>JavaWorld wrote an interesting article about
689
-
<ahref="http://www.javaworld.com/article/2078655/scripting-jvm-languages/python-coming-to-the-enterprise--like-it-or-not.html">Python's inroads into enterprise software development</a>.</p>
690
-
</li>
691
-
<li>
692
-
<p>I gave a talk at DjangoCon 2014 on
693
-
<ahref="https://www.youtube.com/watch?v=aMtiCX38w20">How to Solve the Top 5 Headaches with Django in the Enterprise</a>
694
-
which covered both Python and Django in large organizations.</p>
0 commit comments