January/February 2019 issue of acmqueue The January/February 2019 issue of acmqueue is out now

Subscribers and ACM Professional members login here

Programming Languages

  Download PDF version of this article PDF

Error 526 Ray ID: 4bc82f1c1bd49266 • 2019-03-24 11:07:53 UTC

Invalid SSL certificate








What happened?

The origin web server does not have a valid SSL certificate.

What can I do?

If you're a visitor of this website:

Please try again in a few minutes.

If you're the owner of this website:

The SSL certificate presented by the server did not pass validation. This could indicate an expired SSL certificate or a certificate that does not include the requested domain name. Please contact your hosting provider to ensure that an up-to-date and valid SSL certificate issued by a Certificate Authority is configured for this domain name on the origin server. Additional troubleshooting information here.


Originally published in Queue vol. 9, no. 6
see this item in the ACM Digital Library



David Chisnall - C Is Not a Low-level Language
Your computer is not a fast PDP-11.

Tobias Lauinger, Abdelberi Chaabane, Christo Wilson - Thou Shalt Not Depend on Me
A look at JavaScript libraries in the wild

Robert C. Seacord - Uninitialized Reads
Understanding the proposed revisions to the C language

Carlos Baquero, Nuno Preguiça - Why Logical Clocks are Easy
Sometimes all you need is the right language.


(newest first)

Matthias Felleisen | Thu, 04 Aug 2011 22:26:46 UTC

DSLs have been around in the LISP world forever. The tools for building them and for integrating them into the existing toolchain are far more advanced than in the JAVA world. For an example, see

http://www.ccs.neu.edu/scheme/pubs/#pldi11-thacff for a research-y introduction


http://hashcollision.org/brainfudge/ for a hands-on introduction.

Tom Gardner | Sat, 04 Jun 2011 10:11:17 UTC

The traditional alternative to a DSL is a well-designed domain specific library written in a traditional language. It is useful to consider how such a library avoids disadvantages to DSLs that are not mentioned by Ghosh.

Documenting a new language in sufficient detail that new users can avoid traps and pitfalls is not easy and requires significant effort.

As a DSL inevitably grows, the interaction between language features and with its execution environment becomes poorly understood and buggy.

Tool support (as found in a modern IDE) for a large codebase is mandatory and requires significant effort. "grep" is not sufficient.

Learning a language that is only used in one location is often seen as a "career limiting" non-transferable skill, so it can be difficult to employ good staff.

The ability for non-programmers to write the application in the DSL runs into the well-known problem most simply expressed as "Make it possible for programmers to write in English and you will find that programmers cannot write in English".

Well-designed libraries are more verbose, but avoid those problems

Leave this field empty

Post a Comment:

© 2018 ACM, Inc. All Rights Reserved.