×
Programming

JavaScript Turns 25 (zdnet.com) 50

The programming language JavaScript emerged 25 years ago and has grown to become one of the most important pieces of the web and browser applications we use today. From a report: JavaScript is the go-to language for front-end development and has spawned Microsoft's Typescript, a superset of JavaScript with a stronger optional type system for developers that compiles to JavaScript when run in the browser. Both JavaScript and TypeScript conform to ECMAScript, the standard for JavaScript and node.js, the runtime for running applications outside of the browser thanks to Google's powerful V8 JavaScript engine. JavaScript's impact on the web cannot be understated. Tech giants have thrown their weight behind the language. Besides Google's V8, there are open source projects like React from Facebook and Angular from Google, which help spread web applications across smartphones and desktop. After Netscape and Sun Microsystems -- where Java was hatched in May 1995 by James Gosling -- announced JavaScript in December 1995, Microsoft promoted Visual Basic (VB) as a standard for creating web applications using VB Script for its Internet Explorer browser. Oracle would go on to buy Sun Microsystems in 2008 largely to get its hands on Java and its huge development ecosystem. The press release about its launch from 25 years ago.
Programming

Python and TypeScript Gain Popularity Among Programming Languages (venturebeat.com) 50

GitHub has released its annual Octoverse report, revealing trends in one of the largest developer communities on the planet, including a spike in open source project activity following the start of the COVID-19 pandemic. VentureBeat: JavaScript continues to be the most popular programming language on GitHub, while Python is now the second most popular, followed by Java and the fast-growing TypeScript community. Maintained by GitHub owner Microsoft, TypeScript has climbed from seventh place in 2018 and 2019 to fourth overall this year. PHP and Ruby, languages that ranked among the most popular five years ago, continued to decline in popularity.
Programming

The 'Advent of Code 2020' Event Begins (adventofcode.com) 26

"Need a vacation from 2020? Why not go on an adventure and learn programming at the same time?" asks developer Eric Wastl on Twitter, announcing this year's edition of the Advent of Code.

From the site: Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as a speed contest, interview prep, company training, university coursework, practice problems, or to challenge each other.

You don't need a computer science background to participate - just a little programming knowledge and some problem solving skills will get you pretty far. Nor do you need a fancy computer; every problem has a solution that completes in at most 15 seconds on ten-year-old hardware.

Programming

Greg Kroah-Hartman: 'Don't Make Users Mad' (thenewstack.io) 204

From a recent report: Greg Kroah-Hartman, the Linux Foundation fellow currently responsible for stable Linux kernel releases, shared the lessons he's learned as a kernel developer that are applicable to other developers at this year's Linux App Summit. He started by showing how he could succinctly distill the essence of the talk into a single five-word slide:

"Don't make your users mad...."

Kroah-Hartman explains that one of Linus Torvalds' most deeply-held convictions: don't break userspace. "Other operating systems have this rule as well — it's a very solid rule — because we always want you to upgrade. And we want you to upgrade without worrying about it. We don't want you to feel scared. If you see a new release, and we say, 'Hey, this fixes a bunch of problems,' we don't want you to feel worried about taking that. That's really really important — especially with security...."

If you do make a change, make sure there truly is a compelling reason. "You have to provide enough reason and enough goodness to force somebody to take the time to learn to do something else. That's very rare."

His example of this was systemd, which unified a variety of service configurations and initialization processes. "They did it right. They provided all the functionality, they solved a real problem that was there. They unified all these existing tools and problems in such a way that it was just so much better to use, and it provided enough impetus that everybody was willing to do the work to modify their own stuff and move to the new model. It worked. People still complain about it, but it worked. Everybody switched... It works well. It solves a real problem.

"That was an example of how you can provide a compelling reason to move on — and make the change."

Python

Python's Steering Council Assesses the After-Guido Era (thenewstack.io) 21

47 of Python's core developers participated in this year's Core Development Sprint, according to this report — "but what's more important is the very real and necessary community building that seemed to have taken place..." It's an especially critical time for Python, which switched to a steering council model in February of 2019, after Guido van Rossum had stepped down as the language's "benevolent dictator for life...." [During the Python Steering Council and Core Developer Q&A] core developer Ned Deily asked a question which had probably been on everyone's minds: how is the steering council experience working, now that van Rossum is no longer serving as the language's benevolent overseer? And core developer/councilmember Carol Willing was the first to respond.

