{"id":8662,"date":"2020-01-28T08:00:34","date_gmt":"2020-01-28T16:00:34","guid":{"rendered":"http:\/\/softwareengineeringdaily.com\/?p=8662"},"modified":"2020-01-27T22:39:38","modified_gmt":"2020-01-28T06:39:38","slug":"what-does-java-do-best","status":"publish","type":"post","link":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/","title":{"rendered":"What Does Java Do Best?"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">The first public implementation of Java was released in 1996, when the Nintendo 64 was at the cutting edge of game console technology and 41% of web users regularly accessed AOL.com. The intention of its creators was to provide cross-platform functionality for applications distributed via the then-nascent World Wide Web- known as <\/span><i><span style=\"font-weight: 400;\">applets<\/span><\/i><span style=\"font-weight: 400;\">&#8211; a feature completely removed from Java in 2018<\/span><span style=\"font-weight: 400;\">. Yet despite the removal of its original use from the language, Java remains the #1 programming language in the annual <\/span><a href=\"https:\/\/www.tiobe.com\/tiobe-index\/\"><span style=\"font-weight: 400;\">TIOBE index,<\/span><\/a><span style=\"font-weight: 400;\"> a position it has held with only brief interruptions from C since the beginning of the 21st century.<\/span><\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" data-attachment-id=\"8666\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/image3-20\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image3.png?fit=1906%2C908&amp;ssl=1\" data-orig-size=\"1906,908\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image3\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image3.png?fit=300%2C143&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image3.png?fit=1024%2C488&amp;ssl=1\" class=\"aligncenter wp-image-8666\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image3-300x143.png?resize=500%2C238&#038;ssl=1\" alt=\"\" width=\"500\" height=\"238\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image3.png?resize=300%2C143&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image3.png?resize=768%2C366&amp;ssl=1 768w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image3.png?resize=1024%2C488&amp;ssl=1 1024w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image3.png?w=1906&amp;ssl=1 1906w\" sizes=\"(max-width: 500px) 100vw, 500px\" data-recalc-dims=\"1\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Development, and Silicon Valley in particular, are often accused of <\/span><a href=\"https:\/\/www.industriallogic.com\/blog\/fashion-driven-development\/\"><span style=\"font-weight: 400;\">fashion-driven development<\/span><\/a><span style=\"font-weight: 400;\">&#8211; that is, an obsession with shiny new things and \u201chip\u201d paradigms. Yet Java, the jean-short wearing uncle of the software world, represents the <\/span><a href=\"https:\/\/qz.com\/work\/1446858\/the-computer-languages-most-in-demand-in-silicon-valley\/\"><span style=\"font-weight: 400;\">#1 language<\/span><\/a><span style=\"font-weight: 400;\"> on job offerings in the Bay Area. In the rapidly changing world of software development, long-lived technologies typically have clear and specific themes justifying their continued use: C is efficient, Fortran is supercomputer-fast, and floppy disks were (until October) the preferred technology for nuclear warfare because they were <\/span><a href=\"https:\/\/www.businessinsider.com\/military-replaces-floppy-disks-used-to-control-nuclear-weapons-2019-10\"><span style=\"font-weight: 400;\">hard to hack.<\/span><\/a><span style=\"font-weight: 400;\"> But Java\u2019s longevity is slightly harder to explain, especially because its use cases have changed so much over its lifetime. Several languages have arisen that attempt to address perceived <\/span><a href=\"https:\/\/jaxenter.com\/5-reasons-why-scala-is-better-than-java-130863.html\"><span style=\"font-weight: 400;\">problems with Java<\/span><\/a><span style=\"font-weight: 400;\">, such as Scala. But these have failed to dislodge Java at the top of the JVM ecosystem (though Java\u2019s place in Android development may depend on the outcome of an <\/span><a href=\"https:\/\/www.nytimes.com\/2019\/11\/15\/us\/supreme-court-google-oracle.html\"><span style=\"font-weight: 400;\">ongoing lawsuit<\/span><\/a><span style=\"font-weight: 400;\">). It seems as though every few years analysts and pundits will declare large parts of Java <\/span><a href=\"https:\/\/adtmag.com\/blogs\/watersworks\/2017\/01\/java-obsolete.aspx\"><span style=\"font-weight: 400;\">obsolete,<\/span><\/a><span style=\"font-weight: 400;\"> and programming forums frequently witness Java <\/span><a href=\"https:\/\/www.reddit.com\/r\/programming\/comments\/9dzpu\/ask_reddit_why_does_everyone_hate_java\/\"><span style=\"font-weight: 400;\">&#8220;roast<\/span><\/a> <a href=\"https:\/\/www.quora.com\/Why-do-some-programmers-hate-Java\"><span style=\"font-weight: 400;\">sessions.&#8221;<\/span><\/a><span style=\"font-weight: 400;\"> Python has also made inroads as a broadly applicable language, with its friendlier learning curve and less verbose syntax cited as reasons.\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/dzone.com\/articles\/the-good-and-the-bad-of-java-programming\"><img decoding=\"async\" data-attachment-id=\"8663\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/image5-13\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image5.png?fit=1682%2C720&amp;ssl=1\" data-orig-size=\"1682,720\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image5\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image5.png?fit=300%2C128&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image5.png?fit=1024%2C438&amp;ssl=1\" class=\"aligncenter wp-image-8663\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image5-300x128.png?resize=500%2C214&#038;ssl=1\" alt=\"\" width=\"500\" height=\"214\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image5.png?resize=300%2C128&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image5.png?resize=768%2C329&amp;ssl=1 768w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image5.png?resize=1024%2C438&amp;ssl=1 1024w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image5.png?w=1682&amp;ssl=1 1682w\" sizes=\"(max-width: 500px) 100vw, 500px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Not only has Java endured the test of time, it has done so decisively, and frequently leads or nearly leads all programming languages by <\/span><a href=\"https:\/\/www.codingdojo.com\/blog\/the-7-most-in-demand-programming-languages-of-2019\"><span style=\"font-weight: 400;\">number of job postings<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/gfycat.com\/understatedanotherantelope\"><span style=\"font-weight: 400;\">questions on StackOverflow<\/span><\/a><span style=\"font-weight: 400;\">, and <\/span><a href=\"https:\/\/github.com\/oprogramador\/github-languages#all\"><span style=\"font-weight: 400;\">GitHub repos<\/span><\/a><span style=\"font-weight: 400;\">.\u00a0<\/span><\/p>\n<p><a href=\"http:\/\/stackshare.io\"><img decoding=\"async\" data-attachment-id=\"8664\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/image1-25\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image1.png?fit=897%2C237&amp;ssl=1\" data-orig-size=\"897,237\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image1.png?fit=300%2C79&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image1.png?fit=897%2C237&amp;ssl=1\" class=\"aligncenter wp-image-8664\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image1-300x79.png?resize=500%2C132&#038;ssl=1\" alt=\"\" width=\"500\" height=\"132\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image1.png?resize=300%2C79&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image1.png?resize=768%2C203&amp;ssl=1 768w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image1.png?w=897&amp;ssl=1 897w\" sizes=\"(max-width: 500px) 100vw, 500px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">What accounts for Java\u2019s longevity and durability, despite well-understood drawbacks? And what criteria would lead a developer to choose Java as the best language to solve their problems? While every Java shop may have its own reasons for choosing Java, there are some underlying themes that stand out, which touch on both technology and behavior.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The top 5 reasons Java Developers on StackShare gave for choosing Java refer, in various ways, to the advantages Java has gained from its wide network.<\/span><\/p>\n<p><a href=\"http:\/\/stackshare.io\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"8667\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/image6-10\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image6.png?fit=846%2C307&amp;ssl=1\" data-orig-size=\"846,307\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image6\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image6.png?fit=300%2C109&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image6.png?fit=846%2C307&amp;ssl=1\" class=\"aligncenter wp-image-8667\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image6-300x109.png?resize=499%2C181&#038;ssl=1\" alt=\"\" width=\"499\" height=\"181\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image6.png?resize=300%2C109&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image6.png?resize=768%2C279&amp;ssl=1 768w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image6.png?w=846&amp;ssl=1 846w\" sizes=\"(max-width: 499px) 100vw, 499px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">In the language of venture capital, Java has well-established <\/span><i><span style=\"font-weight: 400;\">network effects<\/span><\/i><span style=\"font-weight: 400;\">&#8211; that is, the increasing benefits to scale as more and more users sign on to a product. The deep background and robust community-developed libraries mean that a Java developer is likely to find an answer for any question, and a solution to most any problem. The multitude of open-source libraries, many of them developed by community members and supported by Oracle, give Java developers a wide array of options to tackle various use cases.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The benefits of the JVM have extended beyond Java itself, with languages such as Clojure, Scala, JRuby, and Groovy all built on the same underlying technologies- and each of these can optimize for specific problems in ways that Java may not be able to. The large amount of software developed on or closely related to Java, including Big Data applications such as Hadoop, also add important tools to a developer\u2019s arsenal. Critically, though, none of these technologies have <\/span><i><span style=\"font-weight: 400;\">replaced<\/span><\/i><span style=\"font-weight: 400;\"> Java; rather, they are often seen as component parts of the JVM ecosystem, with Java firmly in the center.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Java\u2019s wide reach has created a positive feedback loop that has been one of the underlying motives for innovations in the language itself. Long-running developer complaints about boilerplate code influenced the design of <\/span><a href=\"https:\/\/dzone.com\/articles\/j%CE%BBv%CE%BB-8-a-comprehensive-look\"><span style=\"font-weight: 400;\">Java 8<\/span><\/a><span style=\"font-weight: 400;\">. The rise of cloud-based development has proved a challenge for Java, as some fundamental characteristics of the language seem at odds with modern cloud architecture. Features of Java that were created as solutions to yesterday\u2019s problems, such as large package sizes containing a vast number of libraries, large memory allocations, and language verbosity can clash with the goals of developers building lightweight microservices set to run in a container rather than a bare-metal server. These changes arguably have pushed <\/span><a href=\"https:\/\/www.theserverside.com\/feature\/Java-evolution-into-a-functional-programming-language-reflects-demand\"><span style=\"font-weight: 400;\">the last few releases<\/span><\/a><span style=\"font-weight: 400;\"> of Java to be faster, more lightweight, and more optimized for cloud infrastructure.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Java has been able to both adapt to new frameworks and to retain access to legacy code, which has allowed organizations using Java to change incrementally rather than dramatically. Even risk-averse organizations need to innovate when new problems arise. Banks are <\/span><a href=\"https:\/\/news.efinancialcareers.com\/uk-en\/3000965\/legacy-code-banks\"><span style=\"font-weight: 400;\">notorious<\/span><\/a><span style=\"font-weight: 400;\"> for maintaining legacy systems, but the world of digital banking has profoundly changed in the last two decades. This may explain the particular popularity of Java in <\/span><a href=\"https:\/\/news.efinancialcareers.com\/uk-en\/137065\/the-six-hottest-programming-languages-to-know-in-banking-technology\"><span style=\"font-weight: 400;\">the financial sector,<\/span><\/a><span style=\"font-weight: 400;\"> since updates can be made without necessarily breaking old code.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In our recent <\/span><a href=\"https:\/\/softwareengineeringdaily.com\/2019\/12\/03\/java-13-with-georges-saab\/\"><span style=\"font-weight: 400;\">interview<\/span><\/a><span style=\"font-weight: 400;\"> with Georges Saab of Oracle, he spoke at length about Oracle\u2019s objectives to move to more frequent releases of language updates in order to best serve the needs of the development community. Since Oracle rarely introduces breaking changes to Java that would make legacy code unworkable, there is a careful balance between not conflicting with old features and introducing new innovations that can solve today\u2019s problems. Anyone who has experienced headaches in the transition from Python 2 to Python 3 can surely appreciate not having to rework legacy code.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To return to our original question, what does Java do best? It turns out that this may not be the right question to ask, as there is never only one problem to solve in development. There may be a clear choice in several circumstances- some technologies and languages are \u201cthe perfect fit\u201d for a project and the developer\u2019s skillset. Java\u2019s big advantage seems to be, rather, that a developer can be confident there will be solutions, or libraries, or documented examples for any issue they may find. They can be reasonably sure they can find talented Java developers to hire. And they can be reasonably sure that Java will be supported well into the future, and that the language can be robust to changes in the industry. These are advantages that are hard to quantify, but very real when making forward-looking decisions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In ecology, animal species often fall into \u201cgeneralist\u201d and \u201cspecialist\u201d categories- and both thrive under different environments. \u201cSpecialists\u201d maximize efficiency at certain tasks under certain conditions, while \u201cgeneralists\u201d favor a broad range of less developed skills. Anyone watching specialists can understand intuitively why they thrive; Giant Pandas, for example, evolved complex digestive systems to handle eating massive amounts of bamboo. Brown bears, by contrast, lack these kinds of specialized features distinguishing them from other bear species, but seem to handle a variety of environments and diets.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"8668\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/image7-8\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image7.jpg?fit=937%2C528&amp;ssl=1\" data-orig-size=\"937,528\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image7\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image7.jpg?fit=300%2C169&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image7.jpg?fit=937%2C528&amp;ssl=1\" class=\"size-medium wp-image-8668 alignleft\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image7-300x169.jpg?resize=300%2C169&#038;ssl=1\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image7.jpg?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image7.jpg?resize=768%2C433&amp;ssl=1 768w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image7.jpg?resize=120%2C69&amp;ssl=1 120w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image7.jpg?resize=269%2C151&amp;ssl=1 269w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image7.jpg?w=937&amp;ssl=1 937w\" sizes=\"(max-width: 300px) 100vw, 300px\" data-recalc-dims=\"1\" \/><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"8669\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/image4-18\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image4.jpg?fit=300%2C168&amp;ssl=1\" data-orig-size=\"300,168\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image4\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image4.jpg?fit=300%2C168&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image4.jpg?fit=300%2C168&amp;ssl=1\" class=\"size-medium wp-image-8669 alignleft\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image4-300x168.jpg?resize=300%2C168&#038;ssl=1\" alt=\"\" width=\"300\" height=\"168\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image4.jpg?w=300&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image4.jpg?resize=269%2C151&amp;ssl=1 269w\" sizes=\"(max-width: 300px) 100vw, 300px\" data-recalc-dims=\"1\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Java has survived several sea changes in the software industry since its inception, and it has proved robust to a variety of applications. To use the metaphor of the bears, Java would be a brown bear, not the best at any one task, but with the broadest range and resiliency to change. Other languages or frameworks that were hyper-specialized to the software design paradigms of their day (sorry, Flash) often seemed dominant at the time, only to implode when confronting change. As mentioned at the beginning, some specialized technologies <\/span><i><span style=\"font-weight: 400;\">do<\/span><\/i><span style=\"font-weight: 400;\"> enjoy popularity for a long time, because their use cases aren\u2019t tied to the fashions of the day but to evergreen needs, such as pure speed or minimal abstraction.\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/twitter.com\/search?q=%22Jersey%20City%22&amp;src=trend_click&amp;pt=1204511101297278977\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"8670\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/image2-24\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image2.png?fit=1138%2C650&amp;ssl=1\" data-orig-size=\"1138,650\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image2\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image2.png?fit=300%2C171&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image2.png?fit=1024%2C585&amp;ssl=1\" class=\"aligncenter wp-image-8670\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image2-300x171.png?resize=501%2C286&#038;ssl=1\" alt=\"\" width=\"501\" height=\"286\" srcset=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image2.png?resize=300%2C171&amp;ssl=1 300w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image2.png?resize=768%2C439&amp;ssl=1 768w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image2.png?resize=1024%2C585&amp;ssl=1 1024w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image2.png?resize=120%2C69&amp;ssl=1 120w, https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/image2.png?w=1138&amp;ssl=1 1138w\" sizes=\"(max-width: 501px) 100vw, 501px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">There is no way to narrow down all the reasons Java persists, and continues to evolve. The release of Java 13 brought several new cloud-oriented features to Java, and Oracle Engineer <\/span><a href=\"https:\/\/softwareengineeringdaily.com\/2019\/12\/03\/java-13-with-georges-saab\/\"><span style=\"font-weight: 400;\">Georges Saab<\/span><\/a><span style=\"font-weight: 400;\"> spoke with SE Daily at length about the future-focused mindset in pushing the language forwards. Third party developers, such as <\/span><a href=\"https:\/\/softwareengineeringdaily.com\/2019\/11\/14\/graalvm-quarkus-java-acceleration-with-guillaume-smet-and-emmanuel-bernard\/\"><span style=\"font-weight: 400;\">GraalVM Quarkus<\/span><\/a><span style=\"font-weight: 400;\">, are also working to push Java in entirely new and exciting directions. All signs indicate that Java will continue to be a valuable tool in a developer\u2019s arsenal and a solid choice for new learners.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The first public implementation of Java was released in 1996, when the Nintendo 64 was at the cutting edge of game console technology and 41% of web users regularly accessed AOL.com. The intention of its creators was to provide cross-platform functionality for applications distributed via the then-nascent World Wide Web- known as applets&#8211; a feature<\/p>\n","protected":false},"author":53,"featured_media":8671,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1363,83,2143],"tags":[3472,3371,3473,3372,288,908,2253],"class_list":["post-8662","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all-episodes","category-articles","category-exclusive-content","tag-danny-seymour","tag-georges-saab","tag-graalvm-quarkus","tag-java-13","tag-jvm","tag-oracle","tag-programming-language"],"jetpack_publicize_connections":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What Does Java Do Best? - Software Engineering Daily<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Does Java Do Best? - Software Engineering Daily\" \/>\n<meta property=\"og:description\" content=\"The first public implementation of Java was released in 1996, when the Nintendo 64 was at the cutting edge of game console technology and 41% of web users regularly accessed AOL.com. The intention of its creators was to provide cross-platform functionality for applications distributed via the then-nascent World Wide Web- known as applets&#8211; a feature\" \/>\n<meta property=\"og:url\" content=\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/\" \/>\n<meta property=\"og:site_name\" content=\"Software Engineering Daily\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-28T16:00:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-01-28T06:39:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/Java-Debugging-Tips-881x441.jpg?fit=881%2C441&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"881\" \/>\n\t<meta property=\"og:image:height\" content=\"441\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Danny Seymour\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@software_daily\" \/>\n<meta name=\"twitter:site\" content=\"@software_daily\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Danny Seymour\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/\"},\"author\":{\"name\":\"Danny Seymour\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/618234cbe1ece5fb1942f58d2d279e62\"},\"headline\":\"What Does Java Do Best?\",\"datePublished\":\"2020-01-28T16:00:34+00:00\",\"dateModified\":\"2020-01-28T06:39:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/\"},\"wordCount\":1352,\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/Java-Debugging-Tips-881x441.jpg?fit=881%2C441&ssl=1\",\"keywords\":[\"Danny Seymour\",\"Georges Saab\",\"GraalVM Quarkus\",\"Java 13\",\"JVM\",\"Oracle\",\"programming language\"],\"articleSection\":[\"All Content\",\"Exclusive Articles\",\"Exclusive Content\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/\",\"url\":\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/\",\"name\":\"What Does Java Do Best? - Software Engineering Daily\",\"isPartOf\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/Java-Debugging-Tips-881x441.jpg?fit=881%2C441&ssl=1\",\"datePublished\":\"2020-01-28T16:00:34+00:00\",\"dateModified\":\"2020-01-28T06:39:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/Java-Debugging-Tips-881x441.jpg?fit=881%2C441&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/Java-Debugging-Tips-881x441.jpg?fit=881%2C441&ssl=1\",\"width\":881,\"height\":441},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/softwareengineeringdaily.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What Does Java Do Best?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"name\":\"Software Engineering Daily\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\",\"name\":\"Software Engineering Daily\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1\",\"width\":549,\"height\":169,\"caption\":\"Software Engineering Daily\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/software_daily\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/618234cbe1ece5fb1942f58d2d279e62\",\"name\":\"Danny Seymour\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4346abbfc4b4d898a9c6b21499ae87d8?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4346abbfc4b4d898a9c6b21499ae87d8?s=96&d=retro&r=pg\",\"caption\":\"Danny Seymour\"},\"description\":\"Danny is a Santa Fe-based developer who works as a Junior Consultant at Rural Sourcing.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/daniel-seymournm\/\"],\"url\":\"https:\/\/softwareengineeringdaily.com\/author\/danny\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What Does Java Do Best? - Software Engineering Daily","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/","og_locale":"en_US","og_type":"article","og_title":"What Does Java Do Best? - Software Engineering Daily","og_description":"The first public implementation of Java was released in 1996, when the Nintendo 64 was at the cutting edge of game console technology and 41% of web users regularly accessed AOL.com. The intention of its creators was to provide cross-platform functionality for applications distributed via the then-nascent World Wide Web- known as applets&#8211; a feature","og_url":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/","og_site_name":"Software Engineering Daily","article_published_time":"2020-01-28T16:00:34+00:00","article_modified_time":"2020-01-28T06:39:38+00:00","og_image":[{"width":881,"height":441,"url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/Java-Debugging-Tips-881x441.jpg?fit=881%2C441&ssl=1","type":"image\/jpeg"}],"author":"Danny Seymour","twitter_card":"summary_large_image","twitter_creator":"@software_daily","twitter_site":"@software_daily","twitter_misc":{"Written by":"Danny Seymour","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#article","isPartOf":{"@id":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/"},"author":{"name":"Danny Seymour","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/618234cbe1ece5fb1942f58d2d279e62"},"headline":"What Does Java Do Best?","datePublished":"2020-01-28T16:00:34+00:00","dateModified":"2020-01-28T06:39:38+00:00","mainEntityOfPage":{"@id":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/"},"wordCount":1352,"publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/Java-Debugging-Tips-881x441.jpg?fit=881%2C441&ssl=1","keywords":["Danny Seymour","Georges Saab","GraalVM Quarkus","Java 13","JVM","Oracle","programming language"],"articleSection":["All Content","Exclusive Articles","Exclusive Content"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/","url":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/","name":"What Does Java Do Best? - Software Engineering Daily","isPartOf":{"@id":"https:\/\/softwareengineeringdaily.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#primaryimage"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/Java-Debugging-Tips-881x441.jpg?fit=881%2C441&ssl=1","datePublished":"2020-01-28T16:00:34+00:00","dateModified":"2020-01-28T06:39:38+00:00","breadcrumb":{"@id":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#primaryimage","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/Java-Debugging-Tips-881x441.jpg?fit=881%2C441&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/Java-Debugging-Tips-881x441.jpg?fit=881%2C441&ssl=1","width":881,"height":441},{"@type":"BreadcrumbList","@id":"https:\/\/softwareengineeringdaily.com\/2020\/01\/28\/what-does-java-do-best\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/softwareengineeringdaily.com\/"},{"@type":"ListItem","position":2,"name":"What Does Java Do Best?"}]},{"@type":"WebSite","@id":"https:\/\/softwareengineeringdaily.com\/#website","url":"https:\/\/softwareengineeringdaily.com\/","name":"Software Engineering Daily","description":"","publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/softwareengineeringdaily.com\/#organization","name":"Software Engineering Daily","url":"https:\/\/softwareengineeringdaily.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1","width":549,"height":169,"caption":"Software Engineering Daily"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/software_daily"]},{"@type":"Person","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/618234cbe1ece5fb1942f58d2d279e62","name":"Danny Seymour","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4346abbfc4b4d898a9c6b21499ae87d8?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4346abbfc4b4d898a9c6b21499ae87d8?s=96&d=retro&r=pg","caption":"Danny Seymour"},"description":"Danny is a Santa Fe-based developer who works as a Junior Consultant at Rural Sourcing.","sameAs":["https:\/\/www.linkedin.com\/in\/daniel-seymournm\/"],"url":"https:\/\/softwareengineeringdaily.com\/author\/danny\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2020\/01\/Java-Debugging-Tips-881x441.jpg?fit=881%2C441&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p7GuoD-2fI","_links":{"self":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/8662"}],"collection":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/users\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/comments?post=8662"}],"version-history":[{"count":0,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/8662\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media\/8671"}],"wp:attachment":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media?parent=8662"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/categories?post=8662"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/tags?post=8662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}