<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="https://purl.org/dc/elements/1.1/"
     xmlns:dcterms="http://purl.org/dc/terms/"
     xmlns:media="http://search.yahoo.com/mrss/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:cf="https://www.futureplc.com/rss/content-flags"
>
    <channel>
                    <atom:link href="https://www.itpro.com/feeds/tag/programming-languages" rel="self" type="application/rss+xml" />
                            <title><![CDATA[ Latest from ITPro in Programming-languages ]]></title>
                <link>https://www.itpro.com/tag/programming-languages</link>
        <description><![CDATA[ All the latest programming-languages content from the ITPro team ]]></description>
                                    <lastBuildDate>Tue, 28 Jul 2026 15:00:00 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ Amazon targets agent safety gains with investment in team behind Lean programming language ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/development/amazon-targets-agent-safety-gains-with-investment-in-team-behind-lean-programming-language</link>
                                                                            <description>
                            <![CDATA[ The tech giant hopes support for the open source programming language could drive AI agent safety improvements ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">pChcAGV279QDiarsAvdxvY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/rPoGMChjniATnN9JwsqpVW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 28 Jul 2026 15:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ ross.kelly@futurenet.com (Ross Kelly) ]]></author>                    <dc:creator><![CDATA[ Ross Kelly ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Y5vrV2V98Np6jHAGmAtCd3.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ross Kelly is ITPro&#039;s News &amp;amp; Analysis Editor, with a keen interest in cyber security, business leadership and emerging technologies.&lt;/p&gt;
&lt;p&gt;He graduated from Edinburgh Napier University in 2016 with a BA (Hons) in Journalism, and joined ITPro in 2022 after four years working in technology conference research.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In his spare time, Ross enjoys cycling, walking and is an avid reader of history and non-fiction.&lt;/p&gt;
&lt;p&gt;You can contact Ross at ross.kelly@futurenet.com or on &lt;a href=&quot;https://twitter.com/rosswritesetc&quot;&gt;Twitter&lt;/a&gt; and &lt;a href=&quot;https://www.linkedin.com/in/ross-kelly-18a54411a/&quot;&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/rPoGMChjniATnN9JwsqpVW-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Amazon logo and branding pictured hovering above a laptop keyboard with keys blurred.]]></media:description>                                                            <media:text><![CDATA[Amazon logo and branding pictured hovering above a laptop keyboard with keys blurred.]]></media:text>
                                <media:title type="plain"><![CDATA[Amazon logo and branding pictured hovering above a laptop keyboard with keys blurred.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/rPoGMChjniATnN9JwsqpVW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Amazon has pledged financial backing for the team behind the Lean programming language as part of a sharpened focus on AI agent development. </p><p>In a <a href="https://www.amazon.science/news/amazon-is-investing-in-the-lean-focused-research-organization" target="_blank"><u>statement </u></a>on 26 July, the tech giant revealed it will provide "substantial, long-term” financial support for the Lean Focused Research Organization (FRO). </p><p>The FRO leads development of the open source programming language, which Amazon already uses internally in agentic AI development practices. </p><p>Lean has been around since 2014 and is a <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">popular programming language</a> across a range of fields including mathematics, physics, and computer science. </p><p>For Amazon, the appeal lies in its role in helping develop and fine-tune AI reasoning capabilities. The <a href="https://www.itpro.com/software/development/why-python-is-the-programming-language-of-choice-for-ai-developers">programming language</a> is used alongside a ‘proof assistant’ - a type of software used to conduct checks of code to identify and sift out errors or flaws. </p><p>It’s these ‘correctness proofs’ that make the programming language a go-to option for academic researchers and professionals in scientific fields. </p><p>“AI generation of formal proofs in Lean has been a key method for training models with lower error rates, to the point that they are now producing correct solutions to research-level problems,” Amazon explained in a blog post. </p><h2 id="amazon-lean-ing-in-on-agentic-safety">Amazon Lean-ing in on agentic safety</h2><p>Amazon said its support for Lean comes at a critical time both for its own internal AI ambitions and for the industry at large as enterprises ramp up adoption of agents. </p><p>Safety has been a key recurring talking point for organizations on this front. As <em>ITPro </em>has previously reported, research shows growing concerns around access control, <a href="https://www.itpro.com/technology/artificial-intelligence/one-size-fits-all-agent-governance-sets-enterprises-up-to-fail"><u>governance</u></a>, <a href="https://www.itpro.com/security/enterprises-are-adopting-agents-faster-than-they-can-secure-and-govern-them-experts-warn-its-a-disaster-waiting-to-happen"><u>identity security</u></a>, and <a href="https://www.itpro.com/security/observability-will-be-key-to-agentic-ai-safety-says-microsoft-security-exec"><u>visibility </u></a>when it comes to agents. </p><p>“Coupling <a href="https://www.itpro.com/technology/artificial-intelligence-ai/369959/what-is-generative-ai">generative AI</a> with Lean's mathematical rigor will help enable verified, trustworthy AI agents,” the company said. </p><p>Amazon already uses Lean-based verification in its Bedrock AgentCore service, helping to “prove the correctness of the policy language” that ensures agents operate within strict boundaries.</p><p>Elsewhere, Lean underpins systems such as SampCert - which provides “mathematical guarantees” for privacy protections in the AWS Clean Rooms analytics platform - and AWS Neuron. </p><p>“One scientist recently used an LLM with Lean to prove the correctness of Amazon Aurora's segment repair protocol, our most durability-critical distributed protocol, in a fraction of the time it would have taken manually,” Amazon noted. </p><p>“The set of applications is growing fast, and this is just the beginning.”</p><p>Peter Van der Putten, assistant professor of AI at Leiden University and director of Pegasystems’ AI Lab, said AWS’ FRO backing is a welcomed move given recurring security-related concerns. </p><p>“It is encouraging to see AWS investing in open source technologies such as Lean that have the potential to provide stronger formal verification guarantees for software and AI systems,” he said. </p><p>“As agentic AI systems become increasingly autonomous, technologies that can provide stronger correctness and safety guarantees than just traditional testing will become ever more important.”</p><p>Van der Putten noted, however, that the inherent complexity of agentic AI development means more robust orchestration and governance is still of paramount importance. </p><p>“Enterprise agents operate within complex environments involving workflows, automated processes, policies, regulations, humans in the loop, multiple stakeholders, and countless exceptions and uncertainties that cannot simply be abstracted away but must be dealt with in practice,” he said. </p><p>“So even an agent whose behaviour has been verified against a specification must still be able to operate effectively in such a context,” Van der Putten added. </p><p>“In practice, the bigger challenge may lie in orchestrating agents, people, data, and systems together in a governed way, while reflecting ambiguity, trade-offs, conflicting objectives, and constantly evolving realities, rather than simply proving that an idealised agent behaves correctly.”</p><h2 id="open-source-backing">Open source backing</h2><p>Backing for the FRO serves a broader purpose rather than complementing its own use of Lean, according to Amazon. </p><p>“It’s easier to trust a proof when you can evaluate the tools behind it yourself,” the company noted. </p><p>“Customers, auditors, and regulators can independently inspect and validate work done in community-governed tools, which is the kind of transparency that safety-critical AI demands.”</p><p>The firm said that in the long term, Lean’s growing popularity will benefit the AI industry by providing “more libraries, more tooling, and more formalized proofs for everyone”. </p><h3 class="article-body__section" id="section-follow-us-on-social-media"><span>FOLLOW US ON SOCIAL MEDIA</span></h3>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ ‘The challenge now is making sure the next generation develops those same foundations before relying too heavily on AI’: Devs are swerving fundamental skills like Git and Agile because of AI – but there’s a good reason ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/development/the-challenge-now-is-making-sure-the-next-generation-develops-those-same-foundations-before-relying-too-heavily-on-ai-devs-are-swerving-fundamental-skills-like-git-and-agile-because-of-ai-but-theres-a-good-reason</link>
                                                                            <description>
                            <![CDATA[ O'Reilly has recorded a massive fall in programming fundamentals courses, but that’s not to suggest devs aren’t learning key skills ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">xg6onWyPXK3oX7MKrvqvGm</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/EWonz3ftTyRnvHHs9pj2F9-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 10 Jul 2026 09:25:51 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nicole Kobie ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8Y8JDDTQ7XDEk49FoAFP2S.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nicole Kobie first started writing for ITPro in 2007. As a freelance journalist covering technology and business, Nicole&#039;s work includes  bylines in New Scientist, Wired, PC Pro and many more. &lt;/p&gt;&lt;p&gt;Nicole the author of a book about the history of technology, The Long History of the Future.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/EWonz3ftTyRnvHHs9pj2F9-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Female software developer with pink hair coding on a desktop computer in an open place office space, with colleague working on laptop in background.]]></media:description>                                                            <media:text><![CDATA[Female software developer with pink hair coding on a desktop computer in an open place office space, with colleague working on laptop in background.]]></media:text>
                                <media:title type="plain"><![CDATA[Female software developer with pink hair coding on a desktop computer in an open place office space, with colleague working on laptop in background.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/EWonz3ftTyRnvHHs9pj2F9-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Software developers aren't losing skills because of AI, but using time saved to skill up, according to research from O’Reilly. </p><p>Analysis from the learning platform found that rather than the <a href="https://www.itpro.com/software/development/ai-coding-tools-software-development-regional-popularity"><u>boom in AI coding tools</u></a> having a negative effect on developer capabilities, many view the technology as a way to streamline everyday tasks to help them focus on learning. </p><p>O'Reilly said that use of generative AI content on its own learning platform was up 89% in the UK over the last year, while machine learning grew by 51% and natural language processing was up 117%. </p><p>At the same time, O'Reilly noted that more traditional programming topics saw decline over the last year, with "programming fundamentals" down 74%, <a href="https://www.itpro.com/software/development/agile-development-25-year-anniversary-impact-ai">Agile </a>falling 31%, and Git down 20%. </p><p>While that could be seen as software engineers handing off such work to AI and not bothering to study key subjects, the study noted this suggests many are learning such skills on the job and using AI to support learning. </p><p>Formal training time, meanwhile, is spent learning about more advanced AI-related topics. </p><p>Alexia Pedersen, SVP International at O’Reilly, said the study shows developers are now making AI a “core part of their learning priorities”. </p><p>"The UK tech workforce isn’t turning its back on programming," Pedersen said. "It’s building on years of engineering expertise to take advantage of the opportunities AI creates. That’s exactly what we’d expect from experienced developers."</p><p>"Many already have years of programming experience, which puts them in a strong position to adopt AI tools confidently and apply them in meaningful ways," she added. </p><h2 id="ai-isn-t-a-replacement-for-core-skills">AI isn’t a replacement for core skills</h2><p>That said, O'Reilly warned that AI should complement, not replace, foundational programming knowledge – especially for newer developers. </p><p>As <a href="https://www.itpro.com/software/development/junior-developer-ai-tools-coding-skills"><u><em>ITPro </em></u><u>reported last year</u></a>, concerns are rising that those entering the workforce are becoming too reliant on the technology. The result is that many could miss out on valuable learning curves in the early stages of their careers. </p><p>"The challenge now is making sure the next generation develops those same foundations before relying too heavily on AI," Pedersen commented. "AI will make great developers even better, but it can’t replace the technical judgement that comes from understanding how software really works."</p><p>The company suggested that while developers are choosing to learn in different ways, it's worth noting that employers still require specific programming skills. </p><p>React, Node.js and <a href="https://www.itpro.com/business/careers-and-training/why-legacy-tech-skills-are-a-point-of-concern-and-how-leaders-can-keep-them-alive">Java skills</a> are still highly sought after while cloud-related knowledge is prevalent in many UK job ads. </p><p>Indeed, demand for the Clean Code courses grew 19% over the last year, O'Reilly said, with C# up 17% – showing practical coding capabilities remains important. </p><p>"What this data captures is a workforce making active choices about where their time goes," Pedersen said.</p><p>"UK tech professionals aren't casually browsing AI content – they're incorporating technical learning into new ways of working, building AI agents, testing different approaches, and exploring how these tools can improve productivity and outcomes. </p><h3 class="article-body__section" id="section-follow-us-on-social-media"><span>FOLLOW US ON SOCIAL MEDIA</span></h3>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Anthropic says Claude Code can help streamline 'cost-prohibitive' COBOL modernization, but IBM says it's not that simple – 'decades of hardware-software integration cannot be replicated by moving code' ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/development/anthropic-says-claude-code-can-help-streamline-cost-prohibitive-cobol-modernization-but-ibm-says-its-not-that-simple-decades-of-hardware-software-integration-cannot-be-replicated-by-moving-code</link>
                                                                            <description>
                            <![CDATA[ Research from Anthropic claims Claude Code can simplify modernization of COBOL systems ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ZRu8eXsLRLLdEqQPDsHiGP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aDhTEJGo46XuMZC56886NB-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 24 Feb 2026 11:31:19 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nicole Kobie ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8Y8JDDTQ7XDEk49FoAFP2S.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nicole Kobie first started writing for ITPro in 2007. As a freelance journalist covering technology and business, Nicole&#039;s work includes  bylines in New Scientist, Wired, PC Pro and many more. &lt;/p&gt;&lt;p&gt;Nicole the author of a book about the history of technology, The Long History of the Future.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/aDhTEJGo46XuMZC56886NB-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Mainframe modernization concept image showing COBOL symbol imposed over networking and database symbols.]]></media:description>                                                            <media:text><![CDATA[Mainframe modernization concept image showing COBOL symbol imposed over networking and database symbols.]]></media:text>
                                <media:title type="plain"><![CDATA[Mainframe modernization concept image showing COBOL symbol imposed over networking and database symbols.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aDhTEJGo46XuMZC56886NB-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Anthropic believes <a href="https://www.itpro.com/software/development/anthropic-labs-chief-mike-krieger-claims-claude-is-essentially-writing-itself-and-it-validates-a-bold-prediction-by-ceo-dario-amodei">Claude Code</a> can play a key role in <a href="https://www.itpro.com/technology/artificial-intelligence/aws-targets-it-modernization-gains-with-new-agentic-ai-features-in-transform">modernizing legacy code</a> like COBOL, but IBM appears to disagree. </p><p>In a recent <a href="https://claude.com/blog/how-ai-helps-break-cost-barrier-cobol-modernization" target="_blank">blog post</a>, Anthropic said its flagship coding tool can automate much of the legwork required in COBOL modernization, which is a notoriously difficult process for enterprises. </p><p>"With AI, teams can modernize their COBOL codebase in quarters instead of years," the company said. </p><p>If as useful as promised, Claude could be the tool that finally breaks the ongoing dependence on COBOL, or Common Business-Oriented Language, a programming language first developed back in 1959. </p><p>While it's still widely used, that's largely for legacy operations, and efforts are being made to shift at least some of those workloads to more modern platforms. Anthropic noted COBOL runs 95% of ATM transactions in the US and is used to power critical systems including finance, airlines, and government. </p><p>"Despite that, the number of people who understand it shrinks every year," Anthropic noted in its blog post. "The developers who built these systems retired years ago, and the institutional knowledge they carried left with them." </p><p><a href="https://www.itpro.com/business/careers-and-training/why-legacy-tech-skills-are-a-point-of-concern-and-how-leaders-can-keep-them-alive">Waning expertise in COBOL</a> is exacerbated by the fact universities no longer teach the language. Indeed, it’s becoming increasingly difficult to find qualified engineers in this domain. </p><p>That could have serious implications for major industry players such as IBM, largely because COBOL is a major selling point for IBM systems as the company continues to sell mainframes to customers reliant on the language. </p><p>After Anthropic's announcement, shares in IBM fell 13.2% – the biggest drop seen by the company in more than 25 years, according to <a href="https://www.reuters.com/business/ibm-posts-steepest-daily-drop-since-2000-after-anthropic-says-ai-can-modernize-2026-02-24/" target="_blank"><u><em>Reuters</em></u></a>. </p><h2 id="claude-code-vs-cobol">Claude Code vs COBOL</h2><p>Anthropic said COBOL modernization is different from standard code, adding "you're reverse engineering business logic from systems built when Nixon was president." </p><p>With that in mind, it’s not just about coding, but understanding long lost institutional knowledge that's only represented in the code itself. </p><p>That's one reason why "armies of consultants" are now required to update these systems – at high cost and with lengthy timelines. </p><p>"Tools like Claude Code can automate the exploration and analysis phases that consume most of the effort in COBOL modernization," the post noted. </p><p>Using Claude Code, Anthropic said researchers were able to map dependencies across thousands of lines of code, document long-lost workflows, spot risks more quickly than human analysts, and offer "deep insights" to make key decisions. </p><p>"<a href="https://www.itpro.com/strategy/28181/what-is-ai">AI </a>excels at streamlining the tasks that once made COBOL modernization cost-prohibitive," the company said. "With it, your team can focus on strategy, risk assessment, and business logic while AI automates the code analysis and implementation."</p><p>By going through a step-by-step process that includes validation, the AI can translate COBOL logic into modern languages, creating API wrappers around legacy components and building a system to run old and new code together. </p><h2 id="ibm-isn-t-convinced">IBM isn't convinced</h2><p>In an apparent response, IBM published its own <a href="https://newsroom.ibm.com/blog-lost-in-translation-what-the-ai-code-debate-keeps-getting-wrong" target="_blank"><u>blog post</u></a> about <a href="https://www.itpro.com/technology/artificial-intelligence/how-ai-coding-is-transforming-the-it-industry-in-2025">AI coding tools</a> and COBOL – without specifically mentioning Anthropic – that argues there's a clear difference between translating code and modernizing a platform.</p><p>"Translation captures almost none of the actual complexity," said Rob Thomas, Senior Vice President, IBM Software and Chief Commercial Officer, later adding: "Decades of hardware-software integration cannot be replicated by moving code."</p><p>IBM's mainframe business isn't just about COBOL, Thomas said. Indeed, nearly half (40%) of COBOL doesn't even run on mainframes.</p><p>"COBOL on <a href="https://www.itpro.com/security/29889/what-is-ibm-z">IBM Z</a> is code optimized over decades of tight coupling between software and hardware," Thomas added.</p><p> "An analogy is the iOS and iPhone: someone could build an alternative, but it is unlikely to displace a billion iPhones. The performance derives from tight coupling of software and hardware, processor-level acceleration, I/O subsystem optimization, and decades of performance tuning."</p><p>Whether that convinces the markets to stop battering IBM's shares remains to be seen, but IBM isn't the first company to see its price fall over an Anthropic post or product launch in recent weeks. </p><p><a href="https://www.itpro.com/technology/artificial-intelligence/why-anthropic-sent-software-stocks-into-freefall"><u>Software and services shares dipped</u></a> over the launch of <a href="https://www.itpro.com/technology/artificial-intelligence/everything-you-need-to-know-about-anthropic-claude-cowork">Claude Cowork</a>, while another reveal about <a href="https://www.reuters.com/technology/crowdstrike-datadog-other-cybersecurity-stocks-slide-after-anthropics-ai-tool-2026-02-23/" target="_blank"><u>security tools tanked</u></a> share in a host of major cybersecurity companies. </p><h3 class="article-body__section" id="section-follow-us-on-social-media"><span>FOLLOW US ON SOCIAL MEDIA</span></h3>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ ‘1 engineer, 1 month, 1 million lines of code’: Microsoft wants to replace C and C++ code with Rust by 2030 – but a senior engineer insists the company has no plans on using AI to rewrite Windows source code ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/development/microsoft-rust-programming-language-modernization-ai</link>
                                                                            <description>
                            <![CDATA[ Microsoft plans to replace C and C++ with Rust within the next five years as part of a major engineering modernization project – but a senior company figure insists AI won’t be doing the heavy lifting after a social media backlash. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">mopEaJfgpzq9cGkYpYd5ZY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Deb4XXCJdzDg8DCaViLow3-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 24 Dec 2025 11:24:28 +0000</pubDate>                                                                                                                                <updated>Wed, 24 Dec 2025 11:25:18 +0000</updated>
                                                                                                                                            <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ ross.kelly@futurenet.com (Ross Kelly) ]]></author>                    <dc:creator><![CDATA[ Ross Kelly ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Y5vrV2V98Np6jHAGmAtCd3.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ross Kelly is ITPro&#039;s News &amp;amp; Analysis Editor, with a keen interest in cyber security, business leadership and emerging technologies.&lt;/p&gt;
&lt;p&gt;He graduated from Edinburgh Napier University in 2016 with a BA (Hons) in Journalism, and joined ITPro in 2022 after four years working in technology conference research.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In his spare time, Ross enjoys cycling, walking and is an avid reader of history and non-fiction.&lt;/p&gt;
&lt;p&gt;You can contact Ross at ross.kelly@futurenet.com or on &lt;a href=&quot;https://twitter.com/rosswritesetc&quot;&gt;Twitter&lt;/a&gt; and &lt;a href=&quot;https://www.linkedin.com/in/ross-kelly-18a54411a/&quot;&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Deb4XXCJdzDg8DCaViLow3-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Microsoft logo and branding pictured at Mobile World Congress (MWC) 2025 in Barcelona, Spain. ]]></media:description>                                                            <media:text><![CDATA[Microsoft logo and branding pictured at Mobile World Congress (MWC) 2025 in Barcelona, Spain. ]]></media:text>
                                <media:title type="plain"><![CDATA[Microsoft logo and branding pictured at Mobile World Congress (MWC) 2025 in Barcelona, Spain. ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Deb4XXCJdzDg8DCaViLow3-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Microsoft plans to <a href="https://www.itpro.com/software/development/declining-interest-in-traditional-coding-languages-mirrored-by-uptick-in-ai-skills-demand">replace C and C++</a> with Rust within the next five years as part of a major engineering modernization project – but a senior company figure insists AI won’t be doing the heavy lifting after a social media backlash.</p><p>In a <a href="https://www.linkedin.com/posts/galenh_principal-software-engineer-coreai-microsoft-activity-7407863239289729024-WTzf/" target="_blank"><u>post on LinkedIn</u></a> advertising a job opening last week, Galen Hunt, Distinguished Engineer at Microsoft, said the tech giant plans to “eliminate every line of C and C++ from Microsoft by 2030”. </p><p>The scale of the project here is significant, with Hunt suggesting that developers will be working toward refactoring upwards of one million lines of code on a monthly basis. </p><p>“Our North Star is ‘1 engineer, 1 month, 1 million lines of code’,” Hunt wrote. “To accomplish this previously unimaginable task, we’ve built a powerful code processing infrastructure. Our algorithmic infrastructure creates a scalable graph over source code at scale.”</p><p>“Our AI processing infrastructure then enables us to apply <a href="https://www.itpro.com/technology/artificial-intelligence/businesses-are-being-taken-for-fools-with-ai-agents">AI agents</a>, guided by algorithms, to make code modifications at scale,” he added. “The core of this infrastructure is already operating at scale on problems such as code understanding.”</p><p>The move from Microsoft marks the latest in its shift to the <a href="https://www.itpro.com/software/development/rust-developers-worry-the-programming-language-will-get-too-complex">Rust programming language</a> in recent years. In 2022, David Weston, corporate VP for OS security and enterprise at Microsoft, <a href="https://x.com/dwizzzleMSFT/status/1720134540822520268?s=20" target="_blank">revealed </a>the company was investing around $10 million in Rust to make it the company's "1st class language" for engineering systems. </p><p>As <em>ITPro </em>reported back in 2023, the company made a significant leap on this front with the <a href="https://www.itpro.com/software/windows/microsoft-continues-its-rust-mission-with-new-kernel-features"><u>introduction of Rust-based kernel features on Windows</u></a> as part of the Windows 11 Insider Preview Build 25905.</p><p>Progress has continued at pace in the intervening years. During a keynote presentation at RustCon 2025 in September, Azure CTO Mark Russinovich detailed the company’s efforts to embrace Rust, per reports from <a href="https://thenewstack.io/microsofts-rust-bet-from-blue-screens-to-safer-code/" target="_blank"><u><em>The New Stack</em></u></a>. </p><h2 id="microsoft-s-rust-project-courts-controversy">Microsoft's Rust project courts controversy</h2><p>Initially, Hunt hinted at the use of AI in helping Microsoft deliver on the goal of rewriting some of the company’s largest codebases. </p><p>The suggestion tracks with how the tech giant is using the technology in software development over the last two years. In May this year, CEO Satya Nadella <a href="https://www.itpro.com/software/development/developers-will-need-to-adapt-microsoft-ceo-satya-nadella-joins-googles-sundar-pichai-in-revealing-the-scale-of-ai-generated-code-at-the-tech-giants-and-its-a-stark-warning-for-software-developers"><u>revealed up to 30% of the company’s code is now written by AI</u></a>. </p><p>However, Hunt’s comments appear to have courted controversy, prompting an edit on the original post to clarify that “Windows is *NOT* being rewritten in Rust with AI”. </p><p>Hunt insisted this is a research project aimed at “building tech to make migration from language to language possible”. </p><p>“The intent of my post was to find like-minded engineers to join us on the next stage of this multi-year endeavor—not to set a new strategy for Windows 11+ or to imply that Rust is an endpoint,” he wrote. </p><h2 id="rust-is-in-vogue">Rust is in vogue</h2><p>Microsoft isn’t the only company making the shift to Rust. Last year, Lars Bergstrom, director of engineering at Google’s Android team, said developer teams embracing the programming language have <a href="https://www.itpro.com/software/development/google-devs-ditched-c-for-rust-heres-what-happened"><u>unlocked marked productivity and efficiency benefits</u></a>. </p><p>A 2024 project from DARPA also saw the US government agency announce plans on this front, this time <a href="https://www.itpro.com/software/development/darpa-wants-to-accelerate-translation-of-c-code-to-rust-and-its-relying-on-ai-to-do-it"><u>actually using AI tools to translate C code to Rust</u></a>.  </p><p>A key factor behind the shift to Rust lies in security. Popular languages such as C and C++ have suffered from recurring security-related issues, making them vulnerable to bugs due to how they use memory. </p><p>These ‘memory-safety vulnerabilities’ have become a frequent pain point for enterprise security teams and developers alike, and have caught the attention of security agencies on both sides of the Atlantic. </p><p>In 2022, the US National Security Agency (NSA) urged organisations to shift to memory-safe programming languages, such as Rust, Python, or Java. More recent guidance from the NSA and CISA, meanwhile, <a href="https://www.itpro.com/software/memory-safe-language-tips-cisa-development"><u>once again urged devs to make the shift</u></a>. </p><h3 class="article-body__section" id="section-follow-us-on-social-media"><span>FOLLOW US ON SOCIAL MEDIA</span></h3>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Using an older version of Python? You’re leaving ‘money and performance on the table’ if you don’t upgrade – and missing out on big developer efficiency gains ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/python-programming-language-developers-older-versions-upgrade</link>
                                                                            <description>
                            <![CDATA[ New research from JetBrains shows a majority of enterprises are using a version of Python that’s a year or more older – and it's having a big impact on efficiency and performance. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">vhJPXWgJKzE8C8a9gWTyXA</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/cMo7AZBgveNq8DSWPrZR8n-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 20 Aug 2025 05:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ ross.kelly@futurenet.com (Ross Kelly) ]]></author>                    <dc:creator><![CDATA[ Ross Kelly ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Y5vrV2V98Np6jHAGmAtCd3.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ross Kelly is ITPro&#039;s News &amp;amp; Analysis Editor, with a keen interest in cyber security, business leadership and emerging technologies.&lt;/p&gt;
&lt;p&gt;He graduated from Edinburgh Napier University in 2016 with a BA (Hons) in Journalism, and joined ITPro in 2022 after four years working in technology conference research.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In his spare time, Ross enjoys cycling, walking and is an avid reader of history and non-fiction.&lt;/p&gt;
&lt;p&gt;You can contact Ross at ross.kelly@futurenet.com or on &lt;a href=&quot;https://twitter.com/rosswritesetc&quot;&gt;Twitter&lt;/a&gt; and &lt;a href=&quot;https://www.linkedin.com/in/ross-kelly-18a54411a/&quot;&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/cMo7AZBgveNq8DSWPrZR8n-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Female software developer coding in Python and JavaScript with code pictured on desktop computer screens in a home office.]]></media:description>                                                            <media:text><![CDATA[Female software developer coding in Python and JavaScript with code pictured on desktop computer screens in a home office.]]></media:text>
                                <media:title type="plain"><![CDATA[Female software developer coding in Python and JavaScript with code pictured on desktop computer screens in a home office.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/cMo7AZBgveNq8DSWPrZR8n-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>A majority of enterprises are using a version of <a href="https://www.itpro.com/software/development/why-python-is-the-programming-language-of-choice-for-ai-developers">Python</a> that’s a year or more older, according to new research, and it’s costing them dearly. </p><p>Statistics from JetBrains’ annual <em>Python Developers Survey</em> show over three-quarters (83%) of enterprises are using older versions, highlighting a broad “distribution across the latest and older versions of the Python runtime”.</p><p>They’re not particularly fussed, however, with the majority of respondents stating that they were satisfied with the performance of the version they’re currently using. </p><p>More than half (53%) said the version they’re using “meets all my needs” while 25% admitted they simply haven’t had time to update. </p><p>Breaking down usage rates, JetBrains’ study showed just under a quarter (21%) reported using version 3.11, released in October 2022, while 35% said they’re working with version 3.12. </p><p>Just 15%, the study found, are using 3.13, the latest version of the <a href="https://www.itpro.com/software/development/python-just-brushed-past-javascript-to-become-the-most-popular-programming-language-on-github-but-typescript-is-gaining-some-serious-traction">programming language</a>.</p><p>Notably, the study showed that a significant number of developers are using Docker and containers to execute code, meaning the volume of enterprises working with older versions was “surprising”. </p><p>“With containers, just pick the latest version of Python in the container,” the company noted in a <a href="https://blog.jetbrains.com/pycharm/2025/08/the-state-of-python-2025/"><u>blog post</u></a> detailing its findings. “Since everything is isolated, you don’t need to worry about its interactions with the rest of the system, for example, Linux’s system Python.”</p><p>JetBrains added that it expects containerization to “provide more flexibility” for enterprises and “ease our transition” to the latest version of Python. </p><h2 id="upgrading-python-has-big-performance-benefits">Upgrading Python has big performance benefits</h2><p>A key talking point in the JetBrains survey centers around the potential ease of use improvements enterprises are missing out on by failing to upgrade. </p><p>More recent versions include features that ease quality of life for developers, but also big performance gains, the company noted. </p><p>“The 83% of developers running on older versions of Python may be missing out on much more than they realize,” the firm said. “It’s not just that they are missing some language features, such as the except keyword, or a minor improvement to the standard library, such as tomllib.”</p><p>“Python 3.11, 3.12, and 3.13 all include major performance benefits, and the upcoming 3.14 will include even more.”</p><p>Drilling down into the potential gains, JetBrains noted that 48% of those using Python 3.11 can unlock code run gains of ~11% by upgrading to 3.13 - and that’s achieved while using ~10-15% less memory.</p><iframe allow="" height="200px" width="100%" id="" style="" data-lazy-priority="high" data-lazy-src="https://player.captivate.fm/episode/77784eac-caa0-4ebd-8693-a76cd6800736/"></iframe><p>“If they are on the 27% still on 3.10 or older, their code gets a whopping ~42% speed increase (with no code changes), and memory use can drop by ~20-30%,” JetBrains added. </p><p>Speaking to <em>ITPro</em>, Daniele Volpe, software engineer at SecureFlag, said while updating to newer versions isn’t critical, the advantages are clear and should be capitalized on. </p><p>“Running old Python versions does add up over time,” Volpe said. “You’re basically paying for slower runtimes and higher cloud costs when newer versions give you efficiency for free.”</p><p>“It’s not always urgent, but ignoring it means you’re leaving money and performance on the table”. </p><p>Volpe noted that the impact on developers has a knock-on effect which ultimately exacerbates existing efficiency and performance-related issues.</p><p>Slower runtimes mean slower feedback loops, which slows down the overall efficiency of the <a href="https://www.itpro.com/software/development/367842/the-four-major-software-development-lifecycle-models-and-how-they-work">development lifecycle</a>. </p><p>“Developers spend more time waiting on tests, builds, or jobs to finish,” he said. “Plus, sticking with older versions means missing out on language improvements that could make their day-to-day work smoother.”</p><h2 id="upgrading-might-be-a-hassle-but-just-take-the-plunge">Upgrading might be a hassle – but just take the plunge</h2><p>Volpe said that it’s no surprise a significant portion of respondents are satisfied with the performance of older Python versions. It’s a long-running practice and most teams “stick with what works until something breaks”. </p><p>“Upgrading feels like hassle and risk, so they put it off,” he said. “Comfort and inertia often win out, even if the gains from moving forward would be worth it.”</p><p>Maurice Kalinowski, product director at Qt, echoed Volpe’s comments on this front, adding that “updating any technical dependency is always a concern to a development team”.</p><p>“There can be regressions, both on functional or performance level, incompatible changes or even removed functionality,” Kalinowski said. </p><p>“This applies even more to the underlying programming language, as it touches not just one component but your whole solution.”</p><p>Simply put, if it isn’t broken, don’t try and fix it. </p><h3 class="article-body__section" id="section-more-from-itpro"><span>MORE FROM ITPRO</span></h3><ul><li><a href="https://www.itpro.com/technology/artificial-intelligence/ai-transforming-software-development-jetbrains-ceo-kirill-skrygan-developers">AI is transforming software development – JetBrains CEO Kirill Skrygan says it’s up to developers to transform with it</a></li><li><a href="https://www.itpro.com/software/development/ai-coding-tools-are-finally-delivering-results-for-enterprises-developers-are-saving-so-much-time-theyre-able-to-collaborate-more-focus-on-system-design-and-learn-new-languages">AI coding tools are finally delivering results for enterprises</a></li><li><a href="https://www.itpro.com/software/want-developers-to-build-secure-software-you-need-to-ditch-these-two-programming-languages">Want developers to build secure software? You need to ditch these two programming languages</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ ‘It’s far from showing its age’: Java might’ve just turned 30, but it’s still going strong and here to stay ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/development/its-far-from-showing-its-age-java-mightve-just-turned-30-but-its-still-going-strong-and-here-to-stay</link>
                                                                            <description>
                            <![CDATA[ With Java celebrating its 30th anniversary, we look at the rise of the programming language and what the future holds. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">XYL6F9pN8EC9gM2tV32w6g</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9LkZvfbRm5kawau4AGPCSg-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 23 May 2025 07:25:10 +0000</pubDate>                                                                                                                                <updated>Fri, 23 May 2025 11:30:16 +0000</updated>
                                                                                                                                            <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ ross.kelly@futurenet.com (Ross Kelly) ]]></author>                    <dc:creator><![CDATA[ Ross Kelly ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Y5vrV2V98Np6jHAGmAtCd3.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ross Kelly is ITPro&#039;s News &amp;amp; Analysis Editor, with a keen interest in cyber security, business leadership and emerging technologies.&lt;/p&gt;
&lt;p&gt;He graduated from Edinburgh Napier University in 2016 with a BA (Hons) in Journalism, and joined ITPro in 2022 after four years working in technology conference research.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In his spare time, Ross enjoys cycling, walking and is an avid reader of history and non-fiction.&lt;/p&gt;
&lt;p&gt;You can contact Ross at ross.kelly@futurenet.com or on &lt;a href=&quot;https://twitter.com/rosswritesetc&quot;&gt;Twitter&lt;/a&gt; and &lt;a href=&quot;https://www.linkedin.com/in/ross-kelly-18a54411a/&quot;&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/9LkZvfbRm5kawau4AGPCSg-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Young female software developer coding in Java programming language while sitting at a desk in an open plan office space.]]></media:description>                                                            <media:text><![CDATA[Young female software developer coding in Java programming language while sitting at a desk in an open plan office space.]]></media:text>
                                <media:title type="plain"><![CDATA[Young female software developer coding in Java programming language while sitting at a desk in an open plan office space.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9LkZvfbRm5kawau4AGPCSg-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Java, one of the world’s most popular programming languages, has officially turned 30 - but it’s still a long way from reaching its twilight years. </p><p>The programming language was first released in May 1995, and its launch came at a pivotal time in the development of the world wide web. The programming language was perfectly suited to cater for growing interactivity and multimedia requirements. </p><p>Java was created by James Gosling while working at Sun Microsystems, which was acquired by Oracle in 2010. Java development began some years before as part of a project - originally called ‘Oak’ - aimed at revolutionizing interactive television. </p><p>Ultimately, it proved slightly ahead of its time and the team behind the project pivoted to develop and fully flesh out the programming language. But with the rise of the web and more complex networking requirements, Gosling and co were wary of the potential pitfalls less portable languages could create in years ahead. </p><p>It was a solid call on their part. In an <a href="https://www.itpro.com/107830/qa-james-gosling-the-father-of-java"><u>interview with </u><u><em>ITPro</em></u><u> way back in 2007</u></a>, Gosling noted that “most of the stuff we talked about back then has happened, even though at the time it seemed like extreme science fiction”. </p><p>So what makes Java tick, and what’s the secret sauce behind its longevity?</p><h2 id="java-s-timeless-appeal">Java’s timeless appeal</h2><p>Java is a high-level, general purpose, object-oriented programming (OOP) language and was designed with a C/C++ style syntax that developers at the time would have found very familiar. </p><p>The language itself is very reliable and known for its ease of use, which also contributed to its popularity upon release. It was easy for developers to jump on the bandwagon and get going - and they sure did. </p><p>From the release of its first public version (Java 1.0) in 1996 to 2001, more than two and a half million developers globally were using the language in their daily workflows. </p><p>Today, Java still powers many of the popular websites and applications we use in our daily lives and remains the go-to language for many Android developers. </p><p>Indeed, figures from JetBrains' 2024 <em>State of the Developer Ecosystem</em> report showed 30% of developers cited Java as their primary language. Similar research last year also showed the <a href="https://www.itpro.com/software/development/java-is-here-to-stay-popular-programming-language-to-remain-on-business-hit-lists-in-2024"><u>programming language was experiencing somewhat of a renaissance</u></a>, with enterprises planning to ramp up Java developer recruitment. </p><p>The <em>Java Developer Productivity Report </em>from Perforce<em> </em>showed investment was rising significantly, with nearly two-thirds (60%) of respondents planning to bring on more devs specializing in the language. </p><p>Java’s popularity among developers has remained modest over its long life, but admittedly peaked in the early noughties. Regardless, recent statistics from the Tiobe Index ranked the programming language in fourth place behind Python - which itself is experiencing a surge in popularity - <a href="https://www.itpro.com/development/software-development/361654/best-c-courses-to-kickstart-your-career">C++</a>, and C. </p><iframe allow="" height="200px" width="100%" data-lazy-priority="low" data-lazy-src="https://player.captivate.fm/episode/3eda2be4-6132-416d-894c-657cd03337ce/"></iframe><p>Despite its age, Dewan Ahmed, principal developer advocate at Harness, said Java still plays a critical role underpinning the tech stacks of enterprises globally. </p><p>“Java may be turning 30, but it’s far from showing its age – as it continues to underpin much of modern software development,” he said. </p><p>“Java’s longevity lies in a rare balance: consistent backward compatibility paired with continuous evolution. The Java Virtual Machine’s “write once, run anywhere” principle still resonates, while the syntax has evolved over the years to become more concise, without sacrificing its stability.”</p><p>The longevity of the programming language is also partly down to enterprise frameworks such as Spring Boot and Jakarta EE, Ahmed noted. These have ensured the programming language remains relevant amidst an age of cloud-native and microservices architectures. </p><p>“This vast ecosystem of libraries and tools, combined with widespread enterprise adoption, gives Java staying power that newer languages struggle to match,” he said. </p><h2 id="java-in-the-age-of-memory-safety">Java in the age of memory safety</h2><p>Another key appeal for Java at the ripe old age of 30 is the fact it <a href="https://www.itpro.com/software/want-developers-to-build-secure-software-you-need-to-ditch-these-two-programming-languages"><u>remains a memory-safe language</u></a>. Security agencies on both sides of the Atlantic have issued repeated warnings to enterprises about the dangers of <a href="https://www.itpro.com/development/programming-languages/369499/move-away-from-memory-unsafe-languages-c">memory-unsafe programming languages</a> in recent years.</p><p>Languages such as C and C++ all suffer from one key weakness – they’re vulnerable to bugs that threat actors can pounce on. Some of these vulnerabilities include - but aren’t limited to - buffer overflow weaknesses or out of bounds read/write flaws. </p><p>These underlying memory-related weaknesses can be manipulated by threat actors to devastating effect. Analysis from Google in 2023, for example, estimated that three-quarters of CVEs used in zero-day exploits targeted memory safety flaws. </p><h2 id="what-next-for-java">What next for Java?</h2><p>According to Ahmed, Java’s long-term relevance will “hinge on how effectively it adapts to the asks of <a href="https://www.itpro.com/strategy/28181/what-is-ai">AI</a>, cloud, and <a href="https://www.itpro.com/cloud/31389/what-is-edge-computing">edge computing</a>”. </p><p>There are ongoing initiatives which aim to meet these demands, however, such as Project Panama for example, which he said enables AI workloads to run more efficiently on hardware resources. </p><p>“In the cloud, ahead-of-time compilation via GraalVM is poised to become more mainstream, while advanced garbage collectors like ZGC and Shenandoah promise to minimize pause times for latency-sensitive applications like real-time analytics,” Ahmed added. </p><p>“These capabilities will ensure Java remains performant in modern, distributed environments and suggest it will remain so long into the AI-centric future.”</p><h3 class="article-body__section" id="section-more-from-itpro"><span>MORE FROM ITPRO</span></h3><ul><li><a href="https://www.itpro.com/business-strategy/careers-training/356457/the-ultimate-guide-to-becoming-a-programmer">The ultimate guide to becoming a programmer</a></li><li><a href="https://www.itpro.com/software/development/declining-interest-in-traditional-coding-languages-mirrored-by-uptick-in-ai-skills-demand">Interest in traditional programming languages is declining</a></li><li><a href="https://www.itpro.com/software/development/ai-coding-tools-are-finally-delivering-results-for-enterprises-developers-are-saving-so-much-time-theyre-able-to-collaborate-more-focus-on-system-design-and-learn-new-languages">AI coding tools are finally delivering results </a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Python’s popularity shows no signs of fading – here’s why software developers love it ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/development/pythons-popularity-shows-no-signs-of-fading-heres-why-software-developers-love-it</link>
                                                                            <description>
                            <![CDATA[ Python remains highly popular among developers for a number of key reasons, experts told ITPro. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">RVMF4RMUqGwNcm8JR95Uy8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/R6gCr8QcpbFXWcn6UnBkih-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 22 May 2025 12:00:00 +0000</pubDate>                                                                                                                                <updated>Thu, 22 May 2025 12:19:47 +0000</updated>
                                                                                                                                            <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ ross.kelly@futurenet.com (Ross Kelly) ]]></author>                    <dc:creator><![CDATA[ Ross Kelly ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Y5vrV2V98Np6jHAGmAtCd3.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Ross Kelly is ITPro&#039;s News &amp;amp; Analysis Editor, with a keen interest in cyber security, business leadership and emerging technologies.&lt;/p&gt;
&lt;p&gt;He graduated from Edinburgh Napier University in 2016 with a BA (Hons) in Journalism, and joined ITPro in 2022 after four years working in technology conference research.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In his spare time, Ross enjoys cycling, walking and is an avid reader of history and non-fiction.&lt;/p&gt;
&lt;p&gt;You can contact Ross at ross.kelly@futurenet.com or on &lt;a href=&quot;https://twitter.com/rosswritesetc&quot;&gt;Twitter&lt;/a&gt; and &lt;a href=&quot;https://www.linkedin.com/in/ross-kelly-18a54411a/&quot;&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/R6gCr8QcpbFXWcn6UnBkih-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Female software developer coding in Python programming language in an open place office space, with screen featuring code blurred in background.]]></media:description>                                                            <media:text><![CDATA[Female software developer coding in Python programming language in an open place office space, with screen featuring code blurred in background.]]></media:text>
                                <media:title type="plain"><![CDATA[Female software developer coding in Python programming language in an open place office space, with screen featuring code blurred in background.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/R6gCr8QcpbFXWcn6UnBkih-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Python’s popularity continues to surge, according to the Tiobe index, with the programming language reaching a 25.25% share in May. </p><p><a href="https://www.tiobe.com/tiobe-index/" target="_blank"><u>Figures from the index</u></a> show Python now holds the highest rating for any programming language since 2001, surpassing Java’s record-breaking rating in June 2001.</p><p>But as Tiobe CEO Paul Jansen noted, this was the first month of the Tiobe index and there were far fewer languages being tracked. </p><p>Nonetheless, the programming language has surged in popularity in recent years, and in the last month alone increased by around 2.2%, with Tiobe figures from April showing the language boasted a rating of 23.08%.</p><p>Notably, May 2025 marked another record-breaking month for Python, according to Jansen. It’s the first time a programming language has held this big a lead over other languages ranked in the index. <a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">Python </a>currently holds a 15% lead compared to the second-placed language, <a href="https://www.itpro.com/development/software-development/361654/best-c-courses-to-kickstart-your-career">C++</a>.</p><p>So what is it about Python that makes it such a popular choice for devs? There are a number of factors here, but one key appeal is its simplicity, experts told <em>ITPro</em>. </p><h2 id="python-s-ease-of-use-is-a-major-draw">Python’s ease of use is a major draw</h2><p>According to Allon Mureinik, senior software engineering manager at Black Duck, ease of use is a major draw, with the programming language having a “very low barrier of entry”. </p><p>“While you can technically write code in any language with no more than a text editor, Python is one of the few programming languages that actually make it practical”, he told <em>ITPro</em>. </p><p>“All you need to start coding in Python is the Python binary itself and a text editor, and you’re good to go.”</p><p>Mureinik added that this ease of use is a “huge factor” even for seasoned developers while the ecosystem surrounding the language is vibrant and still growing at pace. </p><p>“The syntax is simple without being simplistic, and the language constructs themselves make a lot of the developers’ routine tasks (such as manipulating or transforming data structures) very easy,” he said. </p><p>“Python has a rich ecosystem that offers libraries to integrate and interact with a wide variety of services, protocols and environments without having to implement those integrations from scratch.”</p><p>Darren Meyer, Security Research Advocate at Checkmarx, echoed Mureinik on the ecosystem front, noting that the Python community “really participates actively in thinking about security and compliance, which is appreciated”. </p><p>“While parts of the ecosystem (like PyPI, the Python Package Index which makes it easy to adopt open source Python libraries) have had security issues in the past, the community and maintainers are very responsive,” he told <em>ITPro</em>.</p><h2 id="python-is-the-language-of-choice-for-ai-developers">Python is the language of choice for AI developers</h2><p>With the advent of generative AI, it’s hardly surprising that Python has soared higher in popularity, experts told <em>ITPro</em>. Indeed, research from Snowflake last year showed it has now <a href="https://www.itpro.com/software/development/why-python-is-the-programming-language-of-choice-for-ai-developers"><u>become the “programming language of choice” for AI developers</u></a>. </p><p>Analysis by the company found Python use grew by 571% on its Snowpark platform, highlighting its growing appeal. Moreover, this marked a considerable increase compared to other popular languages, such as <a href="https://www.itpro.com/software/software-developers-using-these-programming-languages-were-the-best-paid-in-2024">Java and Scala</a>. </p><p>“<a href="https://www.itpro.com/development/programming/361267/11-best-python-courses">Python skills</a> will be increasingly essential to development teams as they venture into advanced <a href="https://www.itpro.com/strategy/28181/what-is-ai">AI</a>,” the report said. </p><p>So what makes it ideal for AI development? According to Meyer, Python is an “excellent language for rapid prototyping”, meaning developers aren’t bogged down by cumbersome workflows. </p><p>Meanwhile, Mureinik told <em>ITPro </em>its simplicity and ease of use again offers marked benefits here - an aspect of the language that Snowflake said enables developers to “focus on solving AI problems rather than parsing abstract syntax”. </p><p>“Python is a very convenient language for integrations and for stitching together workflows,” he said. “This makes it the obvious choice for programs that take data from source A, use it in a prompt to an LLM (through a Python client library, of course), and then take the output from that prompt as input for system B.”</p><h2 id="python-does-have-some-limitations">Python does have some limitations</h2><p>While Python has a lot going for it, there are certain limitations - particularly with regard to speed. Jansen specifically highlighted this issue in the latest Tiobe index update, suggesting that Python’s low performance is the “only reason other languages still have a reason for existing”. </p><p>This lower performance is due to how Python operates. It relies on an ‘interpreter’, a program that processes and executes code from a script file, or in some cases interactively. This allows programmers to test code - and run said code - on a line by line basis.</p><p>Notably, Python uses a Global Interpreter Lock, or ‘GIL’. This is a mutex, or lock, which limits the throughput of code,  Jeff Watkins, chief technology officer at CreateFuture, told <em>ITPro</em>.</p><p>“The interpreter and its “global interpreter lock” limit throughput to a single, slow thread, so heavy-duty computing needs to be offloaded to C/C++ libraries,” he explained.  </p><p>Efforts have been made to increase interpreter performance and remove these single-threading limitations, Watkins added, but still leaves developers wanting when compared to the performance of languages such as C++. </p><p>“Python will likely never outperform C++, but it doesn’t need to, as it was never its original purpose,” he noted. </p><p>Other limitations of Python are due to its dynamic typing approach, which Watkins said “trades off any ‘compile time’ safety for ease of implementation” and therefore can result in errors. </p><p>“This looser approach to typing means that runtime errors can slip through the net unless you put in belt and braces testing and typing hints through annotations,” he explained.  </p><p>“Outside of niche projects, it also doesn’t have a mobile or client front-end footprint,” Watkins added. “As the Web runs on HTML, <a href="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it">JavaScript</a>, CSS, and WebAssembly, there’s no native way of using Python in the browser. Mobile and client browsers are also payload and performance-sensitive which makes it a less reasonable choice.”</p><p>Watkins said these notable gaps in performance and versatility explain why Python has supplemented other ecosystems, echoing Jansen’s earlier comments. </p><p>“Python’s rise is predictable, sensible, and more of a realignment than a hostile takeover,” he said. </p><p>“It has become the default high-level tool of choice, leaving space for complementary languages where absolute speed, strict typing, or native client experiences are paramount.”</p><h3 class="article-body__section" id="section-more-from-itpro"><span>MORE FROM ITPRO</span></h3><ul><li><a href="https://www.itpro.com/software/development/java-is-here-to-stay-popular-programming-language-to-remain-on-business-hit-lists-in-2024">"Java is here to stay": Popular programming language to remain on business hit lists</a></li><li><a href="https://www.itpro.com/software/want-developers-to-build-secure-software-you-need-to-ditch-these-two-programming-languages">Want developers to build secure software? You need to ditch these two programming languages</a></li><li><a href="https://www.itpro.com/software/development/organizations-shift-away-from-oracle-java-as-pricing-changes-bite">Organizations shift away from Oracle Java as pricing changes bite</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Oracle Java pricing concerns could spark a developer exodus ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/development/oracle-java-pricing-concerns-could-spark-a-developer-exodus</link>
                                                                            <description>
                            <![CDATA[ Oracle Java users have raised concerns over pricing, with many considering switching to open source options. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">w8zY4nR8SzwWf4HUEzwqx4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/o4fFs2yBmpE5RCao7MueRE-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 31 Jan 2025 14:14:22 +0000</pubDate>                                                                                                                                <updated>Fri, 31 Jan 2025 16:24:06 +0000</updated>
                                                                                                                                            <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ solomon.klappholz@futurenet.com (Solomon Klappholz) ]]></author>                    <dc:creator><![CDATA[ Solomon Klappholz ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/z2aSrrbwGAyWwinHzGraAP.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Solomon Klappholz is a Staff Writer at ITPro. He has experience writing about the technologies that facilitate industrial manufacturing which led to him developing a particular interest in IT regulation, industrial infrastructure applications, and machine learning.&lt;/p&gt;
&lt;p&gt;Before he joined ITPro, Solomon graduated from the University of Warwick in 2018 with a BA (Hons) in Philosophy, Politics, and Economics which included an intercalated year studying Philosophy at the Erasmus University, Rotterdam.&lt;/p&gt;
&lt;p&gt;Outside of the office, Solomon enjoys reading, visiting new art exhibitions, and playing football.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/o4fFs2yBmpE5RCao7MueRE-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Male software developer using Oracle Java programming language while working on a desktop computer.]]></media:description>                                                            <media:text><![CDATA[Male software developer using Oracle Java programming language while working on a desktop computer.]]></media:text>
                                <media:title type="plain"><![CDATA[Male software developer using Oracle Java programming language while working on a desktop computer.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/o4fFs2yBmpE5RCao7MueRE-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>A growing number of <a href="https://www.itpro.com/technology/artificial-intelligence/oracle-can-do-for-ai-what-it-did-for-cloud-and-cloudworld-2024-is-its-chance-to-show-that">Oracle</a> Java users are considering switching to another provider, new research shows, as cost concerns are driving developers towards <a href="https://www.itpro.com/software/28109/what-is-open-source">open source</a> options.</p><p>A new <a href="https://www.azul.com/state-of-java-2025/" target="_blank">survey</a> of over 2,000 Java professionals commissioned by <a href="https://www.itpro.com/99765/azul-announces-192-core-java-appliance">Azul</a> found 88% of respondents were considering switching to another Java Virtual Machine (JVM) or Java Development Kit (JDK).</p><p>This marks an increase on the 72% of Oracle Java users who said they were thinking about transitioning away from the platform in 2023, with 42% <a href="https://www.itpro.com/software/development/organizations-shift-away-from-oracle-java-as-pricing-changes-bite">citing cost as their primary concern</a>.</p><p>Since Oracle shifted to an employee-based pricing model in January 2023, 82% of business users have expressed some level of concern over its approach, the report found.</p><p>Just over two fifths of these users stated they were either ‘very’ or ‘extremely’ concerned, with this figure rising to 55% when restricted to <a href="https://www.itpro.com/software/development/why-java-17-growth-is-exploding">Java 17 users</a>.</p><p>Oracle ended free commercial support for Java 17 in October 2024, leaving users having to opt between paying Oracle to continue to use the platform and receive support, upgrade to Java 21, <a href="https://www.itpro.com/software/development/declining-interest-in-traditional-coding-languages-mirrored-by-uptick-in-ai-skills-demand">replace Java with another language</a>, or opt to migrate to an alternative JDK.</p><p>The second most common reason professionals gave for considering the switch was a preference for open source options, cited by 40% of respondents.</p><p>Moreover, 46% of the companies considering the switch identified free <a href="https://www.itpro.com/software/development/organizations-shift-away-from-oracle-java-as-pricing-changes-bite">OpenJDK</a> releases paired with paid support services as the preferred alternative to Oracle.</p><p>Oracle Java customers also noted the firm’s <a href="https://www.itpro.com/business/business-strategy/how-the-channel-can-maximize-market-opportunities-for-business-growth">sales tactics</a> (37%), restrictive policies (33%), and audit risk (32%), as additional worries that were driving their potential migration away from the platform.</p><h2 id="java-remains-a-top-enterprise-choice-for-cloud-and-ai">Java remains a top enterprise choice for cloud and AI</h2><p>Despite cost concerns, Java remains an integral <a href="https://www.itpro.com/software/want-developers-to-build-secure-software-you-need-to-ditch-these-two-programming-languages">programming language</a> for a vast number of organizations due to its cross platform and backward compatibility, stability, and efficacy in enterprise-level applications.</p><p>Azul noted that only 1% of potential survey participants around the world were disqualified due to the fact they didn’t use Java, “a testament to the language’s ubiquity in modern development environments.”</p><p>For example, almost 70% of respondents said that at least half of their enterprise applications were either built with Java or run on a JVM.</p><p>In the <a href="https://www.itpro.com/strategy/28181/what-is-ai">AI</a> arena, 50% of respondents who build AI workloads use Java over other popular languages like Python, despite the latter’s reputation as a preferred language for developing AI applications.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED WHITEPAPER</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HPQPhJFLGycxMszFSmuW9h" name="Digital Workers_ 5 Best Practices for a People-First Approach to Adoption.jpg" caption="" alt="Digital Workers: Five Best Practices for a People-First Approach to Adoption" src="https://cdn.mos.cms.futurecdn.net/HPQPhJFLGycxMszFSmuW9h.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: IBM)</span></figcaption></figure><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/cloud/hybrid-cloud/digital-workers-five-best-practices-for-a-people-first-approach-to-adoption"><em>More productivity and higher job satisfaction for key talent</em></a></p></div></div><p>Azul said the growing adoption of cloud services is only further fueling uptake of the language, with just under two-thirds of organizations using Java in the cloud stating 50% of their <a href="https://www.itpro.com/technology/artificial-intelligence/the-costs-of-building-generative-ai-platforms-are-racking-up">compute costs</a> originate from Java systems.</p><p>The report also found underutilization of <a href="https://www.itpro.com/cloud/cloud-computing/357078/what-is-cloud-bursting">cloud compute capacity</a> remains a problem for enterprises. Nearly three-quarters (71%) of respondents said more than 20% of their cloud compute capacity is unused.</p><p>This presents a serious problem as cloud expenses continue to rise, with 38% of survey participants stating their organization has established new internal rules for cloud asset management to reduce this inefficiency.</p><p>Additionally, when asked why they use a high-performance JDK, 61% of respondents said they used it in order to optimize their cloud compute costs.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Python just brushed past JavaScript to become the most popular programming language on GitHub – and a key factor is that AI developers love it ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/development/python-just-brushed-past-javascript-to-become-the-most-popular-programming-language-on-github-but-typescript-is-gaining-some-serious-traction</link>
                                                                            <description>
                            <![CDATA[ The meteoric rise of Python shows no sign of stopping ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ZX2dFFTpSkK8rmiQEJkS9K</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/NxfBiAXFcZjLeWZdJc7pkR-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 07 Nov 2024 11:38:24 +0000</pubDate>                                                                                                                                <updated>Thu, 07 Nov 2024 13:35:49 +0000</updated>
                                                                                                                                            <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nicole Kobie ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8Y8JDDTQ7XDEk49FoAFP2S.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nicole Kobie first started writing for ITPro in 2007. As a freelance journalist covering technology and business, Nicole&#039;s work includes  bylines in New Scientist, Wired, PC Pro and many more. &lt;/p&gt;&lt;p&gt;Nicole the author of a book about the history of technology, The Long History of the Future.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/NxfBiAXFcZjLeWZdJc7pkR-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Concept image of binary code showing names of popular programming languages used in software development, with Python illuminated in orange lettering surrounded by c++ and JavaScript.]]></media:description>                                                            <media:text><![CDATA[Concept image of binary code showing names of popular programming languages used in software development, with Python illuminated in orange lettering surrounded by c++ and JavaScript.]]></media:text>
                                <media:title type="plain"><![CDATA[Concept image of binary code showing names of popular programming languages used in software development, with Python illuminated in orange lettering surrounded by c++ and JavaScript.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/NxfBiAXFcZjLeWZdJc7pkR-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Python has overtaken JavaScript to become the most popular programming language on <a href="https://www.itpro.com/open-source/31833/what-is-github">GitHub</a>, according to new figures released by the firm, largely thanks to the rise of <a href="https://www.itpro.com/strategy/28071/what-is-machine-learning">machine learning</a> and generative AI. </p><p>The coding platform revealed that there are now 518 million projects on GitHub, up by a quarter year-on-year, with 5.2 billion contributions to projects over the course of 2024. </p><p><a href="https://www.itpro.com/strategy/28181/what-is-ai">AI</a> is having a major impact, the firm noted. There's now 137,000 public <a href="https://www.itpro.com/technology/artificial-intelligence-ai/369959/what-is-generative-ai">generative AI</a> projects, almost doubling since last year, and more than a million <a href="https://www.itpro.com/software/28109/what-is-open-source">open source</a> maintainers, students, and teachers have used the free AI-powered GitHub Copilot tool. </p><p>With <a href="https://www.itpro.com/software/development/python-stretches-its-lead-as-the-most-popular-programming-language-but-why-does-it-have-such-widespread-appeal"><u>Python taking the top spot</u></a> on GitHub, its ascendancy brings to an end ten years of <a href="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it">JavaScript</a> holding the top spot. Moving down to second, the programming language is followed by <a href="https://www.itpro.com/development/32886/what-is-typescript">TypeScript</a> and Java. </p><p>It’s not all bad news for the language, however. JavaScript is still the top ranked for code pushes — which means more developers use it more often to push code — but across all activities on the site, including commits, issues, pull requests and more, Python is now the top language. </p><p>"More developers still use JavaScript more often to push code, but in absolute activity across all contribution types on GitHub, Python now outranks JavaScript," GitHub said in a <a href="https://github.blog/news-insights/octoverse/octoverse-2024/"><u>blog post</u></a>. </p><h2 id="python-s-meteoric-rise-to-prominence">Python's meteoric rise to prominence</h2><p>GitHub identified two key factors behind Python's popularity on the platform - namely the rise of data science and generative AI, as well as TypeScript cutting into JavaScript's lead. </p><p>The firm said TypeScript had grown exponentially from 2014 to 2019, overtaking Java last year to join the top three programming languages. </p><p>"While Python is increasing in contributor counts for both code push activity alone and other activity faster than JavaScript, it isn’t increasing in those faster than JavaScript and TypeScript combined," the post noted. </p><p>"Rather than a slow down in the JavaScript community, what we are seeing is a transition to TypeScript for a large proportion of new commits."</p><p>It's not just Python that’s benefitted from the rise of machine learning either. Jupyter Notebooks has seen a spike in usage of 92% over the last year and 170% since 2022. </p><iframe allow="" height="200px" width="100%" data-lazy-priority="low" data-lazy-src="https://widget.spreaker.com/player?episode_id=50811611&theme=light&playlist=false&playlist-continuous=false&chapters-image=true&episode_image_position=right&hide-logo=false&hide-likes=true&hide-comments=true&hide-sharing=true&hide-download=true"></iframe><p>"This could indicate people in data science, AI, machine learning, and academia increasingly use GitHub," the post added. </p><p>GitHub's ranking echoes recent research by cloud data company Snowflake, which in March revealed <a href="https://www.itpro.com/software/development/why-python-is-the-programming-language-of-choice-for-ai-developers">Python had become the go-to programming language</a> for developers building generative AI applications, pointing to 571% growth on its own platforms.  </p><p>But <a href="https://www.itpro.com/software/development/python-stretches-its-lead-as-the-most-popular-programming-language-but-why-does-it-have-such-widespread-appeal"><u>Stack Overflow's 2023 survey</u></a> ranked Python third overall, which it said was a reflection of who uses the language. It’s the fourth most popular programming language among professional developers, but more popular among those learning to code and the top ranked for those who aren't full time developers but use some coding at work. </p><p>That tracks with GitHub's assessment that the rise of AI and data science was drawing a wider range of people into coding. </p><p>"Python is used heavily across machine learning, <a href="https://www.itpro.com/business-strategy/data-insights/369275/data-science-vs-data-analytics-which-field-is-right-for-you">data science</a>, scientific computing, hobbyist, and home automation fields among others," GitHub added. </p><p>"The rise in Python usage correlates with large communities of people joining the open source community from across the STEM world rather than the traditional community of software developers.</p><p>"The notion of who a developer is and the scope of what a developer does is changing. The rise in Python, <a href="https://www.itpro.com/cloud-computing/29851/hcl-partners-with-red-hat-on-enterprise-app-development">HCL</a>, and <a href="https://www.itpro.com/development/software-development/367819/the-best-ides-for-python-developers">Jupyter Notebooks</a>, among other things, indicates that the notion of a developer extends beyond software developers to roles like operations or IT developers, machine learning researchers, and data scientists."</p><h2 id="other-shifts-driven-by-ai">Other shifts driven by AI</h2><p>AI is helping to encourage coding globally by making it easier for people from a wider range of countries, GitHub said. </p><p>"The rise of these non-English, high-population regions is notable given that it is happening at the same time as the proliferation of generative AI tools, which are increasingly enabling developers to engage with code in their natural language," the post said. </p><p>And that's good news for the industry. By attracting a more diverse community of developers, this will ultimately drive innovation long-term, the firm noted. </p><p>"Increased access to and experimentation with AI could also simplify and personalize the coding journey for new developers, lowering entry barriers and further diversifying GitHub’s community of developers."</p><p>More widely, generative AI is becoming a core part of <a href="https://www.itpro.com/software/development/367842/the-four-major-software-development-lifecycle-models-and-how-they-work">software development</a> at every stage.</p><p>"They power <a href="https://www.itpro.com/software/development/aws-ceo-thinks-ai-coding-tools-could-herald-the-death-of-the-developer-as-we-know-it-but-theres-light-on-the-horizon-for-worried-devs">coding tools</a> that offer fixes and context behind vulnerability remediations, suggestions in response to natural language prompts and existing code, and facilitate learning among new and experienced developers alike," the post added. </p><p>"They’re also changing how developers build applications, and developers will benefit from platforms that allow them to easily experiment with AI models as building blocks without requiring separate setups or extra costs."</p><p>Previous research from GitHub found that developers are <a href="https://www.itpro.com/software/development/ai-coding-tools-are-finally-delivering-results-for-enterprises-developers-are-saving-so-much-time-theyre-able-to-collaborate-more-focus-on-system-design-and-learn-new-languages"><u>beginning to unlock real value from AI coding tools</u></a>, with respondents to a recent survey relieving the solutions have helped them learn new languages and save time. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ JupyterLab review: A powerful tool for documenting your data science journey ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/jupyter-lab-review-a-powerful-tool-for-documenting-your-data-science-journey</link>
                                                                            <description>
                            <![CDATA[ Literate programming toolkit takes dynamic code documents to new heights ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">MZnBHBRoMXTavnUzuvBPgE</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ga79mMkeqeaJgHdVBMsSrg-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 13 Oct 2023 11:00:32 +0000</pubDate>                                                                                                                                <updated>Mon, 06 Nov 2023 10:21:35 +0000</updated>
                                                                                                                                            <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Danny Bradbury ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HdKafzrfv3Z6M5axRN8fhh.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ga79mMkeqeaJgHdVBMsSrg-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The opening page of the Jupyter programming page]]></media:description>                                                            <media:text><![CDATA[The opening page of the Jupyter programming page]]></media:text>
                                <media:title type="plain"><![CDATA[The opening page of the Jupyter programming page]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ga79mMkeqeaJgHdVBMsSrg-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Scientific publishing has traditionally been a flat, static affair. You write up your research in a document, which is typically a PDF with text and code. Someone reads it and might use aspects of your research in their own projects. But what if you could make those documents smarter? Wouldn&apos;t it be useful to have a data science paper or programming tutorial document that you could actually interact with? That&apos;s what JupyterLab, a free tool from Project Jupyter, aims to provide.</p><div  class="fancy-box"><div class="fancy_box-title">READ MORE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="B8p3SVMScG52uHifedR6qN" name="B8p3SVMScG52uHifedR6qN.jpg" caption="" alt="A computer screen with a grey background showing lines of multi-coloured Python code" src="https://cdn.mos.cms.futurecdn.net/B8p3SVMScG52uHifedR6qN.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">The top programming languages you need to learn for 2023</a></p></div></div><p>Traditionally, programmers wrote <a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">Python</a> programs in a text-based file with a .py extension. If you wanted to explain what the source code in the document was doing, then you&apos;d write comment blocks to give others an idea of what you were thinking when you wrote the program. That kind of comment is fine for code that people rarely look at, such as one working behind the scenes running <a href="https://www.itpro.com/data-insights/31725/what-is-a-relational-database">database</a> interactions on a server.</p><h2 class="article-body__section" id="section-jupyterlab-who-is-it-for"><span>JupyterLab: Who is it for?</span></h2><p>If you&apos;re a computer science tutor trying to explain how bubble sorts work, or a biology morphologist describing how you used code to map the Fibonacci sequence in the disk of a sunflower, mixing code that runs together with text and images gives you a much more intuitive way to tell your scientific story. <a href="https://www.itpro.com/business-strategy/careers-training/356515/how-to-become-a-computer-programmer-without-a-degree">Computer scientist</a> Donald Knuth envisaged this in 1984 in a concept called literate programming. A literate program file runs like a non-literate program file, but it also structures and describes that code in a way that makes more sense to the author and their audience.</p><p>That&apos;s where Project Jupyter comes in. It evolved from an initiative called IPython (interactive Python), formed in 2011, which used a different kind of format than .py files. An iPython notebook file is human readable, containing text written in the markdown format along with Python code that you could run. Each snippet of code and text description occupies its own cell, and produces a cell containing its output when you run it, like this:</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1724px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="ga79mMkeqeaJgHdVBMsSrg" name="Jupyter_img1.jpg" alt="The opening page of the JupyterLab programming software" src="https://cdn.mos.cms.futurecdn.net/ga79mMkeqeaJgHdVBMsSrg.jpg" mos="" align="middle" fullscreen="" width="1724" height="970" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>You could send that notebook as a single document for anyone running IPython Notebook to run and interact with, or you could send them the URL to an online version.</p><p><br></p><p>As IPython Notebook grew more popular, the project spun them off into a separate initiative called Jupyter. Jupyter develops the tools to run the notebooks while IPython focuses on the underlying interactive Python implementation to support them.</p><p><br></p><p>Jupyter carried on developing the notebook project, now called Jupyter Notebook, but it saw more data scientists using this tool for complex data analysis projects. To support them, it developed a product with more functionality called JupyterLab. This summer (2023), the team released the fourth version of that project.</p><p><br></p><h2 class="article-body__section" id="section-jupyterlab-setup"><span>JupyterLab: Setup</span></h2><p>JupyterLab is a fully integrated development environment (IDE) targeted mainly at data scientists, although anyone wanting to exchange descriptions of their code journeys can use it. Like Notebook, it runs as a server that you visit in your browser. You can either access it online using someone else&apos;s server (Jupyter offers its own demo here), or you can install it locally.</p><p>We&apos;ve found the best way to do this is via the Conda package manager, which contains pre-baked collections of packages including JupyterLab. You can install the collection in a couple of lines as a separate virtual environment in Conda, and then just switch to it whenever you like. This allows you to maintain a version of <a href="https://www.itpro.com/development/programming/361267/11-best-python-courses">Python</a> separately from your system version, with separate packages.</p><p>JupyterLab doesn&apos;t just support Python, although that&apos;s the world that it came from. Like Jupyter Notebook, it supports a wide range of languages. You can simply select these from its menu, as long as you have installed the relevant kernels, and it handles syntax-based formatting for you.</p><p>Whereas Jupyter Notebook comes with a basic file browser that you use to select a single file, JupyterLab starts with two panes: one displaying the file browser and the other displaying a launcher. This enables you to quickly and graphically create different kinds of files. Notice that you can also create a console directly in the browser – something that Jupyter Notebook doesn&apos;t support – if you want to tinker with code before putting it into your main notebook.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2368px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="h8uGWkC8ELVcEM7yg2BRt6" name="Jupyter_img2.jpg" alt="A application grid in JupyterLab" src="https://cdn.mos.cms.futurecdn.net/h8uGWkC8ELVcEM7yg2BRt6.jpg" mos="" align="middle" fullscreen="" width="2368" height="1332" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 class="article-body__section" id="section-jupyterlab-file-handling"><span>JupyterLab: File handling</span></h2><p>This pane-based approach is an example of the fundamental differences in the user interface that set JupyterLab apart from Jupyter Notebook. Another nice feature is the way that the file browser opens documents of different types. We downloaded a CSV with the results of public school inspections from the UK government&apos;s open data repository. We first opened it in Libre Office and resaved it with UTF-8 encoding, which Jupyter needs to open a CSV directly. Opening it as a file from within Jupyter Notebook (on the left), and from within JupyterLab (on the right): reveals quite a difference:</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2856px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="7Yw8EENjXBZhGSxKuXutra" name="Jupyter_img3&4.jpg" alt="Two separate JupyterLabs dashboards" src="https://cdn.mos.cms.futurecdn.net/7Yw8EENjXBZhGSxKuXutra.jpg" mos="" align="middle" fullscreen="" width="2856" height="1606" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Jupyter Notebook displays this as a text file, while JupyterLab displays it as a properly formatted, scrollable CSV file. It also displays other kinds of documents like PDFs in their native format, making it an excellent file browser and display mechanism for those working on large projects.</p><h2 class="article-body__section" id="section-jupyterlab-features"><span>JupyterLab: Features</span></h2><p>Notice how the JupyterLab interface on the right is tabbed? This demonstrates another big advantage of JupyterLab: multiple <a href="https://www.itpro.com/software/34534/a-complete-guide-to-document-management-systems">document management</a>, which is also a significant enhancement for those working on large projects. Jupyter Notebook focuses just on single documents, meaning that if you want to work on more than one you have to open another tab in your browser.</p><p>JupyterLab&apos;s tabbed interface is useful enough as shown, but you&apos;d still have to click on each tab to see the appropriate document. What if you wanted to compare two documents side by side? Simply click on a tab and then select New View for Notebook. This creates a split window that lets you see the document side by side. Here, We&apos;ve created a document to load the school&apos;s csv file into a Python Pandas data frame and then displayed the data frame in the notebook. Splitting the view lets me see the CSV and the Python representation of it side by side:</p><p><br></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2371px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="JT5ngDd4NZpUNp3hBTM4iM" name="Jupyter_img5.jpg" alt="JupyterLab's interface" src="https://cdn.mos.cms.futurecdn.net/JT5ngDd4NZpUNp3hBTM4iM.jpg" mos="" align="middle" fullscreen="" width="2371" height="1334" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>JupyterLab also has plenty of enhancements for working inside specific notebooks. One of these is the ability to collapse cells. When we displayed the school&apos;s data frame in the notebook, it created a lot of text. We can collapse that by clicking on the cell&apos;s sidebar on the left, making any subsequent code more visible:</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2078px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="BMPPmwHKxyakv6EHvt536T" name="Jupyter_img6.jpg" alt="Index in JupyterLabs" src="https://cdn.mos.cms.futurecdn.net/BMPPmwHKxyakv6EHvt536T.jpg" mos="" align="middle" fullscreen="" width="2078" height="1168" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Changing the code in a cell is simple – you just click on the cell and edit it. However, you have to rerun it to produce its updated output using CTRL-RET. Jupyter Notebook didn&apos;t indicate that the adjusted code hadn&apos;t run yet unless you happened to notice its out-of-date output. JupyterLab fixes that by using different colors for the sidebar. A cell that hasn&apos;t been updated since it last ran is blue. If a cell has not run to reflect new edits, the sidebar turns orange:</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2083px;"><p class="vanilla-image-block" style="padding-top:56.22%;"><img id="NHgUc28oTq6FEQ2658vH2n" name="Jupyter_img7.jpg" alt="An index in JupyterLabs" src="https://cdn.mos.cms.futurecdn.net/NHgUc28oTq6FEQ2658vH2n.jpg" mos="" align="middle" fullscreen="" width="2083" height="1171" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Let&apos;s do a little more analysis on schools, grouping schools by region and checking the mean average of their education quality. Then we can plot that as a horizontal bar graph:</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2368px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8pSYdhDW5CcQvhYDTi4EU4" name="Jupyter_img8.jpg" alt="An index in JupyterLabs" src="https://cdn.mos.cms.futurecdn.net/8pSYdhDW5CcQvhYDTi4EU4.jpg" mos="" align="middle" fullscreen="" width="2368" height="1332" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>That&apos;s a long bar chart. Let&apos;s say we want to keep it handy for visual reference as we continue working on our notebook. We could create another view of this notebook, rearranging it to the right-hand side of the screen, and then collapse the graph view in our original notebook to make room for our code. However, that creates a problem, because collapsing the graph in one doc also collapses it in the other.</p><p>Instead, we can do another thing that isn&apos;t possible in Jupyter Notebook: create a new view of a single cell&apos;s output. This creates a new tab with just the output of the cell that we can then drag to the right, rearranging it to keep it handy at all times. Collapsing the output cell in the original notebook has no effect in the new output view:</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2366px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="kxgaJ7qAXYrMypcxFRLuT8" name="Jupyter_img9.jpg" alt="A data set in JupyterLabs" src="https://cdn.mos.cms.futurecdn.net/kxgaJ7qAXYrMypcxFRLuT8.jpg" mos="" align="middle" fullscreen="" width="2366" height="1331" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>To create a true IDE, the Jupyter team gave JupyterLab another feature that doesn&apos;t exist in Jupyter Notebook: a debugger. If your Python kernel supports debugging, you&apos;ll see a small bug icon next to the kernel indicator in the top right of your window. Clicking that turns it orange, switching on the debugger, and showing us its data in a sidebar. The debugger supports the basic features you&apos;d expect, including variable watching and setting breakpoints. We can set breakpoints by clicking on the appropriate line in the gutter, creating a small orange indicator:</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2381px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="RWdSZ3i9WrKxvBMU7u32sB" name="Jupyter_img10.jpg" alt="A data set in JupyterLabs" src="https://cdn.mos.cms.futurecdn.net/RWdSZ3i9WrKxvBMU7u32sB.jpg" mos="" align="middle" fullscreen="" width="2381" height="1339" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Version 4 of JupterLab, released in June, contains some welcome new features. The team has adjusted its code behind the scenes and updated the text editor that it uses to make editing faster, especially for large notebooks. You can also now import extensions for JupyterLab directly from PyPi in addition to installing directly using the tool&apos;s extension manager. JupyterLab was built with extensibility in mind, and there are plenty of plugins to enhance your experience.</p><h2 class="article-body__section" id="section-jupyterlab-is-it-worth-it"><span>JupyterLab: Is it worth it?</span></h2><p>JupyterLab is the perfect tool for creating not just programs, but stories of how those programs came to be and what you were thinking when you made them. Think of it like a smart lab journal - a kind of Harry Potteresque document that&apos;s alive and answers your questions as you read it. It&apos;s such a good system that in many cases, especially when teaching programming to high-school students, say, it&apos;s a worthy competitor to many other IDEs. Whenever we&apos;re looking for insights into data or simply trying out some concepts in Python programming, this will be our first port of call.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Microsoft continues its Rust mission with new kernel features ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/windows/microsoft-continues-its-rust-mission-with-new-kernel-features</link>
                                                                            <description>
                            <![CDATA[ The latest critical feature comes as a "small trial" to select Windows Insiders ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">MoSTvUJWXsRFvXuzPusHWY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/rznqZp96zGh8p7n7BHS9hJ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 13 Jul 2023 09:07:18 +0000</pubDate>                                                                                                                                <updated>Thu, 27 Jul 2023 11:57:15 +0000</updated>
                                                                                                                                            <category><![CDATA[Windows]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                    <category><![CDATA[Microsoft]]></category>
                                                                                                <author><![CDATA[ connor.jones@futurenet.com (Connor Jones) ]]></author>                    <dc:creator><![CDATA[ Connor Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LPjgE2kGKixS9aF7Jdp2mT.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Connor Jones is the News and Analysis Editor at ITPro, CloudPro, and ChannelPro. As the brands’ leader for news, he welcomes pitches on all topics, and he personally still reports breaking news on the topics of cyber security, software, and Big Tech firms.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;He has been at the forefront of global cyber security news coverage for the past few years, breaking developments on major stories such as LockBit’s ransomware attack on Royal Mail International, and many others. He has also made sporadic appearances on the ITPro Podcast discussing topics from home desk setups all the way to hacking systems using prosthetic limbs.&lt;/p&gt;
&lt;p&gt;Connor is currently in his third year at ITPro, but has been a journalist for much longer, having written for the likes of Red Bull Esports and UNILAD. He has a master’s degree in Magazine Journalism from one of the UK’s leading journalism departments at the University of Sheffield, as well as an undergraduate degree in English Language from Sheffield Hallam University.&lt;/p&gt;
&lt;p&gt;When he’s not hitting the phones trying to squeeze stories out of sources and press offices, in his free time Connor studies software development, is a keen cook, and enjoys leading an active life through cycling, hiking, racket sports, and weightlifting.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/rznqZp96zGh8p7n7BHS9hJ-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Microsoft Windows 11 logo in front of a background of sprawling neon blue code on a black background]]></media:description>                                                            <media:text><![CDATA[Microsoft Windows 11 logo in front of a background of sprawling neon blue code on a black background]]></media:text>
                                <media:title type="plain"><![CDATA[Microsoft Windows 11 logo in front of a background of sprawling neon blue code on a black background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/rznqZp96zGh8p7n7BHS9hJ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Microsoft announced that it has taken an additional step forward to embracing Rust as a core language by introducing new Rust-based kernel features to the latest Windows Insider build.</p><p>On Wednesday it shipped Windows 11 Insider Preview Build 25905 containing what it called a “small trial” of another critical kernel feature written in Rust.</p><p>The update specifically concerns a new implementation of GDI Regions in the <strong>win32kbase_rs.sys</strong> driver file located in System32. The <strong>_rs</strong> refers to the Rust language version.</p><p>GDI Regions refer to shapes, or a combination of shapes, that can be created for tasks like hit testing - checking to see if a cursor is hovering over a specific icon, for example.</p><p>“While this is a small trial, we will continue to increase the usage of Rust in the kernel,” Microsoft said in a <a href="https://blogs.windows.com/windows-insider/2023/07/12/announcing-windows-11-insider-preview-build-25905/"><u>blog</u></a>.</p><p>“We are beginning to roll this out, so the experience isn’t available to all Insiders in the Canary Channel just yet as we plan to monitor feedback and see how it lands before pushing it out to everyone.”</p><h2 id="microsoft-x2019-s-commitment-to-rust">Microsoft’s commitment to Rust</h2><p>It’s long been known that Microsoft has aimed for a stronger adoption of the Rust programming language.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="S2HEVeqP8yMNXhBJL64BcE" name="application migration and modernization_listing.jpg" caption="" alt="Whitepaper cover with blue header banner, title, and text" src="https://cdn.mos.cms.futurecdn.net/S2HEVeqP8yMNXhBJL64BcE.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: IBM)</span></figcaption></figure><p class="fancy-box__body-text"><em>Propel your digital transformation to the next generation.</em></p><p class="fancy-box__body-text"><strong>DOWNLOAD FOR FREE</strong></p></div></div><p>The company’s CTO issued a <a href="https://www.itpro.com/development/programming-languages/369115/microsoft-azure-cto-hails-most-loved-rust-as-the-successor-c-plus-plus"><u>call to the industry</u></a> last year, encouraging it to embrace Rust over traditional languages like C and C++, following in its own footsteps as well as other major tech firms like Cloudflare and Linux, the latter of which is also implementing Rust in its own Kernel.</p><p>Microsoft’s interest in Rust dates back years and made a case for its adoption as early as 2019. </p><p>It highlighted in a 2019 BlueHat presentation that most security vulnerabilities are caused by developers accidentally implementing memory safety issues in software components written in C or C++.</p><h2 id="rust-and-memory-safety">Rust and memory safety</h2><p>One of the headline benefits of Rust is its inherent memory safety. For this reason, it’s considered a more secure <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming language</a> that can do the same things that the older C/C++ can do, at the same speed and efficiency - the main reasons for sticking with the older languages for so many decades - with better security.</p><p>Rust is memory-safe thanks to its compiler which refuses to build any program it&apos;s used to write unless memory safety can be guaranteed.</p><p>It makes for fewer security vulnerabilities and more reliable programs that are less likely to crash.</p><p>For this reason, it’s also being adopted by an increasing number of major ransomware operations, with a number of groups <a href="https://www.itpro.com/security/ransomware/368476/why-are-ransomware-gangs-pivoting-to-rust"><u>rewriting their payloads using the language</u></a>.</p><p>BlackCat, Hive, and LockBit are among the most notable ransomware groups that have shifted to Rust in recent months. Ransomware binaries also benefit from Rust’s anti-analysis properties, largely attributed to the complex way in which its compiler translates developer code into machine-readable code.</p><p>Major tech companies, in addition to the aforementioned Microsoft, Cloudflare, and Linux also have their own Rust projects running in some capacity.</p><p>Meta, Amazon, Mozilla, Dropbox, and Figma are among the most notable in this far-from-exhaustive list.</p><p>Rust has also been the ‘most loved’ language by developers in the past seven <a href="https://www.itpro.com/software/development/368349/salaries-for-the-least-popular-programming-languages-surge-2022"><u>annual StackOverflow surveys</u></a>, underlining its popularity. </p><p>As more tech companies increasingly embrace the language, it’s likely to become more of an in-demand skill for developers in the years ahead.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ PyPI attack: Targeting of repository 'shows no sign of stopping' ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/security/cyber-attacks/pypi-attack-targeting-of-repository-shows-no-sign-of-stopping</link>
                                                                            <description>
                            <![CDATA[ Greater collaboration and understanding of attackers’ tactics is key to mitigating open source security threats ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">5KiBp7h4ru2iucLEGdL2zS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/bAiGGXQ2x5LyWfprG6PHhi-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 23 May 2023 10:34:23 +0000</pubDate>                                                                                                                                <updated>Wed, 24 May 2023 10:54:05 +0000</updated>
                                                                                                                                            <category><![CDATA[Cyber Attacks]]></category>
                                                    <category><![CDATA[Security]]></category>
                                                                                                                    <dc:creator><![CDATA[ Ross Kelly ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Y5vrV2V98Np6jHAGmAtCd3.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/bAiGGXQ2x5LyWfprG6PHhi-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PyPI: Program code on computer display in magnifying glass]]></media:description>                                                            <media:text><![CDATA[PyPI: Program code on computer display in magnifying glass]]></media:text>
                                <media:title type="plain"><![CDATA[PyPI: Program code on computer display in magnifying glass]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/bAiGGXQ2x5LyWfprG6PHhi-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Cyber security experts have warned that the targeting of the Python Package Index (PyPI) repository is likely to continue given its popularity and potential to cause massive disruption.</p><p>PyPI has been targeted numerous times in the past year and has been described as a “highly lucrative target” for cyber criminals.</p><p>The repository is the official package index for the Python programming language - the most popular language according to the TIOBE index.</p><p>"The comparative naivety of the average user, combined with its prolific use, has led to an attacker&apos;s dream,” said Liam Follin, CHECK team leader and consultant at Pentest People, to <em>ITPro</em>.</p><p>“If you download and run a Python package, you’re running Python code on your own machine. If, just by publishing a package, you could compromise a large number of machines, it is easy to see why an attacker salivates at the idea.”</p><p>Following the attack on PyPI over the weekend, security experts have called on the open source community to “develop new infrastructure and invest more in sharing attack data”.</p><h2 id="pypi-attack-what-happened">PyPI attack: What happened?</h2><p>Registration for new users and project packages on the PyPI index was temporarily blocked over the weekend due to a high volume of “malicious activity”. </p><p>In a notice to users, maintainers of the repository said they had detected a significant volume of malicious projects and users being created on the repository, prompting the strict response. </p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="z5o5av8Qme7nhYwTzVLsuC" name="Everything is connected_thumb.jpg" caption="" alt="Red whitepaper cover with title and logo" src="https://cdn.mos.cms.futurecdn.net/z5o5av8Qme7nhYwTzVLsuC.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Trend Micro)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Uncovering the ransomware threat from global supply chains </strong></p><p class="fancy-box__body-text"><em>Everything is connected</em></p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/security/ransomware/370165/uncovering-the-ransomware-threat-from-global-supply-chains"><strong>DOWNLOAD FOR FREE</strong></a></p></div></div><p>The outage lasted for nearly 29 hours and appears to have been exacerbated by the fact that some admins were on leave for the weekend, the status report indicated. </p><p>“New user and new project name registration on PyPI is temporarily suspended,” admins <a href="https://status.python.org/incidents/qy2t9mjjcc7g" target="_blank"><u>said</u></a>. “The volume of malicious users and malicious projects being created on the index in the past week has outpaced our ability to respond to it in a timely fashion, especially with multiple PyPI administrators on leave.”</p><p>“While we re-group over the weekend, new user and new project registration is temporarily suspended.”</p><p>While exact details on the incident or the threat actors involved are yet to be disclosed, there are indications that the attack was automated.</p><h2 id="growing-open-source-threats">Growing open source threats</h2><p>Researchers at Checkmarx warned that the PyPI attack bears similarities to a host of attacks on <a href="https://www.itpro.com/software/28109/what-is-open-source"><u>open source</u></a> registries in recent years, and is an issue that has grown in both frequency and intensity. </p><p>In August last year, PyPI admins issued a warning over a sophisticated phishing campaign that aimed to <a href="https://www.itpro.com/security/phishing/368899/pypi-packages-succumb-to-mailchimp-phishing-scam"><u>steal credentials from package developers</u></a>. </p><p>The JuiceLedger <a href="https://www.itpro.com/security/29093/what-is-phishing"><u>phishing</u></a> campaign against PyPI contributors successfully compromised a “number of legitimate packages”, researchers at Sentinel Labs revealed at the time. </p><p>“In the past few months, we have witnessed actors publishing overwhelming amounts of malicious packages in several open source registries,” said Tzachi ‘Zack’ Zornstain, head of software supply chain at Checkmarx.</p><p>“Among these is the NPM incident early last month that flooded the JavaScript package manager and caused a sporadic denial of service. Late last year, we saw a similar incident on the Nuget package manager, which included over 140,000 malicious packages.”</p><h2 id="understanding-threat-actors-key-to-open-source-safety">Understanding threat actors key to open source safety</h2><p>Checkmarx noted that this type of abuse “isn’t specific to PyPI” and will require more concise communication across the open source community to mitigate growing threats. </p><p>“We must change the mindset from detecting attacks to identifying attackers,” Zornstain said. </p><p>“Only by understanding the attackers’ TTPs and raising the bar will we succeed in keeping the open source community safe. This will require the open source ecosystem to develop new infrastructure and invest more in sharing attack data,” he added.</p><p>Follin suggested that the very nature of the PyPI repository makes it difficult to proactively mitigate threats, however. </p><p>“It’s very difficult,” he told ITPro. “PyPI is run by a charity, the Python Foundation, which operates with limited funds. The repository is effectively built on trust, and unfortunately, trust is often misplaced in today&apos;s world.”</p><p>“In effect, it is down to the end user to ensure the PyPI package they are downloading isn&apos;t malicious. At the end of the day, there is only so much The Python Foundation can do to keep things safe.”</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ CISA: Tech industry 'shouldn't tolerate' Patch Tuesday, unsecured software ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/security/370152/cisa-tech-industry-shouldnt-tolerate-patch-tuesday-unsecured-software</link>
                                                                            <description>
                            <![CDATA[ CISA director Jen Easterly said the tech industry has allowed the widespread acceptance of "deviant behaviours" to make a mockery of cyber security ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">u1LFj8UZY3TbujgRvmg1j9</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/KpYujoLjWKxzcZfKbaRiFo-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 01 Mar 2023 11:51:15 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Cyber Attacks]]></category>
                                                    <category><![CDATA[Security]]></category>
                                                                                                                    <dc:creator><![CDATA[ Connor Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LPjgE2kGKixS9aF7Jdp2mT.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/KpYujoLjWKxzcZfKbaRiFo-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[CISA director Jen Easterly speaking at a House Committee hearing]]></media:description>                                                            <media:text><![CDATA[CISA director Jen Easterly speaking at a House Committee hearing]]></media:text>
                                <media:title type="plain"><![CDATA[CISA director Jen Easterly speaking at a House Committee hearing]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/KpYujoLjWKxzcZfKbaRiFo-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The director of the US’ cyber security authority, CISA, has criticised the tech industry for normalising unacceptable security practices, including Microsoft’s Patch Tuesday.</p><p>Patch Tuesday is a monthly round of security updates on which IT system administrators rely to keep their organisation’s IT estate safe from vulnerability exploits.</p><p>The fact that the industry has accepted this as normal is “evidence of our willingness to operate dangerously”, Jen Easterly argued.</p><p>Easterly acknowledged that while it’s impossible to prevent all security vulnerabilities, the tech industry should be demanding higher standards for the products it produces and uses.</p><p>During a speech made at Carnegie Mellon University (CMU) this week, the CISA director went on to cite some of the major cyber attacks in recent years, such as <a href="https://www.itpro.com/security/ransomware/369002/second-largest-us-school-district-falls-to-ransomware-attack" data-original-url="https://www.itpro.com/security/ransomware/369002/second-largest-us-school-district-falls-to-ransomware-attack">school districts shutting down</a>, a <a href="https://www.itpro.com/security/ransomware/359615/colonial-pipeline-ceo-confirms-the-company-paid-darkside-hackers-44" data-original-url="https://www.itpro.com/security/ransomware/359615/colonial-pipeline-ceo-confirms-the-company-paid-darkside-hackers-44">gas pipeline shutting down</a>, and <a href="https://www.itpro.com/security/cyber-attacks/369637/second-cyber-attack-french-hospital-forcing-patients-to-be-relocated" data-original-url="https://www.itpro.com/security/cyber-attacks/369637/second-cyber-attack-french-hospital-forcing-patients-to-be-relocated">patients being diverted from hospitals</a> affected by ransomware attacks.</p><p>“And that’s just the tip of the iceberg, as many - if not most - attacks go unreported,” she <a href="https://www.cisa.gov/cisa-director-easterly-remarks-carnegie-mellon-university">said</a>. </p><p>“As a result, it’s enormously difficult to understand the collective toll these attacks are taking on our nation or to fully measure their impact in a tangible way.”</p><p>The industry has reached the point at which it accepts that technology is “dangerous by default”, and that it wouldn't be accepted with the likes of car airbags, for example.</p><p>The normalisation of deviance theory by sociologist Diane Vaughan posits that when swathes of people grow accustomed to deviant behaviours, those behaviours no longer seem deviant to many over time.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tur95viJmoEmWzDpA5GXF" name="tur95viJmoEmWzDpA5GXF.png" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/tur95viJmoEmWzDpA5GXF.png" mos="https://cdn.mos.cms.futurecdn.net/tur95viJmoEmWzDpA5GXF.png" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Trend Micro security predictions for 2023</strong></p><p class="fancy-box__body-text">Prioritise cyber security strategies on capabilities rather than costs</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/security/ransomware/370157/trend-micro-security-predictions-for-2023" data-original-url="/security/ransomware/370157/trend-micro-security-predictions-for-2023">FREE DOWNLOAD</a></p></div></div><p>Easterly cited the theory, drawing parallels between it and the state of the tech industry currently. </p><p>It has been accepted as normal that <a href="https://www.itpro.com/security/370069/microsoft-three-zero-days-77-vulnerabilities-february-patch-tuesday" data-original-url="https://www.itpro.com/security/370069/microsoft-three-zero-days-77-vulnerabilities-february-patch-tuesday">Patch Tuesday</a> only comes once a month and usually fixes around 100, often more, vulnerabilities with each package. </p><p>It also seems normal that software is still written in <a href="https://www.itpro.com/development/programming-languages/369932/report-regulatory-monetary-incentives-adopt-safe-programming-languages" data-original-url="https://www.itpro.com/development/programming-languages/369932/report-regulatory-monetary-incentives-adopt-safe-programming-languages">memory-unsafe languages like C and C++</a>, a practice the US government has hoped to stamp out through <a href="https://www.itpro.com/development/programming-languages/369499/move-away-from-memory-unsafe-languages-c" data-original-url="https://www.itpro.com/development/programming-languages/369499/move-away-from-memory-unsafe-languages-c">public information campaigns</a> over the past year.</p><p>The idea of encouraging the use of secure software development practices feeds into one of the three core principles CISA is currently trying to enact across the industry.</p><ol><li>Placing greater emphasis on manufacturers of technology products to assume responsibility for security issues</li><li>Technology manufacturers to “embrace radical transparency” to disclose customer safety challenges</li><li>Focus on building products with both the ideas of <a href="https://www.itpro.com/security/32629/security-by-design-not-insecurity-by-default" data-original-url="https://www.itpro.com/security/32629/security-by-design-not-insecurity-by-default">security by design</a> and security by default at the core of production</li></ol><p>At the federal level, the Biden administration has already mandated that all civilian executive branch (FCEB) agencies must patch <a href="https://www.itpro.com/security/vulnerability/361441/cisa-federal-agencies-cyber-security-patch-deadlines" data-original-url="https://www.itpro.com/security/vulnerability/361441/cisa-federal-agencies-cyber-security-patch-deadlines">a list of the most common vulnerabilities</a> by a given deadline to limit the potential for a major cyber attack on the government.</p><p>However, there is still work that needs to be done at both the government and education levels in order to raise cross-industry standards, Easterly said.</p><p>Better incentives need to be introduced so manufacturers are rewarded for producing secure products. In the tech industry, no such rewards exist. </p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/security/32629/security-by-design-not-insecurity-by-default" data-original-url="/security/32629/security-by-design-not-insecurity-by-default">Security by design, not insecurity by default</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/development/programming-languages/369499/move-away-from-memory-unsafe-languages-c" data-original-url="/development/programming-languages/369499/move-away-from-memory-unsafe-languages-c">Move away from memory-unsafe languages like C and C++, NSA urges</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/security/ransomware/368476/why-are-ransomware-gangs-pivoting-to-rust" data-original-url="/security/ransomware/368476/why-are-ransomware-gangs-pivoting-to-rust">Why are ransomware gangs pivoting to Rust?</a></p></div></div><p>The idea of incentivising proper security practices is not a new one, but little movement has been made among leading countries to reward manufacturers for providing secure software.</p><p>Easterly said the government needs to improve its approach to legislating positive change, such as preventing companies from disclaiming liability by contract, for example, and mandating a more transparent production process.</p><p>Private companies should shoulder some burden of security too. For example, making <a href="https://www.itpro.com/security/361870/five-things-to-consider-before-choosing-an-mfa-solution" data-original-url="https://www.itpro.com/security/361870/five-things-to-consider-before-choosing-an-mfa-solution">multi-factor authentication (MFA)</a> a default setting in user accounts across all technologies and platforms is one way the industry could prevent a sizeable number of breaches.</p><p>Apple’s iCloud service has a 95% uptake of MFA among users compared to Twitter’s 3%, a contrast Easterly said was due to Apple enabling MFA by default.</p><p>At the education level, the CISA director praised CMU specifically for introducing its CS 112 programming class which teaches students how to code in Python - a memory-safe programming language.</p><p>Areas for improvement that were highlighted included embedding security throughout all IT-related classes and courses, and supporting the <a href="https://www.itpro.com/development/open-source/370040/existential-tensions-put-open-source-on-the-warpath-to-crisis-point" data-original-url="https://www.itpro.com/development/open-source/370040/existential-tensions-put-open-source-on-the-warpath-to-crisis-point">open source and research communities</a> to adopt memory-safe programming.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Report: Regulatory and monetary incentives needed to adopt safer programming languages ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming-languages/369932/report-regulatory-monetary-incentives-adopt-safe-programming-languages</link>
                                                                            <description>
                            <![CDATA[ Companies have been urged to create plans on how they intend to get rid of memory-unsafe code in their products ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">hZX6SSfztsiNqNoqsnPgrQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/iJN5TNw3BcBaH9YncBGrk6-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 25 Jan 2023 12:47:51 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Zach Marzouk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ncLkbsDMZ6b76Lc5iS6mZh.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/iJN5TNw3BcBaH9YncBGrk6-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Abstract and obscured programming code displayed on a digital display]]></media:description>                                                            <media:text><![CDATA[Abstract and obscured programming code displayed on a digital display]]></media:text>
                                <media:title type="plain"><![CDATA[Abstract and obscured programming code displayed on a digital display]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/iJN5TNw3BcBaH9YncBGrk6-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>A new report recommends using regulatory and monetary incentives to encourage the adoption of safer programming languages to build more cyber-secure software.</p><p>Estimates made in research carried out by <em>Consumer Reports</em> contended that around 60-70% of browser and kernel vulnerabilities are discovered in codebases largely comprised of C and C++ code - two languages known for poor memory safety. </p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/development/programming-languages/369115/microsoft-azure-cto-hails-most-loved-rust-as-the-successor-c-plus-plus" data-original-url="/development/programming-languages/369115/microsoft-azure-cto-hails-most-loved-rust-as-the-successor-c-plus-plus">Microsoft Azure CTO hails 'most loved' Rust as the successor to C and C++</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/security/ransomware/368476/why-are-ransomware-gangs-pivoting-to-rust" data-original-url="/security/ransomware/368476/why-are-ransomware-gangs-pivoting-to-rust">Why are ransomware gangs pivoting to Rust?</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/development/programming-languages/369499/move-away-from-memory-unsafe-languages-c" data-original-url="/development/programming-languages/369499/move-away-from-memory-unsafe-languages-c">Move away from memory-unsafe languages like C and C++, NSA urges</a></p></div></div><p>One of the report's chief conclusions was that monetary or regulatory incentives could be needed to convince an industry notoriously reliant on older, less memory-safe languages to make the switch to newer languages such as Go, Ruby, and Rust.</p><p>Both the private and public sectors could also benefit from enacting policies that promote the creation of memory-safe code, the <a href="https://advocacy.consumerreports.org/wp-content/uploads/2023/01/Memory-Safety-Convening-Report-1-1.pdf">report</a> suggested.</p><p>"As much as possible, companies, government organisations, and other entities should commit to using memory-safe languages for new products and tools and newly developed custom components," the report read.</p><p>There are numerous barriers to adoption when it comes to memory-safe languages. Government agencies, for example, can't just purchase memory-safe solutions out of the box, the report noted, so the issue also requires strong advocacy from engineers to move towards memory safety as a priority.</p><p>"The carrot approach for memory safety may include not just decreased future costs in cyber security, but also reliability and efficiency. Ideally, memory safety will be viewed as a proxy for funded, competent risk management strategy and for software that's currently evolving and malleable."</p><p>Such a transition is likely to take substantial amounts of time given the inherent complexity of rewriting large codebases in newer languages with different functionalities and performance levels, the researchers noted.</p><p>Other suggested steps forward the report made included: asking engineers to list memory safety mitigations as part of a software's feature set; training development teams on how to program memory-safe code; and developing public awareness campaigns.</p><p>"Languages such as C and C++, which are older than more modern programming languages, lack memory management being built-in," said Eleanor Watson, IEEE fellow, machine intelligence researcher, and AI singularity expert to <em>IT Pro.</em> </p><p>"Competent coding of an embedded system with limited updates may be reasonably safe, especially if combined with tools for the formal verification of the system and its functionality. Personally, I feel that the phase-out of memory unsafe programming in applications makes sense, but that there should be different rules for embedded systems which are bounded in a limited range of activity and which require high performance."</p><h2 id="what-is-memory-safety">What is memory safety?</h2><p>The US' National Security Agency (NSA) has been vocal on the topic of memory-safe <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming languages</a> recently.</p><p>In November 2022, it made a <a href="https://www.itpro.com/development/programming-languages/369499/move-away-from-memory-unsafe-languages-c" data-original-url="https://www.itpro.com/development/programming-languages/369499/move-away-from-memory-unsafe-languages-c">public call to move away from languages like C and C++</a> due to the proportion of <a href="https://www.itpro.com/security/exploits/360411/top-30-most-exploited-vulnerabilities" data-original-url="https://www.itpro.com/security/exploits/360411/top-30-most-exploited-vulnerabilities">exploitable security vulnerabilities</a> being attributed to sub-optimal handling of memory in software.</p><p>As yet, the NSA's stance hasn't been enacted in the form of regulation or legislation, but as calls grow for a transition towards safer languages, the report's suggestions could feasibly become reality.</p><p>Use-after-free and out-of-bounds read/write bugs are among the most common affecting systems presently and both would be automatically ended by using memory-safe languages, rather than having to rely on a developer to code the necessary safeguards.</p><p>"While developers using memory-unsafe languages can attempt to avoid all the pitfalls of these languages, this is a losing battle, as experience has shown that individual expertise is no match for a systemic problem," the report read.</p><p>"Even when organisations put significant effort and resources into detecting, fixing, and mitigating this class of bugs, memory unsafety continues to represent the majority of high-severity security vulnerabilities and stability issues.</p><p>"It is important to work not only on improving detection of memory bugs but to ramp up efforts to prevent them in the first place."</p><h2 id="barriers-to-adoption">Barriers to adoption</h2><p>A number of barriers exist when it comes to transitioning away from older, memory-unsafe languages. The report suggested it all starts with education and the professors in charge of some <a href="https://www.itpro.com/business-strategy/careers-training/368855/computer-science-is-now-the-fastest-growing-degree" data-original-url="https://www.itpro.com/business-strategy/careers-training/368855/computer-science-is-now-the-fastest-growing-degree">computer science</a> courses displaying reluctance to transition from C and C++. </p><p>"Professors have a golden opportunity here to explain the dangers of C and similar languages, and possibly increase the weight of memory safety mistakes on exercise grading, which proliferate in student-written code just as they do outside of the classroom.</p><p>"Another opportunity is to switch languages for part of those courses."</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Xh3zYwweccbW2wQ8Q52WTQ" name="Xh3zYwweccbW2wQ8Q52WTQ.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Xh3zYwweccbW2wQ8Q52WTQ.jpg" mos="https://cdn.mos.cms.futurecdn.net/Xh3zYwweccbW2wQ8Q52WTQ.jpg" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>The Total Economic Impact™ Of IBM FlashSystem</strong></p><p class="fancy-box__body-text">Cost savings and business benefits enabled by FlashSystem</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/server-storage/flash-storage/368464/the-total-economic-impacttm-of-ibm-flashsystem" data-original-url="/server-storage/flash-storage/368464/the-total-economic-impacttm-of-ibm-flashsystem">FREE DOWNLOAD</a></p></div></div><p>The researchers conceded that teaching in languages such as <a href="https://www.itpro.com/security/ransomware/368476/why-are-ransomware-gangs-pivoting-to-rust" data-original-url="https://www.itpro.com/security/ransomware/368476/why-are-ransomware-gangs-pivoting-to-rust">Rust</a> could lead to "inessential complexity", so a balance needs to be struck between teaching languages that have real-world value while raising awareness of their dangers and possible alternatives.</p><p>This reluctance for change is also replicated in the executive levels of a company where management might not trust new languages or their ability to maintain the same functionality.</p><p>“Perhaps the tools are workable but there is the sense that C/<a href="https://www.itpro.com/development/software-development/361654/best-c-courses-to-kickstart-your-career" target="_blank" data-original-url="https://www.itpro.com/development/software-development/361654/best-c-courses-to-kickstart-your-career">C++</a> equivalents are more reliable or easier to use,” read the report.</p><p>There are also inherent challenges when it comes to actually rewriting large and complex codebases in new languages. </p><p>Considerations when embarking on such a change include balancing tradeoffs between cost of implementation, runtime performance, toolchain complexity, and overall safety. In some scenarios, factors such as runtime performance may outweigh safety in some organisations, for example.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Move away from memory-unsafe languages like C and C++, NSA urges ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming-languages/369499/move-away-from-memory-unsafe-languages-c</link>
                                                                            <description>
                            <![CDATA[ The US agency advises organisations to begin using languages like Rust, Java, and Swift ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">tPS56AFfKBZzgV12gZeCQo</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/NWJ4mV8N7BGMLhyEAsb85U-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 11 Nov 2022 11:40:20 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                                                                                    <dc:creator><![CDATA[ Zach Marzouk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ncLkbsDMZ6b76Lc5iS6mZh.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/NWJ4mV8N7BGMLhyEAsb85U-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A close up shot of a computer screen showing lines of programming code]]></media:description>                                                            <media:text><![CDATA[A close up shot of a computer screen showing lines of programming code]]></media:text>
                                <media:title type="plain"><![CDATA[A close up shot of a computer screen showing lines of programming code]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/NWJ4mV8N7BGMLhyEAsb85U-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The National Security Agency (NSA) has recommended only using 'memory safe' languages, like C#, Go, Java, Ruby, Rust, and Swift, in order to avoid exploitable memory-based vulnerabilities.</p><p>The agency explained that memory issues in software make up a large portion of exploitable vulnerabilities. Due to this concern, the authority has advised developers to consider moving from <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" target="_blank" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming languages</a> with little or no memory protection, like C and C++, to a memory safe language. </p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/security/ransomware/368476/why-are-ransomware-gangs-pivoting-to-rust" data-original-url="/security/ransomware/368476/why-are-ransomware-gangs-pivoting-to-rust">Why are ransomware gangs pivoting to Rust?</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="/careers/29133/the-top-programming-languages-you-need-to-learn">The top programming languages you need to learn for 2022</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/software/development/367965/why-should-you-learn-java" data-original-url="/software/development/367965/why-should-you-learn-java">Why should you learn Java?</a></p></div></div><p>Memory-safe languages provide various degrees of memory usage protections, and the agency recommended using code hardening defences, like tool analysis or operating system configurations, as well. By doing this, many memory vulnerabilities can be prevented, mitigated, or made harder for cyber actors to take advantage of.</p><p>The US security agency underlined that exploitable <a href="https://www.itpro.com/security/exploits/360411/top-30-most-exploited-vulnerabilities" target="_blank" data-original-url="https://www.itpro.com/security/exploits/360411/top-30-most-exploited-vulnerabilities">software vulnerabilities</a> are still frequently based on memory issues. This includes overflowing a memory buffer or leveraging issues with how software allocates and deallocates memory.</p><p>Popular languages, like C or C++, provide a lot of freedom and flexibility when it comes to memory management, said the NSA. Here, the programmer must perform the checks on memory references and if they make a mistake, it can lead to exploitable memory-based vulnerabilities.</p><p>“While the use of added protections to non-memory safe languages and the use of memory safe languages do not provide absolute protection against exploitable memory issues, they do provide considerable protection,” stated the NSA. “Therefore, the overarching software community across the private sector, academia, and the US Government have begun initiatives to drive the culture of <a href="https://www.itpro.com/business-strategy/careers-training/356509/how-to-become-a-software-developer" target="_blank" data-original-url="https://www.itpro.com/business-strategy/careers-training/356509/how-to-become-a-software-developer">software development</a> towards utilising memory safe languages.”</p><p>The NSA did say software analysis tools are able to detect instances of memory management issues, while operating environment options can provide protection too. However, it underlined the protection offered by memory safe software languages can prevent or mitigate most memory management issues. </p><p>Despite the warning, however, transitioning to memory safe languages, for many businesses, is not practical. “There are trillions of lines of <a href="https://www.itpro.com/software/development/367576/low-code-vs-no-code" target="_blank" data-original-url="https://www.itpro.com/software/development/367576/low-code-vs-no-code">code</a> being used today written in C/C++ making it impossible to consider rewriting it all into a memory safe language,” said professor John Goodacre, director of the UKRI’s Digital Security by Design (DSbD) challenge and professor of computer architectures at the University of Manchester.</p><p>“Even when new code uses such languages, it's inevitable that it will be relying on code written in an unsafe language through its use of libraries or an operating system. Further, many of the higher-level languages are sandboxes by their runtime making them unsuitable for many classes of applications.”</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aEmv5MrbN2xZ8yZE62obSm" name="aEmv5MrbN2xZ8yZE62obSm.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/aEmv5MrbN2xZ8yZE62obSm.jpg" mos="https://cdn.mos.cms.futurecdn.net/aEmv5MrbN2xZ8yZE62obSm.jpg" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>IBM FlashSystem 5000 and 5200 for mid-market enterprises</strong></p><p class="fancy-box__body-text">Manage rapid data growth within limited IT budgets</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/infrastructure/server-storage/360178/ibm-flashsystem-5000-and-5200-for-mid-market-enterprises" data-original-url="/infrastructure/server-storage/360178/ibm-flashsystem-5000-and-5200-for-mid-market-enterprises">FREE DOWNLOAD</a></p></div></div><p>Goodacre explained that in DBsD, an <a href="https://www.itpro.com/business/policy-legislation/361187/new-ps2-million-scheme-will-teach-uk-tech-sector-to-fight-cyber" target="_blank" data-original-url="https://www.itpro.com/business/policy-legislation/361187/new-ps2-million-scheme-will-teach-uk-tech-sector-to-fight-cyber">initiative supported by the British government</a>, a new approach known as CHERI has been applied to both Arm and Risc-V prototype chips. He said this makes the hardware itself memory safe and brings memory safety to existing software and offers resilience and security features for new code.</p><p>“The risk from memory unsafe code is significant with around 70% of ongoing reported vulnerabilities rooted in such issues,” said Goodacre. “Moving to CHERI enabled hardware will not only block exploitation of these memory safety vulnerabilities, but it also offers developers new capabilities that reduce the risk that bugs find their way into production, increasing developer productivity.”</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Snowflake aims to keep developers on its platform with general release of Snowpark for Python ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/cloud/369470/snowflake-development-upgrades-snowpark-python-release</link>
                                                                            <description>
                            <![CDATA[ New platform upgrades make it possible to do more on Snowflake's platform throughout the development lifecycle ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">m67ywVP8ukExxnwRPPMqk1</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/LxcYZqwPEidDvLimZMghEA-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 08 Nov 2022 12:05:38 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Data Centres]]></category>
                                                    <category><![CDATA[Infrastructure]]></category>
                                                                                                                    <dc:creator><![CDATA[ Zach Marzouk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ncLkbsDMZ6b76Lc5iS6mZh.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/LxcYZqwPEidDvLimZMghEA-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A screenshot of Python programming code on a computer screen]]></media:description>                                                            <media:text><![CDATA[A screenshot of Python programming code on a computer screen]]></media:text>
                                <media:title type="plain"><![CDATA[A screenshot of Python programming code on a computer screen]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/LxcYZqwPEidDvLimZMghEA-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Snowflake has revealed new enhancements designed to make it easier for developers to build apps on its data cloud platform while reducing reliance on third-party tools.</p><p>Following its acquisition of Streamlit in March 2022, an <a href="https://www.itpro.com/software/28109/what-is-open-source" target="_blank" data-original-url="https://www.itpro.com/software/28109/what-is-open-source">open source</a> app framework in the Python language, the company is now integrating the framework with its own technology. It said this will help developers bring their data and <a href="https://www.itpro.com/strategy/28071/what-is-machine-learning" target="_blank" data-original-url="https://www.itpro.com/strategy/28071/what-is-machine-learning">machine learning</a> (ML) models to life as secure and interactive applications on Snowflake.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ww2fWvfmzMkfvbKTQiXWne" name="ww2fWvfmzMkfvbKTQiXWne.png" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ww2fWvfmzMkfvbKTQiXWne.png" mos="https://cdn.mos.cms.futurecdn.net/ww2fWvfmzMkfvbKTQiXWne.png" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Multi-cloud data integration for data leaders</strong></p><p class="fancy-box__body-text">A holistic data-fabric approach to multi-cloud integration</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/cloud/369354/multi-cloud-data-integration-for-data-leaders" data-original-url="/cloud/369354/multi-cloud-data-integration-for-data-leaders">FREE DOWNLOAD</a></p></div></div><p>The cloud data company hopes the Streamlit integration will help developers build powerful applications without the complexity of building and deploying web applications. The integration will help developers create applications with <a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer" data-original-url="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">Python</a> using their data in Snowflake, and then deploy and run these applications on Snowflake’s platform before sharing them with business teams.</p><p>“As we continue to disrupt application development, we’re giving builders the data access and tools they need to accelerate their pace of innovation securely under Snowflake’s one unified platform,” said Torsten Grabs, director of Product Management at Snowflake.</p><p>“Snowflake’s advancements provide developers with the capabilities to build powerful applications, pipelines, and models with the utmost confidence, and eliminate complexity so they can drive value across their organisations with the Data Cloud.”</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/cloud/public-cloud/367553/dell-world-2022-security-offerings-for-major-cloud-providers" data-original-url="/cloud/public-cloud/367553/dell-world-2022-security-offerings-for-major-cloud-providers">Dell Technologies World 2022: Dell unveils security offerings for major cloud providers</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/marketing-comms/marketing-automation/369113/salesforce-unveils-new-real-time-data-platform-genie" data-original-url="/marketing-comms/marketing-automation/369113/salesforce-unveils-new-real-time-data-platform-genie">Salesforce unveils new real-time data platform Genie</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/security/vulnerability/369120/15-year-old-vulnerability-found-in-python-module" data-original-url="/security/vulnerability/369120/15-year-old-vulnerability-found-in-python-module">15-year-old vulnerability found in Python module</a></p></div></div><p>To further reduce the need for developers to turn to third-party tools, Snowflake is also providing access to <a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer" target="_blank" data-original-url="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">Python</a> and its open source libraries to all users and teams, with the general availability of Snowpark for Python. This means developers will be able to use Python to query and process data queries in a data pipeline while remaining on the company’s platform.</p><p>Snowflake said that since its public preview announcement in June 2022, Snowpark for Python has seen six times growth in adoption, with hundreds of customers building their data using the platform, including EDF, Sophos, and Northern Trust.</p><p>Through Snowpark, developers also get a streamlined architecture that natively supports users’ <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming languages</a> of choice, including <a href="https://www.itpro.com/software/development/367965/why-should-you-learn-java" data-original-url="https://www.itpro.com/software/development/367965/why-should-you-learn-java">Java</a>, Scala, <a href="https://www.itpro.com/sql/30242/what-is-sql" data-original-url="https://www.itpro.com/sql/30242/what-is-sql">SQL</a>, and Python. Snowflake is also releasing Snowpark-optimised warehouses, which are currently in public preview in AWS, so Python developers can run large scale ML training and other memory-intensive procedures directly in Snowflake. They can also use <a href="https://www.itpro.com/software/software-testing/367803/the-best-python-test-frameworks" target="_blank" data-original-url="https://www.itpro.com/software/software-testing/367803/the-best-python-test-frameworks">Python</a> Worksheets, which is in a private preview, to develop applications, data pipelines, and ML models inside Snowflake.</p><p>Lastly, Snowflake is also making it easier to work with streaming data within a single platform and further eliminate silos for customers. Users are able to boost productivity by onboarding faster with Schema Interface, and execute data pipelines with Serverless Tasks on Snowflake’s platform.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 15-year-old vulnerability found in Python module ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/security/vulnerability/369120/15-year-old-vulnerability-found-in-python-module</link>
                                                                            <description>
                            <![CDATA[ Hundreds of thousands of repositories have been found to be exposed to the vulnerability ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8jouwRuFSMJPmbVdLcoxSK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/LxcYZqwPEidDvLimZMghEA-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 22 Sep 2022 09:28:15 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                                                                                    <dc:creator><![CDATA[ Zach Marzouk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ncLkbsDMZ6b76Lc5iS6mZh.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/LxcYZqwPEidDvLimZMghEA-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A screenshot of Python programming code on a computer screen]]></media:description>                                                            <media:text><![CDATA[A screenshot of Python programming code on a computer screen]]></media:text>
                                <media:title type="plain"><![CDATA[A screenshot of Python programming code on a computer screen]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/LxcYZqwPEidDvLimZMghEA-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Researchers have discovered a 15-year-old vulnerability found in a Python module and found that hundreds of thousands of repositories are exposed to it.</p><p>Trellix Advanced Research Center discovered the vulnerability in <a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer" target="_blank" data-original-url="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">Python’s</a> tarfile module, the group revealed yesterday. First, the centre thought it had found a new zero-day vulnerability but then realised it was <a href="https://nvd.nist.gov/vuln/detail/CVE-2007-4559" target="_blank">CVE-2007-4559</a>, a vulnerability first discovered in 2007.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/software/development/368919/programming-with-python-time-to-upgrade-to-fancy-ansi" data-original-url="/software/development/368919/programming-with-python-time-to-upgrade-to-fancy-ansi">Programming with Python: Time to upgrade to fancy ANSI</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/development/software-development/362001/python-developers-launch-three-cursed-new-versions" data-original-url="/development/software-development/362001/python-developers-launch-three-cursed-new-versions">Python developers release three "cursed" updates</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/security/369065/three-critical-vulnerabilities-and-one-zero-day-feature-in-microsofts-september-patch-tuesday" data-original-url="/security/369065/three-critical-vulnerabilities-and-one-zero-day-feature-in-microsofts-september-patch-tuesday">Three critical vulnerabilities and one zero-day feature in Microsoft's September Patch Tuesday</a></p></div></div><p>The vulnerability is a <a href="https://www.itpro.com/security/exploits/360411/top-30-most-exploited-vulnerabilities" target="_blank" data-original-url="https://www.itpro.com/security/exploits/360411/top-30-most-exploited-vulnerabilities">path traversal attack</a> in the extract and extractall functions in the tarfile module that allow an attacker to overwrite arbitrary files by adding the “...” sequence to filenames in a TAR archive.</p><p>Tarfiles are a collection of multiple different files and metadata which are then used to unarchive the tarfile. The metadata in a tar archive can contain information on its name, size, owner, and when it was archived. </p><p>Attackers simply need to add “...” with a separator for the operating system, either “/” or “\”, into the file name to escape the directory the file is meant to be extracted to. The tarfile module also lets users add a filter that can be used to parse and modify a file’s metadata before it’s added to the tar archive. This lets attackers create their exploits with as little as six lines of <a href="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses" target="_blank" data-original-url="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses">code</a>.</p><p>Throughout its research, Trellix found that hundreds of thousands of repositories were exposed to the vulnerability.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wE3UT9aDVGm6fZh2yRZMu6" name="wE3UT9aDVGm6fZh2yRZMu6.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/wE3UT9aDVGm6fZh2yRZMu6.jpg" mos="https://cdn.mos.cms.futurecdn.net/wE3UT9aDVGm6fZh2yRZMu6.jpg" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>An EDR buyer's guide</strong></p><p class="fancy-box__body-text">How to pick the best endpoint detection and response solution for your business</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/security/cyber-security/368443/an-edr-buyers-guide" data-original-url="/security/cyber-security/368443/an-edr-buyers-guide">FREE DOWNLOAD</a></p></div></div><p>“While the vulnerability was originally only marked as a 6.8, we were able to confirm that in most cases an attacker can gain code execution from the file write,” wrote the centre.</p><p>Treliix added that the vulnerability is incredibly easy to exploit, requiring little to no knowledge about complicated <a href="https://www.itpro.com/security/cyber-security/368440/the-new-wave-of-cyber-security-threats-facing-critical-national" target="_blank" data-original-url="https://www.itpro.com/security/cyber-security/368440/the-new-wave-of-cyber-security-threats-facing-critical-national">security</a> topics. It added that it’s patching as many open-source repositories as possible as well as providing a way to scan closed-source repositories.</p><p>Another Python vulnerability was discovered in May this year but in one of its popular <a href="https://www.itpro.com/security/hacking/367776/open-source-packages-hacked-to-harvest-aws-credentials" target="_blank" data-original-url="https://www.itpro.com/security/hacking/367776/open-source-packages-hacked-to-harvest-aws-credentials">open-source packages</a>. Two open-source packages, Python’s CTX and PHP’s phpass, were found to be compromised which led to developers trying to understand their exposure to the vulnerability. Around 3 million users were expected to be affected by the compromise, with one business already reporting it had been affected.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Microsoft Azure CTO hails 'most loved' Rust as the successor to C and C++ ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming-languages/369115/microsoft-azure-cto-hails-most-loved-rust-as-the-successor-c-plus-plus</link>
                                                                            <description>
                            <![CDATA[ Rust is a newer programming language that developers enjoy using and learning, and it's being adopted far across the industry, too ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">jbREgvDWduX8LYPaqCDds2</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/jerLFJSMh8grL99YqXXCcc-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 21 Sep 2022 11:43:18 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Connor Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LPjgE2kGKixS9aF7Jdp2mT.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/jerLFJSMh8grL99YqXXCcc-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Mark Russinovich speaking on stage at a conference]]></media:description>                                                            <media:text><![CDATA[Mark Russinovich speaking on stage at a conference]]></media:text>
                                <media:title type="plain"><![CDATA[Mark Russinovich speaking on stage at a conference]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/jerLFJSMh8grL99YqXXCcc-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The CTO at Microsoft Azure has called on the industry to pivot away from the C and C++ software development languages and embrace Rust for future projects.</p><p>Mark Russinovich said Rust should be the new favoured language when developing projects that do not require a language that supports garbage collection “for the sake of security and reliability,” he <a href="https://twitter.com/markrussinovich/status/1571995117233504257">said</a>.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/development/software-development/361654/best-c-courses-to-kickstart-your-career" data-original-url="/development/software-development/361654/best-c-courses-to-kickstart-your-career">Best C++ courses to kickstart your career</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="/careers/29133/the-top-programming-languages-you-need-to-learn">The top programming languages you need to learn for 2022</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/security/malware/360375/hackers-use-exotic-languages-to-write-next-gen-malware" data-original-url="/security/malware/360375/hackers-use-exotic-languages-to-write-next-gen-malware">Hackers turning to 'exotic' languages for next-gen malware, report warns</a></p></div></div><p>Russinovich’s comments come after several high-profile industry figures have confirmed their adoption of Rust in their respective projects during this month.</p><p>Cloudflare announced last week that it built a new HTTP proxy called <a href="https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet">Pingora</a>. Built in-house, Cloudflare’s engineers chose Rust “because it can do what C can do in a memory-safe way without compromising performance”.</p><p>Memory safety is one of the most widely touted benefits of Rust and according to Cloudflare, it guards Rust-built projects against undefined behaviours and instils confidence that services will run correctly. Rust code also runs more efficiently compared to Cloudflare's old Lua code, the company said.</p><p>Linux’s creator Linus Torvalds also said earlier this week at the Kernel Maintainers Summit that Rust code will play a significant role in the new 6.1 version of Linux, <em>ZDNET</em> <a href="http://linux">reported</a>, although the kernel itself will still be written in C.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Xh3zYwweccbW2wQ8Q52WTQ" name="Xh3zYwweccbW2wQ8Q52WTQ.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Xh3zYwweccbW2wQ8Q52WTQ.jpg" mos="https://cdn.mos.cms.futurecdn.net/Xh3zYwweccbW2wQ8Q52WTQ.jpg" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>The Total Economic Impact™ Of IBM FlashSystem</strong></p><p class="fancy-box__body-text">Cost savings and business benefits enabled by FlashSystem</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/server-storage/flash-storage/368464/the-total-economic-impacttm-of-ibm-flashsystem" data-original-url="/server-storage/flash-storage/368464/the-total-economic-impacttm-of-ibm-flashsystem">FREE DOWNLOAD</a></p></div></div><p>Away from tech giants adopting <a href="https://www.itpro.com/security/ransomware/368476/why-are-ransomware-gangs-pivoting-to-rust" data-original-url="https://www.itpro.com/security/ransomware/368476/why-are-ransomware-gangs-pivoting-to-rust">the programming language that’s “most loved” by developers for seven years running</a>, Rust is becoming a new favourite for ransomware organisations, too.</p><p>First BlackCat and more recently the Hive ransomware-as-a-service operations have publicly announced their shifts to Rust as the <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming language</a> of choice to develop their encryptor programs.</p><p>In addition to its memory safety which increases the program’s efficiency, Rust’s compiler is another significant reason why the language itself is so popular among all kinds of software developers, including black hat hackers.</p><p>Its compiler increases the safety of a program by refusing to compile unsafe code by default which guarantees the smooth running of whatever software it’s used to build.</p><p>Hackers also appreciate Rust’s anti-analysis properties, another feature of its compiler which makes it difficult for prospective reverse engineers to see how the code works due to how it converts human-readable code to machine-readable code.</p><p>A score of tech giants including Meta, Amazon, Microsoft, Mozilla, Dropbox, and Figma all have adopted Rust in various projects in some capacity.</p><p>The language is among a <a href="https://www.itpro.com/security/malware/360375/hackers-use-exotic-languages-to-write-next-gen-malware" data-original-url="https://www.itpro.com/security/malware/360375/hackers-use-exotic-languages-to-write-next-gen-malware">‘newer breed’ of development tools</a> that aim to eliminate some of the antiquated, difficult-to-use features of older languages.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Programming with Python: Time to upgrade to fancy ANSI ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/development/368919/programming-with-python-time-to-upgrade-to-fancy-ansi</link>
                                                                            <description>
                            <![CDATA[ Wordle inspires Dick to reinvent his 1980s ASCII toolkit for the 2020s, but this time he doubles down with ANSI ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">n2GYbGe2ZuWcqwpreagH5z</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TevcTWBs4w9qSeAJyRw2RA-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 03 Sep 2022 07:00:06 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Dick Pountain ]]></dc:creator>                                                                                    <dc:source><![CDATA[ null ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/TevcTWBs4w9qSeAJyRw2RA-1280-80.jpg">
                                                            <media:credit><![CDATA[Bigstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A screen showing code written in Python, with purple light reflecting off the surface]]></media:description>                                                            <media:text><![CDATA[A screen showing code written in Python, with purple light reflecting off the surface]]></media:text>
                                <media:title type="plain"><![CDATA[A screen showing code written in Python, with purple light reflecting off the surface]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TevcTWBs4w9qSeAJyRw2RA-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>During the darkest days of lockdown I kept myself amused by practising jazz guitar chords and writing Python programs. I write a lot of small, off-the-cuff programs, for everything from updating phone codes or solving maths puzzles, to playing with simulations to do with Games Theory. <a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer" target="_blank" data-original-url="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">Python</a> is just the last of a long list of languages I’ve used – Basic, Forth, Pascal, Lisp and Ruby are a handful of others – but the one I remember with most affection is Turbo Pascal. </p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer" data-original-url="/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">How to become a Python developer</a></p></div></div><p>My programmes are so small and ad hoc that it’s never worth investing too much time writing <a href="https://www.itpro.com/operating-systems/30248/what-is-a-graphical-user-interface" target="_blank" data-original-url="https://www.itpro.com/operating-systems/30248/what-is-a-graphical-user-interface">graphical user interfaces (GUIs)</a>, so Windows was a nuisance rather than a liberation. Although I played with Visual Basic and Delphi for several years, eventually both metastasised into such baggy monsters that I dumped them. I wrote myself a little toolkit in Turbo Pascal 5 that created simple windows, menus and pick-box widgets from ASCII characters, quite good enough. I shared my code in Byte and am proud to say I saw it on screens in more than one science lab where they had similar minimalist requirements. </p><p>Now I use QPython 3.6 on Android, which has no native ability for colour or cursor control, just scrolling teletype output. There are plenty of add-on graphics libraries such as Kivy, all way more than I need, and there’s a simple interface to Android dialogues and media components called SL4A that I occasionally use but it’s still not what I had with Turbo. </p><p>The impulse to recreate my Turbo widgets was finally triggered by, of all things, Wordle. I enjoy playing Josh Wardle’s clever and elegant little puzzle (almost as much as I deplore posting screenshots on Facebook or bragging about stats). It’s just difficult enough to maintain an interest, but still simple enough to pose real questions over strategy, which is exactly what I love in a game. I never actually cheat but I do use tools that some purists might consider cheating, namely a mobile version of the Oxford Dictionary with wildcard search and an anagram solver; once I have three or four letters these will finish the job in a couple of minutes. </p><p>Getting those three of four letters soon enough is what my Python programme does, searching for effective first guesses using the known frequency distribution of letters in English at each position in a five-letter word: it outputs delightful combinations such as AUDIT SNORE CLAMP and CAMEO UNITS GRIND WHELK. I discovered that my old buddy David Tebbutt, one of the founding editors of <em>Personal Computer World</em>, is also fond of Wordle and it was he who sent me the letter frequencies list in a fine example of nerd-aid. He also has access to Wordle’s own internal word list, but in a fit of hubristic rectitude I decided that was a step too far for me. </p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/development/software-development/367819/the-best-ides-for-python-developers" data-original-url="/development/software-development/367819/the-best-ides-for-python-developers">The best IDEs for Python developers</a></p></div></div><p>My Python Wordle Helper program’s scrolling teletype interface became a real bore, and while looking up how to write a clear-screen command using OS calls I discovered how to issue ANSI codes from Python, and hence how to do a 256-colour character-based terminal better than Turbo’s. QPython can in theory access the <a href="https://www.itpro.com/operating-systems/28025/best-linux-distros" target="_blank" data-original-url="https://www.itpro.com/operating-systems/28025/best-linux-distros">Linux</a> library, but that refuses to work for me and in any case is pretty horrible. I set to and have now written a widget set that does everything I want, enabling single lines of code to invoke a box, a window, pick list, input box, progress bar, table or bar chart. </p><p>I doubt that my new widgets will prove as popular with nerds in science labs as those Turbo originals were; those hark back to when <a href="https://www.itpro.com/hardware/361331/the-true-story-behind-the-ibm-personal-computer" target="_blank" data-original-url="https://www.itpro.com/hardware/361331/the-true-story-behind-the-ibm-personal-computer">IBM-compatible PCs</a> running DOS were still ubiquitous in technical and process control contexts. I know that there are still far too many public institutions such as hospitals and libraries that retain such dinosaurs, but they will at least be running Windows XP. </p><p>Of course, anyone under 70 is using a <a href="https://www.itpro.com/mobile/23617/the-best-smartphones-to-buy" target="_blank" data-original-url="https://www.itpro.com/mobile/23617/the-best-smartphones-to-buy">smartphone</a> instead of a computer anyway, and an ANSI terminal on a smartphone screen is about as welcome as a turd on a sushi. So I’ll keep my little ANSI world to myself, going back and rewiring some of my old programmes using the new interface. My 5-Card Drawer and 5-Card Stud Poker games actually look rather splendid.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Coding vs programming vs scripting: What’s the difference? ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming/368567/coding-vs-programming-vs-scripting-whats-the-difference</link>
                                                                            <description>
                            <![CDATA[ Your comprehensive guide to the important distinctions between coding, programming, and scripting ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ucXs7ow9Pby5njmvypqRu8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/edLtwoWV2E7y8JtbmfzePk-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 15 Jul 2022 16:57:33 +0000</pubDate>                                                                                                                                <updated>Fri, 17 May 2024 15:28:18 +0000</updated>
                                                                                                                                            <category><![CDATA[Careers and Training]]></category>
                                                    <category><![CDATA[Business]]></category>
                                                                                                <author><![CDATA[ rory.bathgate@futurenet.com (Rory Bathgate) ]]></author>                    <dc:creator><![CDATA[ Rory Bathgate ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/DnNrFxEA7RRECVgFxXR4V7.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Rory Bathgate is the Features and Multimedia Editor at ITPro, overseeing all in-depth content and case studies. He is a subject expert on artificial intelligence and business networks but in his time at ITPro has also covered a wide range of areas including cyber security and hardware. Throughout his time at ITPro, Rory has charted the rise in popularity of generative AI and specifically companies such as Microsoft, OpenAI, and Google.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Alongside this, he has delved into increasing calls for ethical and responsible AI as global legislators circle the technology, as well as the latest in mobile networking technology, from 5G mmWave to the 3G sunset and how it will affect businesses.&lt;/p&gt;
&lt;p&gt;He has provided coverage from high-profile tech conferences such as Dell Technologies World, SuiteWorld, and VMware Explore Europe. His on-the-ground coverage has included live blogs, extensive daily coverage of the most significant announcements, analysis pieces, and podcasts.&lt;/p&gt;
&lt;p&gt;Indeed, Rory is also a full-time co-host of the ITPro Podcast alongside Jane McCallion, where he swaps a keyboard for a microphone to discuss the latest learnings in tech. Each week, a guest comes onto the show to discuss topics such as cyber security, productivity, or digital transformation in detail.&lt;/p&gt;
&lt;p&gt;Rory has an MA in Eighteenth-Century Studies from King’s College London, as well as a BA in English and American Literature from the University of Kent. He joined ITPro in 2022 as a graduate, after four years in student journalism.&lt;/p&gt;
&lt;p&gt;In his free time, Rory enjoys photography and video editing, and can often be found at the cinema or reading a good science fiction paperback.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/edLtwoWV2E7y8JtbmfzePk-1280-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Three cartoon figures add to a board of code, with one sitting on top, a plant to the left and a cup of steaming coffee to the right ]]></media:description>                                                            <media:text><![CDATA[Three cartoon figures add to a board of code, with one sitting on top, a plant to the left and a cup of steaming coffee to the right ]]></media:text>
                                <media:title type="plain"><![CDATA[Three cartoon figures add to a board of code, with one sitting on top, a plant to the left and a cup of steaming coffee to the right ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/edLtwoWV2E7y8JtbmfzePk-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When people talk about writing code on a computer, the terms ‘coding’, ‘programming’ and ‘scripting’ are often used interchangeably. In fact, most people aren’t aware that there are subtle but important differences between the three activities. But just what are they?</p><h2 id="what-is-coding">What is coding?</h2><p>Put simply, coding is the act of inputting commands into a computer in a language that it can understand. At the smallest level, computers process everything in binary — 1s and 0s — also called machine code.</p><p>Far back in computer science history, there was no other way in which users could write code, but quickly programming languages were written to give programmers a far more user-friendly coding experience.</p><p>Today, almost all code is written in one of many programming languages, which have their own libraries, documentation and syntax.</p><p>All of the most popular programming languages have their differences, with more or less overlap between them, and it takes time to learn how to use each one effectively.</p><p>When you strip each one down to its core, however, all each does is interface with a computer on its own terms, while simultaneously allowing a user to create commands in a way that they can understand and easily remember.</p><h2 id="what-is-programming">What is programming?</h2><p>If coding is translating intention into language that computers can understand, programming can be understood as taking this language and making it into a comprehensive list of instructions.</p><p>Every decision you make on your computer, whether it’s right-clicking or pressing ‘search’ on Google, sets in motion a chain of code that varies in complexity depending on the demands of the user.</p><p>Usually, these chains have been written line-by-line in code inside a program called a compiler, which translates the program from the language in which it was written into machine code that the computer can run as a cohesive program.</p><p>Very recently, AI models have reached a point where they are beginning to be able to overtake humans in writing programs of their own, but this is still far from proven technology.</p><h2 id="what-is-scripting">What is scripting?</h2><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rjhYU2qKjj6jE6QRoWQnjB" name="rjhYU2qKjj6jE6QRoWQnjB.png" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rjhYU2qKjj6jE6QRoWQnjB.png" mos="https://cdn.mos.cms.futurecdn.net/rjhYU2qKjj6jE6QRoWQnjB.png" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>The COO's pocket guide to enterprise-wide intelligent automation</strong></p><p class="fancy-box__body-text">Automating more cross-enterprise and expert work for a better value stream for customers</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/automation/367058/the-coos-pocket-guide-to-enterprise-wide-intelligent-automation" data-original-url="/business-strategy/automation/367058/the-coos-pocket-guide-to-enterprise-wide-intelligent-automation">FREE DOWNLOAD</a></p></div></div><p>Scripting is typically used to automate a process that would otherwise be undertaken by a human operator. Some programming languages are considered good scripting languages, with a prime example of this being Python. This is due to its ample documentation, speed, and intuitiveness.</p><p>Unlike programs, which are compiled into machine code by a compiler, scripts are usually run by something called an interpreter. This runs the program line-by-line from the source code, with no translation of the script into any other code.</p><p>The benefit of scripts is that they are much easier to understand for beginners, as they are generally laid out in a more easily digestible format. On the other hand, scripts can only run on a computer that has the right interpreter installed.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Why are ransomware gangs pivoting to Rust? ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/security/ransomware/368476/why-are-ransomware-gangs-pivoting-to-rust</link>
                                                                            <description>
                            <![CDATA[ The developer-favourite language is fast becoming a delight for ransomware criminals ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">9uTtiMq5X63hRfLNwuLndn</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/6AwQnzjdkjDsrJ68bAHLAg-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 07 Jul 2022 12:20:40 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Ransomware]]></category>
                                                    <category><![CDATA[Security]]></category>
                                                                                                                    <dc:creator><![CDATA[ Connor Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LPjgE2kGKixS9aF7Jdp2mT.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/6AwQnzjdkjDsrJ68bAHLAg-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Visual representation of ransomware by showing encrypted files on a display]]></media:description>                                                            <media:text><![CDATA[Visual representation of ransomware by showing encrypted files on a display]]></media:text>
                                <media:title type="plain"><![CDATA[Visual representation of ransomware by showing encrypted files on a display]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/6AwQnzjdkjDsrJ68bAHLAg-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>A relatively new programming language on the scene, Rust was launched in 2015 and has quickly become a favourite not only for the pleasant experience it offers developers but also for the benefits it affords malware miscreants.</p><p>In the most recent <a href="https://www.itpro.com/software/development/368349/salaries-for-the-least-popular-programming-languages-surge-2022" data-original-url="https://www.itpro.com/software/development/368349/salaries-for-the-least-popular-programming-languages-surge-2022">2022 Stack Overflow Developer Survey</a>, Rust was, by far and away, the ‘most loved’ programming language among surveyed developers – a crown it’s claimed for seven years running since it was first released. Perhaps it came as no surprise, then, that Rust was also the language the most number of developers wanted to add to their repertoire, narrowly edging out Python.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/security/ransomware/367481/fbi-warns-rust-based-ransomware-has-breached-over-60-organisations" data-original-url="/security/ransomware/367481/fbi-warns-rust-based-ransomware-has-breached-over-60-organisations">FBI warns Rust-based ransomware has breached over 60 organisations</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/security/368462/microsoft-identifies-sophisticated-hive-ransomware-variant-written-in-rust" data-original-url="/security/368462/microsoft-identifies-sophisticated-hive-ransomware-variant-written-in-rust">Microsoft identifies sophisticated Hive ransomware variant written in Rust</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="/careers/29133/the-top-programming-languages-you-need-to-learn">The top programming languages you need to learn for 2022</a></p></div></div><p>This week, Microsoft revealed that the Hive ransomware group’s namesake payload has been <a href="https://www.itpro.com/security/368462/microsoft-identifies-sophisticated-hive-ransomware-variant-written-in-rust" data-original-url="https://www.itpro.com/security/368462/microsoft-identifies-sophisticated-hive-ransomware-variant-written-in-rust">almost entirely rewritten in Rust</a>, moving away from Go – another <a href="https://www.itpro.com/security/ransomware/361965/ransomware-rewritten-golang-to-target-windows-linux-users" data-original-url="https://www.itpro.com/security/ransomware/361965/ransomware-rewritten-golang-to-target-windows-linux-users">favourite among malware and ransomware authors</a>. </p><p>After BlackCat, Hive has become the second ransomware group this year to rewrite its program using Rust. This raises the question of what makes the industry-favourite language so appealing to <a href="https://www.itpro.com/security/ransomware/367425/ransomware-activity-experiences-25-quarterly-decline" data-original-url="https://www.itpro.com/security/ransomware/367425/ransomware-activity-experiences-25-quarterly-decline">ransomware</a> gangs, specifically?</p><h2 id="rust-s-killer-duo-of-features">Rust’s killer duo of features</h2><h3 class="article-body__section" id="section-safety-first"><span>Safety first</span></h3><p>Like many of the more modern <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming languages</a> designed to replace older ones, Rust claims to be “blazingly fast and memory-efficient” – much more than the likes of C and C++.</p><p>Microsoft’s analysis agrees, stating Rust offers better memory, data type, and thread safety over other languages. Memory safety is hugely important when writing secure software as memory-unsafe programs can lead to crashes. Ransomware strains also need to remain operational – to continue to lock users out of their systems – in order for the ransom demands to be valid. Memory-unsafe programs are also responsible for the majority of software vulnerabilities in non-malicious software, <a href="https://developer.okta.com/blog/2022/03/18/programming-security-and-why-rust#:~:text=Memory%20safety%20issues%20are%20the%20cause%20of%20most%20security%20CVEs">according to Okta</a>.</p><p>Rust is an incredibly safe language thanks to its compiler that outright refuses to compile unsafe code by default, meaning developers who code ransomware using Rust won’t even be able to run it unless the program is guaranteed to run in a stable way.</p><h3 class="article-body__section" id="section-evasive-manoeuvres"><span>Evasive manoeuvres</span></h3><p>Newer languages Like Rust and Go are thought to be better at disguising the ways in which they work from malware analysts. This, in turn, prevents them from being reverse engineered to release decryptors, which would kill its ability to generate business.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rNAQoa9nwMcMG72HQokQfh" name="rNAQoa9nwMcMG72HQokQfh.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rNAQoa9nwMcMG72HQokQfh.jpg" mos="https://cdn.mos.cms.futurecdn.net/rNAQoa9nwMcMG72HQokQfh.jpg" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Storage's role in addressing the challenges of ensuring cyber resilience</strong></p><p class="fancy-box__body-text">Understanding the role of data storage in cyber resiliency</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/security/cyber-attacks/368461/storages-role-in-addressing-the-challenges-of-ensuring-cyber" data-original-url="/security/cyber-attacks/368461/storages-role-in-addressing-the-challenges-of-ensuring-cyber">FREE DOWNLOAD</a></p></div></div><p>Again, Rust’s compiler is to thank for this. Due to the comparatively complex way in which Rust code is compiled into machine-readable code, the language makes it difficult for analysts to view the inner workings of the program. Proofpoint said in one <a href="https://www.proofpoint.com/us/blog/threat-insight/new-variant-buer-loader-written-rust">analysis</a> that it has observed previous malware strains being rewritten in Rust to avoid detections based on features of the program written in C.</p><p>Rust is also a command line-driven language. The newer Rust version of Hive ransomware places different parameters in the command line which means things like the credentials required to access the ransom payment site cannot be accessed by analysts from the individual sample itself. The parameters in Hive are also being constantly updated, Microsoft said, and when coupled with string encryption, makes analysis increasingly difficult.</p><h2 id="examples-of-malicious-rust-programs">Examples of malicious Rust programs</h2><p>Examples of major malware programs written in Rust date back to 2016, shortly after the language was released. Doctor Web researchers <a href="https://news.drweb.com/show/?i=10193&lng=en&c=14">discovered a Linux backdoor trojan</a> with functionality limited to just four commands sent over internet chat relay (IRC).</p><p>A year later, ESET published details of the <a href="https://www.welivesecurity.com/2017/06/30/telebots-back-supply-chain-attacks-against-ukraine">TeleBots campaign</a> that targeted Ukraine months before the <a href="https://www.itpro.com/malware/34381/what-is-notpetya" data-original-url="https://www.itpro.com/malware/34381/what-is-notpetya">NotPetya outbreak</a> was observed. It used a pair of backdoors in order to compromise companies in the region, including one that was rewritten in Rust from <a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer" data-original-url="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">Python</a>.</p><p>As mentioned previously, Proofpoint also published its research into the re-writing of the Buer malware, the Rust iteration of which it named <a href="https://www.proofpoint.com/us/blog/threat-insight/new-variant-buer-loader-written-rust">RustyBuer</a> in 2021. The campaign saw the rewritten strain being distributed as part of phishing emails masquerading as shipping companies, and other associated campaigns purporting to be from the likes of logistics company DHL. The emails typically included links to download Microsoft Office documents that used macros to drop the RustyBuer <a href="https://www.itpro.com/malware/28076/what-is-malware" data-original-url="https://www.itpro.com/malware/28076/what-is-malware">malware</a> - a technique that Microsoft <a href="https://www.itpro.com/security/367495/microsofts-secure-vba-macro-rules-already-being-bypassed-by" data-original-url="https://www.itpro.com/security/367495/microsofts-secure-vba-macro-rules-already-being-bypassed-by">continues to battle against today</a>.</p><p>There are also the most recent examples from BlackCat and Hive, the first and second ransomware programs to be re-written in Rust respectively. BlackCat is a prevalent strain of ransomware that prompted the FBI to issue a <a href="https://www.itpro.com/security/ransomware/367481/fbi-warns-rust-based-ransomware-has-breached-over-60-organisations" data-original-url="https://www.itpro.com/security/ransomware/367481/fbi-warns-rust-based-ransomware-has-breached-over-60-organisations">security advisory</a> warning against it earlier this year. According to Varonis Threat Lab, the group behind BlackCat has actively recruited developers from the now-shuttered REvil, DarkSide, and BlackMatter ransomware organisations – all of which are believed to be Russia-affiliated.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The best Python test frameworks ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/software-testing/367803/the-best-python-test-frameworks</link>
                                                                            <description>
                            <![CDATA[ Make your Python code shine with these testing tools ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">pnFreAZvNkqFyrV5fx2VYR</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/dxFhXdQXUWH6ELnFzjFeGT-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 26 May 2022 13:28:54 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Danny Bradbury ]]></dc:creator>                                                                                    <dc:source><![CDATA[ null ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/dxFhXdQXUWH6ELnFzjFeGT-1280-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A photograph of Python code under a magnifying glass, overlaid with the IT Pro Recommended Award logo]]></media:description>                                                            <media:text><![CDATA[A photograph of Python code under a magnifying glass, overlaid with the IT Pro Recommended Award logo]]></media:text>
                                <media:title type="plain"><![CDATA[A photograph of Python code under a magnifying glass, overlaid with the IT Pro Recommended Award logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/dxFhXdQXUWH6ELnFzjFeGT-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Testing isn't a software developer's favourite job. The fun part is writing the code; who wants to jump through hoops that tell you just how little of it works? Nevertheless, it's a mandatory practice for good programming. It will help prevent bugs that could affect the performance of your code, make it less usable, or worse still, allow cyber attackers in through the back door.</p><p>Building testing into your programming from the beginning makes it easier and less time consuming to fix bugs, but how do you do it? For Python developers, the language comes with its own testing framework called Unittest, but there are also third-party testing frameworks that aim to improve on the original. Here's a look at some of them.</p><p>These testing tools aren't just useful on their own. You can use some of them in combination with each other. For example, Selenium is good for testing user interactions, but is at its most powerful when used with other frameworks. Because it uses Python, you can parameterize Selenium by calling it from your PyTest functions. You can also fold it into behaviour-driven development by calling Selenium from within your Behave session's steps file.</p><p>Whether you're using unit testing, behavioural testing, or both, building these tests into your coding process throughout can help to increase the quality of your final product.</p><h2 id="unittest-pyunit">Unittest (PyUnit)</h2><p>As Python's baked-in testing module, Unittest's main advantage is that you don't need to install anything else to use it out of the box. It handles unit testing (as you could probably guess), which ensures that a software function produces the correct output, even when presented with unusual input.</p><p>This testing tool requires you to create a class that holds your tests by subclassing its TestCase class, like so:</p><div ><table><tbody><tr><td  ><strong>class TestStringMethods(unittest.TestCase):</strong></td></tr></tbody></table></div><p>You then create a function for each of your tests inside the class. You use one of its assert functions to determine test outcomes. For instance, self.assertEquals() tests whether a function's output equals your expected output. There are lots of these, including boolean assertions (testing whether something is true or false), greater or lesser, and matches for regular expressions. A newer version, Unitest2, supports more of these assertions.</p><p>One useful feature of this tool is its ability to support fixtures. These are environments that you set up to support the program. For example, you might need to log into a database and retrieve a record before you can test whether a function updates it correctly with a given input. A fixture enables you to do that.</p><p>Unittest is a great framework for writing basic tests. Its use of a class for test cases allows you to group tests that map to software features. However, it quickly gets unwieldy thanks to its insistence on inheriting tests in classes.</p><h2 id="nose2">Nose2</h2><p>Unittest's limitations left room for improvement, so third party developers updated it with their own testing framework called Nose, subsequently replaced with <a href="https://docs.nose2.io/en/latest">Nose2</a>. </p><p>Because this testing framework extends Unittest, it can run Unittest tests alongside its own. Nose2 is extensible, providing support for plugins that give it the potential to offer more functions than unittest. It also adds another important feature: parameterisation.</p><p>Most tests need multiple inputs to be sure that no strange elements slip through. For example, if you're testing a function that validates a product price, you might want to try entering various prices with different numbers of digits. You might also want to enter other prices that might fail the test, such as 0.00, a negative price, and perhaps prices with non-numeric characters. Rather than creating a single test for each of these inputs, it would be better to make a test that could rerun itself with inputs from a list. Nose2 allows you to do this.</p><h2 id="pytest">Pytest</h2><p><a href="https://docs.pytest.org/en/7.1.x">Pytest</a> is an alternative unit testing framework to Unittest and is designed for simple but highly functional testing. Even the developers of Nose2 recommend it as a good option for those new to testing on their GitHub page.</p><p>Because PyTest is a third-party open-source testing library, you must install this open-source tool before using it. One difference to Unittest is its use of functions without the need for a class. This means that Pytest requires less code to create tests than Unittest does.</p><p>Let's say we have a function to add 1 to an input:</p><div ><table><tbody><tr><td  ><strong>def inc(x):</strong><strong> return x + 1</strong></td></tr></tbody></table></div><p>Whereas unittest requires you to contain a test for this system in a separate class, you can simply write a test as a separate function, simplifying the whole process.</p><p>Then we use a simple assert function to test the result as a separate function in the same file:</p><div ><table><tbody><tr><td  ><strong>def test_answer():</strong><strong> assert inc(3) == 4</strong></td></tr></tbody></table></div><p>Just as in unittest, the assert function lets you describe what a test looks like when it passes. In this case, running the function <em>inc</em> with an input of three should return a result of 4. If it doesn’t, then PyTest will report that the test has failed.</p><p>Pytest is also extensible and features a full plugin library.</p><h2 id="doctest">DocTest</h2><p>For an alternative method of testing code, how about writing your tests directly into your documentation? <a href="https://docs.python.org/3/library/doctest.html">DocTest</a> directly references your code documentation for its tests. You write your documentation as you normally would, but you embed examples of function calls with appropriate input and results within it.</p><p>You can embed these tests in docstrings at the function or module level. Then you can either invoke it at the command line or you can include instructions to run it at the bottom of your modules. Alternatively, you can embed the tests in separate .rst help files for larger documentation files.</p><p>Like Nose2, DocTest has the advantage of integrating with existing Unittest tests, and provides an elegant way of combining tests and documentation together. On the downside, however, it doesn't include fixture management.</p><h2 id="behave">Behave</h2><p>Those tools are all useful for unit testing, where you test individual functions against basic inputs. However, they might not enable you to test combinations of functions that produce business results your users care about. A business executive might not care that a function validates a customer's login email address, but they'd like to be sure that the program lists a user's outstanding orders after they've logged in.</p><p>This is where behaviour-driven development comes in. It tests scenarios and outcomes that map closely to tasks that software users care about. These are known in development parlance as user stories.</p><p>The <a href="https://github.com/behave/behave">Behave</a> testing library uses specification files to test these stories, which developers must write in a language called Gherkin. It defines application scenarios, and then uses a structure of steps to define the tests, such as:</p><div ><table><tbody><tr><td  ><strong>given I log in</strong><strong>when I have an outstanding order</strong><strong>then I see my outstanding order</strong></td></tr></tbody></table></div><p>The <em>given</em> statement sets up the environment to run the test. In this example, <em>I log in</em> describes that the user should be logged into the system before the test is run. The <em>when</em> statement then describes the condition that you’re testing (in this case, it’s testing what should happen when a logged-in user has an outstanding order). Finally, the <em>then</em> statement describes the desired outcome when the condition is met (the user should see their outstanding order)..</p><p>You define the code tested in these steps within a separate steps file using Python decorators. For example:</p><div ><table><tbody><tr><td  ><strong>@given('I log in')</strong><strong>def step_impl(context)</strong><strong># call the necessary login functions here</strong> <strong>@when('I have an outstanding order')</strong><strong>def step_impl(context)</strong><strong># call the necessary order retrieval functions here</strong> <strong>@then('I see my outstanding order')</strong><strong>def step_impl(context)</strong><strong>assert (len (order_list) > 0)</strong></td></tr></tbody></table></div><p>As with other testing frameworks, you can write these tests before putting together any of your code. They'll all fail, of course, until you then write the functions to support them.</p><p>The great part of behaviour-driven development is that by writing the tests, you're documenting your user requirements in a structured way up front. You can then use these tests as a guide when writing your application.</p><h2 id="selenium">Selenium</h2><p>These tools are all very well suited to testing application code running locally, but how do you relate them to user actions in <a href="https://www.itpro.com/development/web-development/367777/microsoft-launches-low-code-power-pages-for-intuitive-web" data-original-url="https://www.itpro.com/development/web-development/367777/microsoft-launches-low-code-power-pages-for-intuitive-web">browser-based applications</a>? You might write tests to run at the controller level if using a model-view-controller architecture, as we documented in our <a href="https://www.itpro.com/development/ajax/360007/building-an-ajax-based-crud-app-in-flask" data-original-url="https://www.itpro.com/development/ajax/360007/building-an-ajax-based-crud-app-in-flask">series on Flask development</a>, but a more useful, intuitive way to test browser-based inputs is to simulate the browser itself. Browser automation enables you to test program input from the user's perspective, and there's one go-to solution for that in Python: <a href="https://www.selenium.dev">Selenium</a>.</p><p>Selenium simulates a browser that you can program to automatically carry out common user actions, including entering text into web forms and clicking buttons. You do this by writing scripts in a range of languages including Java, Ruby, and Python. The script finds elements in a web page using their names or other parameters, and then takes actions on them.</p><p>Rather than functioning as a testing tool itself, Selenium is a library that you can call from within your Python testing framework of choice, such as Pytest. </p><p>For example, you might use this tool to test a form which asks for a user’s postcode and another that asks for their country. You could use PyTest to carry the relevant test data, such as ‘90210’ and ‘United States’. You’d then manipulate Selenium to enter that data into the browser by calling Selenium to find the field named <em>postcode</em> and then entering the postcode. It would then select the relevant country from the drop-down <em>country</em> list, and finally it would find the <em>submit</em> button and automatically click it.</p><p>Then, you’d call Selenium to interpret the browser’s output, passing it to an <em>assert</em> statement in Pytest so that you could compare it against your expected result. </p><p>Selenium enables you to test your program from a user’s perspective. By marrying it with parameterisation in your testing framework, you can submit dozens or hundreds of combinations to test a multitude of complex form entries and other browser interactions.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ TypeScript version 4.7 beta launch leave developers 'delighted' with new features ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/software-development/367394/typescript-version-47-beta-launch-leave-developers</link>
                                                                            <description>
                            <![CDATA[ A host of new features are headed to the programming language which is undergoing a period of rapid development ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">3p8WVJ4WCDw8SNxqdFYKno</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/VbMWW8pgfwaZJjk4gvpaSi-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 12 Apr 2022 10:15:30 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Connor Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LPjgE2kGKixS9aF7Jdp2mT.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/VbMWW8pgfwaZJjk4gvpaSi-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Man at a desk coding software]]></media:description>                                                            <media:text><![CDATA[Man at a desk coding software]]></media:text>
                                <media:title type="plain"><![CDATA[Man at a desk coding software]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/VbMWW8pgfwaZJjk4gvpaSi-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Microsoft has released the latest version of TypeScript (4.7) in beta and introduced various new features that have met with excitement from the language’s programmers.</p><p>The tech giant has continued its rapid development with the programming language after only having released the previous stable version (4.6) <a href="https://www.itpro.com/development/software-development/364115/microsoft-releases-typescript-46-with-a-score-of-new" data-original-url="https://www.itpro.com/development/software-development/364115/microsoft-releases-typescript-46-with-a-score-of-new">in March this year</a>.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/development/32886/what-is-typescript" data-original-url="/development/32886/what-is-typescript">What is TypeScript?</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="/careers/29133/the-top-programming-languages-you-need-to-learn">The top programming languages you need to learn for 2022</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it" data-original-url="/development/30202/what-is-javascript-and-why-should-i-learn-it">What is JavaScript and why should I learn it?</a></p></div></div><p>The introduction of ECMAScript Modules (ESM) in <a href="https://www.itpro.com/development/32886/what-is-typescript" data-original-url="https://www.itpro.com/development/32886/what-is-typescript">TypeScript</a> is one of the standout additions to the latest release and has been <a href="https://twitter.com/robpalmer2/status/1512533780300451843">described by users</a> as a “huge step forwards” for the language.</p><p>ESM is a module format Node.js has been working to implement for years but development has been “very difficult”, according to Microsoft, since Node is built on an older system called CommonJS (CJS) which uses modules differently.</p><p>TypeScript 4.5 previously introduced nightly-only support for ESM in Node to get feedback from users and with version 4.7, support for interoperability between ESM and CJS is now available in TypeScript.</p><div class="see-more see-more--clipped"><blockquote class="twitter-tweet hawk-ignore" data-lang="en"><p lang="en" dir="ltr"><a href="https://twitter.com/cantworkitout/status/1512972435657838592"></a></p></blockquote><div class="see-more__filter"></div></div><p>Some developers have <a href="https://www.reddit.com/r/typescript/comments/tzblo1/comment/i3y87rx/?utm_source=reddit&utm_medium=web2x&context=3">expressed concern</a> about how they will be forced to implement ESM in existing projects, despite widespread excitement.</p><p>Certain existing TypeScript code will have to be re-written to accommodate a new syntax of ESM, with some files having to use a JavaScript file type (.js extension) even when referring to TypeScript files. </p><p>Developers have called this confusing, and Microsoft said the re-writing process “might feel cumbersome at first”, but in many cases, TypeScript tooling like auto-imports and path completion will make the change automatically for developers.</p><p>TypeScript version 4.7 also introduces instantiation expressions which allow developers to specify type arguments for generic functions or constructors without calling them.</p><iframe frameborder="0" height="200px" width="100%" data-lazy-priority="low" data-lazy-src="https://widget.spreaker.com/player?episode_id=43043986&theme=light&playlist=false&playlist-continuous=false&chapters-image=true&episode_image_position=right&hide-logo=false&hide-likes=true&hide-comments=true&hide-sharing=true&hide-download=true"></iframe><p>Developers can now create specific instantiations of generic class constructors or functions using a new expression syntax, feeding them type arguments directly.</p><p>When a function or constructor is given one or more type arguments, they essentially make an alias of the original and replace the corresponding type parameters with the provided type arguments while dropping all the other signatures as it will assume these are not meant to be used.</p><p><a href="https://www.itpro.com/business-strategy/careers-training/356457/the-ultimate-guide-to-becoming-a-programmer" data-original-url="https://www.itpro.com/business-strategy/careers-training/356457/the-ultimate-guide-to-becoming-a-programmer">Programmers</a> also stand to benefit from variance annotations for type parameters, which bring the potential for clearer, more explicitly typed code for outsiders to more easily see how a type parameter is used. It can be difficult to understand if a type should be read, written, or both, especially with more complex types, so it stands to benefit teams working on a complex codebase.</p><p>Microsoft also said the feature can also bring performance benefits since TypeScript can type-check larger structural types with more precision and speed.</p><p>Full details on the host of new features coming to TypeScript can be found in Microsoft’s detailed <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-4-7-beta/#extends-constraints-on-infer-type-variables">release notes</a>.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Go 1.18 promises to be the most significant update to the language ever ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming-languages/367025/go-118-promises-most-significant-update-ever</link>
                                                                            <description>
                            <![CDATA[ A host of features aiming to simplify and streamline critical functions, as well as big performance boosts, are expected to improve the development experience for all ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">3CFecFNbXy2Cr9BKs8hWsD</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/y76a34ewyfeHxJKH4MpeY9-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 17 Mar 2022 12:34:59 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Google]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Connor Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LPjgE2kGKixS9aF7Jdp2mT.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/y76a34ewyfeHxJKH4MpeY9-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Programming code abstract on a reflective background]]></media:description>                                                            <media:text><![CDATA[Programming code abstract on a reflective background]]></media:text>
                                <media:title type="plain"><![CDATA[Programming code abstract on a reflective background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/y76a34ewyfeHxJKH4MpeY9-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The development team behind the Google-created Go programming language has released what it’s calling the “biggest change ever to the language”.</p><p>Go version 1.18 is available to download now and brings with it support for generic code using parameterised types – often simply referred to as ‘generics’ – a most-requested feature from the Go community, the development team <a href="https://go.dev/blog/go1.18">said</a>.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/security/ransomware/361965/ransomware-rewritten-golang-to-target-windows-linux-users" data-original-url="/security/ransomware/361965/ransomware-rewritten-golang-to-target-windows-linux-users">Ransomware is being rewritten in Go for joint attacks on Windows, Linux users</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/security/malware/360375/hackers-use-exotic-languages-to-write-next-gen-malware" data-original-url="/security/malware/360375/hackers-use-exotic-languages-to-write-next-gen-malware">Hackers turning to 'exotic' languages for next-gen malware, report warns</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="/careers/29133/the-top-programming-languages-you-need-to-learn">The top programming languages you need to learn for 2022</a></p></div></div><p>Generics is an approach that can be found in other <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">popular programming languages</a> like <a href="https://www.itpro.com/software/development/360782/java-isnt-even-slightly-dead-and-heres-why" data-original-url="https://www.itpro.com/software/development/360782/java-isnt-even-slightly-dead-and-heres-why">Java</a>, <a href="https://www.itpro.com/development/programming/361267/11-best-python-courses" data-original-url="https://www.itpro.com/development/programming/361267/11-best-python-courses">Python</a>, <a href="https://www.itpro.com/security/malware/360375/hackers-use-exotic-languages-to-write-next-gen-malware" data-original-url="https://www.itpro.com/security/malware/360375/hackers-use-exotic-languages-to-write-next-gen-malware">Rust</a>, and <a href="https://www.itpro.com/development/34417/what-is-the-swift-programming-language-and-why-should-i-learn-it" data-original-url="https://www.itpro.com/development/34417/what-is-the-swift-programming-language-and-why-should-i-learn-it">Swift</a>, and allows developers to write data structures and functions in a way that they can be applied to many different cases.</p><p>For example, a developer may want to code a ‘reverse’ function for integers, but also want it to apply to strings – two different types of data. Generics makes this less difficult to achieve by opening up the function to accept different, unspecified data types.</p><p>“Supporting generics has been Go’s most often requested feature, and we’re proud to deliver the generic support that the majority of users need today,” said Go. “Subsequent releases will provide additional support for some of the more complicated generic use cases.”</p><iframe allow="encrypted-media" frameborder="0" height="" width="100%" data-lazy-priority="low" data-lazy-src="https://open.spotify.com/embed-podcast/episode/63BVgzWgs8xyaI0GZbeceH"></iframe><p>Go said the generics support is a “major” addition but is fully backwards-compatible in the language. While it believes the feature has been implemented well, it said it does not have much testing data from real-world applications, and so advises developers to exercise caution when deploying generic code.</p><p>It's the first implementation of generics in Go and there is a possibility that generic code written in Go 1.18 may break in later releases if the method of implementation has to be changed, the development team said.</p><p>“We will minimise any such breakage as much as possible, but we can't guarantee that the breakage will be zero,” it said.</p><p>Full details of what Go supports with generics and what its current limitations are can be found in the official <a href="https://go.dev/doc/go1.18#generics">release notes</a>.</p><h2 id="fuzzing">Fuzzing</h2><p>Go has also implemented fuzzing – another of the most requested features from its community and the first major <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming language</a> to fully integrate fuzzing into its toolchain, the development team said.</p><p>Fuzzing is an automated testing tool that feeds invalid or random data into an application’s code as a way to test it for bugs or problems that could lead to crashes.</p><p>Go said its fuzzing can be particularly useful for developers looking to test for security exploits and vulnerabilities in the edge cases humans often miss.</p><p>The developers warned that using fuzzing in an application can consume a lot of system memory and that developers may experience significant performance dips on their machines while it runs. There is also no limit to the number of files or total bytes that can be written to the fuzz cache, which may lead to multiple gigabytes of storage being used.</p><h2 id="workspaces-and-performance-improvements">Workspaces and performance improvements </h2><p>Go has introduced multi-module workspaces that allow developers to tell the Go command that code is being written on multiple modules at the same time.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GEMzc3FZ7wEM9iRk7fvhwk" name="GEMzc3FZ7wEM9iRk7fvhwk.png" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/GEMzc3FZ7wEM9iRk7fvhwk.png" mos="https://cdn.mos.cms.futurecdn.net/GEMzc3FZ7wEM9iRk7fvhwk.png" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Four strategies for building a hybrid workplace that works</strong></p><p class="fancy-box__body-text">All indications are that the future of work is hybrid, if it's not here already</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/mobile/remote-access/366427/four-strategies-for-building-a-hybrid-workplace-that-works" data-original-url="/mobile/remote-access/366427/four-strategies-for-building-a-hybrid-workplace-that-works">FREE DOWNLOAD</a></p></div></div><p>It addresses one of the chief challenges identified in the development team’s annual survey of Go programmers that showed it was difficult to work using Go across multiple modules. The new workspace mode makes this a more streamlined process.</p><p>Go also said the latest version delivers performance increases of up to 20% when using <a href="https://www.itpro.com/hardware/362264/apple-24in-imac-apple-m1-2021-review" data-original-url="https://www.itpro.com/hardware/362264/apple-24in-imac-apple-m1-2021-review">Apple M1</a>, ARM64, and PowerPC64 thanks to an expansion of Go 1.17’s register ABI calling convention to the architectures.</p><p>The improvement is significant, and Go emphasised that while it’s proud of the speed increase, it’s still only the fourth most important part of the release, underlining how significant the other changes are.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Microsoft releases TypeScript 4.6 with a score of new features ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/software-development/364115/microsoft-releases-typescript-46-with-a-score-of-new</link>
                                                                            <description>
                            <![CDATA[ The latest iteration of the programming language brings never-before-seen features and lots of improvements to make developers' lives easier ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">5eUnC4GCmSm1nCcBA447F3</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/pDJUC8QvMWHHnanMUY24A9-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 02 Mar 2022 11:37:29 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Microsoft]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Connor Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LPjgE2kGKixS9aF7Jdp2mT.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/pDJUC8QvMWHHnanMUY24A9-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[JavaScript code displayed on monitor]]></media:description>                                                            <media:text><![CDATA[JavaScript code displayed on monitor]]></media:text>
                                <media:title type="plain"><![CDATA[JavaScript code displayed on monitor]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/pDJUC8QvMWHHnanMUY24A9-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Microsoft has released the latest version of TypeScript, version 4.6, which brings with it an array of features including some that weren’t included in the beta or release candidate (RC) versions.</p><p>Among these is the ability for developers to narrow types based on discriminate properties, something that would throw an error in previous versions of <a href="https://www.itpro.com/development/32886/what-is-typescript" data-original-url="https://www.itpro.com/development/32886/what-is-typescript">TypeScript</a>.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/development/32886/what-is-typescript" data-original-url="/development/32886/what-is-typescript">What is TypeScript?</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/357247/should-you-learn-to-code" data-original-url="/business-strategy/careers-training/357247/should-you-learn-to-code">Should you learn to code?</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/software/development/356827/how-to-become-a-developer-a-beginners-guide" data-original-url="/software/development/356827/how-to-become-a-developer-a-beginners-guide">How to become a developer: A beginner’s guide</a></p></div></div><p>Microsoft said it comes down to each <a href="https://www.itpro.com/software/development/356827/how-to-become-a-developer-a-beginners-guide" data-original-url="https://www.itpro.com/software/development/356827/how-to-become-a-developer-a-beginners-guide">developer’s</a> preference and how they like to destructure objects into properties. </p><p>“When destructuring individual properties into a const declaration, or when destructuring a parameter into variables that are never assigned to, TypeScript will check for if the destructured type is a discriminated union,” said Daniel Rosenwasser, senior program manager of TypeScript at Microsoft. “If it is, <a href="https://www.itpro.com/development/32886/what-is-typescript" target="_blank" data-original-url="https://www.itpro.com/development/32886/what-is-typescript">TypeScript</a> can now narrow the types of variables depending on checks of other variables.”</p><p>Another of the never-before-seen features in TypeScript 4.6 is the support for es2022 in TypeScript’s --target option. It means features like class fields now have a stable output target where they can be preserved.</p><p>It also means more recently added TypeScript functionality like the at() method on arrays, Object.hasOwn, or the ‘cause’ option on a new Error can be used with the new --target setting or with --lib es2022.</p><p>A feature that was present in the previous RC release but went undocumented was the suggestions for mismatched JSDoc parameter names. Developers can document parameters using an @param tag but when these fall out of date TypeScript editors will now provide suggestions for when parameter names don’t match between a function and its JSDoc comment.</p><p>One change from the beta that made it to the current release is the removal of unnecessary arguments when programming in --jsx react-jsx mode. When compiling certain code, JavaScript would produce code containing a ‘void 0’ argument that simply wasn’t necessary. Overall bundle sizes can be reduced as a result of the argument’s removal, said Rosenwasser.</p><iframe allow="encrypted-media" frameborder="0" height="" width="100%" data-lazy-priority="low" data-lazy-src="https://open.spotify.com/embed-podcast/episode/63BVgzWgs8xyaI0GZbeceH"></iframe><p>Further code improvements have been made to classes; developers will now be able to write their constructor’s code before declaring super(). </p><p>Classes made <a href="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it" data-original-url="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it">JavaScript</a>, a language on which TypeScript builds, require the developer to call super() before referring to ‘this’. The rule used to apply to TypeScript too but Rosenwasser said the langauge was too strict in how it enforced the rule - it was a “cheap” implementation that rejected a lot of valid <a href="https://www.itpro.com/business-strategy/careers-training/357247/should-you-learn-to-code" data-original-url="https://www.itpro.com/business-strategy/careers-training/357247/should-you-learn-to-code">code</a>.</p><p>There are a host of other changes brought to TypeScript including, but not limited to, an expansion of binding errors in JavaScript files. The full release notes can be found on Microsoft’s TypeScript <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-4-6/#jsdoc-name-suggestions">developer blog</a>.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Microsoft teases 'controversial' changes to C# programming language ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/software/development/363314/microsoft-teases-controversial-features-for-c-programming-language</link>
                                                                            <description>
                            <![CDATA[ The preview features are still in development and have attracted mixed feedback from the developer community ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8dRXPAkkzLv2Vf4RzWv95q</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/JAVBGAtk4mxKFThPpL4zB9-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 24 Feb 2022 11:05:11 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Microsoft]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Connor Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LPjgE2kGKixS9aF7Jdp2mT.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/JAVBGAtk4mxKFThPpL4zB9-1280-80.jpg">
                                                            <media:credit><![CDATA[Microsoft]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[C# code displayed on a computer screen]]></media:description>                                                            <media:text><![CDATA[C# code displayed on a computer screen]]></media:text>
                                <media:title type="plain"><![CDATA[C# code displayed on a computer screen]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/JAVBGAtk4mxKFThPpL4zB9-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Microsoft has offered an early look at the new features coming to the C# <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming language</a> as part of the new updates to <a href="https://www.itpro.com/development/software-development/361482/microsoft-unveils-visual-studio-2022-and-net-6" data-original-url="https://www.itpro.com/development/software-development/361482/microsoft-unveils-visual-studio-2022-and-net-6">Visual Studio</a> (Visual Studio 2022 Update 1) and the latest .NET SDK (6.0.200).</p><p>All features revealed by Microsoft this week are preview features, meaning they’re in the early stages of development and Microsoft has invited feedback from all corners of the developer community.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/software/development/360782/java-isnt-even-slightly-dead-and-heres-why" data-original-url="/software/development/360782/java-isnt-even-slightly-dead-and-heres-why">Java isn't even slightly dead and here's why...</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="/careers/29133/the-top-programming-languages-you-need-to-learn">The top programming languages you need to learn for 2022</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/358051/software-developers-versus-software-engineers" data-original-url="/business-strategy/careers-training/358051/software-developers-versus-software-engineers">Software developers vs software engineers</a></p></div></div><p>Said feedback has already been pouring in since the announcement, with developers specifically vocal on one of the proposed new features: Parameter Null-checking.</p><p>The feature aims to introduce a more succinct syntax for checking null values by moving the checking method code to the parameter name, replacing it simply with a !! operator.</p><figure class="van-image-figure pull-" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WqTjHYfkm5zd7sFaKsew3h" name="" alt="Code snippet" src="https://cdn.mos.cms.futurecdn.net/WqTjHYfkm5zd7sFaKsew3h.jpg" mos="https://cdn.mos.cms.futurecdn.net/WqTjHYfkm5zd7sFaKsew3h.jpg" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pull-"></p></div></div><figcaption itemprop="caption description" class="pull-"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><figure class="van-image-figure pull-" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zXLFyoNydpPyCVsAfwRJg3" name="" alt="Code snippet" src="https://cdn.mos.cms.futurecdn.net/zXLFyoNydpPyCVsAfwRJg3.jpg" mos="https://cdn.mos.cms.futurecdn.net/zXLFyoNydpPyCVsAfwRJg3.jpg" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pull-"></p></div></div><figcaption itemprop="caption description" class="pull-"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>Example code snippets above show a traditional way of checking for null values against the more succinct preview feature announced this week.</p><p>Using the new parameter operator will generate code to perform the null check, <a href="https://devblogs.microsoft.com/dotnet/early-peek-at-csharp-11-features">said</a> Kathleen Dollard, principal program manager at .NET, and the generated null check will execute before any code in the method body. For constructors, the check performs before the field initialisation, calls to base constructors, and calls to these constructors.</p><p>There are a number of restrictions regarding where the syntax can be used in code, interested developers should consult the full <a href="https://github.com/dotnet/csharplang/blob/main/proposals/param-nullchecking.md">release notes</a> for more information.</p><p>One individual commenting on <a href="http://devblogs.microsoft.com/dotnet/early-peek-at-csharp-11-features">Microsoft's blog post</a> announcing the proposed change said the “syntax is ugly as hell. It adds noise to the code”.</p><p>It was one of many comments voicing mixed feelings towards the new syntax. Others criticised the new feature for making the <a href="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses" data-original-url="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses">code</a> easier to write, but more difficult to read.</p><p>There were also suggestions that the existing notnull keyword could be used in place of the !! syntax and enhance compatibility with Nullable Reference Types – a group of features introduced in C# version 8.0 to reduce the likelihood that executed code throws an error.</p><p>Replying to commenters, Dollard said: “We’d love any feedback with alternate syntax suggestions”.</p><iframe allow="encrypted-media" frameborder="0" height="" width="100%" data-lazy-priority="low" data-lazy-src="https://open.spotify.com/embed-podcast/episode/63BVgzWgs8xyaI0GZbeceH"></iframe><p>Among the other new features is an improvement to string interpolation. Both verbatim and non-verbatim string interpolation styles remain unchanged in their core behaviour, but newlines will now be allowed in the holes of interpolated strings.</p><p>“Previously, these restrictions extended to the holes of non-verbatim interpolated strings,” said Dollard. “Holes is a shorthand way of saying interpolation expressions and are the portions inside the curly braces that supply runtime values. The holes themselves are not text, and shouldn’t be held to the escaping/newline rules of the interpolated string text segments.”</p><p>The last of the new features is List Patterns, which allow <a href="https://www.itpro.com/business-strategy/careers-training/358051/software-developers-versus-software-engineers" data-original-url="https://www.itpro.com/business-strategy/careers-training/358051/software-developers-versus-software-engineers">developers</a> to match elements against lists and arrays. Developers can also optionally include a slice pattern that matches zero or more elements.</p><p>For example, a pattern such as [1, 2, .., 10] will match any array of integers that contains both a 1 and a 2 at the start of the array and finishes with a 10. These arrays could have any number of additional integers in between those set conditions and still match the pattern.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Flutter announces new stable build for Windows development ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/software-development/362159/google-flutter-support-windows-apps</link>
                                                                            <description>
                            <![CDATA[ Google has worked with Microsoft to target Windows as the first stable desktop-specific release of the cross-platform development framework ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cAR59KPeYgUbApcXUXEqRH</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/MFpjqdSZhjvUZNWyeo52x6-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 04 Feb 2022 10:28:20 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Google]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Connor Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LPjgE2kGKixS9aF7Jdp2mT.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/MFpjqdSZhjvUZNWyeo52x6-1280-80.jpg">
                                                            <media:credit><![CDATA[Google]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Flutter for Windows mockup image by Google]]></media:description>                                                            <media:text><![CDATA[Flutter for Windows mockup image by Google]]></media:text>
                                <media:title type="plain"><![CDATA[Flutter for Windows mockup image by Google]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/MFpjqdSZhjvUZNWyeo52x6-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The team working on the Flutter development framework have launched Flutter for Windows, marking the first stable release on a desktop platform.</p><p>The first Windows-specific stable build of the Google-created Flutter framework will allow <a href="https://www.itpro.com/software/development/356827/how-to-become-a-developer-a-beginners-guide" data-original-url="https://www.itpro.com/software/development/356827/how-to-become-a-developer-a-beginners-guide">developers</a> to build Windows-first applications using the cross-platform development toolkit. The framework also functions on other platforms like <a href="https://www.itpro.com/security/privacy/362151/meta-says-apples-ios-privacy-changes-will-cost-it-10-billion-in-2022" data-original-url="https://www.itpro.com/security/privacy/362151/meta-says-apples-ios-privacy-changes-will-cost-it-10-billion-in-2022">iOS</a>, <a href="https://www.itpro.com/android/28189/how-to-build-android-apps" data-original-url="https://www.itpro.com/android/28189/how-to-build-android-apps">Android</a>, macOS and Linux, though these have yet to receive stable Flutter builds.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="/careers/29133/the-top-programming-languages-you-need-to-learn">The top programming languages you need to learn for 2022</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/358051/software-developers-versus-software-engineers" data-original-url="/business-strategy/careers-training/358051/software-developers-versus-software-engineers">Software developers vs software engineers</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/software/development/356827/how-to-become-a-developer-a-beginners-guide" data-original-url="/software/development/356827/how-to-become-a-developer-a-beginners-guide">How to become a developer: A beginner’s guide</a></p></div></div><p>Flutter is a relatively new cross-platform framework that builds on the Dart <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" target="_blank" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming language</a>, allowing developers to build apps for mobile and desktop all with a single codebase. It has been used by the likes of BMW, ByteDance, and Betterment, plus 30 teams from inside Google to make business-ready apps since its first launch in 2017.</p><p>Developers can use every part of the Flutter framework to build Windows-first apps, and it can also talk to the Win32, COM, and Windows Runtime APIs either directly through Dart’s C interop layer, or using a platform plugin written in <a href="https://www.itpro.com/development/software-development/361654/best-c-courses-to-kickstart-your-career" data-original-url="https://www.itpro.com/development/software-development/361654/best-c-courses-to-kickstart-your-career">C++</a>.</p><p>As well as Google adding Windows support to some of the most popular Flutter packages, and the community adapting a wider selection of packages for Windows too, there are a number of packages available to developers to develop a fully tailored UI for <a href="https://www.itpro.com/operating-systems/25802/17-windows-10-problems-and-how-to-fix-them" data-original-url="https://www.itpro.com/operating-systems/25802/17-windows-10-problems-and-how-to-fix-them">Windows</a> apps that express the Microsoft Fluent design system.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="high" data-lazy-src="https://www.youtube-nocookie.com/embed/g-0B_Vfc9qM&feature=share&ab_channel=Flutter" allowfullscreen></iframe></div></div><p>"We’re delighted to see Flutter adding support for creating Windows apps," said Kevin Gallo, corporate vice president for Windows Developer Platform at Microsoft.</p><p>"Windows is an open platform, and we welcome all developers. We’re excited to see Flutter developers bring their experiences to Windows and also publish to the Microsoft Store. Flutter support for Windows is a big step for the community, and we can’t wait to see what you’ll bring to Windows."</p><p>Flutter 2.10 includes additional features, performance improvements, and bug fixes, <a href="https://medium.com/flutter/announcing-flutter-for-windows-6979d0d01fed">said</a> Tim Sneath, product manager for Flutter and Dart at Google.</p><p>"In the coming months, you’ll hear more from us on completing stable support for macOS and Linux, making the full set of desktop, web, and mobile platforms available for your production Flutter apps," he added.</p><p>The majority of developers have welcomed the update with a positive reception, with specific attention being placed on the applications that have already been updated to harness the new Windows-first features. </p><figure class="van-image-figure pull-" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bW785frhwqJJtHaoQBA2cc" name="" alt="Screenshot of Rive app built using Flutter for Windows" src="https://cdn.mos.cms.futurecdn.net/bW785frhwqJJtHaoQBA2cc.jpg" mos="https://cdn.mos.cms.futurecdn.net/bW785frhwqJJtHaoQBA2cc.jpg" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pull-"></p></div></div><figcaption itemprop="caption description" class="pull-"><span class="credit" itemprop="copyrightHolder">(Image credit: Screenshot of Rive app built using Flutter for Windows)</span></figcaption></figure><p>Flutter said it's "very exciting" to see its maturing ecosystem of apps take shape, such as the <a href="https://rive.app">Rive</a> graphics tooling suite (pictured above), Nevercode's <a href="https://flutterci.com">Codemagic CI/CD tool</a>, and Flutter's own low-code Flutter app design tool, <a href="https://flutterflow.io">FlutterFlow</a>, in addition to a number of other projects too.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TpQGJuV8JLJg48R7p8QdfN" name="TpQGJuV8JLJg48R7p8QdfN.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TpQGJuV8JLJg48R7p8QdfN.jpg" mos="https://cdn.mos.cms.futurecdn.net/TpQGJuV8JLJg48R7p8QdfN.jpg" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>The top three IT pains of the new reality and how to solve them</strong></p><p class="fancy-box__body-text">Driving more resiliency with unified operations and service management</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/it-infrastructure/360224/the-top-three-it-pains-of-the-new-reality-and-how-to" data-original-url="/business-strategy/it-infrastructure/360224/the-top-three-it-pains-of-the-new-reality-and-how-to">FREE DOWNLOAD</a></p></div></div><p>Flutter is still in its infancy as a development framework and while developers are excited for the latest update, there are still some bugbears held by the community, such as lacking support for <a href="https://www.itpro.com/software/business-apps/361278/build-mobile-and-web-apps-faster" data-original-url="https://www.itpro.com/software/business-apps/361278/build-mobile-and-web-apps-faster">web-based apps</a>. </p><p>Flutter launched a 'stable' version for web apps in August 2021 that aimed to allow the seamless transformation of code designed for mobile apps to the web, but developers still <a href="https://www.reddit.com/r/FlutterDev/comments/sjpwwh/comment/hvi60rf/?utm_source=reddit&utm_medium=web2x&context=3">criticise</a> Google for not fixing the numerous bugs still affecting that arm of the framework.</p><p>Flutter is also not yet highly regarded in the professional space - it didn't make the top 50 in the <a href="https://www.tiobe.com/tiobe-index">TIOBE index</a>, a monthly ranking of the most in-demand development languages, though Dart - the language that underpins Flutter - is ranked at 37.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Python developers release three "cursed" updates ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/software-development/362001/python-developers-launch-three-cursed-new-versions</link>
                                                                            <description>
                            <![CDATA[ Exciting developments in the next Python version are being observed while a score of bug fixes reach the most widely used Python builds ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">bYpavC5tj9n4ssd7jcHzi2</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TevcTWBs4w9qSeAJyRw2RA-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 18 Jan 2022 11:42:05 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Connor Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LPjgE2kGKixS9aF7Jdp2mT.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/TevcTWBs4w9qSeAJyRw2RA-1280-80.jpg">
                                                            <media:credit><![CDATA[Bigstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A screen showing code written in Python, with purple light reflecting off the surface]]></media:description>                                                            <media:text><![CDATA[A screen showing code written in Python, with purple light reflecting off the surface]]></media:text>
                                <media:title type="plain"><![CDATA[A screen showing code written in Python, with purple light reflecting off the surface]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TevcTWBs4w9qSeAJyRw2RA-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The core Python developers have launched three new "cursed" releases of the Python <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming languages</a> today, each of which causing headaches.</p><p>The developers were forced to release the new versions without Windows installers - a less than ideal circumstance but the launch was necessary due to a memory leak bug in the previous version which impacted certain apps.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer" data-original-url="/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">How to become a Python developer</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/development/programming/361267/11-best-python-courses" data-original-url="/development/programming/361267/11-best-python-courses">11 best python courses</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="/careers/29133/the-top-programming-languages-you-need-to-learn">The top programming languages you need to learn for 2022</a></p></div></div><p>The developers were unable to issue the new releases with Windows installers due to unexpected complexities regarding the Windows certificate renewal. Two lead developers are working hard to resolve the issue and Windows installers are expected to added by the end of this week.</p><p>"The releases you’re looking at were all cursed in some way," <a href="https://discuss.python.org/t/python-3-10-2-3-9-10-and-3-11-0a4-are-now-available/13146">said</a> Łukasz Langa, CPython core developer. "What a way to start 2022! Besides the certificate hold up, Python 3.10.2 is an expedited release, Python 3.11.0a4 had almost 20 release blockers before being finally green, and Python 3.9.10 was made from a new M1 Mac on <a href="https://www.itpro.com/software/operating-systems/361421/macos-monterey-bricking-macs" data-original-url="https://www.itpro.com/software/operating-systems/361421/macos-monterey-bricking-macs">macOS Monterey</a> which made the usually boring process quite a ride. We’re hoping 2022 won’t be this intense all year!"</p><h3 class="article-body__section" id="section-python-3-10-2"><span>Python 3.10.2</span></h3><p>The latest release for the up-to-date main <a href="https://www.itpro.com/development/programming/361267/11-best-python-courses" data-original-url="https://www.itpro.com/development/programming/361267/11-best-python-courses">Python</a> build is a special bug-fixing edition which has been released ahead of <a href="https://www.python.org/dev/peps/pep-0664">schedule</a> to address a <a href="https://bugs.python.org/issue46347">memory leak bug</a>. The issue was affecting apps using certain function calls when using Cython - a superset of the python language that compiles code into C, offering performance boosts.</p><p>"The memory leak consisted of a small constant amount of bytes in certain function calls from Cython code," said Langa. "Although in most cases this was not very noticeable, it was very impactful for long-running applications and certain usage patterns."</p><p>The release also addresses more than 100 other bugs which are now fixed and developers are highly encouraging the community to upgrade to Python 3.10.2 as soon as possible.</p><h3 class="article-body__section" id="section-python-3-9-10"><span>Python 3.9.10</span></h3><p>Python 3.9 is the most recent legacy Python series and the update marks its ninth maintenance release. Python 3.9 will receive three more bug-fixing <a href="https://www.python.org/dev/peps/pep-0596">updates</a> before users are expected to migrate projects to the latest 3.10 build, but will receive security updates until 2025. The final bug-fixing update is expected to land in May 2022 and the next one is scheduled for Pi Day, 14 March 2022.</p><p>With the latest 3.9.10 release, the developers have made <a href="https://docs.python.org/release/3.9.10/whatsnew/changelog.html">130 changes</a> since 3.9.9 which represents a higher number of fixes made to the build in this stage of its development cycle compared to Python 3.8.</p><p>The developers served a reminder for macOS users that the default installer is now the new universal2 variant. It's compatible with Mac OS X 10.9 and newer, and will work natively with <a href="https://www.itpro.com/hardware/361904/intel-claims-12th-gen-i9-cpu-outperforms-apples-m1-max" data-original-url="https://www.itpro.com/hardware/361904/intel-claims-12th-gen-i9-cpu-outperforms-apples-m1-max">Apple Silicon</a> machines.</p><h3 class="article-body__section" id="section-python-3-11-0a4"><span>Python 3.11.0a4</span></h3><p>The next generation of Python 3 is still in alpha development with 3.11.0a4 representing the fourth of seven planned alpha releases before it succeeds Python 3.10 as the main build in October 2022.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oMkurt6uLjEqZhbFrQbgnP" name="oMkurt6uLjEqZhbFrQbgnP.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/oMkurt6uLjEqZhbFrQbgnP.jpg" mos="https://cdn.mos.cms.futurecdn.net/oMkurt6uLjEqZhbFrQbgnP.jpg" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Automating the modern data warehouse</strong></p><p class="fancy-box__body-text">Freedom from constraints on your data</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/data-insights/databases/361794/automating-the-modern-data-warehouse" data-original-url="/data-insights/databases/361794/automating-the-modern-data-warehouse">FREE DOWNLOAD</a></p></div></div><p>"Alpha releases are intended to make it easier to test the current state of new features and bug fixes by the community, as well as to test the release process," said Langa. "During the alpha phase, features may be added up until the start of the beta phase (2022-05-06) and, if necessary, may be modified or deleted up until the release candidate phase (2022-08-01). Please keep in mind that this is a preview release and its use is not recommended for production environments."</p><p>Features for Python 3.11 are still being planned and written, but among the most exciting for developers will be the implementation of the Faster CPython Project. The project aims to find performance improvements in the speed of executing Python code without breaking the C API.</p><p>Python creator Guido van Rossum <a href="https://pyfound.blogspot.com/2021/05/the-2021-python-language-summit-making.html">said at the 2021 Python Language Summit</a> that he and a small team, funded by Microsoft, were working on making performance improvements to the language. At the time, van Rossum said improvements were possible but the degree to which speeds could be improved was unknown.</p><p>The latest alpha build of Python 3.11 has shown around 19% faster performance compared to Python 3.10 on the geometric mean of the PyPerformance benchmarks, Langa said.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Ransomware is being rewritten in Go for joint attacks on Windows, Linux users ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/security/ransomware/361965/ransomware-rewritten-golang-to-target-windows-linux-users</link>
                                                                            <description>
                            <![CDATA[ The Google-created programming language has become increasingly popular in the malware community for its speed and effectiveness in targeting more users with the same code base ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">acPzqBLm5W6onEobRcY9iB</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/CrPVrKfi3P9ktgSQWRCidE-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Thu, 13 Jan 2022 11:59:47 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Ransomware]]></category>
                                                    <category><![CDATA[Security]]></category>
                                                                                                                    <dc:creator><![CDATA[ Connor Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LPjgE2kGKixS9aF7Jdp2mT.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/CrPVrKfi3P9ktgSQWRCidE-1280-80.png">
                                                            <media:credit><![CDATA[Crowdstrike]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The outline of a skull displayed in computer code to represent malware]]></media:description>                                                            <media:text><![CDATA[The outline of a skull displayed in computer code to represent malware]]></media:text>
                                <media:title type="plain"><![CDATA[The outline of a skull displayed in computer code to represent malware]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/CrPVrKfi3P9ktgSQWRCidE-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Cyber security researchers have discovered evidence of a years-old ransomware strain returning after being rewritten in Golang - a cross-platform <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming language</a> capable of reaching a higher number of users across different operating systems.</p><p>The TellYouThePass <a href="https://www.itpro.com/security/ransomware/361250/how-not-to-get-hit-by-ransomware-in-2022" data-original-url="https://www.itpro.com/security/ransomware/361250/how-not-to-get-hit-by-ransomware-in-2022">ransomware</a> was first discovered in 2019, however <a href="http://www.crowdstrike.com/blog/tellyouthepass-ransomware-analysis-reveals-modern-reinterpretation-using-golang">researchers at Crowdstrike</a> have now spotted a new strain being used as a second-stage attack following a successful exploit of the <a href="https://www.itpro.com/security/zero-day-exploit/361819/what-is-log4shell-log4j-vulnerability" data-original-url="https://www.itpro.com/security/zero-day-exploit/361819/what-is-log4shell-log4j-vulnerability">Log4Shell</a> vulnerability revealed in December 2021.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/security/ransomware/361250/how-not-to-get-hit-by-ransomware-in-2022" data-original-url="/security/ransomware/361250/how-not-to-get-hit-by-ransomware-in-2022">How not to get hit by ransomware in 2022</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="/careers/29133/the-top-programming-languages-you-need-to-learn">The top programming languages you need to learn for 2022</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/security/hacking/357971/how-do-hackers-choose-their-targets" data-original-url="/security/hacking/357971/how-do-hackers-choose-their-targets">How do hackers choose their targets?</a></p></div></div><p>The Java and .NET languages were used to create TellYouThePass before it emerged into circulation three years ago, but the pivot to Golang, often referred to as 'Go', has enabled attackers to target users across <a href="https://www.itpro.com/software/microsoft/windows" data-original-url="https://www.itpro.com/search/windows">Windows</a> and <a href="https://www.itpro.com/software/linux" data-original-url="https://www.itpro.com/search/linux">Linux</a> with minimal changes to the malware's code.</p><p>Once encrypted, victims are greeted with a demand of 0.05 Bitcoin (£31,960) in return for a decryption tool to recover all their files.</p><figure class="van-image-figure pull-" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Za5HnzZzW3AdbbbQcLey39" name="" alt="Ransom note left to victims" src="https://cdn.mos.cms.futurecdn.net/Za5HnzZzW3AdbbbQcLey39.jpg" mos="https://cdn.mos.cms.futurecdn.net/Za5HnzZzW3AdbbbQcLey39.jpg" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pull-"></p></div></div><figcaption itemprop="caption description" class="pull-"><span class="credit" itemprop="copyrightHolder">(Image credit: Crowdstrike)</span></figcaption></figure><p><strong><em>The ransom note displayed to victims</em></strong></p><p>When examining code from <a href="https://www.itpro.com/malware/28076/what-is-malware" data-original-url="https://www.itpro.com/malware/28076/what-is-malware">malware</a> targeting <a href="https://www.itpro.com/operating-systems/microsoft-windows/361465/windows-11-problems-and-how-to-fix-them" data-original-url="https://www.itpro.com/operating-systems/microsoft-windows/361465/windows-11-problems-and-how-to-fix-them">Windows</a> and Linux machines, more than 85% of the code was near identical across the operating systems. This means Golang eliminates much of the leg work typically required to re-write malware for different operating systems, according to the researchers.</p><p>This interoperability has resulted in a steady growth in the <a href="https://www.crowdstrike.com/blog/financial-motivation-drives-golang-malware-adoption">popularity of Golang among malware authors</a> over the past few years, according to Crowdstrike.</p><p>Researchers noted that <a href="https://www.itpro.com/security/hacking/357971/how-do-hackers-choose-their-targets" data-original-url="https://www.itpro.com/security/hacking/357971/how-do-hackers-choose-their-targets">hackers</a> who have re-written TellYouThePass in Golang have done so using a number of obfuscation techniques to make analysis of its code more difficult for researchers.</p><p>The binary of the malware is patched in the new version of TellYouThePass to make it difficult to use string-based signatures to detect that the malware is even written in Golang at all.</p><p>Hackers have also taken to randomising the names of the malware's functions, leaving just the main function easily identifiable - another tactic used to impede technical analysis of the ransomware.</p><figure class="van-image-figure pull-" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="a29jG8BPJxyQra9rA56JvG" name="" alt="Screenshot showing the researcher's analysis of code samples showing how function names are randomised" src="https://cdn.mos.cms.futurecdn.net/a29jG8BPJxyQra9rA56JvG.jpg" mos="https://cdn.mos.cms.futurecdn.net/a29jG8BPJxyQra9rA56JvG.jpg" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pull-"></p></div></div><figcaption itemprop="caption description" class="pull-"><span class="credit" itemprop="copyrightHolder">(Image credit: Crowdstrike)</span></figcaption></figure><p><strong><em>Analysis of TellYouThePass shows how function names are randomised</em></strong></p><p>Before initiating the <a href="https://www.itpro.com/security/innovation-at-work/24460/what-is-data-encryption" data-original-url="https://www.itpro.com/security/innovation-at-work/24460/what-is-data-encryption">encryption</a> routine, TellYouThePass attempts to kill certain tasks and processes, but on Linux this requires root privilege in order to perform that process. Such tasks include email clients, database applications, web servers, and document editors.</p><h3 class="article-body__section" id="section-what-is-golang"><span>What is Golang?</span></h3><p>Golang, or 'Go', is a versatile, cross-platform <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming language</a> created by Google in 2007 and is among the most in-demand languages currently in use by the IT community, <a href="https://bootcamp.berkeley.edu/blog/most-in-demand-programming-languages">according to the University of California, Berkeley</a>.</p><p>Crowdstrike noted in a November 2021 <a href="https://www.crowdstrike.com/blog/financial-motivation-drives-golang-malware-adoption">report</a> that it noticed a steep rise in uptake from the cyber crime community in 2021 with an 80% increase in use between June and August 2021.</p><p>The cyber security firm said cryptocurrency miners are the most popular form of malware using Golang with miners accounting for 70% of all Golang-written malware as of August 2021. As evidenced with TellYouThePass, ransomware is also seeing Golang uptake, as well as password-stealing trojans and downloaders, Crowdstrike said.</p><p>Among the other strains of ransomware written in Golang, the likes of <a href="https://www.itpro.com/security/ransomware/360095/babuk-ransomware-returns-to-target-corporate-networks" data-original-url="https://www.itpro.com/security/ransomware/360095/babuk-ransomware-returns-to-target-corporate-networks">Babuk</a> and <a href="https://www.itpro.com/security/ransomware/358572/cd-projekt-hack-hellokitty-ransomware-group" data-original-url="https://www.itpro.com/security/ransomware/358572/cd-projekt-hack-hellokitty-ransomware-group">HelloKitty</a> - the ransomware that targeted CD Projekt in 2021 - are the most prominent, according to cyber security firm Morphisec.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/Zeo5SvW2Tls" allowfullscreen></iframe></div></div><p>"Golang’s versatility has turned it into a one-stop shop for financially motivated eCrime developers," <a href="http://blog.morphisec.com/decaf-ransomware-a-new-golang-threat-makes-its-appearance">the company said in a blog post</a>. "Instead of rewriting malware for Windows, macOS and Linux, eCriminals can use Golang to cross-compile the same codebase with ease, allowing them to target multiple platforms effortlessly."</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wqVfoTN8Euzuya6uVxfxRM" name="wqVfoTN8Euzuya6uVxfxRM.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/wqVfoTN8Euzuya6uVxfxRM.jpg" mos="https://cdn.mos.cms.futurecdn.net/wqVfoTN8Euzuya6uVxfxRM.jpg" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Container network security guide for dummies</strong></p><p class="fancy-box__body-text">Enforcing Kubernetes best practices</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/development/containers/361744/container-network-security-guide" data-original-url="/development/containers/361744/container-network-security-guide">FREE DOWNLOAD</a></p></div></div><p>Despite having the ability to target users on a cross-platform basis, Crowdstrike said the vast majority (91%) of malware written in Golang targets Windows users - due to it market share, 8% is targeting users on macOS and just 1% of malware seeks to infect Linux machines.</p><p>Pivoting to Golang is also an attractive proposition given that it performs around 40 times faster than optimised Python code. Golang can run more functions than C++, for example, which makes for a more effective product that can be more difficult to analyse.</p><p>"Portability in malware means the expansion of the addressable market, in other words who might become a source of money," said Andy Norton, European cyber risk officer at Armis, speaking to <em>IT Pro</em>. "This isn’t the first time we've seen a shift towards more portable Malware; a few years ago we saw a change towards Java-based remote access trojans away from .exe Windows-centric payloads.</p><p>"The ability for security controls to inspect payloads is also another factor threat actors take into account, and drove the prevalence of file-less attacks up in recent years. The scrutiny and patching of Java currently on the back of Log4j vulnerabilities may be reducing Java's attractiveness as a threat vector and driving change in the criminal groups."</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The best C++ courses to kickstart your software development career ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/software-development/361654/best-c-courses-to-kickstart-your-career</link>
                                                                            <description>
                            <![CDATA[ Some of the best C++ courses available today for landing a new job, from entry level courses to full certificates ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">j7FFZiDvXT5VKFPrsUXwrm</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/iFouBvwU5xC8W8eY5W4wbe-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 26 Nov 2021 12:00:09 +0000</pubDate>                                                                                                                                <updated>Mon, 23 Oct 2023 09:07:16 +0000</updated>
                                                                                                                                            <category><![CDATA[Careers and Training]]></category>
                                                    <category><![CDATA[Business]]></category>
                                                                                                                    <dc:creator><![CDATA[ Keri Allan ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oJZkdPii464j27ff4GCcoT.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                        <dc:contributor><![CDATA[ Rene Millman ]]></dc:contributor>
                                                                    <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/iFouBvwU5xC8W8eY5W4wbe-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A woman stood in front of a large projector screen with lines of colourful code displayed]]></media:description>                                                            <media:text><![CDATA[A woman stood in front of a large projector screen with lines of colourful code displayed]]></media:text>
                                <media:title type="plain"><![CDATA[A woman stood in front of a large projector screen with lines of colourful code displayed]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/iFouBvwU5xC8W8eY5W4wbe-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Our list of the best C++ courses aims to provide an overview of what&apos;s available on the market today. Leaners will be in different stages of development, and so we&apos;ve tried to cater for a variety of experiences.</p><div  class="fancy-box"><div class="fancy_box-title">More on skill development</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3Qooqqh4XtPooSx5PnAVhX" name="merged_snake_python_code_GettyImages.png" caption="" alt="A close up photo of a green python snake next to a string of python code on a black monitor" src="https://cdn.mos.cms.futurecdn.net/3Qooqqh4XtPooSx5PnAVhX.png" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/technology/machine-learning/360703/11-best-machine-learning-courses">The 11 best machine learning courses for 2023</a></p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/data-insights/big-data/361469/15-best-google-analytics-courses">The best Google Analytics courses and certificates for 2023</a></p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/development/programming/361267/11-best-python-courses">The best online Python courses 2023</a></p></div></div><p>An extension of the C language, C++ is a popular <a href="https://www.itpro.com/programming-languages/30204/what-is-object-oriented-programming">object-oriented programming</a> language that&apos;s used across operating systems and web browsers, as well as in language compilers and interpreters, gaming engines and apps, graphics, banking applications, and much more.</p><p>According to <a href="https://www.statista.com/statistics/793628/worldwide-developer-survey-most-used-languages/"><u>Statista</u></a>, C++ is in the top ten most used <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming languages</a> globally and it’s unlikely to disapear anytime soon. With this in mind, learning C++ is a fantastic place to begin if you want to <a href="https://www.itpro.com/business-strategy/careers-training/356515/how-to-become-a-computer-programmer-without-a-degree">establish a career in programming</a>.</p><p>To help you get started, we’ve assembled a list of the best C++ courses available, for absolute beginners through to the more advanced.</p><p>Our list of the best C++ courses has been populated based on a combination of factors, including community reviews, the convenience of each course, and whether they cater for absolute beginners or a current professional looking to up-skill or retrain. Our goal is to provide a broad range of options to give you a good sense the market today.</p><h2 id="the-best-c-courses">The best C++ courses</h2><h3 class="article-body__section" id="section-beginning-c-programming-from-beginner-to-beyond"><span>Beginning C++ Programming - From Beginner to Beyond</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2422px;"><p class="vanilla-image-block" style="padding-top:44.01%;"><img id="wqmYoWySNecaiozhxxygtV" name="Screenshot 2023-10-19 at 11.51.53.png" alt="A screenshot of the Udemy website advertising the "Beginning C++ Programming - From Beginner to Beyond" course" src="https://cdn.mos.cms.futurecdn.net/wqmYoWySNecaiozhxxygtV.png" mos="" align="middle" fullscreen="" width="2422" height="1066" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Udemy)</span></figcaption></figure><p><strong>Provider:</strong> Tim Buchalka, et al (via Udemy)</p><p><strong>Price: </strong>$119.99 (£59.99)</p><p><strong>Course link: </strong><a href="https://www.udemy.com/course/beginning-c-plus-plus-programming/" target="_blank">Beginning C++ Programming - From Beginner to Beyond</a></p><p><strong>Course length:</strong> Over 46 hours</p><p>In this course, you’ll learn modern C++ through 46 hours of video content and 75 downloadable resources, plus quizzes, coding exercises and assignments.</p><p>You’ll be taught C++ features from the basics to more advanced inheritance and polymorphic functions, as well as key concepts of programming that apply to other languages.</p><p>You’ll also learn about using C++ lambda expressions and how to use Visual Studio Code with C++ – a recent addition to the course.</p><h3 class="article-body__section" id="section-learn-c-from-scratch"><span>Learn C++ from Scratch</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2598px;"><p class="vanilla-image-block" style="padding-top:43.96%;"><img id="zTeBg4C3bWrLARzdfQHBL4" name="Screenshot 2023-10-19 at 11.54.34.png" alt="A screenshot of the Educative website showing an advert for the "Learn C++ from Scratch" course" src="https://cdn.mos.cms.futurecdn.net/zTeBg4C3bWrLARzdfQHBL4.png" mos="" align="middle" fullscreen="" width="2598" height="1142" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Educative)</span></figcaption></figure><p><strong>Provider:</strong> Educative</p><p><strong>Price:</strong> Free</p><p><strong>Course link: </strong><a href="https://www.educative.io/courses/learn-cpp-from-scratch" target="_blank">Learn C++ from Scratch</a></p><p><strong>Course length:</strong> Ten hours</p><p>This free interactive course is broken up into nine sections, starting with a simple ‘hello world’ program. It then moves on to cover core concepts such as conditional statements, loops, and functions in C++, plus advanced topics like inheritance, classes, and templates.</p><p>You’ll learn through quizzes and challenges, and three ‘exams’ assess your competence. By the time you&apos;re done, Educative states you&apos;ll be an intermediate level C++ developer.</p><h3 class="article-body__section" id="section-c-programming-essential-techniques-and-best-practices-for-developers"><span>C++ Programming: Essential Techniques and Best Practices for Developers</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2688px;"><p class="vanilla-image-block" style="padding-top:54.32%;"><img id="JTUsL8r2kvNFWQSq3JZn6" name="Screenshot 2023-10-19 at 12.01.33.png" alt="A screenshot of the LinkedIn Learning website showing the "C++ Programming: Essential Techniques and Best Practices for Developers" course" src="https://cdn.mos.cms.futurecdn.net/JTUsL8r2kvNFWQSq3JZn6.png" mos="" align="middle" fullscreen="" width="2688" height="1460" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: LinkedIn Learning)</span></figcaption></figure><p><strong>Provider:</strong> Bill Weinman (via LinkedIn Learning)</p><p><strong>Price:</strong> £25</p><p><strong>Course link:</strong> <a href="https://www.linkedin.com/learning/c-plus-plus-programming-essential-techniques-and-best-practices-for-developers" target="_blank">C++ Programming: Essential Techniques and Best Practices for Developers</a></p><p><strong>Course length: </strong>Four hours</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DCgAA5G8PKh9yVUc7Rr2G4" name="Learn in VR_The Beginners Guide_listing.jpg" caption="" alt="A whitepaper from Meta discussing seven training challenges VR can help you solve" src="https://cdn.mos.cms.futurecdn.net/DCgAA5G8PKh9yVUc7Rr2G4.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Meta)</span></figcaption></figure><p class="fancy-box__body-text">Discover how VR can support you through your learning & development journey<br><br><a data-analytics-id="inline-link" href="https://www.itpro.com/cloud/virtualisation/learn-in-vr-the-beginners-guide">DOWNLOAD NOW</a></p></div></div><p>This course covers the history of C++ and modern C++, explaining the C++ toolchain before diving into topics like syntax, statements and expressions, identifiers, variables, pointers, and references.</p><p>Areas of focus include flow control conditionals, loops, data types, operators, and functions, as well as classes and objects. You’ll also learn how to use templates, including STL.</p><p>This is a great course for both beginners and advanced users, covering a solid range of topics in impressive detail.</p><h3 class="article-body__section" id="section-unreal-engine-c-developer-learn-c-and-make-video-games"><span>Unreal Engine C++ Developer: Learn C++ and Make Video Games</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2444px;"><p class="vanilla-image-block" style="padding-top:43.86%;"><img id="8cVpxpGAPU9rAN7eykjBNh" name="Screenshot 2023-10-19 at 12.07.57.png" alt="A screenshot of the Udemy website showing the landing page for "Unreal Engine 5 C++ Developer: Learn C++ & Make Video Games"" src="https://cdn.mos.cms.futurecdn.net/8cVpxpGAPU9rAN7eykjBNh.png" mos="" align="middle" fullscreen="" width="2444" height="1072" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Udemy)</span></figcaption></figure><p><strong>Provider:</strong> Ben Tristem, GameDev.tv Team (via Udemy)</p><p><strong>Price: </strong>$139.99<strong> </strong>(£59.99)</p><p><strong>Course link:</strong> <a href="https://www.udemy.com/course/unrealcourse/">Unreal Engine 5 C++ Developer: Learn C++ & Make Video Games</a></p><p><strong>Course length:</strong> 39.5 hours</p><p>Love games and fancy having a go at creating your own? Well, Udemy has you covered. This course teaches you the game design principles you need to create and mod video games using Unreal Engine 5 – even if you&apos;re a complete beginner.</p><p>You’ll be taught C++ through project-based learning, creating different kinds of games including ‘Toon Tanks’ and a simple first-person shooter (FPS).</p><p>By the end of the course, you&apos;ll be very confident in the basics of coding and game development, and hungry to learn more. If you&apos;re a complete beginner, this will teach you all the coding and game design principles you&apos;ll need.</p><h3 class="article-body__section" id="section-c-for-c-programmers-part-a"><span>C++ For C Programmers, Part A</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1964px;"><p class="vanilla-image-block" style="padding-top:56.01%;"><img id="tVnfrEZJC7XfhYZsu3GFuN" name="Screenshot 2023-10-19 at 12.12.18.png" alt="A screenshot of the Coursera website showing the signup page for the "C++ For C Programmers, Part A" course" src="https://cdn.mos.cms.futurecdn.net/tVnfrEZJC7XfhYZsu3GFuN.png" mos="" align="middle" fullscreen="" width="1964" height="1100" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Coursera)</span></figcaption></figure><p><strong>Provider:</strong> Ira Pohl, UC Santa Cruz (via Coursera)</p><p><strong>Price: </strong>$49 (£38)</p><p><strong>Course link:</strong> <a href="https://www.coursera.org/learn/c-plus-plus-a" target="_blank">C++ For C Programmers, Part A</a></p><p><strong>Course length:</strong> 13 hours</p><p>This course is designed for experienced C programmers who want to learn how to program in C++, and so the examples and exercises require a basic understanding of algorithms and object-oriented software.</p><p>Through the five modules – two in C, two in C++, and then a final exam – you’ll learn how to convert programs, apply the principles of Dijkstra’s shortest path algorithm and use basic container classes.</p><p>Developed by the University of California, Santa Cruz, this is part of a larger Coding for Everyone: C and C++ Specialization course.</p><h3 class="article-body__section" id="section-ibm-data-structures-algorithms-using-c"><span>IBM: Data Structures & Algorithms Using C++</span></h3><p><strong>Provider:</strong> Josephine Simi N.A., et al (via edX)</p><p><strong>Price:</strong> Free - optional paid upgrade available</p><p><strong>Course link:</strong> <a href="https://www.edx.org/learn/data-structures/ibm-data-structures-algorithms-using-c?index=product&queryID=a4cf4cbac90e2a3c4933c6509efb30c0&position=1&results_level=first-level-results&term=IBM%3A+Data+Structures+%26+Algorithms+Using+C%2B%2B&objectID=course-c50fcb0f-b0c2-4feb-b467-facb248ea3da&campaign=Data+Structures+%26+Algorithms+Using++C%2B%2B&source=edX&product_category=course&placement_url=https%3A%2F%2Fwww.edx.org%2Fsearch" target="_blank">IBM: Data Structures & Algorithms Using C++</a></p><p><strong>Course length:</strong> Eight weeks</p><p>This intermediate level course, taught by professionals from IBM, discusses the characteristics of commonly used data structures and algorithms and how to implement them in order to conduct efficiency analyses in C++ from scratch.</p><p>Amongst other things, you’ll gain experience with various algorithms required to build efficient programs, and learn how to measure the efficiency of the program you’ve written.</p><h3 class="article-body__section" id="section-google-s-c-class"><span>Google's C++ Class</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2572px;"><p class="vanilla-image-block" style="padding-top:49.53%;"><img id="ksuJ3x67z3sK9Bpefz74ET" name="Screenshot 2023-10-19 at 12.26.55.png" alt="A screenshot from the Google for Education website showing the landing page for Google's C++ Class" src="https://cdn.mos.cms.futurecdn.net/ksuJ3x67z3sK9Bpefz74ET.png" mos="" align="middle" fullscreen="" width="2572" height="1274" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p><strong>Provider:</strong> Google</p><p><strong>Price:</strong> Free</p><p><strong>Course link:</strong> <a href="https://developers.google.com/edu/c++" target="_blank">Google&apos;s C++ Class</a></p><p><strong>Course length:</strong> Self-paced</p><p>One of the best ways to learn how to program in a new language is by examining lots of example programs. Google’s informal class does just that – it gets straight to the point, teaching you the basics of C++ through practical application.</p><p>The best thing to do is to copy and paste each program below into a text file, and compile it. Then, try the experiments. By extending these example programs, you’ll gain familiarity with various aspects of C++, and you’ll feel more confident when it comes time to write programs from scratch.</p><p>Practice is key to success in this class, which over time goes into more depth, ending with a quiz (read test) for you to see if you’ve understood everything you’ve learnt. Simple, yet very effective.</p><p><br></p><h3 class="article-body__section" id="section-c-nanodegree-program"><span>C++ Nanodegree Program</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2534px;"><p class="vanilla-image-block" style="padding-top:50.43%;"><img id="yNiRnnPfbbVV65cNPrvrjK" name="Screenshot 2023-10-19 at 12.33.17.png" alt="A screenshot of the Udacity website showing the "C++ nanodegree program" course" src="https://cdn.mos.cms.futurecdn.net/yNiRnnPfbbVV65cNPrvrjK.png" mos="" align="middle" fullscreen="" width="2534" height="1278" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Udacity)</span></figcaption></figure><p><strong>Provider:</strong> David Silver, et al (via Udacity)</p><p><strong>Price: </strong>$249 (£194) per month / $2,390 (£1,862) per year</p><p><strong>Course link:</strong> <a href="https://www.udacity.com/course/c-plus-plus-nanodegree--nd213" target="_blank">C++ nanodegree program</a></p><p><strong>Course length:</strong> Four months, at ten hours per week</p><p>This nanodegree program is broken down into six courses, covering everything from the foundations of C++ and object-oriented programming through to memory management and concurrency.</p><p>The course includes learning how to build a route planner using OpenStreetMap data, write a process monitor for your computer, implement smart pointers, and build a multithreaded traffic simulator.</p><p>You’ll end by building your own application following the principles you’ve learnt, or can choose to take an optional seventh course, which focuses on career services, with support optimizing your GitHub and LinkedIn profiles.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The 9 best courses for R ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming-languages/361322/the-9-best-courses-for-r</link>
                                                                            <description>
                            <![CDATA[ Whether it’s data science, machine learning, and statistics you are interested in, there’s a course that will teach you R ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">b2o3UpwRasVWFekC7cVLiu</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/cYQTPzzE3A7fsaCmRmMaQH-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 21 Oct 2021 12:49:49 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Careers and Training]]></category>
                                                    <category><![CDATA[Business]]></category>
                                                                                                                    <dc:creator><![CDATA[ Rene Millman ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/vwWuTPNRCuw9vEaWzuXYnR.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/cYQTPzzE3A7fsaCmRmMaQH-1280-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[&amp;quot;R&amp;quot; over top of a laptop with code on it]]></media:description>                                                            <media:text><![CDATA[&amp;quot;R&amp;quot; over top of a laptop with code on it]]></media:text>
                                <media:title type="plain"><![CDATA[&amp;quot;R&amp;quot; over top of a laptop with code on it]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/cYQTPzzE3A7fsaCmRmMaQH-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>One of the most popular languages in the world of data science to program in is R. It is the 12th most popular programming language, according to <a href="https://redmonk.com/sogrady/2021/08/05/language-rankings-6-21">recent RedMonk ratings</a>.</p><p>It helps users analyze structured and unstructured data, which has made it the standard language for carrying out statistical operations. It has features that set it apart from other languages used in data science.</p><p>It was initially developed in 1993 by Ross Ihaka and Robert Gentleman. Like the S language, R is a <a href="http://www.gnu.org">GNU project</a>, but it is a different implementation of S. While there are significant differences, most code written for S runs unaltered under R. </p><p>The S language is used for research in statistical methodology while offering an open source way to participate in that activity.</p><h2 id="why-learn-r">Why learn R?</h2><p>As mentioned earlier, R excels at statistical computing. Data visualization is known to be easier using R than with Python. It also has built-in functionality and useful tools that make performing tasks simpler in areas such as visualization, reporting, and interactivity.</p><p>There are over 2,000 free open source libraries for finance, cluster analysis, high-performance computing (HPC), statistics, machine learning, and data science. R is open source, so users can freely install, use, update, clone, modify, and redistribute it. It is also cross-platform, so it runs on Windows, Mac OS X, and Linux. It can also import data from Microsoft Excel, Microsoft Access, MySQL, SQLite, Oracle, and many others.</p><p>Python is known for being friendly for beginners. However, when you understand R’s syntax, you learn it offers a big advantage in learning data science basics, as it was designed with data manipulation and analysis in mind.</p><p>Organizations worldwide use R with data manipulation and analysis in mind.</p><h2 id="what-are-the-best-courses-for-r">What are the best courses for R</h2><p>There are many online courses people can take to learn this powerful language. Below is a selection of the best.</p><h3 class="article-body__section" id="section-r-programming-a-z-r-for-data-science-with-real-exercises"><span>R Programming A-Z: R For Data Science with Real Exercises!</span></h3><p><strong>Provider:</strong> Udemy</p><p><strong>URL:</strong> <a href="https://www.udemy.com/course/r-programming">https://www.udemy.com/course/r-programming/</a></p><p><strong>Course length:</strong> 10.5 hours</p><p>This step-by-step course helps students learn to program in R. It teaches the core principles of programming and how to create variables. Parts of the course teach you how to use R Studio and customize it to your preferences. There is also practice in financial, statistical, and sports data in R. Students will also learn about Normal distribution and Law of Large Numbers.</p><h3 class="article-body__section" id="section-r-programming"><span>R Programming</span></h3><p><strong>Provider:</strong> Coursera</p><p><strong>URL:</strong> <a href="https://www.coursera.org/learn/r-programming">https://www.coursera.org/learn/r-programming</a></p><p><strong>Course Length:</strong> 57 hours</p><p>In this course, students learn how to program in R and use it for purposes such as data analysis. Students learn how to install and configure software necessary for a statistical programming environment and describe generic programming language concepts as they are implemented in a high-level statistical language. </p><p>The course covers practical issues in statistical computing, including programming in R, reading data into R, accessing R packages, writing R functions, debugging, profiling R code, and organizing and commenting R code. Topics in statistical data analysis will provide working examples.</p><h3 class="article-body__section" id="section-programming-for-data-science-with-r"><span>Programming for Data Science with R</span></h3><p><strong>Provider:</strong> Udacity</p><p><strong>URL:</strong> <a href="https://www.udacity.com/course/programming-for-data-science-nanodegree-with-R--nd118">https://www.udacity.com/course/programming-for-data-science-nanodegree-with-R--nd118</a></p><p><strong>Course Length:</strong> 3 months at 10 hours a week</p><p>This nanodegree program helps students learn the programming fundamentals required for a career in data science. By the end of the program, students will use R, SQL, Command Line, and Git. </p><p>The introductory program has three modules: Introduction to SQL, Introduction to R Programming, and Introduction to Version Control. The module on R Programming teaches fundamentals such as data structures, variables, loops, and functions. Students will learn to visualize data in the popular data visualization library ggplot2.</p><h3 class="article-body__section" id="section-data-science-r-basics"><span>Data Science: R Basics</span></h3><p><strong>Provider:</strong> edX</p><p><strong>URL:</strong> <a href="https://www.edx.org/course/data-science-r-basics">https://www.edx.org/course/data-science-r-basics</a></p><p><strong>Course Length:</strong> 8 weeks at 1-2 hours per week</p><p>This is the first part of a multi-part course that leads to a <a href="https://www.edx.org/professional-certificate/harvardx-data-science">Professional Certificate Program in Data Science</a>. It introduces students to the basics of R programming and builds a foundation that paves the way for the more in-depth courses later in the series where concepts such as probability, inference, regression, and machine learning, are covered. </p><p>Students can develop a skill set that includes R programming, data wrangling with dplyr, data visualization with ggplot2, file organization with UNIX/Linux, version control with git and GitHub, and reproducible document preparation with RStudio.</p><h3 class="article-body__section" id="section-statistics-with-r-specialization"><span>Statistics with R Specialization</span></h3><p><strong>Provider:</strong> Coursera</p><p><strong>URL:</strong> <a href="https://www.coursera.org/specializations/statistics">https://www.coursera.org/specializations/statistics</a></p><p><strong>Course Length:</strong> 7 months at 3 hours per week</p><p>There are five modules in this course from Duke University. These are Introduction to Probability and Data, Inferential Statistics, Linear Regression and Modeling, Bayesian Statistics, and Statistics with R Capstone. </p><p>The capstone project will be an analysis using R that answers the course team’s specific scientific/business question. A large and complex dataset will be provided to learners and the analysis will require the application of various methods and techniques introduced in the previous courses.</p><h3 class="article-body__section" id="section-r-programmer"><span>R Programmer</span></h3><p><strong>Provider:</strong> Datacamp</p><p><strong>URL:</strong> <a href="https://www.datacamp.com/tracks/r-programmer">https://www.datacamp.com/tracks/r-programmer</a></p><p><strong>Course Length:</strong> 44 hours</p><p>This course provides programming skills needed to successfully develop software, wrangle data, and perform advanced data analysis in R. Students need no prior coding experience and will learn how to manipulate data, write efficient R code, and work with challenging data, including date and time data, text data, and web data using APIs. </p><p>There are interactive exercises to gain experience working with R libraries, including devtools, testthat, and rvest, that will help students perform important programmer tasks, such as web development, data analysis, and task automation</p><h3 class="article-body__section" id="section-data-science-and-machine-learning-bootcamp-with-r"><span>Data Science and Machine Learning Bootcamp with R</span></h3><p><strong>Provider:</strong> Udemy</p><p><strong>URL:</strong> <a href="https://www.udemy.com/course/data-science-and-machine-learning-bootcamp-with-r">https://www.udemy.com/course/data-science-and-machine-learning-bootcamp-with-r/</a></p><p><strong>Course Length:</strong> 17 hours 45 minutes</p><p>This course is designed for beginners with no programming experience or experienced developers looking to jump to Data Science. </p><p>Students learn how to program with R, create data visualizations, and use machine learning with R. This includes linear regression, decision trees, random forests, neural nets and deep learning, and support vector machines.</p><h3 class="article-body__section" id="section-r-for-data-science-lunchbreak-lessons"><span>R for Data Science: Lunchbreak Lessons</span></h3><p><strong>Provider:</strong> LinkedIn Learning</p><p><strong>URL:</strong> <a href="https://www.linkedin.com/learning/r-for-data-science-lunchbreak-lessons">https://www.linkedin.com/learning/r-for-data-science-lunchbreak-lessons</a></p><p><strong>Course Length:</strong> 13 hours 8 minutes</p><p><em>Lunch Break Lessons</em> teaches R in short lessons that expand on what existing programmers already know. Students can review language basics, discover methods to improve existing R code, explore new and interesting features, and learn about useful development tools and libraries to make their time programming with R more productive.</p><h3 class="article-body__section" id="section-r-programming-advanced-analytics-in-r-for-data-science"><span>R Programming: Advanced Analytics in R For Data Science</span></h3><p><strong>Provider:</strong> Udemy</p><p><strong>URL:</strong> <a href="https://www.udemy.com/course/r-analytics">https://www.udemy.com/course/r-analytics/</a></p><p><strong>Course Length:</strong> 5 hours 58 minutes</p><p>This course is for anyone who has basic R knowledge and would like to take their skills to the next level to become proficient at data science and analytics with R. </p><p>Students are expected to have taken and completed the R Programming A-Z course. Students learn how to prepare data for R analysis, perform the median imputation method in R, work with date-times in R, what lists are and how to use them, and what the Apply family of functions is. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The best online Python courses ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming/361267/11-best-python-courses</link>
                                                                            <description>
                            <![CDATA[ A snapshot of some of the best online Python courses around, offering the tools you need to start or develop your coding career ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">epLMxi17rkmmw15xixEuGp</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/3Qooqqh4XtPooSx5PnAVhX-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Fri, 15 Oct 2021 15:11:25 +0000</pubDate>                                                                                                                                <updated>Thu, 05 Jun 2025 15:00:34 +0000</updated>
                                                                                                                                            <category><![CDATA[Careers and Training]]></category>
                                                    <category><![CDATA[Business]]></category>
                                                                                                                    <dc:creator><![CDATA[ David Howell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RyCMPNysW5pydbG6t9n8Kh.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                        <dc:contributor><![CDATA[ Rene Millman ]]></dc:contributor>
                                                                    <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/3Qooqqh4XtPooSx5PnAVhX-1280-80.png">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A close up photo of a green python snake next to a string of python code on a black monitor]]></media:description>                                                            <media:text><![CDATA[A close up photo of a green python snake next to a string of python code on a black monitor]]></media:text>
                                <media:title type="plain"><![CDATA[A close up photo of a green python snake next to a string of python code on a black monitor]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/3Qooqqh4XtPooSx5PnAVhX-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Python has firmly established itself as a cornerstone <a href="https://www.itpro.com/software/development/why-python-is-the-programming-language-of-choice-for-ai-developers">programming language</a>, celebrated for its remarkable versatility and developer-friendly syntax. Its widespread adoption across diverse industries is a testament to its power and ease of use, making it an essential skill for IT professionals. Whether you're embarking on your coding journey or looking to expand your existing skillset, Python, in tandem with other top programming languages,  offers a gentle learning curve combined with the depth required for complex applications.</p><p>As a general-purpose language, Python's applications are extensive. While prominently used in <a href="https://www.itpro.com/business-strategy/careers-training/358369/front-end-developer-career-guide-7-skills-a-front-end">web development</a> to power server-side logic for countless online services, its reach extends far beyond. Today, Python is integral to cutting-edge fields such as data science, machine learning, and artificial intelligence, where its robust libraries and frameworks enable sophisticated data analysis and model development. It's also a go-to language for automation scripting, helping to streamline IT operations and repetitive tasks across systems.</p><p>Beyond these prominent areas, Python is leveraged in game development, building network tools, creating prototypes for new software, and even in embedded systems. Major technology corporations routinely use Python for testing and building critical components of their products. Its utility isn't confined to tech-centric roles either; finance and accounting professionals increasingly use Python for data manipulation and automating calculations, underscoring its broad appeal and practical value.</p><p><strong>Popular uses of Python include:</strong></p><ul><li>Website and software development</li><li>Task automation</li><li>Data analysis</li><li>Data visualization</li><li>Web development and frameworks</li><li>Embedded systems</li><li>Graphic design</li><li>Network development</li><li>Rapid application development</li><li>Testing</li><li>Automation scripting</li></ul><h2 id="is-python-development-a-good-career">Is Python development a good career?</h2><p>The demand for skilled Python developers remains exceptionally high in 2025, solidifying its status as a rewarding career path. Employers across diverse industries actively seek Python expertise, leading to competitive compensation packages. This sustained demand is largely fuelled by Python's critical role in rapidly expanding fields such as artificial intelligence, machine learning, data science, and web development, ensuring that proficiency in the language continues to be an asset for IT professionals.</p><p>In the US, Python developers command impressive salaries. As of early to mid-2025, data from <a href="https://www.talent.com/salary?job=python+developer">Talent.com</a> indicates an average Python developer salary of approximately $125,111 per year, with entry-level positions starting around $105,052 and experienced workers earning up to  $156,149. Reinforcing this, <a href="https://www.salary.com/tools/salary-calculator/entry-level-python-developer">Salary.com</a> reported an average for Entry Level Python Developers at $122,695 as of May 2025.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED WHITEPAPER</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WsoQeWNaU6phY6mZknEKo9" name="Learn in VR_ The beginner's guide 2.jpg" caption="" alt="Learn in VR: The beginner's guide whitepaper" src="https://cdn.mos.cms.futurecdn.net/WsoQeWNaU6phY6mZknEKo9.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Meta)</span></figcaption></figure><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/cloud/virtualisation/learn-in-vr-the-beginners-guide"><em>Discover how immersive learning can increase your skills</em></a></p></div></div><p>Across the United Kingdom, Python developers also benefit from strong earning potential, though figures vary by region. <a href="https://www.itjobswatch.co.uk/jobs/uk/python%20developer.do">IT Jobs Watch</a> indicated a median UK salary of £85,000 as of May 2025. In London, experienced developers (3-5 years) can expect salaries ranging from £85,000 to £105,000 according to <a href="https://www.morganmckinley.com/uk/salary-guide/data/python-developer/london">Morgan McKinley's 2025 Salary Guide</a>. Roles outside the capital, such as in Manchester, typically see averages for developers of £69,962, <a href="https://uk.indeed.com/career/python-developer/salaries/Manchester">as suggested by data from Indeed.com</a>.</p><p>Python's dominance is further evidenced by its top ranking among programming languages. <a href="https://github.blog/news-insights/octoverse/octoverse-2024/">GitHub's Octoverse reports</a> from late 2024 and early 2025 consistently show Python as the most used language, driven significantly by its indispensable role in the <a href="https://www.itpro.com/strategy/28181/what-is-ai">AI</a> and <a href="https://www.itpro.com/strategy/28071/what-is-machine-learning">machine learning</a> boom – fields that saw nearly 100% growth in related GitHub projects in 2024. Coupled with its famously gentle learning curve and a vast, supportive global community, Python remains an accessible yet powerful choice for both aspiring and established developers looking to thrive.</p><h2 id="what-are-the-best-python-courses">What are the best Python courses?</h2><p>If you’re interested in learning Python, the best courses can help you master the language and put it into use with a range of complimentary technologies.</p><h3 class="article-body__section" id="section-the-complete-python-bootcamp-from-zero-to-hero-in-python"><span>The Complete Python Bootcamp from Zero to Hero in Python</span></h3><p><strong>Best online Python course for beginners</strong></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1560px;"><p class="vanilla-image-block" style="padding-top:43.72%;"><img id="ELPhMRA2zioPM6RicQUG3J" name="Screenshot 2023-09-14 at 10.57.57.png" alt="A screenshot of the Udemy website advertising the 'The Complete Python Bootcamp From Zero to Hero in Python' course" src="https://cdn.mos.cms.futurecdn.net/ELPhMRA2zioPM6RicQUG3J.png" mos="" align="middle" fullscreen="" width="1560" height="682" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Udemy)</span></figcaption></figure><p><strong>Provider:</strong> Udemy</p><p><strong>Price: </strong>Udemy courses are frequently discounted. List prices can range from $100−200, but sales often reduce this to $15-30. Udemy also offers a "Personal Plan" subscription for access to a curated collection of courses.</p><p><strong>Course link:</strong> <a href="https://www.udemy.com/course/complete-python-bootcamp" target="_blank">The Complete Python Bootcamp from Zero to Hero in Python</a></p><p><strong>Course length:</strong> 22 hours</p><p>This highly-rated and comprehensive course by Jose Portilla is continually updated to teach modern Python 3. It's designed to take absolute beginners to a proficient level through numerous hands-on coding exercises, covering everything from Python installation and basic syntax to advanced features like object-oriented programming, modules, and error handling. Completing this bootcamp provides a strong foundation for further specialization.</p><h3 class="article-body__section" id="section-30-days-of-python-unlock-your-python-potential"><span>30 Days of Python | Unlock your Python Potential</span></h3><p><strong>Best intensive online Python course</strong></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1624px;"><p class="vanilla-image-block" style="padding-top:46.06%;"><img id="heasqFBncXKPobaTVwv7ND" name="Screenshot 2023-09-14 at 11.04.40.png" alt="A screenshot of the Udemy website advertising the '30 Days of Python | Unlock your Python Potential' course" src="https://cdn.mos.cms.futurecdn.net/heasqFBncXKPobaTVwv7ND.png" mos="" align="middle" fullscreen="" width="1624" height="748" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Udemy)</span></figcaption></figure><p><strong>Provider:</strong> Udemy</p><p><strong>Price:</strong> Subject to Udemy's dynamic pricing and frequent sales (often available for $15−30 during promotions, from a higher list price).</p><p><strong>Course link:</strong> <a href="https://www.udemy.com/course/30-days-of-python/" target="_blank">30 Days of Python | Unlock your Python Potential</a></p><p><strong>Course length:</strong> 9.5 hours</p><p>For those seeking a focused and practical introduction, this course by Justin Mitchel offers a hands-on approach to learning Python 3. It covers core programming concepts and quickly moves into practical applications, such as working with CSV files for data tasks. By the end, students will be equipped to tackle projects like web scraping, gaining valuable, real-world skills.</p><h3 class="article-body__section" id="section-advanced-python-language-features"><span>Advanced Python: Language Features</span></h3><p><strong>Best online Python course on LinkedIn Learning</strong></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1692px;"><p class="vanilla-image-block" style="padding-top:76.95%;"><img id="iSUJo9wmEAB8eFrnpbYxrS" name="Screenshot 2023-09-14 at 11.06.41.png" alt="A screenshot of the LinkedIn website advertising the 'Advanced Python: Language Features' course" src="https://cdn.mos.cms.futurecdn.net/iSUJo9wmEAB8eFrnpbYxrS.png" mos="" align="middle" fullscreen="" width="1692" height="1302" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: LinkedIn)</span></figcaption></figure><p><strong>Provider:</strong> LinkedIn Learning</p><p><strong>Price:</strong> Included with a LinkedIn Learning subscription (typically around $29.99/month billed annually or $39.99/month billed monthly; a one-month free trial is often available). Individual course purchase prices vary.</p><p>Course link: Advanced Python: Language Features</p><p><strong>Course link:</strong> <a href="https://www.linkedin.com/learning/advanced-python-language-features/introduction" target="_blank">Advanced Python: Language Features</a></p><p><strong>Course length:</strong> 2 hours 30 mins</p><p>LinkedIn Learning offers a variety of specialized "Advanced Python" courses taught by industry experts. These courses delve into topics such as advanced object-oriented programming, concurrency, metaprogramming, and efficient data structures. They are ideal for developers looking to deepen their understanding of Python's more powerful features and write more sophisticated, optimized code.</p><h3 class="article-body__section" id="section-python-and-django-full-stack-web-developer-bootcamp"><span>Python and Django Full Stack Web Developer Bootcamp</span></h3><p><strong>Best online Python course for web development</strong></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1532px;"><p class="vanilla-image-block" style="padding-top:43.21%;"><img id="NJdq2wMWqTqNhqBM3DKWrf" name="Screenshot 2023-09-14 at 11.09.02.png" alt="A screenshot of the Udemy website advertising the 'Python and Django Full Stack Web Developer Bootcamp' course" src="https://cdn.mos.cms.futurecdn.net/NJdq2wMWqTqNhqBM3DKWrf.png" mos="" align="middle" fullscreen="" width="1532" height="662" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Udemy)</span></figcaption></figure><p><strong>Provider:</strong> Udemy</p><p><strong>Price:</strong> Subject to Udemy's dynamic pricing and frequent sales (often available for $20−40 during promotions, from a higher list price).</p><p><strong>Course link:</strong> <a href="https://www.udemy.com/course/python-and-django-full-stack-web-developer-bootcamp/" target="_blank">Python and Django Full Stack Web Developer Bootcamp</a></p><p><strong>Course length:</strong> 32 hours</p><p>This comprehensive bootcamp by Jose Portilla guides learners through building complete web applications using Python and the latest stable versions of the Django framework. It covers front-end technologies (HTML, CSS, <a href="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it">JavaScript</a>) alongside back-end development, database integration, and REST API creation. It's an excellent choice for those aiming for a full-stack web development career using Python.</p><h3 class="article-body__section" id="section-ai-programming-with-python"><span>AI Programming with Python</span></h3><p><strong>Best online Python course for using AI</strong></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1622px;"><p class="vanilla-image-block" style="padding-top:49.45%;"><img id="PnQnnsjzveN7z2Rjw5eTEC" name="Screenshot 2023-09-14 at 11.11.45.png" alt="A screenshot of the Udacity website advertising the 'AI Programming with Python' course" src="https://cdn.mos.cms.futurecdn.net/PnQnnsjzveN7z2Rjw5eTEC.png" mos="" align="middle" fullscreen="" width="1622" height="802" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Udacity)</span></figcaption></figure><p><strong>Provider:</strong> Udacity</p><p><strong>Price: </strong>Udacity Nanodegrees typically operates on a monthly subscription (e.g., around $249−399/month) or offers a bundled price for the estimated program duration. Check Udacity for current pricing and promotions.</p><p><strong>Course link:</strong> <a href="https://www.udacity.com/course/ai-programming-python-nanodegree--nd089" target="_blank">AI Programming with Python</a></p><p><strong>Course length:</strong> 3 months (around 10 hours per week)</p><p>This Nanodegree program is designed to provide a strong foundation in AI programming using Python. It covers essential data science libraries (NumPy, Pandas, Matplotlib), machine learning concepts, and deep learning with PyTorch. Students learn to build and train neural networks, including an introduction to advanced architectures like Transformers, preparing them for more specialized AI roles.</p><h3 class="article-body__section" id="section-python-programmer"><span>Python Programmer</span></h3><p><strong>Best online Python course for those wanting a bit of everything</strong></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2306px;"><p class="vanilla-image-block" style="padding-top:41.46%;"><img id="KLfRjScYnGob36chBiudVj" name="Screenshot 2023-09-14 at 11.15.32.png" alt="A screenshot of the Datacamp website advertising the 'Python Programmer' course" src="https://cdn.mos.cms.futurecdn.net/KLfRjScYnGob36chBiudVj.png" mos="" align="middle" fullscreen="" width="2306" height="956" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Datacamp)</span></figcaption></figure><p><strong>Provider:</strong> Datacamp</p><p><strong>Price: </strong>Datacamp uses a subscription model (Standard or Premium), with monthly or discounted annual payments. Premium plans often range from $15−30 per month when billed annually. Check Datacamp for current pricing. </p><p><strong>Course link: </strong><a href="https://www.datacamp.com/tracks/python-programmer" target="_blank">Python Programmer</a></p><p><strong>Course length: </strong>67 hours</p><p>Datacamp's "Python Programmer" Career Track offers a structured path for individuals aiming to build a career in programming with Python, even with no prior experience. It covers fundamental Python concepts, data structures, object-oriented programming, and then progresses to practical applications like web scraping and working with APIs, all through an interactive, hands-on learning platform.</p><h3 class="article-body__section" id="section-data-scientist-with-python"><span>Data Scientist with Python</span></h3><p><strong>Best online Python course for data science</strong></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1660px;"><p class="vanilla-image-block" style="padding-top:58.43%;"><img id="ZR6kxrtXsRfQainPjNjqo" name="Screenshot 2023-09-14 at 11.16.43.png" alt="A screenshot of the Datacamp website advertising the 'Data Scientist with Python' course" src="https://cdn.mos.cms.futurecdn.net/ZR6kxrtXsRfQainPjNjqo.png" mos="" align="middle" fullscreen="" width="1660" height="970" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Datacamp)</span></figcaption></figure><p><strong>Provider:</strong> Datacamp</p><p><strong>Price:</strong> Datacamp subscription model (see Python Programmer track above for typical pricing structure).</p><p><strong>Course link:</strong> <a href="https://www.datacamp.com/tracks/data-scientist-with-python" target="_blank">Data Scientist with Python</a></p><p><strong>Course length:</strong> 90 hours</p><p>Specifically tailored for aspiring data scientists, this extensive Career Track from Datacamp teaches how to use Python for data manipulation (Pandas), data visualization (Matplotlib, Seaborn), statistical analysis, machine learning (Scikit-learn), and an introduction to <a href="https://www.itpro.com/machine-learning/33308/what-is-natural-language-processing">Natural Language Processing (NLP)</a>. The interactive exercises and real-world projects help solidify understanding and build a portfolio.</p><h3 class="article-body__section" id="section-learn-python-programming-masterclass"><span>Learn Python Programming Masterclass</span></h3><p><strong>Best online Python course for software development</strong></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1580px;"><p class="vanilla-image-block" style="padding-top:81.90%;"><img id="qn8Th8rKea9tS9wRWN7r2C" name="Screenshot 2023-09-14 at 11.18.58.png" alt="A screenshot of the Udemy website advertising the 'Learn Python Programming Masterclass' course" src="https://cdn.mos.cms.futurecdn.net/qn8Th8rKea9tS9wRWN7r2C.png" mos="" align="middle" fullscreen="" width="1580" height="1294" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Udemy)</span></figcaption></figure><p><strong>Provider:</strong> Udemy</p><p><strong>Price:</strong> Subject to Udemy's dynamic pricing and frequent sales (often available for $20−40 during promotions, from a higher list price).K)</p><p><strong>Course link: </strong><a href="https://www.udemy.com/course/python-the-complete-python-developer-course" target="_blank"><u>Learn Python Programming Masterclass</u></a></p><p><strong>Course length:</strong> 74 hours</p><p>This detailed masterclass by Tim Buchalka's Learn Programming Academy is designed for both beginners and existing programmers wanting to master Python 3 for software development. It covers a vast range of topics from basic syntax to advanced concepts like object-oriented programming, database interaction, web development basics (e.g., with Flask), and <a href="https://www.itpro.com/operating-systems/30248/what-is-a-graphical-user-interface">GUI</a> development. While it may offer context on Python 2 for legacy understanding, the primary focus is on modern Python 3 practices.</p><p>If you have ambitions to <a href="https://www.itpro.com/business-strategy/careers-training/356509/how-to-become-a-software-developer"><u>become a professional software developer</u></a>, this course will give you a foundation to build upon. And existing programmers will also benefit by expanding the languages they are proficient in.</p><h3 class="article-body__section" id="section-python-for-everybody-specialization"><span>Python for Everybody Specialization</span></h3><p><strong>Best online Python course for data visualization</strong></p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1804px;"><p class="vanilla-image-block" style="padding-top:49.89%;"><img id="nZmQQDJVTudryPwiSeR84K" name="Screenshot 2023-09-14 at 11.20.04.png" alt="A screenshot of the Coursera website advertising the 'Python for Everybody Specialization' course" src="https://cdn.mos.cms.futurecdn.net/nZmQQDJVTudryPwiSeR84K.png" mos="" align="middle" fullscreen="" width="1804" height="900" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Coursera)</span></figcaption></figure><p><strong>Provider:</strong> Coursera</p><p><strong>Price: </strong>Courses can often be audited for free. To earn a certificate and access all graded assignments, Coursera Specializations typically require a monthly subscription (around $49-79/month for the Specialization, or access via a Coursera Plus subscription). Financial aid may be available.</p><p><strong>Course link:</strong> <a href="https://www.coursera.org/specializations/python" target="_blank"><u>Python for Everybody Specialization</u></a></p><p><strong>Course length:</strong> 2 months (10 hours per week)</p><p>This highly respected Specialization from the University of Michigan, taught by Dr. Charles Severance ("Dr. Chuck"), is an excellent entry point into Python and computer science. The five-course series covers Python 3 basics, data structures, accessing web data (APIs, JSON, XML), using databases with Python, and culminates in a capstone project involving data retrieval, processing, and visualization. It's renowned for its clear explanations and practical approach.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Hackers turning to 'exotic' languages for next-gen malware, report warns ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/security/malware/360375/hackers-use-exotic-languages-to-write-next-gen-malware</link>
                                                                            <description>
                            <![CDATA[ Coding languages such as Go, Rust, Nim and DLang are allowing malware authors to avoid signature detection and add layers of obfuscation ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">tRaZ1QpgAd4HXCSYTfLfZj</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/wDQfXhNPUxQ6TfnH5UYHo3-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 27 Jul 2021 11:43:57 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Malware]]></category>
                                                    <category><![CDATA[Security]]></category>
                                                                                                                    <dc:creator><![CDATA[ Keumars Afifi-Sabet ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/EAvwpZggMZ2K5h8s2pTAEm.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/wDQfXhNPUxQ6TfnH5UYHo3-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                        <media:description><![CDATA[Shutterstock]]></media:description>                                                            <media:text><![CDATA[A person on a laptop to depict hacking]]></media:text>
                                <media:title type="plain"><![CDATA[A person on a laptop to depict hacking]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/wDQfXhNPUxQ6TfnH5UYHo3-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Hackers are increasingly turning to relatively obscure <a href="https://www.itpro.com/business-strategy/careers-training/356457/the-ultimate-guide-to-becoming-a-programmer" target="_blank" data-original-url="https://www.itpro.com/business-strategy/careers-training/356457/the-ultimate-guide-to-becoming-a-programmer">programming languages</a> when coding malware in a bid to avoid detection and pose greater challenges for the cyber security industry.</p><p>Security professionals are coming across greater numbers of malware strains that are being written in ‘exotic’ languages such as <a href="https://www.itpro.com/programming-languages/30352/coders-are-shifting-to-silicon-valley-backed-programming-languages" target="_blank" data-original-url="https://www.itpro.com/programming-languages/30352/coders-are-shifting-to-silicon-valley-backed-programming-languages">Go</a>, Rust, Nim, and DLang, according to <a href="https://www.blackberry.com/us/en/forms/enterprise/report-old-dogs-new-tricks" target="_blank">researchers with Blackberry</a>. Operators are even adopting these languages to rewrite existing <a href="https://www.itpro.com/malware/28076/what-is-malware" target="_blank" data-original-url="https://www.itpro.com/malware/28076/what-is-malware">malware families</a> and create tools for new malware sets.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/development/programming-languages/357375/the-it-pro-podcast-picking-a-programming-language" data-original-url="/development/programming-languages/357375/the-it-pro-podcast-picking-a-programming-language">The IT Pro Podcast: Picking a programming language</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/security/malware/359189/brata-malware-disguises-itself-as-security-tools-on-google-play" data-original-url="/security/malware/359189/brata-malware-disguises-itself-as-security-tools-on-google-play">BRATA malware disguises itself as security tools on Google Play</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/software/360026/best-ides-the-perfect-code-editors-for-beginners-and-professionals" data-original-url="/software/360026/best-ides-the-perfect-code-editors-for-beginners-and-professionals">Best IDEs: The perfect code editors for beginners and professionals</a></p></div></div><p>It has been found that these coding languages typically thwart signature-based detection, while <a href="https://www.itpro.com/security/malware/28083/best-free-malware-removal-tools" target="_blank" data-original-url="https://www.itpro.com/security/malware/28083/best-free-malware-removal-tools">malware analysis tooling</a> doesn’t always adequately support unconventional programming languages.</p><p>These languages themselves also serve as a layer of obfuscation, because each of them is relatively new and has little in the way of supported analysis tooling. However, these four languages identified in the report are each fairly developed and have a strong community backing.</p><p>“Programs written using the same malicious techniques but in a new language are not usually detected at the same rate as those written in a more mature language,” the report concluded. “This is the latest trend in threat actors moving the line just outside of the range of security software in a way that might not trigger defenses in later stages of the original campaign.”</p><p>“Malicious binaries written in languages like D, Rust, Go, or Nim currently comprise a small percentage of the languages being used by bad actors in the world today, but it is imperative that the security community stay proactive in defending against the malicious use of emerging technologies and techniques.”</p><p>Each language has its own benefits and drawbacks in different scenarios, the researchers also explained. Nim, for example, can be compiled into several languages such as C, C++, and even JavaScript. DLang has many syntax improvements over C, as well as being fully interoperable with, and syntactically similar to, C.</p><p>Rust is known for having a very low overhead, and is efficient where performance is concerned, while Go is widely touted as C for the 21st century, according to the paper.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="B2q7WnjeR9PaiVL7iTeGV4" name="B2q7WnjeR9PaiVL7iTeGV4.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/B2q7WnjeR9PaiVL7iTeGV4.jpg" mos="https://cdn.mos.cms.futurecdn.net/B2q7WnjeR9PaiVL7iTeGV4.jpg" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>The five essentials from your endpoint security partner</strong></p><p class="fancy-box__body-text">Empower your MSP business to operate efficiently</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-operations/managed-service-provider-msp/360322/the-five-essentials-from-your-endpoint" data-original-url="/business-operations/managed-service-provider-msp/360322/the-five-essentials-from-your-endpoint">FREE DOWNLOAD</a></p></div></div><p>Although C-language malware is still the most widespread, malware operators, including major groups such as <a href="https://www.itpro.com/hacking/27324/bellingcat-vs-fancy-bear-how-hackers-tried-to-halt-the-mh17-investigation" target="_blank" data-original-url="https://www.itpro.com/hacking/27324/bellingcat-vs-fancy-bear-how-hackers-tried-to-halt-the-mh17-investigation">Fancy Bear</a> and Cozy Bear, are using unconventional languages in their malware sets more often than other groups.</p><p>Often enough, entire <a href="https://www.itpro.com/programming-languages/30204/what-is-object-oriented-programming" target="_blank" data-original-url="https://www.itpro.com/programming-languages/30204/what-is-object-oriented-programming">C-language</a> malware families don’t actually need to be rewritten from scratch, with these groups simply writing loaders, droppers, and wrappers in exotic languages instead. This means they can effectively embed their payloads in harder-to-detect shells that are newly written in order to avoid signature-based detection.</p><p>There is a litany of cases cited in the report where such groups have adopted elements written in obscure languages to disguise their attacks. In 2018, for example, <a href="https://www.itpro.com/security/hacking/360142/russian-cozy-bear-hackers-reportedly-attacked-the-republican-party" target="_blank" data-original-url="https://www.itpro.com/security/hacking/360142/russian-cozy-bear-hackers-reportedly-attacked-the-republican-party">Cozy Bear</a> was seen targeting <a href="https://www.itpro.com/operating-systems/25802/17-windows-10-problems-and-how-to-fix-them" target="_blank" data-original-url="https://www.itpro.com/operating-systems/25802/17-windows-10-problems-and-how-to-fix-them">Windows</a> and Linux machines with WellMess, a <a href="https://www.itpro.com/security/trojans/355479/four-steps-to-exterminating-rats-controlling-your-computer" target="_blank" data-original-url="https://www.itpro.com/security/trojans/355479/four-steps-to-exterminating-rats-controlling-your-computer">remote access trojan (RAT)</a> written in Go and .NET.</p><p>Fancy Bear was also discovered in 2018 using a Go-based Trojan identified as a rewritten version of the original <a href="https://malpedia.caad.fkie.fraunhofer.de/details/win.zebrocy" target="_blank">Zebrocy malware</a>. The following year, the group was seen using a Nim downloader alongside the Go backdoor in the same campaign targeting embassies and ministries of foreign affairs in Eastern Europe and Central Asia.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ IBM CodeNet teaches AI to translate programming languages ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/technology/artificial-intelligence-ai/359487/ibm-codenet-ai-translate-programming</link>
                                                                            <description>
                            <![CDATA[ The expansive dataset is designed to translate 55 languages, including Cobol, Java, C++, and Python ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">baJaGwF2Bqn1YrP2Uxfdc9</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/d2sfVSnRWnLWisURcLwwYQ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 11 May 2021 09:54:59 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Artificial Intelligence]]></category>
                                                    <category><![CDATA[Technology]]></category>
                                                                                                                    <dc:creator><![CDATA[ Bobby Hellard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/bsR2tHSyVKUoyXZF5pNsDA.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/d2sfVSnRWnLWisURcLwwYQ-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of a code editing programme]]></media:description>                                                            <media:text><![CDATA[Close-up of a code editing programme]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of a code editing programme]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/d2sfVSnRWnLWisURcLwwYQ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>IBM unveiled a suite of new artificial intelligence (AI) services on Monday ahead of its virtual IBM Think 2021 conference. </p><p>The new features include software that teaches AI how to <a href="https://www.itpro.com/development/programming-languages/357375/the-it-pro-podcast-picking-a-programming-language" target="_blank" data-original-url="https://www.itpro.com/development/programming-languages/357375/the-it-pro-podcast-picking-a-programming-language">translate code</a>, a cloud migration service, and more functions for the firm's Watson Assistant. </p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/hardware/components/359435/ibm-unveils-breakthrough-2nm-chip-technology" data-original-url="/hardware/components/359435/ibm-unveils-breakthrough-2nm-chip-technology">IBM unveils breakthrough 2nm chip technology</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/development/programming-languages/357375/the-it-pro-podcast-picking-a-programming-language" data-original-url="/development/programming-languages/357375/the-it-pro-podcast-picking-a-programming-language">The IT Pro Podcast: Picking a programming language</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/strategy/28181/what-is-ai" data-original-url="/strategy/28181/what-is-ai">What is AI?</a></p></div></div><p>The most interesting of the announcements was a Rosetta Stone-like service for programming code called '<a href="https://research.ibm.com/blog/codenet-ai-for-code?lnk=ushpv18re3" target="_blank">CodeNet</a>', which is an expansive dataset designed to teach AI and <a href="https://www.itpro.com/strategy/28071/what-is-machine-learning" target="_blank" data-original-url="https://www.itpro.com/strategy/28071/what-is-machine-learning">machine learning</a> systems how to translate code. It comprises some 14 million snippets and 500 million lines of code spread across more than 55 legacy and active languages, such as Cobol, Java, C++, and <a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer" target="_blank" data-original-url="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">Python</a>. The dataset is constructed in a way that allows for bidirectional translation, enabling Cobol legacy code to be translated into Java, for example. </p><p>"Given its wealth of programmes written in a multitude of languages, we believe Project CodeNet can serve as a benchmark dataset for source-to-source translation and do for AI and code what the ImageNet dataset did years ago for computer vision," the firm said. </p><p>AI featured heavily in the updates, with new features for Cloud Pak for Data, an SaaS integration platform called 'Watson Orchestrate', and a <a href="https://www.itpro.com/business-strategy/mergers-and-acquisitions/358671/ibm-watson-health-sale-rumour" target="_blank" data-original-url="https://www.itpro.com/business-strategy/mergers-and-acquisitions/358671/ibm-watson-health-sale-rumour">Watson Assistant</a> collaboration with healthcare providers handling increased workloads due to the pandemic. The tech giant also revealed 'Maximo Mobile', a mobile platform based on IBM's Maximo asset management service. </p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="J25mqBaRCYz3nhkyfHahge" name="J25mqBaRCYz3nhkyfHahge.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/J25mqBaRCYz3nhkyfHahge.jpg" mos="https://cdn.mos.cms.futurecdn.net/J25mqBaRCYz3nhkyfHahge.jpg" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Transforming business operations with AI, IoT data, and edge computing</strong></p><p class="fancy-box__body-text">A Pathfinder report on the ROI of AI, IoT, and edge computing</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/network-internet/internet-of-things-iot/359412/transforming-business-operations-with-ai-iot-data" data-original-url="/network-internet/internet-of-things-iot/359412/transforming-business-operations-with-ai-iot-data">FREE DOWNLOAD</a></p></div></div><p>The updates also included a new cloud migration service called 'Mono2Micro' that also uses AI to analyse large enterprise applications and provide recommendations on how to best adapt them for the move to the cloud. IBM said it can simplify and speed up an error-prone process, which can reduce costs and maximise returns on investment.</p><p>Beyond artificial intelligence, the announcements included a hybrid cloud-based financial services platform, built with Red Hat OpenShift. There was also a $1 billion investment to support IBM's partner ecosystem which includes skills training, and a streamlined service for quantum computing called Qiskit Runtime.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ IBM offers quantum industry’s first developer certification ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/infrastructure/network-internet/359084/ibm-offers-quantum-industrys-first-developer-certification</link>
                                                                            <description>
                            <![CDATA[ The company hopes this it help companies and research institutions get their workforce “quantum-ready" ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">4etqGnLkjg1p8gQ9mUKLuX</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/oYmeAPmXSAHkrYUjsiEsE3-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 31 Mar 2021 13:53:18 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Zach Marzouk ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/GFZtdGsYoXrkh3Jhj4ZKTc.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/oYmeAPmXSAHkrYUjsiEsE3-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Quantum Computing]]></media:description>                                                            <media:text><![CDATA[Quantum Computing]]></media:text>
                                <media:title type="plain"><![CDATA[Quantum Computing]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/oYmeAPmXSAHkrYUjsiEsE3-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>IBM is <a href="https://www.ibm.com/blogs/research/2021/03/quantum-developer-certification" target="_blank">offering the quantum industry</a>’s first developer certification in a bid to help workforces become “quantum-ready”.</p><p>Developers will have to display their knowledge of Qiskit, IBM’s open source quantum development kit, and answer 60 questions in <a href="https://www.ibm.com/certify/exam?id=C1000-112" target="_blank">the certification exam</a>.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/infrastructure/network-internet/358966/the-quantum-internet-is-on-its-way" data-original-url="/infrastructure/network-internet/358966/the-quantum-internet-is-on-its-way">The quantum internet is on its way</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/technology/357019/what-will-quantum-computing-mean-for-business" data-original-url="/technology/357019/what-will-quantum-computing-mean-for-business">What will quantum computing mean for business?</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/software/development/358518/ibm-announces-100x-faster-quantum-systems-by-the-end-of-2021" data-original-url="/software/development/358518/ibm-announces-100x-faster-quantum-systems-by-the-end-of-2021">IBM promises 100x faster quantum systems by the end of 2021</a></p></div></div><p><a href="https://www.itpro.com/software/development/358518/ibm-announces-100x-faster-quantum-systems-by-the-end-of-2021" target="_blank" data-original-url="https://www.itpro.com/software/development/358518/ibm-announces-100x-faster-quantum-systems-by-the-end-of-2021">IBM</a> hopes this will allow people from all development backgrounds to earn a certification in programming Qiskit, “allowing them to leverage their quantum coding skills into a potential opportunity in this exciting new workforce.”</p><p>Armed with the knowledge of how to use <a href="https://www.itpro.com/security/malware/358135/windows-trojan-steals-outlook-files-and-browser-credentials" target="_blank" data-original-url="https://www.itpro.com/security/malware/358135/windows-trojan-steals-outlook-files-and-browser-credentials">Python</a> and basic linear algebra, Qiskit allows users to programme quantum computing hardware. Since IBM launched it in 2017, thousands of users have developed applications, maintained and improved code and more.</p><p>Now, the company wants to “build a diverse, global, <a href="https://www.itpro.com/cloud/cloud-computing/359014/google-extends-cisco-networking-relationship-with-cloud-based-network" target="_blank" data-original-url="https://www.itpro.com/cloud/cloud-computing/359014/google-extends-cisco-networking-relationship-with-cloud-based-network">cloud-based</a> ecosystem of developers who can bring quantum computing skills to their own communities and industries.” It hopes that with this new certification, it will help companies and research institutions get their workforce “quantum-ready”.</p><div class="see-more see-more--clipped"><blockquote class="twitter-tweet hawk-ignore" data-lang="en"><p lang="en" dir="ltr"><a href="https://twitter.com/cantworkitout/status/1376623106513641476"></a></p></blockquote><div class="see-more__filter"></div></div><p>The certification takes the form of a 60 question exam offered on the Pearson VUE platform and those who pass it must demonstrate experience of using Qiskit to create and execute quantum computing programmes on IBM quantum computers and simulators. They must also display the ability to perform these tasks with little to no assistance from product documentation, support or peers.</p><p>IBM also hinted that this is the first of several in a series of new certifications. <a href="https://www.itpro.com/software/development/356827/how-to-become-a-developer-a-beginners-guide" target="_blank" data-original-url="https://www.itpro.com/software/development/356827/how-to-become-a-developer-a-beginners-guide">Upcoming certifications</a> are said to tap into the skills displayed in this newly released certification to demonstrate familiarity with building quantum computing applications to solve problems in optimization, chemistry and finance.”</p><p>Earlier this month, IBM <a href="https://www.itpro.com/cloud/hybrid-cloud/359011/ibm-targets-hybrid-cloud-environments-with-expanded-security-services-for" target="_blank" data-original-url="https://www.itpro.com/cloud/hybrid-cloud/359011/ibm-targets-hybrid-cloud-environments-with-expanded-security-services-for">unveiled a range of new and enhanced services</a> to help organisations manage their cloud security strategy and controls for hybrid cloud environments. These would be available on the IBM Security Services for Cloud and help enterprises to adopt a consistent and unified security approach across IBM.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Python founder Guido van Rossum joins Microsoft ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming-languages/357762/python-founder-guido-van-rossum-joins-microsoft</link>
                                                                            <description>
                            <![CDATA[ He joins the firm’s Developer Division as Python breaks into the top two most popular languages for the first time ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2gseMLdA4T2bv1UcNgqAqF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2FNkHdCcuYugBZewXEooP7-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 13 Nov 2020 10:27:27 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Windows]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                    <category><![CDATA[Microsoft]]></category>
                                                                                                                    <dc:creator><![CDATA[ Keumars Afifi-Sabet ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/EAvwpZggMZ2K5h8s2pTAEm.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/2FNkHdCcuYugBZewXEooP7-1280-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Image of Guido van Rossum]]></media:description>                                                            <media:text><![CDATA[Image of Guido van Rossum]]></media:text>
                                <media:title type="plain"><![CDATA[Image of Guido van Rossum]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2FNkHdCcuYugBZewXEooP7-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Renowned programmer and founder of the Python programming language, Guido van Rossum, has come out of retirement to join Microsoft’s development team.</p><p>More than a year after announcing his retirement, van Rossum has decided to take up a role with the company’s ‘Development Division’, with a view to making Python generally better to use, and not just for Windows 10.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/356457/the-ultimate-guide-to-becoming-a-programmer" data-original-url="/business-strategy/careers-training/356457/the-ultimate-guide-to-becoming-a-programmer">The ultimate guide to becoming a programmer</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/development/programming-languages/357375/the-it-pro-podcast-picking-a-programming-language" data-original-url="/development/programming-languages/357375/the-it-pro-podcast-picking-a-programming-language">The IT Pro Podcast: Picking a programming language</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/programming-languages/30352/coders-are-shifting-to-silicon-valley-backed-programming-languages" data-original-url="/programming-languages/30352/coders-are-shifting-to-silicon-valley-backed-programming-languages">Coders are shifting to Silicon Valley-backed programming languages</a></p></div></div><p>The Python creator left Dropbox in October 2019, having worked at the company for almost seven years, making contributions to Python at Dropbox but also exerting major influence over the company's engineering culture, and staff. Prior to this, van Rossum developed software for Google.</p><p>Few details have been disclosed about the nature of van Rossum’s role, although it’s expected his presence will continue to influence Microsoft’s deepening integration with Python. Van Rossum also hinted at “lots of <a href="https://www.itpro.com/software/28109/what-is-open-source" target="_blank" data-original-url="https://www.itpro.com/software/28109/what-is-open-source">open source</a>” when it comes to his duties.</p><div class="see-more see-more--clipped"><blockquote class="twitter-tweet hawk-ignore" data-lang="en"><p lang="en" dir="ltr"><a href="https://twitter.com/cantworkitout/status/1326932991566700549"></a></p></blockquote><div class="see-more__filter"></div></div><p>His latest move coincides with the Python language flying past Java to break into the top-two most popular programming languages for the first time, according to the <a href="https://www.tiobe.com/tiobe-index" target="_blank">TIOBE index</a>.</p><p><a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer" target="_blank" data-original-url="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">Python ranked second</a> in the latest monthly rankings for the first time in the index’s 20-year history, with C still the most popular language. C and Java have traditionally been the most prevalent languages among developers up to this point.</p><p>The TIOBE index is updated once a month, and ratings are based on the number of skilled engineers worldwide, courses and third-party vendors. Popular search engines are used to calculate the ratings. C scored 16.2%, followed by Python on 12.1% and Java on 11.7%.</p><p>Supplementary research has reinforced this point, with <a href="https://www.itpro.com/development/33421/python-is-now-more-popular-than-java-among-developers" data-original-url="https://www.itpro.com/development/33421/python-is-now-more-popular-than-java-among-developers">Stack Overflow reporting</a> separately last year that Python and Typescript were the joint-second most popular languages among developers. In this study, Javascript was found to be the most popular language.</p><p>Python’s relative simplicity against other languages makes it a <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">highly accessible language</a> for developers, including people who want to get to grips with the fundamentals of coding.</p><p><em><a href="https://en.wikipedia.org/wiki/Guido_van_Rossum#/media/File:Guido-portrait-2014-drc.jpg">Photo</a> by Daniel Stroud / CC 4.0 International</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The IT Pro Podcast: Picking a programming language ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming-languages/357375/the-it-pro-podcast-picking-a-programming-language</link>
                                                                            <description>
                            <![CDATA[ With so many options, which languages should aspiring coders focus on? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">erDfanq7ZcgQkC5znaoj36</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/6g5aj2BuPqRNeBc3yfCA5T-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 09 Oct 2020 06:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ IT Pro ]]></dc:creator>                                                                                    <dc:source><![CDATA[ null ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/6g5aj2BuPqRNeBc3yfCA5T-1280-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Title card: Picking a programming language]]></media:description>                                                            <media:text><![CDATA[Title card: Picking a programming language]]></media:text>
                                <media:title type="plain"><![CDATA[Title card: Picking a programming language]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/6g5aj2BuPqRNeBc3yfCA5T-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>As tech continues to dominate our lives, more and more people are looking to software development as a career choice, and an increasing number are entering the workforce as self-taught coders. Tools like Codecademy and FreeCodeCamp have allowed more people than ever to pick up skills in JavaScript and Python, as well as more esoteric languages like C++, Ruby and R.</p><p>But with so many different flavours to choose from, how can aspiring coders identify which programming languages are worth their time to learn? In this week’s episode, we talk to Jess Cregg, a self-taught developer who has gone from working in comms to being an associate solutions engineer at Twilio, to find out how she made the jump, and what languages prospective devs should start off with.</p><iframe allow="encrypted-media" frameborder="0" height="" width="100%" data-lazy-priority="low" data-lazy-src="https://open.spotify.com/embed-podcast/episode/63BVgzWgs8xyaI0GZbeceH"></iframe><h2 id="footnotes">Footnotes</h2><ul><li><a href="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it" data-original-url="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it">What is JavaScript and why should I learn it?</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/356608/how-to-become-a-senior-javascript-developer" data-original-url="https://www.itpro.com/business-strategy/careers-training/356608/how-to-become-a-senior-javascript-developer">How to become a senior JavaScript developer</a></li><li><a href="https://www.itpro.com/development/32886/what-is-typescript" data-original-url="https://www.itpro.com/development/32886/what-is-typescript">What is TypeScript?</a></li><li><a href="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses" data-original-url="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses">Learn to code for free: The best UK coding and app development courses</a></li><li><a href="https://www.itpro.com/development/programming-languages/354657/uk-developers-are-most-contented-in-the-world-finds-report" data-original-url="https://www.itpro.com/development/programming-languages/354657/uk-developers-are-most-contented-in-the-world-finds-report">UK developers are most contented in the world, finds report</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer" data-original-url="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">How to become a Python developer</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/356236/can-i-become-a-coder" data-original-url="https://www.itpro.com/business-strategy/careers-training/356236/can-i-become-a-coder">Can I become a coder?</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/357247/should-you-learn-to-code" data-original-url="https://www.itpro.com/business-strategy/careers-training/357247/should-you-learn-to-code">Should you learn to code?</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/356515/how-to-become-a-computer-programmer-without-a-degree" data-original-url="https://www.itpro.com/business-strategy/careers-training/356515/how-to-become-a-computer-programmer-without-a-degree">How to become a computer programmer without a degree</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/354859/taking-the-road-less-travelled-to-a-career-in-it" data-original-url="https://www.itpro.com/business-strategy/careers-training/354859/taking-the-road-less-travelled-to-a-career-in-it">Taking the road less travelled to a career in IT</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/356457/the-ultimate-guide-to-becoming-a-programmer" data-original-url="https://www.itpro.com/business-strategy/careers-training/356457/the-ultimate-guide-to-becoming-a-programmer">The ultimate guide to becoming a programmer</a></li><li><a href="https://www.itpro.com/development/programming/356430/whatever-happened-to-the-1980s-coding-heroes" data-original-url="https://www.itpro.com/development/programming/356430/whatever-happened-to-the-1980s-coding-heroes">Whatever happened to the 1980s coding heroes?</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/355501/the-it-pro-podcast-why-cool-kids-code-with-cobol" data-original-url="https://www.itpro.com/business-strategy/careers-training/355501/the-it-pro-podcast-why-cool-kids-code-with-cobol">The IT Pro Podcast: Why cool kids code with COBOL</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/356944/it-pro-2020-the-learning-revolution-starts-now" data-original-url="https://www.itpro.com/business-strategy/careers-training/356944/it-pro-2020-the-learning-revolution-starts-now">IT Pro 20/20: The learning revolution starts now</a></li><li>Is there still an app for that?</li><li><a href="https://www.freecodecamp.org">FreeCodeCamp.org</a></li><li><a href="https://www.codecademy.com">Codecademy</a></li><li><a href="https://codebar.io">Codebar.io</a></li></ul><h3 class="article-body__section" id="section-subscribe"><span>Subscribe</span></h3><ul><li><a href="https://podcasts.apple.com/gb/podcast/the-itpro-podcast/id1483810154">Subscribe to The IT Pro Podcast on Apple Podcasts</a></li><li><a href="https://podcasts.google.com/?feed=aHR0cHM6Ly9pdHByb3BvZGNhc3QubGlic3luLmNvbS9yc3M">Subscribe to The IT Pro Podcast on Google Podcasts</a></li><li><a href="https://open.spotify.com/show/7HpYehTy752KmtbwpOAgRZ">Subscribe to The IT Pro Podcast on Spotify</a></li><li><a href="https://www.itpro.com/newsletter-signup" data-original-url="https://www.itpro.com/newsletter-signup">Subscribe to the IT Pro newsletter</a></li><li><a href="https://www.itpro.com/business-strategy/smb/356631/it-pro-2020-starting-afresh" data-original-url="https://www.itpro.com/business-strategy/smb/356631/it-pro-2020-starting-afresh">Subscribe to IT Pro 20/20</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Tech leaders share how to break into the tech industry ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/business-strategy/careers-training/356531/tech-leaders-share-how-to-break-into-the-tech-industry</link>
                                                                            <description>
                            <![CDATA[ “You have to feel like a true member of the IT world before you actually become a member" ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">x4YqcohCskQawfuUo8h1xd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/nkic6k2zdP4YfEiHo9q5x6-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 21 Jul 2020 17:05:03 +0000</pubDate>                                                                                                                                <updated>Thu, 14 Apr 2022 16:18:03 +0000</updated>
                                                                                                                                            <category><![CDATA[Careers and Training]]></category>
                                                    <category><![CDATA[Business]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sarah Brennan ]]></dc:creator>                                                                                    <dc:source><![CDATA[ null ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/nkic6k2zdP4YfEiHo9q5x6-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Software engineer examining code from a software]]></media:description>                                                            <media:text><![CDATA[Software engineer examining code from a software]]></media:text>
                                <media:title type="plain"><![CDATA[Software engineer examining code from a software]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/nkic6k2zdP4YfEiHo9q5x6-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Before taking the leap into the wild world of <a href="https://www.itpro.com/business-strategy/careers-training/355028/5-best-entry-level-tech-jobs" data-original-url="https://www.itpro.com/business-strategy/careers-training/355028/5-best-entry-level-tech-jobs">tech careers</a>, you must first ask yourself what's your goal of working in tech and why you want to be a part of it. Did a particular type of technology pique your interest, or is it just the entire tech field that excites you? </p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/199671/pay-falling-for-entry-level-it-jobs" data-original-url="/199671/pay-falling-for-entry-level-it-jobs">Pay falling for entry-level IT jobs</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/192513/finance-it-jobs-jump-despite-worries" data-original-url="/192513/finance-it-jobs-jump-despite-worries">Finance IT jobs jump despite worries</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/126299/offshoring-hits-mid-value-it-jobs" data-original-url="/126299/offshoring-hits-mid-value-it-jobs">Offshoring hits mid-value IT jobs</a></p></div></div><p>For Liz Beavers, senior sales engineer ITSM at SolarWinds, starting a new tech career meant leaving behind her old public relations job. Once she saw all the <a href="https://www.itpro.com/business-strategy/careers-training/355967/14-best-job-boards-for-tech" data-original-url="https://www.itpro.com/business-strategy/careers-training/355967/14-best-job-boards-for-tech">job opportunities</a> in tech, Beavers saw it fit to get to work honing her technical know-how and work toward becoming a sales engineer.</p><p>“Over time, I found that I was hungry to learn more about the technology, pushing the boundaries past the ‘norm’ of what our product supported and that I truly enjoyed solving problems,” Beavers shared. “This led me to take the next step in technology as a sales engineer. As a sales engineer, I was challenged to understand the intricacies not only of our platform but of the IT world and with that came the opportunity for certifications, like <a href="https://www.itpro.com/strategy/29244/what-is-the-itil-certification-and-why-do-you-need-it" target="_blank" data-original-url="https://www.itpro.com/strategy/29244/what-is-the-itil-certification-and-why-do-you-need-it">ITIL 4</a>.”</p><p>The tech industry offers many career seekers a virtually limitless supply of career opportunities. If you're already interested in the tech industry or considering switching to tech from another field, you must understand it takes time, dedication, and a commitment to always learning and growing to be successful.</p><h2 id="facts-about-working-in-the-tech-industry">Facts about working in the tech industry:</h2><ul><li>In May 2020, the <a href="https://www.bls.gov/ooh/computer-and-information-technology/home.htm">median annual wage</a> for careers in computer and IT occupations was $91,250.</li><li>Job opportunities in the tech industry are projected to grow 13% by 2030, much faster than the average for all occupations.</li><li>There's projected to be <a href="https://www.cyberstates.org" target="_blank">178,00 new tech</a> jobs in 2022.</li><li>In 2022, there were 3.6 million job postings in tech.</li></ul><h2 id="breaking-into-tech-means-embracing-constant-learning">Breaking into tech means embracing constant learning </h2><p>Those wanting to get into the technology industry need to start thinking of themselves as constantly learning and developing, according to Nikola Baldikov, Brosix’s digital marketing manager.</p><p>The good news is that there are hundreds of different ways you can study and fine tune your IT abilities. You might go to university and earn a bachelor degree in <a href="https://www.itpro.com/business-strategy/careers-training/354847/is-a-degree-still-necessary-to-get-ahead-in-it" data-original-url="https://www.itpro.com/business-strategy/careers-training/354847/is-a-degree-still-necessary-to-get-ahead-in-it">computer science</a> or even find a suitable <a href="https://www.itpro.com/business-strategy/careers-training/355972/it-training-courses-and-where-to-find-them" target="_blank" data-original-url="https://www.itpro.com/business-strategy/careers-training/355972/it-training-courses-and-where-to-find-them">certification online</a>. There are plenty of different routes to pursue to build up your tech skills and work as an IT professional.</p><p>First, you need to become an expert in an industry niche that you have an interest in. A good place to start is trawling job boards to see which certifications are popular and investigating which are worth the time and expense to acquire them, says Jennifer Curry, product and technology SVP at INAP, an IT infrastructure solutions provider.</p><p>Curry also encourages fine tuning your soft skills, especially if you’re interested in climbing the rungs of the corporate ladder. “The ability to translate business goals into technical reality will keep you highly sought after for the rest of your career,” Curry says.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/358100/best-data-science-boot-camps" data-original-url="/business-strategy/careers-training/358100/best-data-science-boot-camps">Top data science bootcamps for 2023</a></p></div></div><p>Safwaan Rahman, a talent acquisition manager at the DMW Group, believes that, like Curry, if you work in the tech industry you should try to get certified in a field that interests you.</p><p>“Certifications are worth it,” said Rahman. “They really help you move into an area if you lack the experience to show credibility in understanding a particular field. If I see someone who holds CISSP for example, I am comfortable they know Information Security in depth even if their CV is focused in other areas. If you're looking to start a career in cloud, a cloud certification is the best way to help you on that journey.”</p><p>Although a <a href="https://www.itpro.com/business-strategy/careers-training/354947/best-it-certifications-for-beginners" target="_blank" data-original-url="https://www.itpro.com/business-strategy/careers-training/354947/best-it-certifications-for-beginners">certification</a> <a href="https://www.itpro.com/business-strategy/careers-training/354947/best-it-certifications-for-beginners" data-original-url="https://www.itpro.com/business-strategy/careers-training/354947/best-it-certifications-for-beginners">can add more to your portfolio</a>, and demonstrate you know what you’re talking about, don’t expect them to be a golden ticket into the industry. Carlene Jackson, Cloud9 Insight’s CEO, believes that the industry is welcoming to newcomers and certificates are useful for establishing a strong bedrock of your tech knowledge. Those with a hunger to learn new things will be the ones who are the most successful, she thinks.</p><h2 id="landing-a-job-in-the-tech-industry">Landing a job in the tech industry</h2><p>If you’ve ever had to search <a href="https://www.itpro.com/business-strategy/careers-training/359789/best-paying-tech-jobs" target="_blank" data-original-url="https://www.itpro.com/business-strategy/careers-training/359789/best-paying-tech-jobs">for a new job</a>, you probably know that hunting for one can be a long, challenging, journey. It takes a lot of effort and energy to find a job in tech, especially considering the amount of job boards you have to trawl through or networking events you have to take part in.</p><p>It’s important for jobseekers to start their search by ensuring they have a firm commitment and interest to the tech industry itself, says Uliana Lysunets, recruiter and HR manager at KeenEthics. “You have to feel like a true member of the IT world before you actually become a member,” says Lysunets.</p><p>To accomplish such a feeling, Lysunets tells aspiring tech workers to subscribe to tech blogs and newsletters, listen to IT podcasts and follow industry headliners and leaders of thought. Lysunets encourages applicants to work on developing their personal brands too.</p><p>“The <a href="https://www.itpro.com/business-strategy/careers-training/356336/how-to-get-into-the-tech-industry" target="_blank" data-original-url="https://www.itpro.com/business-strategy/careers-training/356336/how-to-get-into-the-tech-industry">IT market</a> is oversaturated, so recruiters look for unique people. You should have your own opinion, practice critical thinking, do not follow the crowd,” says Lysunets. “Try developing your personal brand, for example, by writing a blog on Medium, recording podcasts, or speaking at community events."</p><p>Riseapps CEO, Vladlen Shulepov, encourages tech hopefuls to consider using an internship or apprenticeship as a stepping stone into the tech industry. Petra Odak, CMO at Better Proposals echoed this sentiment, adding that you should find companies that reflect your area of interest and share why you want to get started with that specific company when applying.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Y6U4m3DJfgTeN7ZmUG45oY" name="Y6U4m3DJfgTeN7ZmUG45oY.png" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Y6U4m3DJfgTeN7ZmUG45oY.png" mos="https://cdn.mos.cms.futurecdn.net/Y6U4m3DJfgTeN7ZmUG45oY.png" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Gamification for accelerated EdTech growth</strong></p><p class="fancy-box__body-text">Transitioning online education environments with game-based learning</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/education/367509/gamification-for-accelerated-edtech-growth" data-original-url="/business-strategy/education/367509/gamification-for-accelerated-edtech-growth">FREE DOWNLOAD</a></p></div></div><p>Don’t discount the benefits of networking events. While many people shy away from these events, connecting with others in the tech industry can be extremely valuable. Not only will it help you meet others in your field of interest, but it can also lead you to new job opportunities.</p><p>“Networking can be a little daunting when you aren’t already in the industry, but it’s something that can really help you get noticed,” says Carla Diaz, co-founder of Broadband Search. </p><p>Of course, <a href="https://www.itpro.com/business-strategy/careers-training/355967/14-best-job-boards-for-tech" data-original-url="https://www.itpro.com/business-strategy/careers-training/355967/14-best-job-boards-for-tech">job boards</a> will always be one of the most useful resources you’ll have at your disposal when applying for a tech job. From national sites like Indeed to more niche boards like DataJobs, job boards are an excellent tool and can be a great way to find your first tech job.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google VP withdraws from Black Hat over 'harmful' name ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming-languages/356351/black-hat-urged-to-change-name-following-resignation-of</link>
                                                                            <description>
                            <![CDATA[ David Kleidermacher announced that he would no longer be speaking at virtual Black Hat USA conference ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">fku1meLDtrwR5nHedYmdux</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/cRCmj2pB8NpGuYsXxFKLWo-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 06 Jul 2020 09:48:16 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sabina Weston ]]></dc:creator>                                                                                    <dc:source><![CDATA[ null ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/cRCmj2pB8NpGuYsXxFKLWo-1280-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A graphic displaying an ethical hacker]]></media:description>                                                            <media:text><![CDATA[A graphic displaying an ethical hacker]]></media:text>
                                <media:title type="plain"><![CDATA[A graphic displaying an ethical hacker]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/cRCmj2pB8NpGuYsXxFKLWo-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Cyber security conference organiser Black Hat is being urged to change its name after a Google’s VP withdrew from the upcoming Black Hat USA virtual conference. </p><p>David Kleidermacher, who is VP of Android security and privacy at Google, announced would no longer be attending the event <a href="https://twitter.com/DaveKSecure/status/1279194355585085440">on Twitter</a> on Friday, saying that “society needs to change - now - how it talks and acts, in support of racial justice and equity”.</p><p>‘Black hat’ is a computer security term which refers to a malicious actor who participates in cyber crime for personal gain.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/marketing-comms/social-media/356214/twitter-restricts-president-trumps-tweet-for-abusive-behavior" data-original-url="/marketing-comms/social-media/356214/twitter-restricts-president-trumps-tweet-for-abusive-behavior">Twitter restricts President Trump's tweet for "abusive behavior"</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/security/distributed-denial-of-service-ddos/355913/george-floyd-murder-cyber-attacks-on-anti-racism" data-original-url="/security/distributed-denial-of-service-ddos/355913/george-floyd-murder-cyber-attacks-on-anti-racism">Cyber attacks on anti-racism advocacy groups escalate amid protests</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/software/development/356065/github-to-retire-master-label-to-erase-slavery-connotations" data-original-url="/software/development/356065/github-to-retire-master-label-to-erase-slavery-connotations">GitHub to retire 'master' label to erase slavery connotations</a></p></div></div><p>Kleidermacher’s statement was met with backlash from numerous <a href="https://www.itpro.com/tag/twitter" data-original-url="https://www.itpro.com/search/twitter">Twitter</a> users who refuted the term’s racial connotations and argued that the term originated from classic Western movies, where lawful cowboys wore white hats while their ‘bad’ counterparts donned black.</p><p>The Google engineer reiterated that “the need for language change has nothing to do with the origins of the term black hat in infosec[urity]”. </p><p>“Those who focus on that are missing the point. Black hat / white hat and blacklist / whitelist perpetuate harmful associations of black=bad, white=good,” he added. </p><p>“Language change is not 'the answer', it’s but one (small) part of the fight against racial, ethnic, and other injustice and inequity that has a many important battlefields. The fact that we’re having this conversation, even with inevitable twitter trolling, is a win.”</p><p>Information security expert Brian Anderson agreed with Kleidermacher’s opinion, adding that Black Hat events lack minority representation.</p><p>“Black people have struggled for lifetimes with negative imagery associated with blackness. The studies are clear that children see goodness and beauty in whiteness, ugliness and bad in black. MY children have to deal with this just like our parents did before us. That is harm,” he <a href="https://twitter.com/btanderson72/status/1279507434625806343">tweeted</a>.</p><div class="see-more see-more--clipped"><blockquote class="twitter-tweet hawk-ignore" data-lang="en"><p lang="en" dir="ltr"><a href="https://twitter.com/cantworkitout/status/1279507437486211072"></a></p></blockquote><div class="see-more__filter"></div></div><p>Anderson added that the high cost of attending the Black Hat events is “prohibitive for a lot of minorities”. The price of admission for one person for the US event in August starts at $2295 (£1836).</p><p><em>IT Pro</em> reached out to Black Hat to ask whether any other speakers had withdrawn their attendance following Kleidermacher’s decision, but the organisation has yet to response. The Black Hat US event is set to take place virtually on 1-6 August.</p><p>Last week, Twitter <a href="https://www.itpro.com/development/programming-languages/356343/twitter-becomes-the-latest-firm-to-ditch-racial-codding" data-original-url="https://www.itpro.com/development/programming-languages/356343/twitter-becomes-the-latest-firm-to-ditch-racial-codding">decided to drop the terms</a> "master", "slave" and "blacklist" in favour of more inclusive language in its programming. The social media site is following in the steps of a number of <a href="https://www.itpro.com/software/development/356065/github-to-retire-master-label-to-erase-slavery-connotations" data-original-url="https://www.itpro.com/software/development/356065/github-to-retire-master-label-to-erase-slavery-connotations">tech firms that have already pledged to ditch the terms</a> in light of the black lives matter protests.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Twitter becomes the latest firm to ditch problematic coding terms ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming-languages/356343/twitter-becomes-the-latest-firm-to-ditch-racial-codding</link>
                                                                            <description>
                            <![CDATA[ Dismantling structural racism 'will take more than just a couple of cosmetic code changes', warns Scale Factory CEO ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ryHHCS1fYpwJBbaQXKoQrs</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/w9RC6CMxQY99Nu84aPDfWN-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 03 Jul 2020 11:06:04 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Bobby Hellard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/bsR2tHSyVKUoyXZF5pNsDA.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/w9RC6CMxQY99Nu84aPDfWN-1280-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                        <media:description><![CDATA[Master and slave on component ]]></media:description>                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/w9RC6CMxQY99Nu84aPDfWN-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Twitter is dropping the terms "master", "slave" and "blacklist" in favour of more inclusive language in its programming. </p><p>The social media site is following in the steps of a number of <a href="https://www.itpro.com/software/development/356065/github-to-retire-master-label-to-erase-slavery-connotations" target="_blank" data-original-url="https://www.itpro.com/software/development/356065/github-to-retire-master-label-to-erase-slavery-connotations">tech firms that have already pledged to ditch the terms</a> in light of the black lives matter protests.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/software/development/356065/github-to-retire-master-label-to-erase-slavery-connotations" data-original-url="/software/development/356065/github-to-retire-master-label-to-erase-slavery-connotations">GitHub to retire 'master' label to erase slavery connotations</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/143703/in-house-coding-is-banks-own-worst-enemy" data-original-url="/143703/in-house-coding-is-banks-own-worst-enemy">In-house coding is banks' own worst enemy</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/staffing/20806/zuckerberg-and-gates-join-forces-teach-kids-coding-skills" data-original-url="/staffing/20806/zuckerberg-and-gates-join-forces-teach-kids-coding-skills">Zuckerberg and Gates join forces to teach kids coding skills</a></p></div></div><p>The terms are very common in programming, with "master" referring to the main version of code that often controls other "slave" protocols. "Blacklist" is a label for items that are automatically denied or for forbidden websites. These were included in a set of words posted by Twitter's engineering division that it will remove on the recommendation of two of its black engineers, <a href="https://twitter.com/negroprogrammer/status/1278728952522043393?s=20" target="_blank">Regynald Augustin</a> and Kevin Oliver.</p><p>DevOps specialist The Scale Factory removed references to master and slave in its code a few years ago. The company's <a href="https://www.itpro.com/strategy/28224/ceo-job-description-what-does-a-ceo-do" target="_blank" data-original-url="https://www.itpro.com/strategy/28224/ceo-job-description-what-does-a-ceo-do">CEO</a> and <a href="https://www.itpro.com/strategy/28237/cto-job-description-what-does-a-cto-do" target="_blank" data-original-url="https://www.itpro.com/strategy/28237/cto-job-description-what-does-a-cto-do">CTO</a> Jon Topper told <em>IT Pro</em> that it was fairly straightforward to change the names of variables and methods in its own code and configuration files, but it wasn't possible to entirely remove this language.</p><p>"If you're working with MySQL replication, for example, that software itself uses master/slave terminology and so it has to appear in your code too," Topper said. "Renaming Git branches from "master" to "main" is similarly straightforward, though might require changes to CI servers and other systems you work with.</p><p>"The real question here is whether, as an organisation, you're also working on the human side of the problem. Dismantling structural racism in our organisations will take more than just a couple of cosmetic code changes... I've heard black voices say that it's good to challenge our use of this language in tech, but way more that say this isn't enough on its own. We all need to do better."</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DknAMezpKiPToSv5a2v3UH" name="DknAMezpKiPToSv5a2v3UH.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/DknAMezpKiPToSv5a2v3UH.jpg" mos="https://cdn.mos.cms.futurecdn.net/DknAMezpKiPToSv5a2v3UH.jpg" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Your comprehensive guide to low-code</strong></p><p class="fancy-box__body-text">The missing component of your digital strategy - for developers and CIOs alike</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/development/software-development/355431/your-comprehensive-guide-to-low-code" data-original-url="/development/software-development/355431/your-comprehensive-guide-to-low-code">FREE DOWNLOAD</a></p></div></div><p>There have been calls within the tech industry to drop the terms long before the death of George Floyd and the black lives matter protests. In 2018, Red Hat programmer Victor Stinner issued a <a href="https://bugs.python.org/issue34605" target="_blank">change request</a> for avoiding the terminology in Python, which is often thought of as one of the world's most popular programming languages.</p><p>"For diversity reasons, it would be nice to try to avoid 'master' and 'slave' terminology, which can be associated with slavery," he wrote, also citing a number of complaints in the thread.</p><p>Despite a heated debate breaking out, with some Python developers suggesting that only "slave" should be removed because they didn't deem "master" an offensive term, Stinner's request was upheld. "Slaves" was subsequently changed to "workers" or "helpers", while "master process" was changed to "parent process".</p><p><em>CNN</em> <a href="https://edition.cnn.com/2003/TECH/ptech/11/26/master.term.reut" target="_blank">reported</a> back in 2003 about a discrimination complaint concerning the use of the words "master" and "slave" on a videotape machine in Los Angeles. The complaint led to a request from County officials for electronics manufacturers to remove the terms from their products when doing business in the county.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Can I become a coder? ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/business-strategy/careers-training/356236/can-i-become-a-coder</link>
                                                                            <description>
                            <![CDATA[ Our fortysomething writer rekindles his childhood passion for coding – but can he teach himself Python from scratch? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">d1WuReCqitHwgaiVPEqAjh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/JbZLgWzYghc2NfZARMhNLK-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 27 Jun 2020 05:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Careers and Training]]></category>
                                                    <category><![CDATA[Business]]></category>
                                                                                                                    <dc:creator><![CDATA[ Barry Collins ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/rEikKDC5HC7utg9M3KmDc6.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/JbZLgWzYghc2NfZARMhNLK-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                        <media:description><![CDATA[A man coding]]></media:description>                                                            <media:text><![CDATA[Man writing code on a laptop]]></media:text>
                                <media:title type="plain"><![CDATA[Man writing code on a laptop]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/JbZLgWzYghc2NfZARMhNLK-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It worked. I couldn’t believe it, but it actually worked.</p><p>Stephen French and I had just spent all afternoon tapping code from a textbook into our computers – me into my Commodore 64, him into his Spectrum. It was probably no more than 20 lines of BASIC code, but once we’d typed it all out, run it, fixed the inevitable typos, finally got it to work and then saved it to tape, it had taken us all afternoon. </p><p>Being good programmers, we tested the code. He slipped a note through my letterbox, I ran upstairs, loaded my program and typed in the cryptic, handwritten jumble of letters. “Meet you at my house after The A-Team,” Frenchy’s message read, having been decoded by the Commodore 64. We were officially spies.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/355972/it-training-courses-and-where-to-find-them" data-original-url="/business-strategy/careers-training/355972/it-training-courses-and-where-to-find-them">IT training courses and where to find them</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/development/33421/python-is-now-more-popular-than-java-among-developers" data-original-url="/development/33421/python-is-now-more-popular-than-java-among-developers">Python is now more popular than Java among developers</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses" data-original-url="/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses">Learn to code for free: The UK's best coding and app development courses</a></p></div></div><p>Admittedly, this basic, schoolboy encryption was some way short of 256-bit AES. I suspect the program merely substituted one letter of the alphabet for another, a code that – had we given it ten minutes and a Biro – even the cat would have cracked. But it was my first step into programming, getting a computer to do something other than play games, and I remember it like it was yesterday. </p><p>My next step came some 35 years later. Earlier this year, in fact, when I decided I wanted to <a href="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses" target="_blank" data-original-url="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses">teach myself how to code</a> something more sophisticated than a primitive encryption system. I’ve dabbled with HTML over the years, can look at JavaScript and get a rough idea of what’s going on, but for one reason or another I’d never formally sat down and tried to learn a programming language since the days a crack commando unit was sent to prison for a crime they didn’t commit.</p><p>I settled on <a href="https://www.itpro.com/development/33421/python-is-now-more-popular-than-java-among-developers" target="_blank" data-original-url="https://www.itpro.com/development/33421/python-is-now-more-popular-than-java-among-developers">Python</a>, the language that consistently appeared in all of the “10 programming languages you should learn NOW” articles I could find online. There was no shortage of books, online courses and apps willing to teach me. But could I actually do it? Could I reach a point where I could code something useful without setting foot in a classroom or lecture hall? I could, and here’s how.</p><h3 class="article-body__section" id="section-hitting-the-books"><span>Hitting the books</span></h3><p>I’m a bit old school. I learnt most things from textbooks and good teachers, and it was a book that gave me the gentle shove I had been waiting for. To be precise, when Learn Python In One Day and Learn It Well appeared in the Amazon Prime Reading catalogue.</p><p>I’m immediately suspicious of any get-rich-quick-type title such as Learn Python In One Day. Nobody learns a computing language in a day, even if you had time to read all ten chapters and digest them. Nonetheless, I recognise we’re living in the age of clickbait and this kind of title helps shift books. And from skimming the first few pages of the book on my Kindle, it didn’t seem anywhere near as trashy as the title suggested.</p><p>However, a couple of chapters in and, having got my head around basic Python syntax, variables and lists, I wanted to put what I’d learned into practice with a few practical exercises. But this book didn’t seem interested in that, being more of a whistle-stop tour of the main Python commands and procedures.</p><p>I’m not knocking the book – it will stay on my Kindle and I’m sure will come in handy for reference as I progress – but it wouldn’t teach me how to code, let alone in a day. I needed something more structured, something that’s going to hold my hand as we shuffle into the complex stuff.</p><h3 class="article-body__section" id="section-the-online-classroom"><span>The online classroom</span></h3><p>I decided an online course might be the best way forward, but where to start? There are so many online Python courses that you could spend a year just shortlisting them.</p><p>A number of forums had mentioned Microsoft’s free Python For Beginners course. It comprises 44 videos, co-hosted by a chap who sounds scarily like Kermit the Frog, and an interactive online course to go with it. That very much ticked the box of writing code as I learned, which is what I wasn’t getting from the book.</p><p>I watched the first ten or so videos, and although they were a little rudimentary to start with (if you need to be taught how to install apps on a PC, I’m not sure coding is for you yet), they gathered pace and I could follow along comfortably.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DknAMezpKiPToSv5a2v3UH" name="DknAMezpKiPToSv5a2v3UH.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/DknAMezpKiPToSv5a2v3UH.jpg" mos="https://cdn.mos.cms.futurecdn.net/DknAMezpKiPToSv5a2v3UH.jpg" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Your comprehensive guide to low-code</strong></p><p class="fancy-box__body-text">The missing component of your digital strategy - for developers and CIOs alike</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/development/software-development/355431/your-comprehensive-guide-to-low-code" data-original-url="/development/software-development/355431/your-comprehensive-guide-to-low-code">FREE DOWNLOAD</a></p></div></div><p>What put me off was the online tutorials. For example, in one you’re asked to write the code for a basic calculator – but all the examples of the code you need are on the previous page. When you flick back to see the code, you lose everything in the browser-based sandbox where you enter the code to the right. It didn’t like it when I had two tabs open at the same time, either.</p><p>Maybe I should have memorised the code from the previous page – it wasn’t blisteringly difficult after all. But I’m the kind of guy who works best with examples open in front of me as I type. And if I was stumbling on these basic tasks, I couldn’t see it getting better as the stuff got more complex. I needed another approach.</p><h3 class="article-body__section" id="section-the-best-of-both-worlds"><span>The best of both worlds?</span></h3><p>In the end, I decided to go for a best of both worlds approach. After blowing out midway through the Microsoft course, I read a news story that Google was running a new online Python course for beginners via Coursera. That piqued my interest, not least because the last certificate I had earned was my Cycling Proficiency.</p><p>On a serious note, it seemed like that certificate could actually lead to gainful employment opportunities, but when I looked at the course syllabus my enthusiasm waned. It was largely pitched at people who wanted to use Python to administer IT networks and that’s not my bag.</p><p>However, elsewhere on Coursera, I came across Python for Everybody. This is a course delivered by the University of Michigan’s Dr Charles Severance and – handily for textbook-loving me – he’s written a book of the same title to accompany the course (or the other way round, I’m not sure which is the chicken and which is the egg).</p><p>That instantly appealed to me, as I could have the textbook open next to me on my tablet as I watched course tutorials or took on coding exercises myself. Better still, that book is free from the Python For Everybody website or only 99p to download on Amazon Kindle, which is a small price worth paying for not having to deal with the messy way Kindles handle PDFs.</p><p>The Coursera course is broken down into a series of “weeks”, with assignments to be carried out at the end of most weeks, although you can learn at your own pace. The first part is meant to take seven weeks, but I whistled through it in two. </p><p>The first part – or “specialization”, as Coursera dubs it – of this course basically follows the same structure each week. Us coders might call that a “loop”, with a “break” after week seven. You watch one or more videos, delivered by Dr Severance. You answer a ten-question quiz to make sure you’ve understood all of the concepts that have been explained. And then you take on a practical coding exercise that’s “auto-graded” by a piece of software. If that sounds clinically impersonal, it is, but Coursera has ways to bring the human element back into teaching, which I’ll come to later and that help justify the £37 per month you’ll spend doing this course on Coursera instead of doing much of the same material for free on Dr Severance’s PY4E website.</p><h3 class="article-body__section" id="section-dad-jokes-and-daft-hats"><span>Dad jokes and daft hats</span></h3><p>One thing that’s definitely not clinically impersonal is Charles Severance, or Dr Chuck as he calls himself (he’s @DrChuck on Twitter too). He sounds like Danny Concannon from The West Wing, doesn’t look entirely dissimilar and has the same easy-going style as the fictional reporter. He explains concepts patiently, bordering on laboriously, to make sure you don’t suffer from code blindness. He makes dad jokes, he occasionally turns up in silly hats, and he’s constantly slurping coffee as he delivers his video lectures – the latter of which sounds amateurish, but genuinely helps give the impression you’re sitting in a real lecture delivered by a real human being, not a presenter reading a polished script. </p><p>That’s further reinforced by watching him type code onscreen. I thought I was the worst touch-typist this side of Shanghai, but Dr Chuck knocks me out of the park. Coursera could have edited all those typos and mistyped commands out of the videos, but they’ve left them in and it helps you warm to a tutor who makes the same silly mistakes you do. If that’s deliberate, it’s subtly done. </p><p>The course isn’t perfect, occasionally leaving me stranded. As I mentioned previously, there’s a free textbook that accompanies the course, which is required reading. However, you’re largely left to work out for yourself which chapters you need to read before each week. You’ll get the hang of it after the first few weeks, but there have definitely been moments of head-scratching, when you’re expected to know something that’s not been covered in a video. </p><p>The graded exercises also had me thumping the desk in frustration once or twice. At the start of each exercise, you’re given instructions on what to do and given some sample code in the online editor to get you started. Yet that sample code isn’t always necessary or is occasionally even a red herring. </p><p>Worse, for me, is that you don’t always get to see how The Doc would have coded the exercise after you’ve completed it. I understand why they don’t want pupils sharing the code in Coursera’s online forums, because it spoils the exercises for people who haven’t done them yet, but once you have completed an exercise, it would be great if Coursera could email you Dr Chuck’s code and a short video explaining how he did it, just so you learn best practice. </p><p>I made this point on Coursera’s discussion forums and a tutor replied that: “There are multiple ways to write code and many different solutions can be both efficient and elegant. Which is why we also cannot give you one solution as a standard.” I get that, but I still feel that seeing an alternative way to crack the same nut would be beneficial.</p><p>That said, it’s clear that Dr Chuck and the course tutors don’t want to spoon-feed you everything. Coding is essentially problem solving; if they give you all of the solutions, it doesn’t encourage you to find alternative answers or better ways of reaching the same result yourself. As Dr Chuck himself says in one of his early lectures: “One of my whole goals in design of this class is for you not to try to rush through it, but to feel a mastery of it. And feel free to do the same problem over and over and over again, and hide the solution from yourself, until you realise, oh wait a sec, this is easy. Because frankly, up to this point and going forward, none of this should be very difficult. And you should really understand every single thing that’s going on in every one of the assignments.”</p><p>If you do find yourself staring glumly at a screen, failing to work out why a piece of code won’t deliver the desired result, you can upload it to the online editor and ask a staff member to take a private look via the discussion forums. They reply promptly, normally the same day, patiently explaining the error of your ways. On one assignment, my piece of code wasn’t running properly because I’d failed to de-indent a single line. It was both a relief and a punch-yourself-in-the-face moment when the tutor explained the problem.</p><p>This is the biggest drawback of distance learning. In another exercise, I methodically worked through a task where you had to import a batch of emails, run a search to look for a spam identifier string, strip out everything except the numbers at the end of those strings, convert them to integers and calculate an average. I took my time, solved each problem bit by bit, but got stuck on the final hurdle for a few hours. And what was my downfall? Not declaring the value of a variable at the top of the code instead of midway through. If I were sitting in a classroom with Dr Chuck, I’m pretty sure that he would have looked over my shoulder, pointed to the innocuous error and my stress levels would have remained sub-Trump. Instead, I beat myself up for a few hours, trying to rewrite perfectly good code that wasn’t working because of one small mistake.</p><p>But, determined not to rely on the in-house tutors once more, I did eventually work it out for myself. And although my cardiologist might disagree, that process will serve me well in the long run because there are not always going to be ready-made solutions to coding problems. I’m going to have to work through stuff. And it is exhilarating when you do manage to crack a problem by yourself, even if I may have to reinforce my office walls to prevent fists going through them for the preceding six hours of every task. </p><h3 class="article-body__section" id="section-certified-coder"><span>Certified coder</span></h3><p>At the time of writing, I’ve just completed the first part of Python for Everybody and have the certificate to prove it. I’m currently midway through the second of five parts of the course, and it’s just starting to get interesting. We’re now importing and manipulating real data, starting to see how the previous eight chapters of theory might be put to good use. For example, I’m already thinking of ways I can take the masses of analytical data we get at the non-league football club I help run and use Python code to help spot trends. Likewise, I’m starting to think of Python scripts that might be useful for the tech website I publish. I’m keen to push on – the challenge is finding enough time to do so around the day job. (The irony of having to stick learning on the back burner so I can write a feature about teaching myself Python has not been lost on me.)</p><p>My Coursera certificate might mean nothing in the wider world. It’s not an accredited course, it won’t get me a job nor even a foot in the door. But as someone who has long yearned to learn how to code, it means something to me.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Get up to speed with NLP ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming-languages/355789/get-up-to-speed-with-nlp</link>
                                                                            <description>
                            <![CDATA[ Natural language processing for non-technical readers: techniques, trends, and business use cases ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7Q2FPHLpJKcyVv9K2Urdrg</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/P2qRZVeput6FS3Q6TcaXdC-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Tue, 26 May 2020 15:20:02 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ itpro@futurenet.com (ITPro) ]]></author>                    <dc:creator><![CDATA[ ITPro ]]></dc:creator>                                                                                    <dc:source><![CDATA[ null ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/P2qRZVeput6FS3Q6TcaXdC-1280-80.png">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                                                                                                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/P2qRZVeput6FS3Q6TcaXdC-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <figure class="van-image-figure pull-" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3uk5zuKEWbYiA3khBsEGch" name="" alt="" src="https://cdn.mos.cms.futurecdn.net/3uk5zuKEWbYiA3khBsEGch.jpg" mos="https://cdn.mos.cms.futurecdn.net/3uk5zuKEWbYiA3khBsEGch.jpg" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pull-"></p></div></div></figure><p>2019 has been a landmark year for the field of natural language processing (NLP), from the rise of self-supervised learning and unstructured data to major model breakthroughs such as the Transformer models and BERT.</p><p>These techniques are now becoming much more mainstream and translating into real-world business applications. With the increasing availability of massive neural network models pre-trained on publically available unlabeled data, companies can now leverage these NLP models on their own data within their organisation.</p><p>This whitepaper explores the emerging trends and techniques in the field of NLP; the recent landmark breakthroughs in NLP architecture, in particular with regards to the Attention technique and Transformer models; and finally, the emerging business applications of NLP that these technological breakthroughs are unlocking, and that we’re likely to see implemented at a large scale across organisations in the years to come.</p><iframe frameborder="0" height="1000" width="100%" data-lazy-priority="low" data-lazy-src="https://dennis.cvtr.io/forms/dataiku-li-250589?locale=1&p=false&wp=4503"></iframe>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The IT Pro Podcast: Why cool kids code with COBOL ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/business-strategy/careers-training/355501/the-it-pro-podcast-why-cool-kids-code-with-cobol</link>
                                                                            <description>
                            <![CDATA[ Skills and development isn’t just about cloud - sometimes it’s about keeping legacy systems going too ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">eRiPUbDK1SBxS1SMb5tt35</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/KtJi5A76PQNbs9duWoR7KB-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 01 May 2020 08:23:12 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Careers and Training]]></category>
                                                    <category><![CDATA[Business]]></category>
                                                                                                                    <dc:creator><![CDATA[ IT Pro ]]></dc:creator>                                                                                    <dc:source><![CDATA[ null ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/KtJi5A76PQNbs9duWoR7KB-1280-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                                                                                                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/KtJi5A76PQNbs9duWoR7KB-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Skills and training are a crucial element of running any business, but it’s especially critical when it comes to IT. It’s a running battle to just keep up with what’s needed to operate a company’s current tools, let alone developing proficiencies that will allow you to start expanding into new areas. </p><p>In this week’s episode, we talk to Brad Mallard, CTO of Fujitsu Global, to find out how one of the world’s largest technology services providers trains and educates its staff. We discuss the e-learning tools that have helped make skills training fun and accessible, the gamification of professional development, up-skilling those already in the business and why learning COBOL gives young engineers a license to print money.</p><p>We also discuss the hackers who had a sudden attack of conscience, the latest blow in the video conferencing arms race, and whether or not the current crisis caught network security specialists with their pants down.</p><iframe allow="encrypted-media" frameborder="0" height="232" width="100%" data-lazy-priority="low" data-lazy-src="https://open.spotify.com/embed-podcast/episode/5CLG5XH1EPyxQWjexbBadU"></iframe><h2 id="footnotes-2">Footnotes</h2><h3 class="article-body__section" id="section-news"><span>News</span></h3><p><strong>Troldesh hackers hang up their boots</strong></p><ul><li><a href="https://www.itpro.com/security/ransomware/355466/hackers-retire-troldesh-ransomware-and-release-750000-decryption-keys" data-original-url="https://www.itpro.com/security/ransomware/355466/hackers-retire-troldesh-ransomware-and-release-750000-decryption-keys">Hackers retire Troldesh ransomware and release 750,000 decryption keys</a></li><li><a href="https://www.itpro.com/security/28930/ransomware-gangs-shift-focus-to-big-businesses" data-original-url="https://www.itpro.com/security/28930/ransomware-gangs-shift-focus-to-big-businesses">Ransomware gangs shift focus to big businesses</a></li><li><a href="https://www.itpro.com/distributed-denial-of-service-ddos/30150/mirai-trio-confesses-to-creating-the-worlds-most-powerful" data-original-url="https://www.itpro.com/distributed-denial-of-service-ddos/30150/mirai-trio-confesses-to-creating-the-worlds-most-powerful">Mirai: Trio confesses to creating the world's most powerful DDoS botnet</a></li><li><a href="https://www.itpro.com/security/28084/what-is-ransomware" data-original-url="https://www.itpro.com/security/28084/what-is-ransomware">What is ransomware?</a></li></ul><p><strong>Google Meet enters the free video conferencing fray</strong></p><ul><li><a href="https://www.itpro.com/software/video-conferencing/355480/google-meet-now-free-until-september" data-original-url="https://www.itpro.com/software/video-conferencing/355480/google-meet-now-free-until-september">Google Meet goes free in bid to counter Zoom</a></li><li><a href="https://www.itpro.com/marketing-comms/communications/355498/zoom-quietly-corrects-misleading-claims-of-over-300-million" data-original-url="https://www.itpro.com/marketing-comms/communications/355498/zoom-quietly-corrects-misleading-claims-of-over-300-million">Zoom quietly corrects misleading claims of over 300 million daily users</a></li><li><a href="https://www.itpro.com/software/video-conferencing/355439/facebook-rolls-out-video-conferencing-upgrades-to-stem-the" data-original-url="https://www.itpro.com/software/video-conferencing/355439/facebook-rolls-out-video-conferencing-upgrades-to-stem-the">Facebook rolls out video conferencing upgrades to take on Zoom</a></li><li><a href="https://www.itpro.com/marketing-comms/communications/355402/whatsapp-tackling-group-video-calling-limitations-to-take-on" data-original-url="https://www.itpro.com/marketing-comms/communications/355402/whatsapp-tackling-group-video-calling-limitations-to-take-on">WhatsApp tackling group video calling limitations to take on rivals</a></li></ul><p><strong>Network security plans found wanting in coronavirus outbreak</strong></p><ul><li><a href="https://www.itpro.com/business/business-strategy/355467/nearly-third-of-businesses-lacked-a-network-security-plan-prior" data-original-url="https://www.itpro.com/business/business-strategy/355467/nearly-third-of-businesses-lacked-a-network-security-plan-prior">Almost a third of businesses lacked a network security plan prior to the pandemic</a></li><li><a href="https://www.itpro.com/cyber-attacks/31660/what-is-network-forensics" data-original-url="https://www.itpro.com/cyber-attacks/31660/what-is-network-forensics">What is network forensics?</a></li><li><a href="https://www.itpro.com/network-internet/31778/what-is-network-topology" data-original-url="https://www.itpro.com/network-internet/31778/what-is-network-topology">What is network topology?</a></li></ul><h3 class="article-body__section" id="section-in-depth"><span>In-depth</span></h3><ul><li><a href="https://www.itpro.com/business-strategy/careers-training/355346/comptia-launches-online-testing-to-ease-certification" data-original-url="https://www.itpro.com/business-strategy/careers-training/355346/comptia-launches-online-testing-to-ease-certification">CompTIA launches online testing to ease certification amid coronavirus outbreak</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/354786/how-do-i-keep-my-teams-skills-current" data-original-url="https://www.itpro.com/business-strategy/careers-training/354786/how-do-i-keep-my-teams-skills-current">How to keep your IT team's skills current</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/354847/is-a-degree-still-necessary-to-get-ahead-in-it" data-original-url="https://www.itpro.com/business-strategy/careers-training/354847/is-a-degree-still-necessary-to-get-ahead-in-it">Is a degree still necessary to get ahead in IT?</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/354859/taking-the-road-less-travelled-to-a-career-in-it" data-original-url="https://www.itpro.com/business-strategy/careers-training/354859/taking-the-road-less-travelled-to-a-career-in-it">Taking the road less travelled to a career in IT</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/355428/what-should-i-be-looking-for-when-hiring-a-developer" data-original-url="https://www.itpro.com/business-strategy/careers-training/355428/what-should-i-be-looking-for-when-hiring-a-developer">What should I be looking for when hiring a developer?</a></li><li><a href="https://www.itpro.com/data-insights/databases/355256/are-autonomous-databases-the-doom-of-database-administrators" data-original-url="https://www.itpro.com/data-insights/databases/355256/are-autonomous-databases-the-doom-of-database-administrators">Are autonomous databases the doom of database administrators?</a></li><li><a href="https://www.itpro.com/business-strategy/careers-training/355068/comptia-makes-certification-testing-possible-in-the" data-original-url="https://www.itpro.com/business-strategy/careers-training/355068/comptia-makes-certification-testing-possible-in-the">CompTIA makes certification testing possible in the social distancing era</a></li><li><a href="https://www.itpro.com/server/29990/why-the-mainframe-is-still-going-strong" data-original-url="https://www.itpro.com/server/29990/why-the-mainframe-is-still-going-strong">Why the mainframe is still going strong</a></li><li><a href="https://www.itpro.com/careers/29827/professional-development-trends-in-it" data-original-url="https://www.itpro.com/careers/29827/professional-development-trends-in-it">Professional development trends in IT</a></li><li><a href="https://www.itpro.com/business/business-strategy/354793/gamify-your-business-growth" data-original-url="https://www.itpro.com/business/business-strategy/354793/gamify-your-business-growth">Gamify your business growth</a></li><li><a href="https://www.itpro.com/business-strategy/34824/the-it-pro-podcast-how-upskilling-can-improve-diversity" data-original-url="https://www.itpro.com/business-strategy/34824/the-it-pro-podcast-how-upskilling-can-improve-diversity">The IT Pro Podcast: How upskilling can improve diversity</a></li></ul><h3 class="article-body__section" id="section-subscribe"><span>Subscribe</span></h3><ul><li><a href="https://podcasts.apple.com/gb/podcast/the-itpro-podcast/id1483810154">Subscribe to The IT Pro Podcast on Apple Podcasts</a></li><li><a href="https://podcasts.google.com/?feed=aHR0cHM6Ly9pdHByb3BvZGNhc3QubGlic3luLmNvbS9yc3M">Subscribe to The IT Pro Podcast on Google Podcasts</a></li><li><a href="https://open.spotify.com/show/7HpYehTy752KmtbwpOAgRZ">Subscribe to The IT Pro Podcast on Spotify</a></li><li><a href="https://www.itpro.com/newsletter-signup" data-original-url="https://www.itpro.com/newsletter-signup">Subscribe to the IT Pro newsletter</a></li><li><a href="https://dennistrk.cvtr.io/click?lid=12019&pid=45&sid=">Subscribe to IT Pro 20/20</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Microsoft plans to integrate npm with GitHub following acquisition ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming-languages/355022/microsoft-plans-to-integrate-npm-with-github-following</link>
                                                                            <description>
                            <![CDATA[ The JavaScript platform will undergo a host of improvements, with the community given a stronger voice ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">oKnbRyDBS9CZE9t82JX5EZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/MRU4uy297iHxkbvk7xG2EG-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 17 Mar 2020 12:22:19 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Keumars Afifi-Sabet ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/EAvwpZggMZ2K5h8s2pTAEm.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/MRU4uy297iHxkbvk7xG2EG-1280-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[javascript shown on monitors with the script&amp;#039;s name superimposed]]></media:description>                                                            <media:text><![CDATA[javascript shown on monitors with the script&amp;#039;s name superimposed]]></media:text>
                                <media:title type="plain"><![CDATA[javascript shown on monitors with the script&amp;#039;s name superimposed]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/MRU4uy297iHxkbvk7xG2EG-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.itpro.com/open-source/31833/what-is-github" data-original-url="https://www.itpro.com/open-source/31833/what-is-github">GitHub</a> has signed an agreement to acquire widely-used <a href="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it" data-original-url="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it">JavaScript</a> platform npm, with parent company Microsoft eventually hoping to integrate the newly bought company into GitHub in the longer-term. </p><p>Considered an essential part of the JavaScript ecosystem, the npm package manager is home to 1.3 million packages and sustains 75 billion downloads per month. The platform will be integrated into the GitHub development platform, which <a href="https://www.itpro.com/open-source/32436/what-does-a-microsoft-buyout-mean-for-github-developers" data-original-url="https://www.itpro.com/open-source/32436/what-does-a-microsoft-buyout-mean-for-github-developers">Microsoft took under its ownership in 2018</a>.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HAWqHZ8ZvvEfTcRhBAebZK" name="HAWqHZ8ZvvEfTcRhBAebZK.png" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/HAWqHZ8ZvvEfTcRhBAebZK.png" mos="https://cdn.mos.cms.futurecdn.net/HAWqHZ8ZvvEfTcRhBAebZK.png" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Three keys to maximise application migration and modernisation success</strong></p><p class="fancy-box__body-text">Harness the benefits that modernised applications can offer</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/software/enterprise-applications/354513/three-keys-to-maximise-application-migration-and" data-original-url="/software/enterprise-applications/354513/three-keys-to-maximise-application-migration-and">FREE DOWNLOAD</a></p></div></div><p>The firm is planning to invest in the registry infrastructure and wider platform, with investments made to ensure it’s fast, reliable and scalable. </p><p>Microsoft will moreover, improve the core experience for developers while retaining npm’s <a href="https://www.itpro.com/software/28109/what-is-open-source" data-original-url="https://www.itpro.com/software/28109/what-is-open-source">open-source</a> status. Additional features, such as Workspaces and improvements to <a href="https://www.itpro.com/security/innovation-at-work/30184/why-is-multi-factor-authentication-so-important" data-original-url="https://www.itpro.com/security/innovation-at-work/30184/why-is-multi-factor-authentication-so-important">multi-factor authentication (MFA)</a> processes, will be developed with time.</p><p>Finally, the company wants to actively engage with the JavaScript community so the views of developers can be fed into future builds of npm.</p><p>“The amazing energy and creativity of millions of JavaScript developers is evident every day in the work that appears in npm,” said GitHub chief executive Nat Friedman. “We are honored to support that community in a new way. The future of npm and the JavaScript ecosystem is very bright.”</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/bugs/34827/tech-giants-band-together-to-form-the-github-security-lab" data-original-url="/bugs/34827/tech-giants-band-together-to-form-the-github-security-lab">Tech giants band together to form the GitHub Security Lab</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/government-it-strategy/25752/gchq-releases-open-source-analysis-tools-on-github" data-original-url="/government-it-strategy/25752/gchq-releases-open-source-analysis-tools-on-github">GCHQ releases open source analysis tools on Github</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/desktop-software/28699/github-launches-app-marketplace" data-original-url="/desktop-software/28699/github-launches-app-marketplace">GitHub launches app marketplace</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it" data-original-url="/development/30202/what-is-javascript-and-why-should-i-learn-it">What is JavaScript and why should I learn it?</a></p></div></div><p>The eventual goal is to integrate GitHub and npm to improve the security of the wider open-source software supply chain, the company said. Users in future would be able to trace a change from a GitHub pull request to the npm package version that fixed it.</p><p>Friedman added users who use npm Pro, Teams and Enterprise to host private registries will continue to be supported under the GitHub-npm umbrella. The firm says it’ll invest heavily in packages so it serves as a wide-ranging multi-language that’s fully integrated with GitHub.</p><p>Later in 2020, Microsoft will allow npm’s paying customers to move their private npm packages to GitHub packages, with an exclusive focus on ramping up the public registry for JavaScript.</p><p>The move to integrate the JavaScript platform signals the extent to which Microsoft is aiming to build GitHub into an all-encompassing hub for developers and coders. </p><p>JavaScript has long been considered to be one of the most popular coding languages. Despite the rise of newer languages like Python, MDM and Kotlin, <a href="https://www.itpro.com/business-strategy/careers-training/32766/javascript-still-most-popular-coding-language" data-original-url="https://www.itpro.com/business-strategy/careers-training/32766/javascript-still-most-popular-coding-language">JavaScript was still found to be the most popular language for businesses,</a> according to research from 2019.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ UK tech salaries up 13% in 2019 ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/business-strategy/careers-training/354742/uk-tech-salaries-up-13-in-2019</link>
                                                                            <description>
                            <![CDATA[ Software developers now earn an average of £37,000 more than the average Brit, according to Hired ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">efT6ahffERhWk565yeJaes</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9TeCxtd9mt6KCYZQAbZxNX-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 10 Feb 2020 15:46:12 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Careers and Training]]></category>
                                                    <category><![CDATA[Business]]></category>
                                                                                                                    <dc:creator><![CDATA[ Bobby Hellard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/bsR2tHSyVKUoyXZF5pNsDA.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/9TeCxtd9mt6KCYZQAbZxNX-1280-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                        <media:description><![CDATA[Female software developer]]></media:description>                                                            <media:text><![CDATA[Lady sitting at a laptop]]></media:text>
                                <media:title type="plain"><![CDATA[Lady sitting at a laptop]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9TeCxtd9mt6KCYZQAbZxNX-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The average salary for a UK tech worker increased by 13% in 2019, jumping to £74,000 per annum, according to recruitment site Hired. </p><p><a href="https://www.itpro.com/software-development/29994/types-of-software-testing" data-original-url="https://www.itpro.com/software-development/29994/types-of-software-testing">Software developers</a> now earn £37,000 more than the average British worker, according to Hired's <a href="https://www.itpro.com/business-strategy/careers-training/33113/hired-report-reveals-the-most-in-demand-software-skills" data-original-url="https://www.itpro.com/business-strategy/careers-training/33113/hired-report-reveals-the-most-in-demand-software-skills">State of Software Engineers</a> report, which looks at 2019's software engineering roles around the world and the programme languages they use.</p><p>UK developers saw a larger wage increase than any other tech hub around the world, even beating San Francisco which saw a 6% jump year-on-year.</p><p>Search engineers in the famous Bay Area still get paid the most, though, with an average wage of $157,000 (£122,000). </p><p>The three best-paid developer roles in the UK were for <a href="https://www.itpro.com/hardware/30317/what-is-an-embedded-system" data-original-url="https://www.itpro.com/hardware/30317/what-is-an-embedded-system">embedded</a> engineers, who earn £82,000 on average, blockchain engineers, who earn £81,000 a year and computer vision engineers who also get paid around £81,000 per annum. </p><p>Global demand for <a href="https://www.itpro.com/security/28031/what-is-blockchain" data-original-url="https://www.itpro.com/security/28031/what-is-blockchain">Blockchain</a> engineers has increased by 517%, according to the report, while gaming engineers saw the biggest wage increase in both London and San Francisco. </p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/30507/uk-tech-salaries-trail-behind-the-us-amid-brexit" data-original-url="/business-strategy/careers-training/30507/uk-tech-salaries-trail-behind-the-us-amid-brexit">UK tech salaries trail behind the US amid Brexit uncertainty</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/business-operations/33542/uk-tech-sector-resilient-despite-lack-of-optimism" data-original-url="/business-operations/33542/uk-tech-sector-resilient-despite-lack-of-optimism">UK tech sector 'resilient' despite lack of optimism</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/careers/28219/it-manager-job-description-what-does-an-it-manager-do" data-original-url="/careers/28219/it-manager-job-description-what-does-an-it-manager-do">IT manager job description: What does an IT manager do?</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/32766/javascript-still-most-popular-coding-language" data-original-url="/business-strategy/careers-training/32766/javascript-still-most-popular-coding-language">Javascript still most popular coding language</a></p></div></div><p>Other software developer roles that saw an increase included <a href="https://www.itpro.com/strategy/28071/what-is-machine-learning" data-original-url="https://www.itpro.com/strategy/28071/what-is-machine-learning">machine learning</a> engineers, which ranked in the top ten highest-paid jobs for most of the hubs listed, with an average salary of £101,000. </p><p>"While salaries for software engineers continue to rise globally, the UK led the way in 2019, cementing the country's place as one of the world's top tech hubs," said Gordon Smith, European GM at Hired. </p><p>"To continue this unparalleled growth in the UK, employers, aside from offering competitive salaries, need to ensure that understanding what top talent want from their jobs is the main priority for hiring managers."</p><p>Google's Go is the world's most in-demand <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">coding language</a>, according to the research, but JavaScript came out on top for most use. Although TypeScript is the most popular programming language in San Francisco, Toronto and London, while Ruby was more favoured in New York and Go in Paris.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ UK developers are most contented in the world, finds report ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/programming-languages/354657/uk-developers-are-most-contented-in-the-world-finds-report</link>
                                                                            <description>
                            <![CDATA[ Java and Javascript named most popular languages, with YouTube as top learning tool ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8d1c2vPhUujhg1EZwyfEH4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/pDJUC8QvMWHHnanMUY24A9-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 29 Jan 2020 10:13:20 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Bobby Hellard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/bsR2tHSyVKUoyXZF5pNsDA.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/pDJUC8QvMWHHnanMUY24A9-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                        <media:description><![CDATA[Java Script]]></media:description>                                                            <media:text><![CDATA[JavaScript code displayed on monitor]]></media:text>
                                <media:title type="plain"><![CDATA[JavaScript code displayed on monitor]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/pDJUC8QvMWHHnanMUY24A9-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The UK has the happiest IT programmers in the world, according to French coding platform CodinGame. </p><p>The Montpellier-based firm released its annual IT developers survey, which asks programmers about their work and the industry at large. </p><p>Over 20,000 IT developers from 120 different countries took part in the survey, answering questions on how and where they learnt to code, which <a href="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses" data-original-url="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses">language</a> they use and how happy they're in their jobs. </p><p>When asked how much they love their work on a scale of one to 10, globally 66.4% answered between 7 and 10. The UK came out on top with its developers averaging of 7.40 for happiness. Canada and the US came second and third respectively. </p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/training/24218/bbc-teaches-coding-with-micro-bit-for-every-student" data-original-url="/training/24218/bbc-teaches-coding-with-micro-bit-for-every-student">BBC teaches coding with Micro Bit for every student</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/software/31781/what-is-pseudocode" data-original-url="/software/31781/what-is-pseudocode">What is pseudocode?</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/programming-languages/30204/what-is-object-oriented-programming" data-original-url="/programming-languages/30204/what-is-object-oriented-programming">What is object oriented programming?</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/security/31885/code-used-to-hack-ba-passenger-data-discovered" data-original-url="/security/31885/code-used-to-hack-ba-passenger-data-discovered">Code used to hack BA passenger data discovered</a></p></div></div><p>With regard to the tools of the trade, the most popular languages were <a href="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it" data-original-url="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it">Javascript</a> (65.46%), Java (62.74%) and <a href="https://www.itpro.com/development/33421/python-is-now-more-popular-than-java-among-developers" data-original-url="https://www.itpro.com/development/33421/python-is-now-more-popular-than-java-among-developers">Python</a> (57.13%) with over half the respondents saying they knew how to code in all three. But familiarity doesn't necessarily breed love: Java and Javascript also featured high on a list of most-dreaded languages with 23.93% of developers saying they hated Java and 21.29% for Javascript. </p><p>One in three developers considered themselves self-taught coders, according to the survey, learning via <a href="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses" data-original-url="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses">free resources</a> such as textbooks and online tutorials on sites like YouTube. However, the majority (58.2%) say they honed their skills at either university or school with none simply learning "on the job".</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="g6SbWoPrPz83xARxD2byJR" name="g6SbWoPrPz83xARxD2byJR.png" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/g6SbWoPrPz83xARxD2byJR.png" mos="https://cdn.mos.cms.futurecdn.net/g6SbWoPrPz83xARxD2byJR.png" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Application security fallacies and realities</strong></p><p class="fancy-box__body-text">Web application attacks are the most common vulnerability, so what is the truth about application security?</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/security/cyber-security/354118/application-security-fallacies-and-realities" data-original-url="/security/cyber-security/354118/application-security-fallacies-and-realities">FREE DOWNLOAD</a></p></div></div><p>The studies continue when they leave full-time education as coding, like any language, is a skill that needs constant practice. YouTube, again, features heavily in this regard as 60.8% of the developers surveyed said it is their favourite medium to bone up on coding. Online tutorials and blogs proved very popular with the participants with a massive 64.9% saying they boost coding knowledge this way.</p><p>What's more, one in three programmers said they keep up their skills up by coding for more than one hour a day in their own time. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The best free coding courses in the UK ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses</link>
                                                                            <description>
                            <![CDATA[ A list of some of the best free coding courses in the UK to kickstart your career in software development and programming ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cpFTRqgwPnbWGuvUADBxM6</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/6eK5qHMtkFfJjEbeGLzWub-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 31 Oct 2019 17:07:00 +0000</pubDate>                                                                                                                                <updated>Fri, 30 May 2025 19:48:17 +0000</updated>
                                                                                                                                            <category><![CDATA[Careers and Training]]></category>
                                                    <category><![CDATA[Business]]></category>
                                                                                                <author><![CDATA[ itpro@futurenet.com (Rene Millman) ]]></author>                    <dc:creator><![CDATA[ Rene Millman ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/vwWuTPNRCuw9vEaWzuXYnR.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/6eK5qHMtkFfJjEbeGLzWub-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A woman stood typing on a laptop while in front of a projector casting an image of computer code]]></media:description>                                                            <media:text><![CDATA[A woman stood typing on a laptop while in front of a projector casting an image of computer code]]></media:text>
                                <media:title type="plain"><![CDATA[A woman stood typing on a laptop while in front of a projector casting an image of computer code]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/6eK5qHMtkFfJjEbeGLzWub-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Acquiring robust coding skills through free coding courses in the UK offers a significant opportunity for individuals looking to pivot their careers or enhance their current technological expertise. Proficiency in coding is increasingly vital across numerous industries, empowering professionals to automate processes, boost efficiency, and maintain a competitive edge.</p><p>The career prospects in software development are compelling. Junior<a href="https://www.itpro.com/business-strategy/careers-training/356509/how-to-become-a-software-developer"><u> software developers</u></a> in the UK can <a href="https://www.checkasalary.co.uk/salary/software-developer?job_title=Software+Developer&location=UK&radius=5&page=1&min_salary=0&max_salary=1000000&job_hours=19&work_from_home=0&location_id=1&job_title_id=20410"><u>expect starting salaries</u></a> of £30,000.00 per year or £14.42 per hour, while senior or lead roles can command on average £52,720. This strong demand and earning potential make <a href="https://www.itpro.com/business-strategy/careers-training/356515/how-to-become-a-computer-programmer-without-a-degree"><u>programming </u></a>an attractive field for sustained career growth.</p><p>Fortunately, learning to code does not require a substantial financial investment. A wealth of free resources caters to both beginners and seasoned learners. Whether your goal is to master a new programming language, upgrade existing skills, or delve into specialized areas of software development, free coding courses provide a flexible and cost-effective path. Below is a curated list of some of the top free coding courses accessible in the UK to kickstart your learning journey.</p><h2 id="the-best-free-coding-courses-in-the-uk">The best free coding courses in the UK</h2><h3 class="article-body__section" id="section-freecodecamp"><span>FreeCodeCamp</span></h3><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/o5t7PxRJSXk" allowfullscreen></iframe></div></div><p><strong>Website:</strong> <a href="https://www.freecodecamp.org">https://www.freecodecamp.org/</a></p><p>FreeCodeCamp, a charity, offers an extensive, entirely free learning platform where individuals can master coding through hands-on projects and interactive challenges. With a vast library boasting over 9,000 tutorials and growing, learners can progress at their own pace. </p><p>The curriculum is project-based, enabling practical application of learned skills. Key certifications, which are internationally recognized, cover areas such as Responsive Web Design, <a href="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it"><u>JavaScript </u></a>Algorithms and Data Structures, Data Visualization, Back End Development and <a href="https://www.itpro.com/application-programming-interface-api/33557/the-api-economy-what-your-business-needs-to-know"><u>APIs</u></a>, and Quality Assurance. A vibrant community forum provides robust support for collaboration and assistance, enhancing the learning experience.</p><p><strong>User review insights</strong>: Highly praised for its comprehensive curriculum and hands-on approach. Users on platforms like Course Report and SwitchUp consistently rate it highly (often 4.5-4.9 out of 5 stars) for its practical projects and supportive community. G2 reviewers give it an average of 4.6 out of 5 stars. Other sources <a href="https://www.classcentral.com/report/best-web-development-courses/"><u>continue </u></a>to recommend it as a strong starting point for web development fundamentals.</p><h3 class="article-body__section" id="section-code-first-girls"><span>Code First Girls</span></h3><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/hCYBVp_3IhY" allowfullscreen></iframe></div></div><p><strong>Website:</strong> <a href="https://www.codefirstgirls.org.uk">https://www.codefirstgirls.org.uk/</a></p><p>Code First Girls, co-founded by Alice Bentinck and Matthew Clifford, is a social enterprise dedicated to closing the gender gap in the tech industry. It has provided free coding education to over 80,000 women across the UK and beyond. </p><p>The enterprise&apos;s CFGdegree programs and other free courses cover foundational topics such as web development, Python, data science, and SQL. These programs are designed to be flexible, enabling women to gain job-ready skills while balancing other commitments. Code First Girls partners with major corporations to connect participants with employment opportunities in tech.</p><p>Among these courses are introductions to web development, Python programming, data science, and<a href="https://www.itpro.com/sql/30242/what-is-sql"> <u>SQL programming</u></a>.</p><p><strong>User review insights</strong>: Participants often highlight the supportive environment and the direct pathways to employment opportunities. Testimonials on their website and in industry articles consistently reflect the positive impact on career progression in tech. While large aggregator review scores are less common, their partnerships with major companies and the increasing number of women trained (over 100,000 as of early 2023) attest to their effectiveness and reputation.</p><h3 class="article-body__section" id="section-code-your-future"><span>Code Your Future</span></h3><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/jz87O1kap7s" allowfullscreen></iframe></div></div><p><strong>Website:</strong> <a href="https://codeyourfuture.io">https://codeyourfuture.io/</a></p><p>CodeYourFuture, founded in 2016, is a UK-registered charity dedicated to empowering refugees and individuals from disadvantaged backgrounds by training them to become software developers. The organization offers free, part-time coding programs in several UK cities, including London, Manchester, Birmingham, and Glasgow. It has also expanded internationally, with active programs in Rome (Italy), Medellín (Colombia), Cape Town (South Africa), and Tunis (Tunisia).</p><p>Its full-stack curriculum covers essential technical skills such as HTML, CSS, JavaScript, Node.js, and React, alongside soft skills development in areas like teamwork, problem-solving, and agile methodologies. The program is designed to be inclusive, offering introductory modules that lead into their core Software Development course. A second, much more substantial course also covers<a href="https://www.itpro.com/software/enterprise-applications/369949/accelerate-full-stack-web-and-mobile-app-development"> <u>full-stack web development</u></a>. </p><p>To support accessibility, students who complete an initial introductory course may be eligible for financial assistance covering expenses such as Wi-Fi, travel, and childcare in certain circumstances. </p><p><strong>User review insights:</strong> CodeYourFuture earns high regard for its profound social mission and its intensive, supportive training environment focused on refugees and those from disadvantaged backgrounds. Graduates frequently praise the strong sense of community and the dedication of volunteer mentors. Reviews on platforms like Google Reviews for its various chapters and numerous testimonials emphasize its life-altering impact. Its recognition as a <a href="https://www.digitalpublicgoods.net/r/code-your-future"><u>Digital Public Good (DPG) further validates</u></a> its quality and open-source curriculum</p><h3 class="article-body__section" id="section-codecademy"><span>Codecademy</span></h3><p><strong>Website:</strong> <a href="https://www.codecademy.com">https://www.codecademy.com/</a></p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/yTKSnVK363E" allowfullscreen></iframe></div></div><p>Codecademy, founded in 2011 by Zach Sims and Ryan Bubinski, has helped millions of learners worldwide acquire coding skills. The platform offers a free ‘Basic’ tier, granting access to introductory coding courses, enabling beginners to learn foundational concepts at their own pace. This makes it an excellent entry point for those curious about programming but not yet ready for a financial commitment.</p><p>Codecademy is known for its interactive, hands-on learning environment, where students build real-world projects, such as websites and applications, reinforcing their understanding. The platform provides courses in a wide range of programming languages, including HTML, CSS, JavaScript, <a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer"><u>Python</u></a>, Ruby, <a href="https://www.itpro.com/sql/30242/what-is-sql"><u>SQL</u></a>, and more.</p><p>For learners seeking structured and in-depth training, Codecademy offers paid subscription plans: ‘Plus’ and ‘Pro’, which unlock career paths, skill paths, interview preparation, and extensive project work designed to develop job-ready skills.</p><p>With its mix of free and paid options, Codecademy remains a popular and accessible choice for aspiring coders, offering both foundational skills and pathways to advanced knowledge.</p><p><strong>User review insights</strong>: Codecademy is widely recognized for its interactive, browser-based learning platform, making it easy for beginners to start coding without a complex setup. Its free &apos;Basic&apos; tier is often praised as an excellent entry point. Users appreciate the immediate feedback and hands-on exercises. While some advanced content and career paths are behind a paywall (&apos;Plus&apos; and &apos;Pro&apos; plans), the free offering remains substantial for learning foundational skills in various languages. </p><h3 class="article-body__section" id="section-coursera"><span>Coursera</span></h3><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/Pf03RTjeISE" allowfullscreen></iframe></div></div><p><strong>Website:</strong> <a href="https://www.coursera.org">https://www.coursera.org/</a></p><p>Coursera is a major online learning platform that partners with leading universities and corporations to offer a vast catalogue of courses, specializations, and degrees, including numerous options in coding and computer science. Many individual courses on Coursera can be audited for free, providing access to lecture materials and readings. However, to earn a formal certificate of completion for a course or Specialization, a fee is typically required, which varies by program. These certificates can be valuable additions to a professional profile. </p><p>Coursera&apos;s coding content spans a broad spectrum of<a href="https://www.itpro.com/business-strategy/careers-training/358740/what-are-your-tech-skills-worth"> <u>tech skills</u></a>, from beginner-level introductions to languages like Python and Java, to advanced topics such as machine learning, data science, and cybersecurity. While some content is self-paced, many courses offer structured learning with assignments and community discussion forums. For comprehensive access, Coursera offers a subscription model, Coursera Plus, which provides unlimited access to a large portion of its catalog for a recurring fee.</p><p><strong>User review insights</strong>: Coursera is valued for providing access to courses from prestigious universities and companies. The ability to <a href="https://www.coursera.support/s/article/learner-000001306?language=en_US#:~:text=When%20you%20audit%20a%20course,during%20or%20after%20the%20course."><u>"audit" many courses</u></a> for free is a significant benefit, allowing learners to access high-quality lecture materials and readings. While certificates and graded assignments typically require payment, the free audit option is excellent for exploration and learning specific topics. Users appreciate the breadth of subjects, from beginner coding to advanced specializations, such as AI and data science.</p><h3 class="article-body__section" id="section-founders-coders"><span>Founders & Coders</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2564px;"><p class="vanilla-image-block" style="padding-top:52.81%;"><img id="bNHSVG7bUzhUmTL3qGBds5" name="Screenshot 2024-02-15 at 10.56.49.png" alt="A screenshot from the Founders & Coders website showing an advert for coding platform" src="https://cdn.mos.cms.futurecdn.net/bNHSVG7bUzhUmTL3qGBds5.png" mos="" align="middle" fullscreen="" width="2564" height="1354" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Founders & Coders)</span></figcaption></figure><p><strong>Website:</strong> <a href="https://www.foundersandcoders.com">https://www.foundersandcoders.com/</a></p><p>Founders & Coders is a UK-based charity that provides tuition-free, peer-led training programs in full-stack web development. Their distinctive learning model emphasizes collaborative learning and employability.</p><p>Its primary offering is an intensive, full-time 16-week coding boot camp, designed to equip individuals with the skills needed for a career in <a href="https://www.itpro.com/software/development/356827/how-to-become-a-developer-a-beginners-guide"><u>software development</u></a>. The curriculum includes HTML, CSS, JavaScript, Node.js, and PostgreSQL, with a strong focus on project-based learning and agile practices.</p><p>A unique aspect of their model is the expectation that graduates contribute back to the community, mentoring prospective applicants and supporting subsequent cohorts, fostering a sustainable, community-driven learning environment. Additionally, profits from their graduate placement services are reinvested into funding the training programs.</p><p><strong>User review insights</strong>: Founders & Coders is recognized as a unique, tuition-free coding academy in the UK, emphasizing peer-led, collaborative learning. Reviews often praise its intensive, community-driven bootcamp model. Graduates highlight the strong focus on employability and the supportive environment. Its non-profit nature and the requirement for graduates to contribute back to the community are seen as distinctive and positive aspects. <a href="https://www.coursereport.com/blog/13-best-free-coding-bootcamps-2025-guide#founders"><u>Course Report</u></a> gives it a rating of 4.49 out of 5 stars.</p><h3 class="article-body__section" id="section-microsoft-learn"><span>Microsoft Learn</span></h3><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/ISFaQBDL5o0" allowfullscreen></iframe></div></div><p><strong>Website:</strong> <a href="https://docs.microsoft.com/en-us/learn">https://docs.microsoft.com/en-us/learn/</a></p><p>Microsoft Learn is Microsoft&apos;s official platform for free, interactive, self-paced learning, designed to help individuals and professionals build expertise in Microsoft products and services. It offers a vast collection of learning paths and modules, covering technologies such as Microsoft Azure, <a href="https://www.itpro.com/business-operations/productivity/368063/microsoft-365-vs-google-workspace"><u>Microsoft 365</u></a>, Dynamics 365, Power Platform (including Power BI), and SQL Server, as well as broader topics like AI, cybersecurity, and data science.</p><p>Each learning path is structured into modules, which include instructional content, hands-on lab exercises in a sandbox environment, and knowledge checks to reinforce learning. The platform caters to learners of all levels, from beginners exploring fundamental concepts to advanced professionals seeking specialized knowledge.</p><p>Upon completion of specific learning paths and associated assessments, learners can prepare for Microsoft Certifications — globally recognized credentials that validate expertise in various Microsoft technologies. These certifications can significantly enhance a professional&apos;s resume, career prospects, and earning potential in the IT industry. Additionally, Microsoft Learn provides community-driven resources, including forums, study groups, and expert-led training sessions, to support learners throughout their journey.</p><p><strong>User review insights</strong>: Microsoft Learn is highly regarded as an authoritative and comprehensive resource for mastering Microsoft technologies. Users appreciate the structured learning paths, hands-on labs in sandbox environments, and the direct alignment with Microsoft Certifications. The platform is praised for being entirely free and regularly updated with the latest information on Azure, Power Platform, Microsoft 365, and other MS products. It&apos;s considered invaluable for IT professionals working within the Microsoft ecosystem.</p><h3 class="article-body__section" id="section-w3schools"><span>W3Schools</span></h3><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/ewZ_YWbIWXI" allowfullscreen></iframe></div></div><p><strong>Website:</strong> <a href="https://www.w3schools.com">https://www.w3schools.com/</a></p><p>W3Schools is a widely recognized online educational resource, offering extensive tutorials and references for a broad range of web development technologies. Its content covers programming languages and frameworks such as HTML, CSS, JavaScript, Python, PHP, SQL, Java, jQuery, React, AngularJS, XML, and Bootstrap.</p><p>Unlike structured learning platforms, W3Schools provides detailed explanations and examples for individual programming elements, allowing learners to study specific topics at their own pace. A key feature is its integrated "Try it Yourself" editor, which enables users to experiment with code examples directly in the browser and see immediate results. This hands-on approach enhances practical understanding and encourages interactive learning</p><p>While the majority of its learning materials are free, W3Schools also offers paid certification programs for users who wish to formally validate their skills in specific areas, which can be beneficial for career advancement. Additionally, the platform offers interactive coding challenges and exercises, helping learners reinforce their knowledge through practice.</p><p><strong>User review insights</strong>: W3Schools is a long-standing and widely used resource, valued for its straightforward tutorials and "Try it Yourself" editor, which allows for immediate practice. It&apos;s often recommended for quick lookups and learning the basics of web technologies like HTML, CSS, and JavaScript. While some find its explanations a bit simplistic for deep understanding, its ease of use and breadth of topics make it a popular free resource for beginners and as a handy reference for experienced developers.</p><h3 class="article-body__section" id="section-code-org"><span>Code.org</span></h3><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/4w9y93ouj8w" allowfullscreen></iframe></div></div><p><strong>Website:</strong> <a href="https://code.org">https://code.org/</a></p><p>Code.org is a charity dedicated to expanding access to computer science education, particularly for schoolchildren. While its primary audience is younger learners, its resources also serve as an excellent starting point for adults seeking a gentle introduction to coding concepts without any prior knowledge.</p><p>The platform offers a variety of free resources, including its widely recognized "Hour of Code" tutorials, which are one-hour introductory activities available in over 70 languages. These activities introduce basic programming principles through engaging, often game-like interfaces, making coding accessible and fun.</p><p>For those looking to delve deeper, Code.org provides structured courses tailored to different age groups. Its curriculum is designed to demystify coding, foster problem-solving skills, and encourage participation from underrepresented groups in technology. Additionally, Code.org plays a key role in advocating for computer science education policies, partnering with schools and policymakers to integrate coding into core curricula.</p><p><strong>User review insights</strong>: Code.org is highly praised for its mission to expand access to computer science, especially for schoolchildren. While its primary focus is on younger learners, its "Hour of Code" tutorials and introductory courses are often cited as excellent, non-intimidating starting points for adults with absolutely no prior coding experience. Users appreciate the fun, game-like approach to learning fundamental programming concepts.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ What is YAML? ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/34539/what-is-yaml</link>
                                                                            <description>
                            <![CDATA[ We look at the pros, the cons, and the syntax structure of the YAML programming language ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8D5hBggBGYn6F99VYUmLni</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/y76a34ewyfeHxJKH4MpeY9-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 30 Sep 2019 18:59:00 +0000</pubDate>                                                                                                                                <updated>Fri, 11 Aug 2023 11:41:28 +0000</updated>
                                                                                                                                            <category><![CDATA[Careers and Training]]></category>
                                                    <category><![CDATA[Business]]></category>
                                                                                                <author><![CDATA[ keumars.afifi-sabet@futurenet.com (Keumars Afifi-Sabet) ]]></author>                    <dc:creator><![CDATA[ Keumars Afifi-Sabet ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/EAvwpZggMZ2K5h8s2pTAEm.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/y76a34ewyfeHxJKH4MpeY9-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Programming code abstract on a reflective background]]></media:description>                                                            <media:text><![CDATA[Programming code abstract on a reflective background]]></media:text>
                                <media:title type="plain"><![CDATA[Programming code abstract on a reflective background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/y76a34ewyfeHxJKH4MpeY9-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>YAML is a popular programming language responsible for coding configuration files, and so is often used in tandem with many other languages.</p><p>For example, Google-developed Flutter framework for Dart and <a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer"><u>Python</u></a> both use YAML (.yaml) when writing configuration files for application projects. It&apos;s also popular among cloud engineers due to its applicability in formatting <a href="https://www.itpro.com/development/containers/357038/why-containerisation-needs-context">containerized</a> files.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/development/programming/368567/coding-vs-programming-vs-scripting-whats-the-difference">Coding vs programming vs scripting: What’s the difference?</a></p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/development/34728/learn-to-code-for-free-the-best-uk-coding-and-app-development-courses">9 of the best free coding courses in the UK</a></p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">The top programming languages you need to learn for 2023</a></p></div></div><p>Unfortunately, it&apos;s not the most welcoming language for new users, and slight formatting errors can completely break the code. YAML requires a very precise number of spaces across multiple lines to show how data sits in a hierarchy.</p><p>It’s not always easy for a newcomer to detect where there is a spacing error since most integrated developer environments don’t throw errors for broken YAML code, which at times can disrupt the development process.</p><h2 id="what-is-yaml-and-when-was-it-created">What is YAML and when was it created?</h2><p>YAML was first released in May 2001 and has remained a mainstay in the world of <a href="https://www.itpro.com/business-strategy/careers-training/356457/the-ultimate-guide-to-becoming-a-programmer">programming</a> and coding for more than two decades now.</p><p>YAML is actually an initialism – it originally stood for &apos;Yet Another Markup Language’ but was later renamed to ‘YAML Ain’t Markup Language’ to better emphasize the fact YAML is a language used for data configuration, rather than for documentation.</p><p>The language has remained highly popular thanks to its human-readable nature, with a syntax that&apos;s highly intuitive. It’s deemed a more readable and developer-friendly version of JSON or XML.</p><h2 id="yaml-syntax-explained">YAML syntax explained</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1193px;"><p class="vanilla-image-block" style="padding-top:62.95%;"><img id="w9ZsD7aLntLbawnxWKoWRX" name="Example_configuration.yaml_for_Home_Assistant.png" alt="A example page of YAML code for a smart home appliance" src="https://cdn.mos.cms.futurecdn.net/w9ZsD7aLntLbawnxWKoWRX.png" mos="" align="middle" fullscreen="" width="1193" height="751" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Original image by <a href="https://commons.wikimedia.org/wiki/File:Example_configuration.yaml_for_Home_Assistant.png">JohnWilliamDoe</a>, <a href="https://creativecommons.org/licenses/by-sa/3.0/deed.en">Creative Commons</a>)</span></figcaption></figure><p>YAML includes features inspired by various patterns and tools embedded in other <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">programming languages</a> in order to ease the process of reading and writing code.</p><p>For instance, indentations and new lines may be used to structure code so the way it appears on your screen reflects how it works in practice, such as in Python. You can also configure how deep indentations are to ensure it’s as readable for you as possible, as long as you retain consistency across the code you’re writing. </p><p>You won’t be able to use a <strong>tab</strong> character, however, which does dodge the compatibility issue of different operating systems processing tabs in different ways. This also negates the tabs versus spaces issue.</p><p>Coders may use YAML to adopt tighter formatting in which the two main data types, lists and arrays, also known as maps, are signified by the <strong>[ ]</strong> and <strong>{ }</strong> figures. Effectively, this renders YAML a superset of JSON, though it’s outlined for machines, and not people, to read. YAML also includes features absent from JSON, such as comments, the latter of which hasn’t been created to support.</p><p>The data types might also be <strong>nested</strong>, as in Pearl, to show more complex structures. There are also features taken from C, <a href="https://www.itpro.com/business-strategy/careers-training/358369/front-end-developer-career-guide-7-skills-a-front-end">HTML</a> and MIME, as well as mail headers, with colons used to denote key:value pairs.</p><iframe width="100%" frameborder="0" allow="encrypted-media" data-lazy-priority="low" data-lazy-src="https://open.spotify.com/embed-podcast/episode/63BVgzWgs8xyaI0GZbeceH"></iframe><p>The <strong>space function</strong> is also included so you wouldn’t need to encase strings and numbers with quotation marks. Types such as integers, clots and Booleans are automatically detected, and there’s support for ISO-formatted dates and times, although you can also establish your own data types.</p><p><strong>Structures</strong> let you store multiple documents in a single file or refer to content in one part of the document from elsewhere using an anchor (which also lets you duplicate or inherent properties).</p><p>That means it&apos;s much more flexible than JSON where the hierarchy is fixed, with each child node having only one parent node and while there&apos;s a similar option in XML the YAML parse automatically expands the references. </p><p>That way you get a file that&apos;s easier to read and you avoid potential errors copying and pasting parameters where only a handful of things change between different instances, but external systems don&apos;t need to be told about the structure of the YAML file.</p><h2 id="why-use-yaml-the-benefits-explained">Why use YAML? The benefits explained</h2><p>YAML is functionally quite easy to use. As the formatting is straightforward and you don&apos;t have to worry about closing tags, brackets or quote marks, you can edit YAML in simple text editing tools, and subsections of YAML files are often valid YAML.</p><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="j4M5J4MNXffqBKHiT3AkSB" name="j4M5J4MNXffqBKHiT3AkSB.png" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/j4M5J4MNXffqBKHiT3AkSB.png" mos="https://cdn.mos.cms.futurecdn.net/j4M5J4MNXffqBKHiT3AkSB.png" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Powering through to innovation</strong></p><p class="fancy-box__body-text">IT agility drive digital transformation</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/digital-transformation/367388/powering-through-to-innovation" data-original-url="/business-strategy/digital-transformation/367388/powering-through-to-innovation">FREE DOWNLOAD</a></p></div></div><p>But there are also plugins to add YAML support to common <a href="https://www.itpro.com/software/360026/best-ides-the-perfect-code-editors-for-beginners-and-professionals">IDEs</a> like <a href="https://www.itpro.com/desktop-software/24523/visual-studio-code-everything-you-need-to-know">Visual Studio Code</a> and Atom; these can use the YAML Language Server provide autocomplete and Intellisense, and there are several YAML linters to check code for correctness.</p><p>You can&apos;t write YAML that validates itself the way XML documents can do, based on schema, but if you need to define a schema for your YAML there are languages that let you do that. </p><p>The combination of YAML and JSON Schema can be powerful: VS Code, the DocFX static web site generator and even the schema for Microsoft&apos;s Q# Quantum Chemistry library use them together to achieve a more human-readable version of JSON.</p><p>Using YAML files has advantages over typing in <a href="https://www.itpro.com/operating-systems/34493/take-command-of-your-computer-with-a-command-line-interface">command line</a> options: you can create much more complex structures in YAML and you don&apos;t have to deal with long and unwieldy strings of parameters. And because they&apos;re files, you can check them into source control systems, track versions and changes.</p><p>As YAML also treats lines as information, it works better with git-based systems for tracking changes than JSON. That makes it easier to treat configuration as code that you manage, test and consume the same way you do all your other code.</p><h2 id="why-wouldn-apos-t-you-use-yaml">Why wouldn&apos;t you use YAML?</h2><p>Although functionally it&apos;s quite intuitive, it&apos;s not an easy language for newcomers.</p><p>Even small mistakes made when typing YAML code can lead to file-breaking errors. It was designed to be more easily readable by humans and its syntax reflects that, but developers often run into annoying cases where they have to spend time looking for the slight formatting error that won’t allow them to compile their codebase.</p><p>Since YAML is more readable than JSON or <a href="https://www.itpro.com/613903/need-to-know-xml" target="_blank" data-original-url="https://www.itpro.com/613903/need-to-know-xml">XML</a>, reading through a YAML file will more likely lead to finding errors than in other languages. With the kind of configuration you perform in YAML becoming more relevant to the adoption of <a href="https://www.itpro.com/development/devops/354215/what-is-devsecops-and-why-is-it-important">DevOps</a>, configurations you&apos;re specifying may become more complex and may demand more expertise - regardless of the language you’re writing them in.</p><p>Arguably, there are better languages, such as TOML, but these haven’t been adopted as widely, so YAML is the language more developers will face.</p><p>Higher-grade tools will always be easier to work with versus reading and writing YAML files, and there’s a swelling choice of those for <a href="https://www.itpro.com/enterprise-applications/31654/what-is-kubernetes">Kubernetes</a>. This choice of tools ranges such as Helm, which streamlines installing and managing Kubernetes apps to managed cloud services, to the kubectl command line.</p><p>Tools such as Pulumi, which use familiar programming languages like <a href="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it">JavaScript</a> or PowerShell, also fall into this camp. </p><p>Ultimately, YAML is a configuration format that&apos;s present in so many widely-used tools and projects that it’s worth familiarizing yourself with it, and understanding its benefits and drawbacks.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The top programming languages you need to learn for 2023 ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn</link>
                                                                            <description>
                            <![CDATA[ With hundreds of coding languages out there, which ones will earn you the most? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ancNPXvH1a5akKNdLNMDKC</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/B8p3SVMScG52uHifedR6qN-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 23 Sep 2019 16:16:00 +0000</pubDate>                                                                                                                                <updated>Fri, 17 May 2024 15:32:46 +0000</updated>
                                                                                                                                            <category><![CDATA[Careers and Training]]></category>
                                                    <category><![CDATA[Business]]></category>
                                                                                                <author><![CDATA[ connor.jones@futurenet.com (Connor Jones) ]]></author>                    <dc:creator><![CDATA[ Connor Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LPjgE2kGKixS9aF7Jdp2mT.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Connor Jones has been at the forefront of global cyber security news coverage for the past few years, breaking developments on major stories such as LockBit’s ransomware attack on Royal Mail International, and many others. He has also made sporadic appearances on the ITPro Podcast discussing topics from home desk setups all the way to hacking systems using prosthetic limbs.&lt;/p&gt;
&lt;p&gt;Connor has previously written for the likes of Red Bull Esports and UNILAD, before a lengthy stint at ITPro. He has a master’s degree in Magazine Journalism from one of the UK’s leading journalism departments at the University of Sheffield, as well as an undergraduate degree in English Language from Sheffield Hallam University.&lt;/p&gt;
&lt;p&gt;When he’s not hitting the phones trying to squeeze stories out of sources and press offices, in his free time Connor studies software development, is a keen cook, and enjoys leading an active life through cycling, hiking, racket sports, and weightlifting.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/B8p3SVMScG52uHifedR6qN-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A computer screen with a grey background showing lines of multi-coloured Python code]]></media:description>                                                            <media:text><![CDATA[A computer screen with a grey background showing lines of multi-coloured Python code]]></media:text>
                                <media:title type="plain"><![CDATA[A computer screen with a grey background showing lines of multi-coloured Python code]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/B8p3SVMScG52uHifedR6qN-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Software and web development have become two of the most attractive career paths in tech thanks to employers increasingly willing to consider applicants without a computer science background, the variety of job opportunities out there, and the generous salary packages.</p><p>The IT talent shortage is well documented, and as it stands, there is still a real shortage of software developers fluent in a variety of programming languages. The good news is that jobs are plentiful, secure, and often pay handsomely.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/354859/taking-the-road-less-travelled-to-a-career-in-it" data-original-url="/business-strategy/careers-training/354859/taking-the-road-less-travelled-to-a-career-in-it">Taking the road less travelled to a career in IT</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/356515/how-to-become-a-computer-programmer-without-a-degree" data-original-url="/business-strategy/careers-training/356515/how-to-become-a-computer-programmer-without-a-degree">How to become a computer programmer without a degree</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/careers-training/356457/the-ultimate-guide-to-becoming-a-programmer" data-original-url="/business-strategy/careers-training/356457/the-ultimate-guide-to-becoming-a-programmer">The ultimate guide to becoming a programmer</a></p></div></div><p>Determining what language to learn can be a difficult task, though, given the number of languages and frameworks available, each serving a different sector of the industry. For example, if you wanted to learn how to program to handle and manipulate <a href="https://www.itpro.com/strategy/28185/what-is-data-mining" data-original-url="https://www.itpro.com/strategy/28185/what-is-data-mining">large datasets</a>, you wouldn’t choose a language or framework built for <a href="https://www.itpro.com/android/28189/how-to-build-android-apps" data-original-url="https://www.itpro.com/android/28189/how-to-build-android-apps">mobile app development</a>, like <a href="https://www.itpro.com/development/34417/what-is-the-swift-programming-language-and-why-should-i-learn-it" data-original-url="https://www.itpro.com/development/34417/what-is-the-swift-programming-language-and-why-should-i-learn-it">Swift</a>, Kotlin, or Flutter.</p><p><em>The languages in this list have been informed by Stack Overflow’s most recent developer survey, while the salary information comes from PayScale, correct as of June 2022.</em></p><h2 id="python">Python</h2><div ><table><tbody><tr><td  >£32,400</td></tr><tr><td  >Beginner friendly, incredibly versatile, useful in AI development</td></tr></tbody></table></div><p>Python is widely considered among the easiest languages to learn, largely due to its simplified syntax, so it's not surprising that it's <a href="https://www.itpro.com/development/33421/python-is-now-more-popular-than-java-among-developers" target="_blank" data-original-url="https://www.itpro.com/development/33421/python-is-now-more-popular-than-java-among-developers">one of the most popular</a>.</p><p>It has become especially popular in the past few years thanks to its capabilities in applications such as <a href="https://www.itpro.com/strategy/28071/what-is-machine-learning" data-original-url="https://www.itpro.com/strategy/28071/what-is-machine-learning">machine learning</a>, a fast-growing field. However, it's useful in a range of other areas too such as robotics, AI and <a href="https://www.itpro.com/business-strategy/28163/what-is-big-data-analytics" data-original-url="https://www.itpro.com/business-strategy/28163/what-is-big-data-analytics">big data</a>, so it can be a valuable skill even for experienced devs. What's more, Python was dubbed the 'language of the year' for the second year running by software testing firm Tiobe in 2021.</p><p>Python's relative simplicity makes it the perfect skill for new developers to learn, as it provides a great way to get to grips with the basic fundamentals of programming whilst still offering a tangible benefit to earnings potential. Like Java, Python has access to repositories of pre-written codes that will work on most operating systems. This makes it an excellent teaching tool, allowing new coders to think about problem-solving rather than learning a complex language from scratch.</p><h2 id="c">C#</h2><div ><table><tbody><tr><td  >£34,999</td></tr><tr><td  >Great for Windows developers, good option for those working with IoT</td></tr></tbody></table></div><p>An offshoot of the original C language, C# (pronounced 'C sharp', like the musical note) is a combination of the best features of C and C++. It's built specifically for Microsoft .NET, and is thus one of the best options for developing code for the Windows ecosystem. As such, given Windows' prevalence in the enterprise world, C# developers are rarely likely to be out of work for too long.</p><p>The language uses XML and SOAP to include elements of <a href="https://www.itpro.com/programming-languages/30204/what-is-object-oriented-programming" data-original-url="https://www.itpro.com/programming-languages/30204/what-is-object-oriented-programming">object-oriented programming</a>, which gives developers additional speed when coding. C# is particularly great for developing lean applications; it has a minimal runtime, and it runs incredibly close to the bare-metal it's running on. This makes it a good choice for <a href="https://www.itpro.com/hardware/30317/what-is-an-embedded-system" data-original-url="https://www.itpro.com/hardware/30317/what-is-an-embedded-system">embedded systems</a> like IoT devices. It's also versatile enough to handle back-end and <a href="https://www.itpro.com/business-strategy/careers-training/358369/front-end-developer-career-guide-7-skills-a-front-end" data-original-url="https://www.itpro.com/business-strategy/careers-training/358369/front-end-developer-career-guide-7-skills-a-front-end">front-end development</a>.</p><h2 id="java">Java</h2><div ><table><tbody><tr><td  >£38,095</td></tr><tr><td  >Must-have for back-end developers, good for building enterprise apps</td></tr></tbody></table></div><p>Not to be confused with the similarly-named but unrelated JavaScript, Java is actually a slightly younger and completely different language. While JavaScript is used almost exclusively for web-based programming, Java is more versatile. It's often used for back-end and server-side tasks, for example, and will run across a huge variety of different environments.</p><p>It's used by around 9 million developers on some 7 billion devices and PCs, even propping up some of the most viewed websites in the world, including Netflix and Amazon.</p><iframe allow="encrypted-media" frameborder="0" height="" width="100%" data-lazy-priority="low" data-lazy-src="https://open.spotify.com/embed-podcast/episode/63BVgzWgs8xyaI0GZbeceH"></iframe><p>One of Java's main benefits is that it's a highly-scalable language, so is well-suited to enterprise applications. It's also been in use for many years, so is already a key part of many organisations' environments.</p><p>It was designed to allow programmers to run their code on different machines and operating systems with minimal fuss, so long as there is a Java Virtual Machine (JVM) installed. This allows the code to speak a common language and is an ideal choice for developers working on cross-platform networks.</p><h2 id="sql">SQL</h2><div ><table><tbody><tr><td  >£32,583</td></tr><tr><td  >Must-have for database developers</td></tr></tbody></table></div><p>One of the most venerable programming languages still in mainstream use, <a href="https://www.itpro.com/sql/30242/what-is-sql" data-original-url="https://www.itpro.com/sql/30242/what-is-sql">Structrured Query Language, known commonly as SQL</a>, was first developed in 1972, and has managed to retain its position as an essential part of modern business IT. This is because it's designed for managing large databases from the likes of Oracle, Microsoft and IBM, which still power a plurality of enterprise applications.</p><p>While SQL may seem a bit old-fashioned, it's actually surprisingly versatile, and can run big data applications as well as more traditional databases. It's one of the most reliable languages out there, which explains its enduring popularity.</p><h2 id="javascript">JavaScript</h2><div ><table><tbody><tr><td  >£26,830</td></tr><tr><td  >The go-to web development language</td></tr></tbody></table></div><p>Another language that has remained in pretty much constant rotation despite its advancing age, <a href="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it" target="_blank" data-original-url="https://www.itpro.com/development/30202/what-is-javascript-and-why-should-i-learn-it">JavaScript powers a phenomenal amount of the web</a>.</p><p>Built specifically for web development, it's the technology that powers things like rich media, online video, dynamic pages and much, much more. It also has a number of associated frameworks, such as React, which can be used for other applications like building cross-platform mobile apps.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/gCWlQ-JlIrE" allowfullscreen></iframe></div></div><p>There are very few pages that don't include various elements of JavaScript, and it's absolutely integral for building contemporary looking and feeling web-based applications. HTML and CSS simply no longer live without JavaScript, or 'JS' as it's so often abbreviated, and it also benefits from being one of the most widely-recommended languages for coding novices to pick up as their first.</p><p>Indeed, it's the fundamental foundation of virtually all browser-based <a href="https://www.itpro.com/cloud/software-as-a-service-saas/362655/what-is-saas" data-original-url="https://www.itpro.com/cloud/software-as-a-service-saas/362655/what-is-saas">SaaS</a> applications, which makes JavaScript programmers highly sought-after. </p><h2 id="typescript">TypeScript</h2><div ><table><tbody><tr><td  >£50,827</td></tr><tr><td  >Great for large-scale app development, plenty of available jobs</td></tr></tbody></table></div><p>TypeScript is the Microsoft-created superset of JavaScript, and is among the most popular programming languages in the market right now. It was the fifth most popular in Stack Overflow’s <a href="https://www.itpro.com/software/development/368349/salaries-for-the-least-popular-programming-languages-surge-2022" data-original-url="https://www.itpro.com/software/development/368349/salaries-for-the-least-popular-programming-languages-surge-2022">most recent developer survey</a>, which indicates there are plenty of professional opportunities for developers with TypeScript skills, making it an ideal option to expand your skillset.</p><p>Microsoft maintains the language, adding new features to it regularly, and it is most often used to develop large, scalable applications. The ten-year-old language was built to be more easily usable than JavaScript, the most popular in this list, and more maintainable too.</p><h2 id="swift">Swift</h2><div ><table><tbody><tr><td  >£36,421</td></tr><tr><td  >Must-have for anyone interested in iOS development, solid secondary skill on your CV</td></tr></tbody></table></div><p>Developed by Apple for creating iOS apps, <a href="https://www.itpro.com/development/34417/what-is-the-swift-programming-language-and-why-should-i-learn-it" data-original-url="https://www.itpro.com/development/34417/what-is-the-swift-programming-language-and-why-should-i-learn-it">Swift</a> is an <a href="https://www.itpro.com/software/28109/what-is-open-source" target="_blank" data-original-url="https://www.itpro.com/software/28109/what-is-open-source">open source</a> language that's designed to be simple to pick up.</p><p>Like Kotlin's relationship to Android, Swift is the preferred language for writing apps for any of Apple's platforms, including iOS, macOS, watchOS, tvOS and iPadOS. It has also enjoyed a period of growth in the past few years, in part due to its ease of use and also the increased confidence in its long-term viability which leads to more developers learning the language.</p><p>This makes it an essential tool for any app developer, but it does limit its usefulness outside that arena. It's not particularly widely-used within enterprise IT, and it's not an especially versatile language in terms of its applications.</p><p>If you're planning to develop for mobile devices, however, it's well worth knowing. It has enjoyed a rise of several places in the past few years in the Tiobe index and may well further increase in popularity in years to come.</p><h2 id="c-2">C</h2><div ><table><tbody><tr><td  >£38,000</td></tr><tr><td  >Beginner friendly, general purpose, good for OS development</td></tr></tbody></table></div><p>C is another easy-to-learn, multi-purpose language in this list that is hugely popular in the Windows, Linux, and UNIX communities for its powerful capabilities in system scripting applications. It's a general-purpose language that can be used for a variety of applications in the enterprise all the way through to the gaming space.</p><p>C also plays a hugely important role in the heart of most major operating systems, with the kernels of Windows, macOS, iOS, Android, Windows Phone, and most of Linux all written in C. It could be argued much of the world runs on C which makes it an ideal, versatile language to add to your arsenal.</p><h2 id="c-3">C++</h2><div ><table><tbody><tr><td  >£35,097</td></tr><tr><td  >Highly specialised, good for lightweight app development</td></tr></tbody></table></div><p>C++ consistently ranks among the most useful programming languages in the world and is an extension of the aforementioned C language. Often relied upon by major system processes like operating systems, <a href="https://www.itpro.com/operating-systems/30248/what-is-a-graphical-user-interface" data-original-url="https://www.itpro.com/operating-systems/30248/what-is-a-graphical-user-interface">graphical user interfaces</a> (GUIs), embedded systems and more recently, VR applications, it's another multi-purpose language that's likely to put you in work for many years to come.</p><p>Because the language can make direct changes to the hardware on which it runs, C++ is a great choice for developers looking to build fast, efficient applications that require limited resources. Developers have a significant amount of control over the tuning of their C++ code, making little tweaks to efficiency easy to accomplish. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ What is the Swift programming language, and why should I learn it? ]]></title>
                                                                                                                                                                                                <link>https://www.itpro.com/development/34417/what-is-the-swift-programming-language-and-why-should-i-learn-it</link>
                                                                            <description>
                            <![CDATA[ How Apple’s purpose-built language works, how it fits in the market, and how to get started learning ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">fZ8Xiifq8KcD6d8v2Jmi6S</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/8Y8pNGvXNyntsjraJrQWCk-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Tue, 17 Sep 2019 00:30:00 +0000</pubDate>                                                                                                                                <updated>Fri, 10 Jun 2022 12:34:00 +0000</updated>
                                                                                                                                            <category><![CDATA[Development]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ Adam Shepherd ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3n2BoLAtRj8Z5eRfxtwyK8.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/8Y8pNGvXNyntsjraJrQWCk-1280-80.png">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Apple Swift code logo]]></media:description>                                                            <media:text><![CDATA[Apple Swift code logo]]></media:text>
                                <media:title type="plain"><![CDATA[Apple Swift code logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/8Y8pNGvXNyntsjraJrQWCk-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Swift has been around for decades, and has succeeded Objective-C as Apple’s go-to programming language of choice. It’s the only way to write code if you want your app to work on Apple’s device ecosystem, avoiding any compatibility issues or workarounds for them.</p><p>The uninitiated are often left confused when it comes to the differences between Swift and SwiftUI; the two work in tandem to build apps for Apple’s hardware. The former is the core language that defines the functionality and basic <a href="https://www.itpro.com/operating-systems/30248/what-is-a-graphical-user-interface" data-original-url="https://www.itpro.com/operating-systems/30248/what-is-a-graphical-user-interface">user interface (UI)</a> of an iOS, iPadOS, macOS, watchOS, or tvOS app, while SwiftUI is a framework that lets users get more creative when it comes to building UIs. A reductive way of looking at things would be to say: SwiftUI is to Swift as CSS is to HTML.</p><div  class="fancy-box"><div class="fancy_box-title"></div><div class="fancy_box_body"><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/open-source/26719/swift-playgrounds-everything-you-need-to-know" data-original-url="/open-source/26719/swift-playgrounds-everything-you-need-to-know">Swift Playgrounds: Everything you need to know</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/cloud/amazon-web-services-aws/357948/aws-adds-apples-macos-to-its-cloud-service" data-original-url="/cloud/amazon-web-services-aws/357948/aws-adds-apples-macos-to-its-cloud-service">AWS is bringing Apple's macOS to its cloud service</a> <a data-analytics-id="inline-link" href="https://www.itpro.com/desktop-software/25700/apple-allows-open-source-community-to-tailor-swift-to-their-needs" data-original-url="/desktop-software/25700/apple-allows-open-source-community-to-tailor-swift-to-their-needs">Apple allows open source community to tailor Swift to their needs</a></p></div></div><p>Swift has come on leaps and bounds in recent years, not just in functionality but in popularity too. The <a href="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn" data-original-url="https://www.itpro.com/careers/29133/the-top-programming-languages-you-need-to-learn">popular programming language</a> has steadily climbed rankings like the TIOBE index and is often viewed as one of the top ten most in-demand <a href="https://www.itpro.com/business-strategy/careers-training/358369/front-end-developer-career-guide-7-skills-a-front-end" data-original-url="https://www.itpro.com/business-strategy/careers-training/358369/front-end-developer-career-guide-7-skills-a-front-end">skills for software developers</a> in today’s market.</p><p>Before Swift, Objective-C was the default programming language for Apple hardware but, over time, Apple instead adopted Swift which is largely based on Objective-C. There are still examples of pure Objective-C code in Swift, too, and to use them developers have to use special ‘objc’ annotation syntax so Swift can read and compile it properly.</p><p>Swift inherits a lot from its forefather but also from other languages too, like <a href="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer" data-original-url="https://www.itpro.com/business-strategy/careers-training/356640/how-to-become-a-python-software-developer">Python</a>, Rust, and Ruby. In recent years, Apple has focused on improving Swift, and SwiftUI, to make it as easy as possible for developers to use and build great applications for its various platforms.</p><h2 id="can-you-use-swift-on-windows">Can you use Swift on Windows?</h2><p>It wasn’t until September 2020 that developers using Windows hardware could actually program using Swift. Until that point, it was a feat only achievable using Apple’s Xcode <a href="https://www.itpro.com/software/360026/best-ides-the-perfect-code-editors-for-beginners-and-professionals" data-original-url="https://www.itpro.com/software/360026/best-ides-the-perfect-code-editors-for-beginners-and-professionals">integrated developer environment (IDE)</a>, which itself can only be downloaded on Apple hardware. It was a case of ‘buy a Mac or turn right back’.</p><p>Swift released the toolchain images for Windows on 22 September 2020 and it took the open-source project longer than a year to port Swift over to Windows. It involved porting the compiler, as well as the standard library, and the core libraries too, which took a great deal of time to ensure developers had the best experience possible. To bring Swift to Windows, developers should use a toolchain installer and the Visual Studio IDE.</p><h2 id="what-can-i-build-with-swift">What can I build with Swift?</h2><div  class="fancy-box"><div class="fancy_box-title">RELATED RESOURCE</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5PpbqkBaexSAztTQfLxGqK" name="5PpbqkBaexSAztTQfLxGqK.png" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/5PpbqkBaexSAztTQfLxGqK.png" mos="https://cdn.mos.cms.futurecdn.net/5PpbqkBaexSAztTQfLxGqK.png" link="" align="" fullscreen="" width="0" height="0" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div></figure><p class="fancy-box__body-text"><strong>Optimising storage infrastructure for DevOps practices</strong></p><p class="fancy-box__body-text">Maintaining IT infrastructure to best support application services</p><p class="fancy-box__body-text"><a data-analytics-id="inline-link" href="https://www.itpro.com/business-strategy/it-infrastructure/366421/optimising-storage-infrastructure-for-devops-practices" data-original-url="/business-strategy/it-infrastructure/366421/optimising-storage-infrastructure-for-devops-practices">FREE DOWNLOAD</a></p></div></div><p>An example of an app built with Swift is Lyft, with ride-hailing company having completely re-wrote its iOS app using the programming language. While the old codebase consisted of about 75,000 lines of code, <a href="https://www.fastcompany.com/3050266/lyft-goes-swift-how-and-why-it-rewrote-its-app-from-scratch-in-apples-new-lang" target="_blank">the Swift version recreated the same functionality with less than a third of that</a>. Moving to Swift also allowed the app to feature app a new onboarding process; while the old one took more than a month and multiple engineers to implement, the new onboarding with Swift was completed within a week with only one engineer.</p><p>Other popular iOS apps built using the Swift programming language include Firefox, <a href="https://www.linkedin.com/company/itpro-uk" target="_blank">LinkedIn</a>, Twitter and WhatsApp. </p><h2 id="how-to-learn-swift-programming">How to learn Swift programming</h2><p>Understandably, Apple is keen to get as many people as possible to a point of familiarity with its homebrew language, and it has a series of training resources in order to support this. One such resource is <a href="https://www.itpro.com/open-source/26719/swift-playgrounds-everything-you-need-to-know" target="_blank" data-original-url="https://www.itpro.com/open-source/26719/swift-playgrounds-everything-you-need-to-know">Swift Playgrounds</a> - a free <a href="https://www.itpro.com/hardware/tablets/356785/apple-ipad-pro-129in-2020-review-believe-the-hype" data-original-url="https://www.itpro.com/hardware/tablets/356785/apple-ipad-pro-129in-2020-review-believe-the-hype">iPad</a> app which helps teach kids the fundamentals of Swift programming through a series of games and challenges.</p><p>For complete beginners to the world of programming, this may be a good place to start, but it's probably a little on the simple side for all but the most novice developers. There are e-books and other official Apple resources available for more advanced learners, as well as numerous online courses for learning Swift.</p><p>Once you're familiar with Swift, the easiest way to start actually using it to build apps is to download the latest version of Xcode, Apple's IDE for macOS. This includes all the essential tools like a code editor, debugger, testing environments and more, as well as a full version of Swift and all the runtimes you'll need to start constructing apps.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>