Showing posts with label languages and processing. Show all posts
Showing posts with label languages and processing. Show all posts

15 March 2023

Undergrads

An excellent documentary on the genesis of BASIC (with just a touch of chest-thumping on the part of Dartmouth College).

22 October 2022

CHUNK

Matt Parker breaks down his supporters' efforts to optimize the Jotto Problem. Rust and Julia are two of the languages used, but C++ was a favorite of the record holders.

09 October 2022

BWK

Brian Kernighan, who put the K in awk, is still patching it, in this case to provide Unicode and CSV support.

19 December 2020

Syntax quibble

Richard Jensen traces the roots of Brian Kernighan's and Dennis Ritchie's C back to Christopher Strachey (nephew to Blooomsburyite Lytton) through SMALGOL and an abandoned project, BCPL.
BCPL is a “bootstrap” language because its compiler is capable of self-compiling. Essentially, a small chunk of the BCPL compiler was written in assembly or machine code, and the rest of the compiler would be written in a corresponding subset of BCPL. The section of the compiler written in BCPL would be fed into the section written in assembly code, and the resultant compiler program could be used to compile any program written in BCPL.
An intermediate step in the development was B.
Scripting languages such as PHP and JavaScript contain bits of programming shorthand that [Ken] Thompson originally developed in order to fit B into the limited memory of the PDP-7. Two examples are the “++” and “--” increment and decrement operators. With only 4k to play around with, shortening “x=x+1” to “x++” saved a not inconsiderable amount of space.

26 April 2020

It never went away

John Delany reports that COBOL is back.
It is estimated $3 trillion in daily commerce flows through COBOL systems, while 95% of ATM swipes and 80% of in-person banking transactions rely on COBOL code.

19 December 2018

Natural

Ben Allen unpacks how the English-ish syntax of FLOW-MATIC and COBOL induced adoption by 1950s-era managers.
... the appearance of the language allowed managers to more easily understand what sort of thing a program was, even if it did not allow non-programmers to completely understand what any given piece of code actually did.
In particular, he considers why Grace Hopper's proposal for French- and German-based syntax fell flat.
For Hopper, as for UNIVAC itself, programming language keywords were just labels given to bit patterns, labels that were freely interchangeable between each other. But when labeled in certain familiar ways, these bit patterns could become a source of budget increases. When implemented and marketed to customers, not as bit patterns but as things that look like English, they could result in sales. When they displayed just enough flexibility, they moved the line of what could get funding. When they displayed too much unexpected flexibility, they lost funding. Keywords were just a code, just bit patterns—but what they looked like was, at times, more important than what they were.

31 July 2016

Getting to know you

Brian Hayes gives us a show-and-tell introduction to the Julia programming language an interesting language but not something I'm likely to need in my day job (although my colleagues Nick and Stephen might be interested). One of his peeves is that the compiler does not perform tail-call recursion. Hayes demonstrates why that's a useful feature, and gives an easy example that you could you with any programming language and its ecosystem to detect whether the compiler performs this helpful optimization. However, reading Hayes as a fairly-well indoctrinated O-O programmer, I confess that he lost me when he describes the distinction between multiple dispatch and OOP.

27 January 2016

Probably not JavaScript

Geoff Brumfiel reports: an AI application called AlphaGo has mastered the game of go to the point of defeating a European champion. I can't resist the obvious question: Since it's a Google project, what language is AlphaGo written in?

19 September 2014

I'm hot, what are you?

I'm not exactly sure where Matt Asay wants to go with his snarky post about COBOL. Citing various relevance rankings, including Twitter mentions (Twitter being the first place I look to for career advice), he concludes:
In sum, COBOL won't get you a date. And it probably won't get you a job, either.
He then circles back and grudgingly admits that the language still has a role to play in the marketplace, but without using the N-word. In other words, what he wants to say is, "my trendy language with arcane syntax is a niche language; your established language with arcane syntax is as useful as learning Attic Greek."

05 September 2014

PHP is older than JavaScript?

Lauren Orsini discusses the longevity of programming languages with Ari Rabkin, coauthor with Leo Meyerovich of a paper that looked at 200,000 Sourceforge projects. TL;DR: For a new project, a programmer chooses a project she already knows.
Through social influence and legacy code, our oldest and most popular computer languages have powerful inertia. How could Go surpass C? If the right people and companies say it ought to.

