Jump to content

Search the Community

Showing results for tags 'programming language'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Site Related
    • News & Updates
    • Site / Forum Feedback
    • Member Introduction
  • News
    • General News
    • FileSharing News
    • Mobile News
    • Software News
    • Security & Privacy News
    • Technology News
  • Downloads
    • nsane.down
  • General Discussions & Support
    • Filesharing Chat
    • Security & Privacy Center
    • Software Chat
    • Mobile Mania
    • Technology Talk
    • Entertainment Exchange
    • Guides & Tutorials
  • Off-Topic Chat
    • The Chat Bar
    • Jokes & Funny Stuff
    • Polling Station

Categories

  • Drivers
  • Filesharing
    • BitTorrent
    • eDonkey & Direct Connect (DC)
    • NewsReaders (Usenet)
    • Other P2P Clients & Tools
  • Internet
    • Download Managers & FTP Clients
    • Messengers
    • Web Browsers
    • Other Internet Tools
  • Multimedia
    • Codecs & Converters
    • Image Viewers & Editors
    • Media Players
    • Other Multimedia Software
  • Security
    • Anti-Malware
    • Firewalls
    • Other Security Tools
  • System
    • Benchmarking & System Info
    • Customization
    • Defrag Tools
    • Disc & Registry Cleaners
    • Management Suites
    • Other System Tools
  • Other Apps
    • Burning & Imaging
    • Document Viewers & Editors
    • File Managers & Archivers
    • Miscellaneous Applications
  • Linux Distributions