"I've been involved in a lot of governance organizations, and I would say the Steering Council has been towards the top in terms of sticking to the agenda and being thoughtful and collaborative in how things are working." They meet every week for an hour — with a pre-set agenda — and "in general, I think it's working quite well. If there's anything I take away from it, it's I'm amazed that Guido was able to do this function as a single person for as long as he had been. Because it's a lot of work, even amongst five people...."

Core developer/councilmember Barry Warsaw agreed. "A couple of us have been on the Steering Council since its inception. And there was a lot of things that the governance PEPs didn't really cover. So we really had to figure out the process for a number of things. I couldn't be more happy to work with both the first year of Steering Council members, and this year of Steering Council members. I think everybody is doing this for the right reasons — because we love Python, and we love the Python community..."

Deily agreed with their assessments. "My impression is things are going really well, better than might be expected. I was very proud how we as a community met the challenge of coming up with a governance, kind of from scratch. And I think — I don't know for sure all of Guido's motivation for doing it, but I think in a lot of ways he did it the right way, just kind of forced the community to come up with things. And I think all in all that worked out really well...."

About 48 minutes in, there was a question from van Rossum himself about the issue tracker at Bugs.python.org (affectionately known as "BPO"). "So I'm desperately curious about the status of the BPO to GitHub migration." He paused, then asked delicately, "Uh, how much is the Steering Council willing to share of what they know, and how much do you actually know?"

Cannon responded, talking about the group hired to run it, and thanking the groups whose donations had funded it. And then Deily suggested van Rossum volunteer for the working group, "because it's going to affect all of us." van Rossum asked if it would be appropriate if he volunteered, everyone agreed, and he responded, "Okay, I'm game."

PHP

PHP 8.0 Brings Major (And Breaking) Changes to a 25-Year-Old Language (techrepublic.com) 85

"PHP version 8.0 has arrived, bringing with it a major update to the 25-year-old programming language..." writes Tech Republic.

New language features include the nullsafe operator and attributes (commonly known as annotations in other languages) to add metadata to classes — and more: The JIT compiler is designed to bring performance improvements to web applications by turning code into instructions for the CPU at runtime. Meanwhile, union types is a feature that allows data of more than one type to be held by a variable. Named arguments allow developers to assign values to a function by specifying the value name, allowing optional parameters to be ignored. Alongside these, version 8.0 of PHP brings optimizations and enhancements to the language's type system, syntax, error handling and consistency....

Commenting on PHP 8.0, PHP programmer and stitcher.io developer, Brent Roose, noted that the latest version of the language may require developers to review code for any breaking changes.

Windows

Microsoft's 'Project Latte' Aims To Bring Android Apps To Windows 10 (windowscentral.com) 65

Windows Central reports: Microsoft is working on a software solution that would allow app developers to bring their Android apps to Windows 10 with little to no code changes by packaging them as an MSIX and allowing developers to submit them to the Microsoft Store. According to sources familiar with the matter, the project is codenamed 'Latte' and I'm told it could show up as soon as next year. The company has toyed with the idea of bringing Android apps to Windows 10 before via a project codenamed Astoria that never saw the light of day. Project Latte aims to deliver a similar product, and is likely powered by the Windows Subsystem for Linux (WSL.) Microsoft will need to provide its own Android subsystem for Android apps to actually run, however.

Microsoft has announced that WSL will soon get support for GUI Linux applications, as well as GPU acceleration which should aid the performance of apps running through WSL. It's unlikely that Project Latte will include support for Play Services, as Google doesn't allow Play Services to be installed on anything other than native Android devices and Chrome OS. This means that apps which require Play Services APIs will need to be updated to remove those dependencies before they can be submitted on Windows 10.

The Almighty Buck

Apple Makes Another Concession On App Store Fees (cnbc.com) 19

Apple said on Monday that companies that offer digital classes or virtual events through iPhone apps won't have to use Apple's App Store in-app purchases through June 2021, enabling them to charge their customers directly without Apple's 30% commission fee. CNBC reports: Apple said the extension was to help businesses by giving them more time to transition in-person events to digital events during the Covid-19 pandemic. "Although apps are required to offer any paid online group event experiences (one-to-few and one-to-many realtime experiences) through in-app purchase in accordance with App Store Review guideline 3.1.1, we temporarily deferred this requirement with an original deadline of December 2020," Apple wrote on its developer blog. "To allow additional time for developing in-app purchase solutions, this deadline has been extended to June 30, 2021." Last week, Apple announced that it planned to reduce its commission to 15% for app developers making under $1 million on Apple's platforms in 2021.
The Courts