06 May 2014

Tiling, literally

Ramsey Nasser explains his Arabic programming language/artwork قلب, a recursive acronym which we could transliterate as 'ALB.
At every single step of the way, every software tool you would use to build a language breaks horribly when encountering non-Latin text. They all expect text encoded as ASCII, which is the standard that includes lowercase and capital Latin characters, numbers, punctuation, and that’s about it. Anything else needs considerably more effort to support consistently. The preceding screenshot shows a version of my interpreter choking on Arabic text and vomiting it out as percent-delimited code points.

LanguageHat

22 September 2013

Not gawky at all

Arnold Robbins recaps the history of AWK (and its GNU version, gawk), and introduces the new features to be found in version 4.1.
The new implementation [of the extension mechanism] provides the potential for Awk programs to do anything that can be done from C or C++. The simplest example is an extension that provides chdir(), so that Awk programs can finally change their working directory!

20 March 2013

BA-what?

Some of the most interesting questions that I try to answer on Stack Overflow are "dusty deck" problems.
"I inherited this program to maintain/emulate/port and I don't understand it. Heck, I'm not even sure what language it's written in!"
Usually, the questioner's first guess is COBOL. (It's old and incomprehensible, so it must be COBOL, amirite?) Such was the surmise of user1381537, who offered this source file. Other posters and I quickly disabused him of the notion that it was written in COBOL; Gilbert Le Blanc figures that it's Caché MultiValue Basic.

I amused myself by pointing out some of the less obvious aspects of the program, and by flipping through the documentation to understand some of the peculiarities of this BASIC dialect. In a 1970s-vintage program, just finding the main processing loop can be a challenge. GOSUBs are a feature that is, Fox be thanked, no longer maintstream. I like the compactness of the bracket syntax for performing substring operations. And I envy user1381537's innocence that he/she has never encountered a zero-suppression format string that looks like "ZZ,ZZ9".

01 March 2013

A PiLe of fun

Len Shustek reacquaints us with APL, which started its life as "A Programming Language," Ken Iverson's algorithmically-inflected conception that somehow found its way to an implementation. Shustek's post links to source code for one of the versions of APL that ran on System/360.

The software/IT core requirement for MBA students at the University of Pennsylvania in the late 1970s consisted of a 2/3-semester MIS introduction (systems analysis, drawing pictures, sizing hardware, but no programming) and a 3-week non-credit course in APL. So I learned this occult language (it only worked on interactive terminals where characters could be overstruck) out of Gilman and Rose's APL: An Interactive Approach on a DECSystem-10, or at least learned it well enough to get a job interview with one of the consultancies that specialized in it when I arrived in D.C. (I didn't get the job). Matrix-friendly APL was wicked concise if you needed to sum up a table of sales results by product line and region—exactly the sort of tool a new MBA could use, that is, until VisiCalc came along. I enjoyed the short course well enough that I was induced, in my callowness, to write a short piece about it for the Wharton Journal, the student newspaper.

Only in Shakespeare and the APL reference manual is ravel a word.

31 May 2012

Perl is still looking good to me

Though I am definitely Python-curious. I think that Eevee has told me everything I need to know about PHP.
PHP is built to keep chugging along at all costs. When faced with either doing something nonsensical or aborting with an error, it will do something nonsensical. Anything is better than nothing.

25 April 2012

!JOB ARSRCHAA,RPT/*.IVL;OUTCLASS=LP,1

Today's mystery is a dusty deck submitted by sachin to Stack Overflow. He's charged with converting this old report code to SQL, but there's one problem: he can't even identify the language that the old program is coded in! Gilbert Le Blanc surmises that the JCL identifies the host computer as a Systems Engineering Laboratories/Gould/Encore machine, but there the trail ends.

09 January 2012

Looking for an NB compiler

I decided to follow the single-letter style and called it C, leaving open the question whether the name represented a progression through the alphabet or through the letters in BCPL.
Via The Code Project, in a paper from 1993, Dennis Ritchie describes the evolution of C from its predecessor languages.