Categories

  • General News
  • File Sharing News
  • Mobile News
  • Software News
  • Security & Privacy News
  • Technology News

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 10 results

  1. Most loved programming language Rust sparks privacy concerns Rust developers have repeatedly raised concerned about an unaddressed privacy issue over the last few years. Rust has rapidly gained momentum among developers, for its focus on performance, safety, safe concurrency, and for having a similar syntax to C++. StackOverflow's 2020 developer survey ranked Rust first among the "most loved programming languages." However, for the longest time developers have been bothered by their production builds leaking potentially sensitive debug information. Rust compiled binaries retain username and home directory paths In early 2017, a Rust developer filed an issue on the Rust lang's GitHub asking, "How can I stop rustc [from] including system specific information such as absolute file paths of the source it's compiled from in the binaries it generates?" The developer shared some examples of paths retained in their production builds: /checkout/src/libcore/option.rs /home/kfairmasterz/.cargo/registry/src/github.com-1ecc6299db9ec823/typeable-0.1.2/src/lib.rs /home/kfairmasterz/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.9.7/src/ssl/bio.rs These absolute path names revealed the developer's system username and the overall structure of directories, including the home directory. They further expressed in the same thread: "If it helps, you including user ids like this violates GDPR... so this should be addressed by the rust team." "In 2020 people care about privacy and this can be a put off like rust-lang/mdBook#847 where people actively worked away from the project due to the disrespect of user privacy," said the developer referring to a Rust project called mdBook. On a first glance, this "leak" of usernames and absolute paths may seem trivial to a reader. However, over years, many more developers were left surprised to notice such information being included not just in debug builds but their production Rust builds as well [1, 2, 3, 4, ...] and pushed for a change. BleepingComputer readers have also reached out to us on more than one occasion sharing their thoughts on the issue. Since Rust project, at the time, did not fix this issue, some workarounds were proposed by the community members, such as using the "abort upon panic" option, but unfortunately none of these worked. "I have tried to turn on 'abort' for panic in release profile. Even though this resulted in a smaller binary size, it doesn't wipe out source file names from the binary," stated developer Dmitry Zakablukov in August 2020. Other proposed workarounds included varying parameters like system time, username, timezone, locale, hostname, and so on. Interestingly, despite being a privacy risk, the inadvertent inclusion of metadata such as absolute paths may aid computer forensics experts and the law enforcement as the path could reveal system usernames. Of course, any developer who is aware of this issue can trivially build their Rust applications inside of a container, and use a pseudonymous username to minimize impact from the issue. Issue revived after 4 years, Rust team declares this a bug This week, a pseudonymous developer chemsaf3 reached out to BleepingComputer reiterating their concern with this issue. The developer filed yet another issue titled "Registry paths hard coded in binary" on the Rust project's GitHub centering attention back towards this problem. "Rust lang looks to leak sensitive information unnecessarily in compiled binaries such as system paths and usernames." "[This] happens in release (production) mode, not just debug, and [there is] no way to remove the info with existing tools." "People have reported the issue but no action or communication from the Rust team," chemsaf3 told BleepingComputer. The developer also stated that it remains unknown how many developers shipping Rust applications are likely unaware that their applications are revealing their system paths and usernames. The developer's main concern was: "Rust is becoming more and more popular so this can start affecting larger number of developers." "This behavior is not documented, nor is there a way to prevent the leakage," the developer further told us. The GitHub request filed by the developer was quickly followed up with a response from Rust team member: "Thanks for the report! It looks like you found several other issues related to this, so I'm unclear if this issue is covering anything new. It seems like #5505 covers dealing with remapping, can you clarify what is different here?" asked Eric Huss of the Rust team. Eventually, after the issue resurfaced on Reddit, however, a Google team member Alexis Hunt stepped in on the Rust's GitHub issue: "I was linked this issue from Reddit, and I got interested as personally having good privacy-preserving defaults is important to me. I spoke informally with some colleagues..." Hunt summarized some of developers' concerns and shared some ideas on how the problem could be resolved. "Personally, I think this is important and should be addressed quickly, but I'm not in a position at the moment to follow up and make this happen. I hope someone else can pick this up," continued Hunt. To understand if Rust considered this a vulnerability or planned on a bug fix, BleepingComputer reached out to the Rust core team for comment. "We agree that this is a bug worth fixing and will be supporting our teams in solving it," Manish Goregaokar of the Rust team and a senior software engineer at Google told BleepingComputer. Although at this time, it is not known how or when the Rust team plans on resolving this issue, the increased pressure from the developer community seems to be steering Rust maintainers into an actionable direction. Source: Most loved programming language Rust sparks privacy concerns
  2. Happy birthday, Python, you're 30 years old today: Easy to learn, and the right tool at the right time Popular programming language, at the top of its game, still struggles to please everyone February 20, 2021, the 30th anniversary of Python, finds the programming language at the top of its game but not without challenges. "I do believe that Python just doesn’t have the right priorities these days," said Armin Ronacher, director of engineering at software monitoring biz Sentry and creator of Flask, the popular Python web app framework, in an email interview with The Register. Ronacher, a prolific Python contributor, remains a fan of the language. He credits Python's success to being both easy to learn and having an implementation that was easy to hack. And in its early years, Python didn't have a lot of competitors with those same characteristics, he said. "The hackability of the language enabled many of the projects that made it successful, such as NumPy and others, which extended the language through extension modules written in C that would have been hard to do with Python alone at the time," he said. "Some of the functionality to enable libraries like NumPy were added right to the language itself to enable these more advanced use cases." Ronacher expressed appreciation for Python's readability, at least initially. "It’s easy to read, it wasn’t an overly complex language for a long time, and it gives you a lot of access to the internals," he said. "The latter allows you to introspect the runtime without many penalties, which in turn means that it’s an interesting language to build web services on top. When something goes wrong in production you can easily figure out what was happening." He also pointed to the relatively simple runtime, which makes runtime performance more predictable. "While it’s not a very fast language, it compensates for this somewhat because the reference counting semantics often mean that the memory usage is somewhat predictable in production environments," he said. At the same time, Ronacher takes issue with the path Python has taken recently. "Over the last few years, Python hasn't made the most amazing decisions," he said. "For instance, I’m not a fan of how Unicode was approached. With Python 3, I wish a Unicode model more like Rust would have been approached that just declares strings to be UTF-8 in memory. Python 3 is very wasteful with memory when it comes to Unicode to permit direct indexing into characters, which is not that useful anyways with modern Unicode." He also took issue with the focus of Python's core developers. "Many features are landing that are making the language much more complex to learn, such as the async IO system, the way the typing support works, and the new match statement," he said. "Meanwhile, essential features such as a better packaging story are still absent." The shortcomings of Python's software packaging tools – the software used to set up Python environments and to download, install, and manage libraries – have been an issue for years. It was bad enough that cartoonist Randall Munroe, on April 30, 2018, penned an xkcd comic on the subject. Things have improved somewhat since then. In 2019, the Python Software Foundation awarded the Packaging Working Group $407,000, courtesy of Mozilla and the Chan Zuckerberg Initiative, to renovate the pip package management tool in 2020. Nevertheless, Ronacher said he hopes Python's core developers focus on improving packaging and on adding the ability to load different versions of the same library side by side. "It’s much more complex to install packages in the Python ecosystem than others and the packaging infrastructure is too disconnected from the core language development," he said. "Whereas Node now comes with npm out of the box and Rust develops the cargo package manager alongside the language, Python still does not consider packaging to be part of language development. As a result, there are countless competing efforts that are all pieced together." "Whereas a Rust programmer can just download the language and use the integrated rustup+cargo tools for everything, Python programmers need to juggle many different tools to accomplish something similar but those tools are not developed in unison," Ronacher explained. "Unlike all other modern languages, Python also can only load one version of a dependency. This means that your entire software project needs to agree on a compatible version, which becomes harder the larger the ecosystem grows and the faster it moves." Even though Python's packaging story still suffers by comparison to Rust's well-regarded Cargo system, the language has never been more popular. Its maintainers must be doing something right. Who's in control? Named as a nod to British comedy troupe Monty Python, the language has become the second or third most popular choice, depending on who you ask, for those writing computer code. The language's creator, Guido van Rossum, relinquished his role overseeing the language and his honorary epithet, Benevolent Dictator for Life, in July 2018. This was after a fractious debate over the addition of a new language feature, the "Walrus operator" (PEP 572), that left van Rossum frustrated by online animosity. The Register asked van Rossum to comment for the occasion but he declined, stating that he's not all that interested in promoting himself. Python is currently managed by the Python Steering Council, which consists of five people who serve for the duration of a feature release, the most recent of which was Python 3.9.0 last October. Currently, the group includes: Barry Warsaw, Brett Cannon, Carol Willing, Pablo Galindo Salgado, and Thomas Wouters. These five oversee technical changes to Python and manage the community governance process – a process based on Python Enhancement Proposals (PEPs). They coordinate the contributions of more than 90 active core developers and other members of the Python community. For the past 20 years, as of March 6, 2021, the Python Software Foundation (PSF) has supported the language's development. Its aim is to "promote, protect, and advance the Python programming language, and to support and facilitate the growth of a diverse and international community of Python programmers." "The PSF has a little bit been distanced from the actual maintenance of the language itself," said Ewa Jodlowska, executive director of the PSF, in an interview with The Register. "But through the creation of the Steering Council, that has created a vessel for us to be able to communicate with and work on future funding requests that might aid them in some things that they lack." The Python Foundation has found it difficult to meet its funding goals during the COVID-19 pandemic. According to Jodlowska, much of the foundation's revenue has traditionally come from PyCon US. The event was virtual last year and will be again this year, limiting the potential income. Jodlowska said one of the PSF's goals this year is to hire a full-time core developer, an ambition fulfilled on February 11, when Google announced plans to donate more than $350,000 to the PSF to support three projects: a malware detection system for the Python Package Index (PyPI); improvements in Python tools and services; and paying for a CPython Developer-in-Residence for 2021, to work on language maintenance. CPython is the reference implementation of the language, written in C, the one you download from Python.org. But there are others like IronPython (C#), Jython (Java), and PyPy (RPython, a Python subset). Asked what has made Python so successful, Jodlowska cited the importance of the Python community and the role its Code of Conduct plays as a support structure. "Diversity for the maintainers and core developers of Python is being addressed in several ways," Jodlowska explained. The Code of Conduct, she said, is now being enforced by the Steering Council. That's a big deal, she said, "because prior to the Steering Council existing there really was no enforcement for keeping community discussions civil and welcoming." In theory, the Steering Council's Code of Conduct enforcement will prevent situations like the Walrus operator debate that drove van Rossum to give up his governance role. But to judge by remarks from Python Steering Council member Brett Cannon, moderating community debate simply moves the point of friction from the community to its leadership. Asked via email about the greatest challenge facing the Python community, Cannon said it's just trying to keep up with the size and volume of the project. "We are still very much a volunteer-run project, but our size demands a lot of time to keep running," he said. "Tack on the usual naysayers for any decision made and it's a lot to manage both from a time and emotion standpoint." At companies like Facebook and Microsoft that moderate the worst sorts of content, the workers who screen toxic posts and violent videos need psychological support. Managing opinionated developers in the Python community may not generate comparable levels of stress, but keeping things civil still appears to take a mental toll, particularly among volunteers. For the Python community, bringing new people in so others can step back or delegate may help mitigate that sense of siege. Jodlowska credits efforts by Python core developers to keep the community vital. "A lot of the current core developers, for example, on their own time mentor others who are interested in becoming core developers," she said. "And there's definitely a steady stream of new incomers that way." Blessing and a curse Many of the current leading programming languages have strong corporate associations. Java is the child of Sun and later Oracle. Swift is mainly an Apple affair. C# is tied to Microsoft. Go and Dart arose from Google. JavaScript escaped from Netscape, which provided the browser source code that led to Mozilla, the incubator of Rust. But Python has never enjoyed a doting or overprotective corporate parent, which according to Cannon has been both a liability and a benefit. "It has hurt us as we have to go out to go searching for funding for everything and we lack paid developers to help keep things running (the best estimate we have is there's a cumulative total of about three to four devs putting in paid time on Python, and one of those is a single person with about 80 per cent time; rest is a smattering from several folks)," he said. "But being independent also means our users never have to worry about us being directed by business needs and can instead always focus on our users and their needs (with the limited resources we have). So it has pluses and minuses." Asked about how Python goes about reconciling interest in new features with concerns about complexity, Cannon acknowledged that it's a constant challenge. "There's always tension between expanding the language to make developers even more productive while letting it continue to 'fit your brain,'" said Cannon. He said it's a balance of how early on would a new user likely come across a feature; the ease with which someone would recognize, if not comprehend, a feature when seen for the first time; the difficulty of searching for answer to find out how a feature works; and the extent to which a feature's function is memorable to those trying to learn it. Python's other noteworthy obstacle is its scarcity on mobile devices. There are ways to run Python code on phones, like the Kivy framework, but Python isn't the first choice of most mobile app developers. "I hope it will improve in the next three to five years," said Cannon. "There are several groups that are actively trying to tackle the problem from different angles, but they all require tackling big, hard problems." Thirty years on, Python deserves recognition for what it has accomplished but it can't rest on its laurels. Rival programming languages like Julia and R in data science, and Go in cloud-native applications, have been turning heads. And the need for greater memory safety, to reduce security risks, has helped push TypeScript and Rust into the spotlight. Uneasy lies the head that wears a crown. Source: Happy birthday, Python, you're 30 years old today: Easy to learn, and the right tool at the right time
  3. Hello today, I would like to share with you a project that I started a long time ago. It is called the DPL Programming Language, it is a powerful programming language for creating software, algorithms, or solutions to problems. Execution of DPL programs works with a binary code execution virtual machine (DPLVM). It could work with several other programming languages. Here is a text I prepared to explain why to use the DPL: Why Use DPL ? It is easy to learn and code with it. And it's easier than any other programming languages to combine code with host program (C++, Java, C# etc.). There are many usages of DPL. Learning DPL is a good way for beginners to get started with computer programming; it can be used for formula calculation as typing a little lines of code and then get the result quickly; it is more powerful than common calculator software. DPL is well designed;it is easy and convenient to expand more functions for it. The simple reason is that you can code so many different types of subsystems, whether it's a renderer, audio system, AI, or logic code. It is full of challenges in all of these types of programming that you can solve. Code possibilities are endless using DPL's integrated plugins. GUI Calculator in DPL. I created a prototype of the virtual machine that allows you to open the .DPL executables that I would like to share with you : https://www.dropbox.com/s/lyj3sya0xvaxxdx/DPL-VM-1.2.4.22-Setup.exe?dl=1 NEW RELEASE : https://www.dropbox.com/s/rd1rx8e06ocl860/DPL-1.2.6.35-Setup.exe?dl=1 Calculator Exemple : https://www.dropbox.com/s/gfyu5va3ipo5yq7/calculator.dpl?dl=1 Pong Exemple : https://www.dropbox.com/s/hto4zpbdm46z6a9/pong.dpl?dl=1
  4. The Rust programming language finds a new home in a nonprofit foundation Image Credits: Fernando Trabanco Fotografía / Getty Images Rust — the programming language, not the survival game — now has a new home: the Rust Foundation. AWS, Huawei, Google, Microsoft and Mozilla banded together to launch this new foundation today and put a two-year commitment to a million-dollar budget behind it. This budget will allow the project to “develop services, programs, and events that will support the Rust project maintainers in building the best possible Rust.” Rust started as a side project inside of Mozilla to develop an alternative to C/C++. Designed by Mozilla Research’s Graydon Hore, with contributions from the likes of JavaScript creator Brendan Eich, Rust became the core language for some of the fundamental features of the Firefox browser and its Gecko engine, as well as Mozilla’s Servo engine. Today, Rust is the most-loved language among developers. But with Mozilla’s layoffs in recent months, many on the Rust team lost jobs and the future of the language became unclear without a main sponsor, though the project itself has thousands of contributors and a lot of corporate users, so the language itself wasn’t going anywhere. A large open-source project often needs some kind of guidance, which the new foundation will provide — and it takes a legal entity to manage various aspects of the community, including the trademark, for example. The new Rust board will feature five board directors from the five founding members, as well as five directors from project leadership. “Mozilla incubated Rust to build a better Firefox and contribute to a better Internet,” writes Bobby Holley, Mozilla and Rust Foundation Board member, in a statement. “In its new home with the Rust Foundation, Rust will have the room to grow into its own success, while continuing to amplify some of the core values that Mozilla shares with the Rust community.” All of the corporate sponsors have a vested interest in Rust and are using it to build (and rebuild) core aspects of some of their stacks. Google recently said that it will fund a Rust-based project that aims to make the Apache webserver safer, for example, while Microsoft recently formed a Rust team, too, and is using the language to rewrite some core Windows APIs. AWS recently launched Bottlerocket, a new Linux distribution for containers that, for example, features a build system that was largely written in Rust. Source: The Rust programming language finds a new home in a nonprofit foundation
  5. The Redmond-aligned can try the Cupertino-spawned lingo thanks to a Googler's intervention A Google programmer has made tools for Apple's Swift programming language available to developers using Microsoft's Windows operating system, a move likely to rekindle hopes that Swift, open source since 2015, will become popular beyond the macOS and iOS ecosystems. On Tuesday, Saleem Abdulrasool, a software engineer at Google Brain who joined the Swift Core Team in January, announced the availability of a new set of downloadable Swift toolchain images for Windows. Abdulrasool has been spearheading the effort to bring Swift to Windows for more than a year and now feels that the various components involved – the compiler, the standard library, and core libraries like dispatch, Foundation, and XCTest – have reached a point where early adopters can try them out. "With these core libraries and the flexible interoperability of Swift with C, it is possible to develop applications on Windows purely in Swift while taking advantage of the existing corpus of libraries on the Windows platforms," said Abdulrasool in a post to the Swift blog. The Swift team tipped its hand about Windows development back in January in a note from Apple's head of Swift development Ted Kremenek, and again in March when project developers discussed goals for Swift 5.3, which was released last week. The debut of a Windows-focused forum on the Swift discussion website argues that Swift on Windows is now a thing, alongside Swift on Linux. Abdulrasool has posted demo code for a Windows calculator app written in Swift as an example of the possibilities. And Readdle, maker of Swift-based cross-platform email app Spark, earlier this month, published a post about its efforts to develop a Windows version of its email client using Swift. Enthusiasm for Swift outside of the Apple ecosystem has surfaced periodically in recent years, only to die down again. In December 2019, IBM, a booster of server-side Swift since 2016, backed away from the language. In January 2020, server-side Swift-hosting biz Vapor Cloud said it would discontinue its service in February. Setbacks aside, Google sees reason to support Swift for TensorFlow code, as its TensorFlow developers explained in a 2018 document. Swift, it turns out, has some features and characteristics that prove to be particularly useful for machine learning, such as automatic differentiation. It's also significantly faster than Python when properly tuned. Swift could see its reputation rise further still with the release of Swift 6.0, which doesn't yet have a specific timeline but should debut once the core team implements improved concurrency support and a resource ownership model similar to Rust's ownership system. If Swift can match Rust's code safety potential, the language's more approachable syntax could help it win developers away from trendier Rust, and other high-performance languages like C and C++. That may also require high profile projects unaffiliated with Apple – the iPhone maker's imperious behavior and prickly relationship with third-party developers fosters a fair amount of suspicion that still colors perceptions about Swift. Source
  6. TypeScript 3.4 is out: Microsoft tweaks programming language to cut build times The latest version of the TypeScript programming language promises to cut compile times for existing projects. Microsoft has released TypeScript 3.4, a language that's growing among developers and helping them scale up projects written in today's top coding language, JavaScript. Released in 2012, TypeScript looks set to become a mainstay among the world's top programming languages, lying just outside top 10 status in one ranking based on projects in GitHub and chatter on Stack Overflow. TypeScript, which compiles to plain JavaScript, offers developers a compiler with safety features that check programs based on optional static types – like strings, arrays, text, and numbers – to catch errors and to clean up JavaScript code. Also, as a language server, it can be used for cross-platform editor tooling, such as code completions, fixes, and refactoring. Meanwhile, JavaScript developers can use it to type-check, or verify, JavaScript code. TypeScript 3.4's headline feature is a new flag called 'incremental', which aims to help developers type-check and output changes to an existing project, allowing them to save time when compiling subsequent builds. The flag "tells TypeScript to save information about the project graph from the last compilation", explains Daniel Rosenwasser, program manager on the TypeScript team. "The next time TypeScript is invoked with --incremental, it will use that information to detect the least costly way to type-check and emit changes to your project." Rosenwasser boasts that adding the new flag to a TypeScript file for Microsoft's Visual Studio Code editor drastically cut compile time for follow-on builds. "For a project the size of Visual Studio Code, TypeScript's new --incremental flag was able to reduce subsequent build times down to approximately a fifth of the original," he notes. Currently TypeScript editor support is available in Visual Studio and Visual Studio Code when using it as an editor for JavaScript files. However, Rosenwasser notes that it is likely to come "in the near future" to other popular editors such as EMACS, NetBeans, Notepad++, and Vim. Source
  7. Microsoft's TypeScript programming language rising fast, almost makes top 10 Microsoft TypeScript is popular and it's here to stay as a prominent language, according to analyst RedMonk. TypeScript, Microsoft's language for building JavaScript at scale, is now one of the most popular languages with developers and hot on the heels of Apple-backed Swift. TypeScript, released by Microsoft in 2012, is now in 12th spot in the first quarter 2019 programming language rankings by developer analyst RedMonk. The firm releases two quarterly rankings per year. TypeScript is a superset of JavaScript, which is currently the top language with developers. TypeScript has climbed four spots since RedMonk's last ranking in August and is up from 17 a year ago. Today, TypeScript is just behind Swift, which RedMonk has tracked as the fastest-growing programming language ever. "The language certainly benefits from its JavaScript proximity, as well as safety features such as the optional static type-checking. But features alone are never enough by themselves to propel a language this far this quickly – it must be leveraged by a wide base of growing projects – all of which explains why TypeScript's trajectory is significant and sustainable," explains RedMonk's Stephen O'Grady. RedMonk uses code repositories hosted on GitHub and discussions on Stack Overflow to rank programming languages. The rankings aren't necessarily representative of general usage of a language, but the company believes it can predict future trends in a language's adoption by using correlations between two big developer populations. That is, usage of a language on GitHub and discussions about a language on Stack Overflow. Even faster-growing than TypeScript is Kotlin, which was up eight places since the last report and is now ranked in 20th place by RedMonk. According to O'Grady, the speed of Kotlin's growth is second only to Swift. GitHub too noted in its 2018 Octoverse reportthat Kotlin was the fastest-growing language among developers who use GitHub. The fully supported Android language is popular with developers of Android apps and is behind 27 percent of the top 1,000 Android apps on Google Play, according to Google. Julia, a language hatched at MIT in 2012, has also climbed two spots and is now the 34th most popular language, according to RedMonk. O'Grady last August noted the "esoteric nature of the language may yet relegate it to niche status". Today he said Julia's growth has been "more tortoise than hare" but pointed to TypeScript's growth as a reminder that it's rare but still possible that "languages can transition quickly from periods of slow, barely measurable growth to high, sustained growth quarter after quarter". The top three languages in RedMonk's current rankings remain unchanged. Leader JavaScript is followed by Java in second place, and the increasingly popular Python in third place. Rounding out the top in descending order are PHP, C#, C++, CSS, Ruby, C, and Objective-C. The next 10 that make up the top 20 in descending order are Swift, TypeScript, Scala, Shell, Go, R, PowerShell, Perl, Haskell, and Kotlin. JavaScript Java Python PHP C# C++ CSS Ruby C Objective-C Swift TypeScript Scala Shell Go R PowerShell Perl Haskell Kotlin Source
  8. Coders face their own version of update hell. Users of an old version of the popular Python language face a reckoning at the end of the year. Updating software can be a pain. Maybe you can't find a feature you depend on. Or maybe that feature is gone for good. Other software you use might not work with the new version. Or maybe the new version is just flat-out broken. And yet, with few exceptions, most of us stay on the technology update treadmill. Usually it's because the old version of the software is no longer supported, meaning it won't receive security fixes and might not run on new operating systems. I addition, the new version includes features that make the pain of switching worthwhile. In the age of the app stores, the updates might happen automatically with no way for you to roll back to the old version. Coders have to deal with their own version of this headache: updated versions of programming languages. Those new versions typically add features, and may change a language's syntax. In some cases, those changes make code written in old versions of the language incompatible with code written in the new language. Programmers then have to decide whether to start using the newer version, which often means rewriting old code. Coders make the shift for the same reasons consumers and businesses adopt new versions of software: to access new features, as well as to maintain compatibility with modern hardware and common tools. But the updates can be more complex than installing a new version of Office or Quickbooks. For users of the popular programming language Python, the issue is coming to a head next month. The developers who maintain Python, who work for a variety of organizations or simply volunteer their time, say they will stop supporting Python 2 on January 1, 2020—more than a decade after the introduction of Python 3 in December 2008. That means no more security fixes or other updates, at least for the official version of Python. The Python team extended the initial deadline in 2015, after it became apparent that developers needed more time to make the switch. It's hard to say how many organizations still haven't made the transition. A survey of developers last year by programming toolmaker JetBrains found that 75 percent of respondents use Python 3, up from 53 percent the year before. But data scientist Vicki Boykis points out in an article for StackOverflow that about 40 percent of software packages downloaded from the Python code management system PyPI in September were written in Python 2.7. For many companies, the transition remains incomplete. Even Dropbox, which employed Python creator Guido van Rossum until his retirement last month, still has some Python 2 code to update. Dropbox engineer Max Belanger says shifting the company’s core desktop application from Python 2 to Python 3 took three years. "It wasn't a lot of absolute engineering work," Belanger says. "But it took a long time because stability is so important. We wanted to make sure our users didn't feel any effects of the transition." The transition from Python 2 to 3 is challenging in part because of the number and complexity of other tools that programmers use. Programmers often rely on open source bundles of code known as "libraries" that handle common tasks, such as connecting to databases or verifying passwords. These libraries spare developers from having to rewrite these features from scratch. But if you want to update your code from Python 2 to Python 3, you need to make sure all the libraries you use also have made the switch. "It isn't all happening in isolation," Belanger says. "Everyone has to do it." Today, the 360 most popular Python packages are all Python 3-compatible, according to the site Python 3 Readiness. But even one obscure library that hasn't updated can cause headaches. Belanger says the upgrade was worth it because Python 3 is a better language than Python 2. For example, Python 3 offers new features designed to make it easier to write software that juggles multiple tasks at once. The new version also makes it easier to manage large code bases that many people work on, which is particularly useful for a company like Dropbox. "We have millions of lines of code and a large team," he says. Taken together, Belanger adds, the features help Dropbox write complex software faster and with fewer bugs. For a company with fewer resources, or for volunteers who maintain open source software in their free time, updating might have seemed like more trouble than it was worth. "I don't think anyone says 'I don't want to update,'" says Jacqueline Kazil, a member of the Python Foundation board. "But maintenance like this takes time. And the people responsible for doing the update aren't working on adding new features that are generally recognized as bringing new business revenue. But if you ignore ongoing maintenance, eventually it will cost you a lot more than the new features would have added." With the end of support for Python 2 looming, it will be harder for organizations to delay updating old code. More of the libraries that developers depend on are switching to Python 3. Code editing and translation tools will stop supporting, or at least deprioritize, Python 2. And just like any other aging software, older tools might not work well with newer operating systems and hardware. At Dropbox, the new features were a carrot, and possible obsolescence was the stick that motivated the desktop team to finish the move to Python 3. Still, Kazil worries that some organizations and individuals might not realize the importance of updating to newer versions. For example, a researcher who uses several small Python programs for data collection and seldom changes the code might not realize that the code might one day stop working on newer computers—or could make them vulnerable to security bugs. Meanwhile, the Python team is thinking about how to make the next big version of the language less painful to adopt. The Python team often releases small updates to the language—Python 3.7.4 arrived just a few months after Python 3.7.3, for example—but big changes like Python 3 have been relatively rare in the language's three-decade existence. Python 2 was released in October 2000—eight years before Python 3. Lots of code was written during that time. Kazil says the core Python team is now working to make smaller, more frequent updates. The idea is that it would take less work to migrate to new versions while still adding attractive new features. Van Rossum, who stepped down as the principal leader of Python last year but remains actively involved in the language’s development, wrote last month that there might not ever be a Python 4. The team could just add features to Python 3 indefinitely that don’t break backward compatibility. Other language developers are taking a similar lesson from the Python 3 transition. Last year, Ian Lance Taylor, a member of the team behind Google's programming language Go, published a proposal outlining the steps the team should take when introducing new Go features that aren't backward compatible. "We will slowly transition to new language and library features," Taylor wrote. "We could at any point during the transition decide that now we are Go 2, which might be good marketing. Or we could just skip it." Maybe app developers should take note too. Source
  9. Python maintainers say good riddance to supporting programming language Python 2.7. After 11 years of supporting programming language Python from the 2.7 branch, the Python Software Foundation has released the last ever update for it and is urging users to move on to Python 3 to continue receiving first-party support. Python 2.7 support was meant to end in 2015 but was extended five years until 2020, six years after Python's creator, Guido van Rossum, announced Python 3 and implored users to "move on to Python 3". January 1, 2020 also looked set to be the end of life for Python 2.7, but it was eventually decided that should happen in April 2020 with the just-released Python 2.7.18. With the release of Python 2.7.18, CPython core developers say, "It's time for the CPython community to say a fond but firm farewell to Python 2." "Over all those years, CPython's core developers and contributors sedulously applied bug fixes to the 2.7 branch, no small task as the Python 2 and 3 branches diverged," CPython core developer Benjamin Peterson wrote. "There were large changes midway through Python 2.7's life, such as PEP 466's feature backports to the ssl module and hash randomization." In 2014, under Python Enhancement Proposal (PEP) 466, Python developers decided to backport the OpenSSL ssl module from Python 3.4 to Python 2.7, despite 2.7 already being a maintenance release. Python core developers' upstream policy dictated that no new features be added to maintenance releases. However, an exception was made because of how important Python had become to the web and because using an outdated version of OpenSSL in Python 2.7 had broader implications for internet security. "Traditionally, these features would never have been added to a branch in maintenance mode, but exceptions were made to keep Python 2 users secure," noted Peterson. Van Rossum may have announced Python 3 in 2008, but it took many years for major Python users like Facebook, Instagram, and Dropbox to fully move to Python 3. Dropbox, where van Rossum worked until retiring last year, began the process of migrating four million lines of Python code from Python 2 to Python 3 in 2015, but only managed to complete it in September 2018. Moving to Python 3 has also been a major project for Linux distributions. As Python developers noted in 2014, it would be a "mammoth task" for Ubuntu maintainers to port default system services and scripts to Python 3, and to remove Python 2 from its distribution images. Fedora maintainers also took years to eliminate Python 2. "Python 3 would be nowhere without the critical work of the wider community. Library maintainers followed CPython by maintaining Python 2 support for many years but also threw their weight behind the Python 3 statement (https://python3statement.org)," wrote Peterson. "Linux distributors chased Python 2 out of their archives. Users migrated hundreds of millions of lines of code, developed porting guides, and kept Python 2 in their brain while Python 3 gained 10 years of improvements." As an open-source project, third parties are free to offer paid support for older versions of Python, but the Python Software Foundation from now on will only provide free, first-party support for Python 3. Source
  10. Understanding Chef: The Practical Guide https://www.eduonix.com/courses/system-programming/understanding-chef-the-practical-guide?coupon_code=jyfree Beginner To Professional The Complete Photoshop Guide https://www.eduonix.com/courses/Graphic-Design/beginner-to-professional-the-complete-photoshop-guide?coupon_code=jyfree Projects in Enterprise Java https://www.eduonix.com/projects-in-enterprise-java?coupon_code=jyfree DevOps on AWS : Learn to set up your infrastructure on cloud https://www.eduonix.com/devops-on-aws-learn-to-set-up-your-infrastructure-on-cloud?coupon_code=jyfree Data Structures in JavaScript https://www.eduonix.com/data-structures-in-javascript?coupon_code=ssfree Build A Complete CMS App Using Angular 5 https://www.eduonix.com/build-a-complete-cms-app-using-angular-5?coupon_code=ssfree Projects in Linux - Learn Linux Doing Real World Projects https://www.eduonix.com/projects-in-linux-learn-linux-doing-real-world-projects?coupon_code=ssfree Testing Angular Apps - The Complete Guide https://www.eduonix.com/test-driven-development-in-angular?coupon_code=ssfree Scripting Essentials for DevOps https://www.eduonix.com/scripting-essentials-for-devops?coupon_code=brfree Practical Nginx The Zero to Hero Guide https://www.eduonix.com/courses/Software-Development/practical-nginx-the-zero-to-hero-guide?coupon_code=brfree Spring Framework for Beginners https://www.eduonix.com/spring-framework-for-beginners?coupon_code=brfree Ultimate Android Tutorial for App development https://www.eduonix.com/courses/Mobile-Development/Android-Lollipop-Ultimate-Tutorial-for-App-Development?coupon_code=brfree Adobe Illustrator for Absolute Beginners https://www.eduonix.com/adobe-illustrator-for-absolute-beginners?coupon_code=npfree PHP CodeIgniter for Absolute Beginners https://www.eduonix.com/php-codeigniter-for-absolute-beginners?coupon_code=npfree Beginners Guide to Electron Framework https://www.eduonix.com/beginners-guide-to-electron-framework?coupon_code=npfree Projects in Django : Learn Django Building Projects https://www.eduonix.com/courses/Web-Development/projects-in-django-learn-django-building-projects?coupon_code=npfree Algorithms in JavaScript - Cracking Coding Interviews https://www.eduonix.com/algorithms-in-javascript-cracking-coding-interviews?coupon_code=gsfree Vagrant Essentials : Learn DevOps Using Vagrant https://www.eduonix.com/courses/Software-Development/vagrant-essentials-learn-devops-using-vagrant?coupon_code=gsfree Aurelia For Beginners :The New Age JS Framework https://www.eduonix.com/aurelia-for-beginners-the-new-age-js-framework?coupon_code=gsfree AWS Certified Solutions Architect - Associate (CSAA) - Exam Practice Set https://www.eduonix.com/aws-certified-solutions-architect-associate-csaa-practice-set?coupon_code=gsfree Cloud Computing and AWS for Beginners - Guidebook https://www.eduonix.com/cloud-computing-and-aws-for-beginners-guidebook?coupon_code=gsfree
×
×
  • Create New...