Indian Coding Startup WhiteHat Jr Sues Critics (techcrunch.com) 32

Karan Bajaj, an Indian entrepreneur who teaches meditation and in his recent book invites others to live a life away from the noise, is going after the most vocal critics of his startup. From a report: Bajaj, founder of coding platform WhiteHat Jr, has filed a defamation case against Pradeep Poonia, an engineer who has publicly criticized the firm for its marketing tactics, the quality of the courses on the platform, and aggressive takedowns of such feedback. On Monday, WhiteHat Jr, filed a similar case against Aniruddha Malpani, an investor who has shared unflattering feedback about the startup. Most of the customers of WhiteHat Jr, which is aimed at kids, live in America, and demand for its one-to-one classes has surged nearly 90% this year, according to the startup. In the lawsuit against Poonia -- in which Bajaj is seeking $2.7 million in damages -- Poonia has been accused of infringing trademarks and copyright of properties owned by WhiteHat Jr, defaming and spreading misleading information about the startup and its founder, and accessing the company's private communications app.

[...] The lawsuit, riddled with spelling and grammatical errors, appears to be also indicative of just how little criticism WhiteHat Jr, owned by India's second most valuable startup Byju's, is willing to accept. According to internal posts of a Slack channel of WhiteHat Jr shared by Poonia, the startup has aggressively used copyright protection to take down numerous unflattering feedback about the startup in recent months. The suit also raises concern with Poonia accusing WhiteHat Jr of "murdering" an imaginary kid that featured in one of its earlier ads. A 12-year-old child named "Wolf Gupta" appeared in earlier ads of WhiteHat Jr, which claimed that the kid had landed a lucrative job at Google. The kid does not exist, the lawyers of Bajaj say in the suit. Ironically that was also the argument Poonia, who spent a long time trying to unearth more information about this supposed poster child of WhiteHat Jr, was making in his tweets.

Communications

'Code is Sourdough' (increment.com) 70

Romello Goodman, a software engineer at The New York Times, writing at Increment: Like a sourdough starter passed through the hands of many bakers -- some novices, some experienced -- a codebase reflects how teammates communicate with one another. It's a snapshot of our thinking and our best attempts at codifying norms and assumptions. It's a conversation in which each person contributes and is in conversation with those who came before them. With each new feature or bug report, we understand our code better. We identify areas where new logic doesn't quite fit with existing logic. We're constantly in touch with our own past decisions and those of our coworkers. We're working together, trying to harmonize and match one another's thinking patterns and assumptions. We trust one another to make decisions for the good of the team and the organization. Every piece of new code adds to the culture and cultivates our shared understanding.

If code is sourdough, we have an opportunity to better appreciate the histories and context that have gone into it. In software, we tend to think of legacy code as something that should be thrown away or rewritten, often conflating a codebase's age with its health and viability. But code doesn't age in a vacuum. If sourdough can be passed down from person to person over decades, then so can code. The preservation of decisions and experience is tied to the preservation of our codebase. Even when the code itself is no longer being updated, documentation around the logic or the underlying platform and adjacent technologies can keep a codebase and its culture vibrant. You can then pass that culture on for another team to bake with. It might just taste better than you'd expect.

Programming

Will 'Vision AI' Be The Next Frontier for Developers? (venturebeat.com) 44

A partner at an early-stage investment firm argues that "in the 2000s everyone was learning HTML and making a website. In the 2010s everyone was learning to develop mobile apps. In the 2020s all the developers are going to build Vision AI." Where the web had its impact was by digitizing manual paper-based processes... I believe the next big wave is Vision AI, and for the same reason: It offers the opportunity to digitize the next massive trove of information in the world, that which is not on paper but which can be seen through a camera... Why use a temperature sensor when a camera can see reflected light frequencies and determine the temperature? The latest cellphones are integrating LIDAR sensors into their cameras, and I believe the camera sensing suite will become even more sophisticated. Combine this with emerging computer vision technology powered by AI, and together you have Vision AI.

Vision AI has the power to unlock the future of automation in a way not seen since the Web Revolution where every form and phone call was turned into a site, and we unlocked all the resulting searches, analytics, and automated processing that is now commonplace. Just like there are web boot camps, there will soon be computer vision boot camps to enlarge the circle of access to this new technology. Anything you want to count, record, analyze, or store can be obtained by teaching Vision AI to look for it. And that's just capturing the data, the way web forms did. After that unfolds everything we can do with that data. Provide reports, comparisons, and analysis. Make predictions. Profile and advertise. Learn and educate...

