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
487
+
to fit the specific needs of their operating model. Therefore the software
488
+
development process often becomes far more complicated due to disparate
489
+
factions within an organization vying for the software to handle their
490
+
needs at the expense of other factions.</p>
491
+
<p>The complexity due to the many stakeholders involved in the building of
492
+
enterprise software leads to large budgets and extreme scrutiny by
493
+
non-technical members of an organization. Typically those non-technical
494
+
people place irrational emphasis on the choice of programming language and
495
+
frameworks when otherwise they should not make technical deisgn decisions.</p>
496
+
<h2>Why are there misconceptions about Python in enterprise environments?</h2>
497
+
<p>Traditionally large organizations building enterprise software have used
498
+
statically typed languages such as C++, .NET and Java. Throughout the 1980s
499
+
and 1990s large companies such as Microsoft, Sun Microsystems and Oracle
500
+
marketed these languages as "enterprise grade". The inherent snub to other
501
+
languages was that they were not appropriate for CIOs' difficult technical
502
+
environments. Languages other than Java, C++ and .NET were seen as risky and
503
+
therefore not worthy of investment.</p>
504
+
<p>In addition, "scripting languages" such as Python, Perl and Ruby were not
505
+
yet robust enough in the 1990s because their core standard libraries were
506
+
still being developed. Frameworks such as <ahref="/django.html">Django</a>,
507
+
<ahref="/flask.html">Flask</a> and Rails (for Ruby) did not yet exist. The Web was
508
+
just beginning and most enterprise applications were desktop apps built
509
+
for Windows. Python simply wasn't made for such environments.</p>
510
+
<h2>Why is Python now appropriate for building enterprise software?</h2>
511
+
<p>From the early 2000s through today the languages and ecosystems for many
512
+
dynamically typed languages have greatly improved and often surpassed some
513
+
aspects of other ecosystems. Python, Ruby and other previously derided
514
+
languages now have vast, well-maintained open source ecosystems backed by
515
+
both independent developers and large companies including Microsoft, IBM,
516
+
Google, Facebook, Dropbox, Twilio and many, many others.</p>
517
+
<p>Python's open source libraries, especially for
518
+
<ahref="/web-frameworks.html">web development</a> and data analysis, are some of the
519
+
best maintained and fully featured pieces of code for any language.</p>
520
+
<p>Meanwhile, some of the traditional enterprise software development languages
521
+
such as Java have languished due to underinvestment by their major corporate
522
+
backers. When <ahref="http://www.oracle.com/us/corporate/press/018363">Oracle purchased Sun Microsystems in 2009</a>
523
+
there was a long lag time before Java was enhanced with new language features
524
+
in Java 7. Oracle also
525
+
<ahref="http://www.engadget.com/2015/03/06/java-adware-mac/">bundles unwanted adware with the Java installation</a>,
526
+
whereas the Python community would never put up with such a situation because
527
+
the language is open source and does not have a single corporate controller.</p>
528
+
<p>Other ecosystems, such as the .NET platform by Microsoft have fared much
529
+
better. Microsoft continued to invest in moving the .NET platform along
530
+
throughout the early part of the new millenium.</p>
531
+
<p>However, Microsoft's enterprise products often have expensive licensing fees
532
+
for their application servers and associated software. In addition, Microsoft
533
+
is also a major backer of open source, <ahref="http://www.hanselman.com/blog/OneOfMicrosoftsBestKeptSecretsPythonToolsForVisualStudioPTVS.aspx">especially Python</a>,
534
+
and their
535
+
<ahref="https://www.visualstudio.com/en-us/features/python-vs.aspx">Python tools for Visual Studio</a>
536
+
provide a top-notch <ahref="/development-environments.html">development environment</a>.</p>
537
+
<p>The end result is that enterprise software development has changed
538
+
dramatically over the past couple of decades. CIOs and technical executives
539
+
can no longer ignore the progress of Python and the great open source
540
+
community in the enterprise software development landscape if they want to
541
+
continue delivering business value to their business side customers.</p>
542
+
<h3>Enterprise Python software development resources</h3>
543
+
<ul>
544
+
<li>
545
+
<p>There are a couple of solid demystifying articles in CIO magazine including
546
+
<ahref="http://www.cio.com/article/2437137/developer/you-used-python-to-write-what-.html">this broad overview of Python in enterprises</a>,
547
+
<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>
548
+
</li>
549
+
<li>
550
+
<p>JavaWorld wrote an interesting article about
551
+
<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>
552
+
</li>
553
+
<li>
554
+
<p>I gave a talk at DjangoCon 2014 on
555
+
<ahref="https://www.youtube.com/watch?v=aMtiCX38w20">How to Solve the Top 5 Headaches with Django in the Enterprise</a>
556
+
which covered both Python and Django in large organizations.</p>
0 commit comments