From mboxrd@z Thu Jan 1 00:00:00 1970 Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Lawrence D'Oliveiro Newsgroups: comp.lang.ada Subject: Re: "Usability" (was Re: Map iteration and modification) Date: Tue, 9 Jan 2024 20:30:36 -0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Tue, 9 Jan 2024 20:30:36 -0000 (UTC) Injection-Info: dont-email.me; posting-host="a8cae4a0970931ae7e1da1d8c5fcc01b"; logging-data="2253957"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+1jTnjCYYkmkf49gPg2IiC" User-Agent: Pan/0.155 (Kherson; fc5a80b8) Cancel-Lock: sha1:1h/io+OGMl/bTwHZbO0D1JpVuUU= Xref: news.eternal-september.org comp.lang.ada:65976 List-Id: On Sat, 6 Jan 2024 21:21:30 -0400, J-P. Rosen wrote: > Yes, I'm always surprised to see many languages (including Rust) > praising themselves of being "concise". Apart from saving some > keystrokes, I fail to see the benefit of being concise... How about this for an example. I created a Python wrapper around the Cairo graphics library . There are already other Python wrappers, which are little more than transliterations of the C API. I wanted to go one step further. So whereas in C you might write x1 = - scope_radius * sin(trace_width_angle); y1 = scope_radius * cos(trace_width_angle); cairo_line_to(ctx, x1, y1); my Python wrapper reduces this down to ctx.line_to(Vector(0, scope_radius).rotate(trace_width_angle)) How’s that for “concise”?