The real changes come when computers start measuring and counting things that are either too vast for humans to count — every dead oak tree in California — or too expensive for humans to count — every yeast cell in a culture — or too difficult for humans to perceive — the change in gait that suggests a medical condition.

During this decade we will see boot camps teaching hundreds of thousands of developers to utilize Vision AI tools, just the way we taught millions to code the web. After that, we will see our world for the next level of data that it presents and be able to act on that.

A disclaimer at the end of the article acknowledges that "I currently have a vested interest in eight Vision AI companies."
Open Source

After Restoring YouTube-dl, GitHub Revamps Its Copyright Takedown Policy (engadget.com) 24

On October 23rd GitHub initially complied with a takedown request for the open-source project youtube-dl — and then after 24 days, reinstated it.

"If there's a silver lining to the episode, it's that GitHub is implementing new policies to avoid a repeat of a repeat situation moving forward," reports Engadget: First, it says a team of both technical and legal experts will manually evaluate every single section 1201 claim. In instances where there's any ambiguity to a claim, the company says it will err on the side of developers and leave their repository online. If the company's technical and legal teams ultimately find any issues with a project, GitHub will give its owners the chance to address those problems before it takes down their work. Following a takedown, it will continue to give people the chance to recover their data — provided it doesn't include any offending code.

GitHub is also establishing a $1 million defense fund to provide legal aid to developers against suspect section 1201 claims, as well as doubling down on its lobbying work to amend the DMCA and other similar copyright laws across the world.

Open Source

The Few, the Tired, the Open Source Coders (wired.com) 71

Reader shanen shares a report (and offers this commentary): When the open source concept emerged in the '90s, it was conceived as a bold new form of communal labor: digital barn raisings. If you made your code open source, dozens or even hundreds of programmers would chip in to improve it. Many hands would make light work. Everyone would feel ownership. Now, it's true that open source has, overall, been a wild success. Every startup, when creating its own software services or products, relies on open source software from folks like Jacob Thornton: open source web-server code, open source neural-net code. But, with the exception of some big projects -- like Linux -- the labor involved isn't particularly communal. Most are like Bootstrap, where the majority of the work landed on a tiny team of people. Recently, Nadia Eghbal -- the head of writer experience at the email newsletter platform Substack -- published Working in Public, a fascinating book for which she spoke to hundreds of open source coders. She pinpointed the change I'm describing here. No matter how hard the programmers worked, most "still felt underwater in some shape or form," Eghbal told me.

Why didn't the barn-raising model pan out? As Eghbal notes, it's partly that the random folks who pitch in make only very small contributions, like fixing a bug. Making and remaking code requires a lot of high-level synthesis -- which, as it turns out, is hard to break into little pieces. It lives best in the heads of a small number of people. Yet those poor top-level coders still need to respond to the smaller contributions (to say nothing of requests for help or reams of abuse). Their burdens, Eghbal realized, felt like those of YouTubers or Instagram influencers who feel overwhelmed by their ardent fan bases -- but without the huge, ad-based remuneration. Sometimes open source coders simply walk away: Let someone else deal with this crap. Studies suggest that about 9.5 percent of all open source code is abandoned, and a quarter is probably close to being so. This can be dangerous: If code isn't regularly updated, it risks causing havoc if someone later relies on it. Worse, abandoned code can be hijacked for ill use. Two years ago, the pseudonymous coder right9ctrl took over a piece of open source code that was used by bitcoin firms -- and then rewrote it to try to steal cryptocurrency.

Businesses

Apple To Reduce App Store Fees For Small Businesses With Under $1 Million in Revenues (techcrunch.com) 49

Amid increased regulatory scrutiny over how it runs its App Store, Apple today announced it will reduce the App Store commissions for smaller businesses. Under the new guidelines of the "App Store Small Business Program," as it's called, developers earning up to $1 million per year will only have to pay a 15% commission on in-app purchases, rather than the standard 30% commission. From a report: The new program will launch on Jan. 1, 2021, and will be based on the business's revenues in the previous calendar year -- meaning 2020. This $1 million threshold will be based on how much existing developers made across all their applications on a post-commission basis, Apple notes. That means the businesses could actually earn up to $1.3 million in gross revenues. The reduced fee will also apply to new developers launching their apps for the first time. If, during the course of the year, the developer's apps surpass the $1 million threshold, they'll be moved to the standard commission rate, generally 30%, for the remainder of the year. They'll also then enter the following year at that standard rate, as well. Depending on the developers' business, however, the "standard" rate may not always be 30%. For developers running an auto-renewing subscription business, for example, the standard commission drops to 15% in year two on a per-user basis, based on Apple's existing guidelines. This will not change.
Businesses

Unity Will Groom 80,000 Game Developers With Education Initiative (venturebeat.com) 54

Unity Technologies hopes to groom 80,000 people for game jobs over three years with an education initiative aimed at helping people learn how to program and develop games. From a report: Unity is paying for this program with help from its initial public offering, in which it raised $1.3 billion at a $13.6 billion valuation in September. At the time, it set aside 750,000 shares for the Unity Social Impact fund. That is valued at $83.6 million today, and part of it will be used for the education goal. I think of this as enlightened self-interest. By training people how to use its tools, Unity creates new customers for its game engine, which is the most popular tool for building games. Unity's Jessica Lindl said in an interview with GamesBeat that the company will create learning experiences to help people create a game portfolio, get Unity Certified, and prepare for a new job. "We've formalized a long company philosophy that the world is a better place with more creators in it," Lindl said. "This strategy is around how we are empowering our employees and our creators to foster a more inclusive and sustainable world." The COVID-19 pandemic has created a global recession that has left millions of people around the world out of work. So Unity hopes to address that with an alternative, no-cost path to employment with the launch of "career pathways."
Programming

Why Apple Silicon Needs an Open Source Fortran Compiler (walkingrandomly.com) 113

"Earlier this week Apple announced their new, ARM-based 'Apple Silicon' machines to the world in a slick marketing event that had many of us reaching for our credit cards," writes Mike Croucher, technical evangelist at The Numerical Algorithms Group.

"Simultaneously, The Numerical Algorithms Group announced that they had ported their Fortran Compiler to the new platform. At the time of writing this is the only Fortran compiler publicly available for Apple Silicon although that will likely change soon as open source Fortran compilers get updated."

An anonymous Slashdot reader offers this analysis: Apple Silicon currently has no open source Fortran compiler and Apple themselves are one of the few silicon manufacturers who don't have their own Fortran compiler. You could be forgiven for thinking that this doesn't matter to most users... if it wasn't for the fact that sizeable percentages of foundational data science platforms such as R and SciPy are written in Fortran.
Croucher argues that "More modern systems, such as R, make direct use of a lot of this code because it is highly performant and, perhaps more importantly, has been battle tested in production for decades. Numerical computing is hard (even when all of your instincts suggest otherwise) and when someone demonstrably does it right, it makes good sense to reuse rather than reinvent..."

"The community needs and will demand open source (or at least free) Fortran compilers if data scientists are ever going to realise the full potential of Apple's new hardware and I have no doubt that these are on the way. Other major silicon providers (e.g. Intel, AMD, NEC and NVIDIA/PGI) have their own Fortran compiler that co-exist with the open ones. Perhaps Apple should join the club..."
Microsoft

What Will Happen After Python Creator Guido Van Rossum Joins Microsoft? (thenewstack.io) 108

Programming columnist Mike Melanson assesses the news that Guido Van Rossum, the creator of the Python programming language, has come out of retirement to join Microsoft's developer division: The news brought a flurry of congratulations and feature requests, though a few of the suggested features indeed, already exist. Others still were met with informative responses that make the resulting threads worth a perusal, especially if you're looking for a quick "who's who" on Twitter for the world of programming languages. Microsoft's Miguel de Icaza pointed out that this addition adds to the company's now growing list of language designers and contributors:

"The developer division at Microsoft now employs the language designers and contributors to Python, Java, JavaScript, Typescript, F# C#, C++. We just need some PHP, Rust and Swift magic to complete the picture."

[Microsoft senior software engineer Kat Marchán added "We actually have some early ex-moz Rust people too!"]

So, what can we expect from all of this? Is it a corporate takeover of open source, as some further down in the long list of replies always seem to suggest? Or is Microsoft planning the Frankenstein of all languages, with a little bit of this, a little bit of that? In all likelihood, you Python developers using Microsoft products probably have some good features to look forward to in the near future, and that's that, but there's always lingering fears...especially when it comes to Microsoft. As van Rossum suggests, stay tuned.

After Slashdot's earlier story, long-time reader alexgieg posted his own theory: "Several months ago the Excel folk within Microsoft asked users whether they'd like to have Python as an alternative scripting language in Office. Support for that was overwhelming, but nothing more was said on the matter since then. I guess this is Microsoft's answer."
Programming

How C++ Programming Language Became the Invisible Foundation For Everything, and What's Next (techrepublic.com) 107

The origins of C++ date back 40 years, yet it remains one of the most widely used programming languages today. TechRepublic spoke to C++ creator, Bjarne Stroustrup, to find out why. An excerpt from the interview: Today, Stroustrup is a Technical Fellow at Morgan Stanley. His work with the International Organization for Standardization (ISO) for the C++ standard and on the C++ Core Guidelines are considered part of his role with the finance giant, and he remains very much involved in the development of C++. Most notably, Stroustrup forms part of the direction group, which presents and discusses recommendation about the future of the programming language. He also follows the evolution group, and takes part in discussions about new language features. When it comes to the day-to-day running of C++, however, Stroustrup is happy to take more of a backseat role. "I follow administrative activities but try to do as little as possible there. I am not a great administrator," he admits. Before the pandemic, Stroustrup would travel a lot to teach, and to explain C++ to the world at large through his books, articles, and interviews -- though much like the rest of the world, 2020 has put a temporary end to this.

"For my work, I depend critically on talking with people to learn about their problems and hear how my ideas might help them," Stroustrup says. "In this time of the pandemic, I am deprived of much-needed feedback. Virtual talks and interviews are not the same, and the dynamic of Zoom meetings are inferior to real face-to-face meetings when it comes to discussing design and ideas." The COVID-19 pandemic has also hindered progress with the next two iterations of the language, C++20 and C++23, though Stroustrup affirms that "almost all" of C++20 will ship in 2020. "Beyond that, there is work on Unicode, numerics, game development and low latency, tooling, AI, and much more," he says. "We ship a feature (language and library) when it is ready, and we issue a revised standard every three years. C++14, C++17, and C++20 shipped on time. It is worth noting that the standards effort and the major implementors are very much in sync. "It is crucial that C++ remains coherent and is a stable platform for development."

Python

Python Creator Guido van Rossum Joins Microsoft (techcrunch.com) 77

Guido van Rossum, the creator of the Python programming language, today announced that he has unretired and joined Microsoft's Developer Division. From a report: Van Rossum, who was last employed by Dropbox, retired last October after six and a half years at the company. Clearly, that retirement wasn't meant to last. At Microsoft, van Rossum says, he'll work to "make using Python better for sure (and not just on Windows)." A Microsoft spokesperson told us that the company also doesn't have any additional details to share but confirmed that van Rossum has indeed joined Microsoft. "We're excited to have him as part of the Developer Division. Microsoft is committed to contributing to and growing with the Python community, and Guido's on-boarding is a reflection of that commitment," the spokesperson said.
Programming

On Apple's Piss-Poor Documentation (caseyliss.com) 123

Casey Liss: For the last year or two, I've come to realize that the number one thing that makes it harder for me to do my job is documentation. Or, more specifically, the utter dearth of documentation that Apple provides for its platforms. As a developer, Apple provides us a series of tools -- APIs -- that allow us to make apps on iOS, iPadOS, macOS, and tvOS. In many cases, it's fairly straightforward to figure out how to use these APIs. There's only so many ways you can use a screwdriver, and similarly, in many cases there's only one obvious way to use an API. However, as users rightly demand more complicated and fancy apps, the APIs often need to get more fancy and complicated as well. Suddenly you look up and, instead of only using screwdrivers and hammers, you're using power tools and complicated saws, and everything is much more fiddly than it once was. With real tools, you'd expect to receive an owner's manual, which explains how to use the tool you've just purchased. A rough analogy exists for APIs, insofar as most platform vendors will provide documentation. This is basically the "owner's manual" for that API.

Apple's documentation has, for years, been pretty bad. Over the last couple years, it has gone from bad to awful to despicable to embarrassing. All too often, I go to research how to do something new, and use an API I'm not familiar with, only to be stymied by those three dreaded words:

No overview available.

This is Apple's way of saying "Fuck you, figure it out." No overview available is so bad that a popular Apple resource -- itself something that probably shouldn't have to exist -- used it as its namesake for a single-serving site to highlight how bad Apple's documentation is. The march of progress doesn't help, either. As my friend Adam Swinden pointed out to me on Twitter, as old APIs get deprecated, often times the new ones can't be bothered to include documentation. Check out the difference between this API and the one that replaces it. No overview available. Fuck you, figure it out.

Slashdot Top Deals